This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gcc 2.95.2 ICE on assembler contrains



[I think this might be the same problem as bug #185]

gcc --version ==> 2.95.2
(from an up to date Debian potato install)

When I compile the following fragment...

void    
func (void)
{

  unsigned long ourFpuCw;
  unsigned long	savedFpuCw;
 	{
	  __asm__ __volatile__ (
			 "nop"
			 : "=o" (savedFpuCw)
			 : "o" (ourFpuCw)
			 );
	} 	
} 

/*
  Local Variables:
    compile-command: "gcc -O1  -c -o interp.o ibug.c"
  End:
*/

The compiler crashes with

ibug.c: In function `func':
ibug.c:12: warning: asm operand 0 probably doesn't match constraints
ibug.c:14: Internal compiler error in `fixup_var_refs_1', at function.c:2071

Additional data:
- egcs 1.1.2 works
- adding `volatile' to the declaration of ourFpuCw makes both the
  warning and the crash disappear.

Jan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]