avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Use on AVR


From: Georg-Johann Lay
Subject: Re: [avr-gcc-list] Use on AVR
Date: Sat, 09 Jun 2012 20:46:26 +0200
User-agent: Thunderbird 2.0.0.24 (Windows/20100228)

Gabriel Dos Reis a écrit:
forwarding to the avr-gcc list...

On Sat, Jun 9, 2012 at 10:15 AM, Torbjorn Granlund <address@hidden> wrote:
address@hidden writes:

 IIRC, with avr-gcc, the unsigned long type exists and it is 32 bits long.

Yes. Instead of long, sou can also use C99 and

#include <stdint.h>

uint32_t var;

 Using them for all operations probably is not the faster way to handle
 long integers, because it forces the compiler to use many registers
 and a lot of code, but it should work.

I tried avr-gcc both from FreeBSD's ports and from Debian's apt:

Attempt 1:

 tom$ avr-gcc -I. -O -S mini-gmp.c
 mini-gmp.c: In function 'mpz_out_str':
 mini-gmp.c:3996:9: warning: incompatible implicit declaration of
 built-in function 'fwrite' [enabled by default]
 mini-gmp.c: In function 'mpn_div_qr_preinv':
 mini-gmp.c:1012:1: error: unable to find a register to spill in class
 'POINTER_REGS'
 mini-gmp.c:1012:1: error: this is the insn:
 (insn 238 236 239 10 (set (reg/v:SI 219 [ n0 ])
         (mem:SI (pre_dec:HI (reg:HI 2 r2 [orig:239 ivtmp.626 ] [239]))
         [0 MEM[base: D.7131_301, offset: 0B]+0 S4 A8])) mini-gmp.c:885
         26 {*movsi}
      (expr_list:REG_INC (reg:HI 2 r2 [orig:239 ivtmp.626 ] [239])
         (nil)))
 mini-gmp.c:1012: confused by earlier errors, bailing out

For instructions on how to report bugs for GCC,
see http://gcc.gnu.org/bugs//#need

You probably hit http://gcc.gnu.org/PR50925

This bug appears to be hard to fix, help welcome.


Attempt 2:

 tom$ avr-gcc -mint8 -I. -O -S mini-gmp.c
 <built-in>:0:0: internal compiler error: Segmentation fault
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See <http://gcc.gnu.org/bugs.html> for instructions.

See http://gcc.gnu.org/PR46261

It is fixed in 4.5.4, 4.6.4, 4.7.1 and higher.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]