OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [20020216-1.c] - Diff between revs 149 and 154

Only display areas with differences | Details | Blame | View Log

Rev 149 Rev 154
/* PR c/3444
/* PR c/3444
   This used to fail because bitwise xor was improperly computed in char type
   This used to fail because bitwise xor was improperly computed in char type
   and sign extended to int type.  */
   and sign extended to int type.  */
 
 
extern void abort ();
extern void abort ();
extern void exit (int);
extern void exit (int);
 
 
signed char c = (signed char) 0xffffffff;
signed char c = (signed char) 0xffffffff;
 
 
int foo (void)
int foo (void)
{
{
  return (unsigned short) c ^ (signed char) 0x99999999;
  return (unsigned short) c ^ (signed char) 0x99999999;
}
}
 
 
int main (void)
int main (void)
{
{
  if ((unsigned char) -1 != 0xff
  if ((unsigned char) -1 != 0xff
      || sizeof (short) != 2
      || sizeof (short) != 2
      || sizeof (int) != 4)
      || sizeof (int) != 4)
    exit (0);
    exit (0);
  if (foo () != (int) 0xffff0066)
  if (foo () != (int) 0xffff0066)
    abort ();
    abort ();
  exit (0);
  exit (0);
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.