This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: v850-gcc (fatal signal 6)
- To: law at cygnus dot com
- Subject: Re: v850-gcc (fatal signal 6)
- From: dohzono at hf dot rim dot or dot jp
- Date: Thu, 13 Jan 2000 02:15:09 +0900 (JST)
- CC: bug-gcc at gnu dot org
> In message <199910121855.DAA00306@abacus.hf.rim.or.jp>you write:
> > if this doesn't occur in newer version, please inform me.
> >
> > $ ./configure --host=i386--freebsd --target=v850
> > (snip)
> > $ v850-gcc -v
> > Reading specs from /usr/local/lib/gcc-lib/v850/2.8.0/specs
> > gcc version 2.8.0
> > $ cat foo.c
> > foo ()
> > {
> > extern int i; /* or, extern short i; */
> > i |= 1 << 8; /* or, ^= pow_of_2, &= ~pow_of_2 {256 <= pow_of_2} */
> > }
> > $ v850-gcc -O1 -S foo.c
> > v850-gcc: Internal compiler error: program cc1 got fatal signal 6
> I just tried this with gcc-2.95.2 and it works fine. [ The code is
> sub-optimal,
> but it is correct. ]
>
> I recommend you upgrade to a newer version of GCC.
Thank you for imforming me. I would upgrade when I have enough time.
I just modified my routine to use macro like:
/* `n' must be comstant, 0 <= n < 32 (see v850.h for "N") */
#define BIT_ON(p,n) do { \
__asm__ ("set1 %0, %1[%2]":: "N"((n)%8), "N"((n)/8), "r"(p): "memory"); \
} while (0)