20070725-1.c: Testcase for revision 126876 added.

2007-07-25  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/20070725-1.c: Testcase for revision 126876 added.

From-SVN: r126909
This commit is contained in:
Andreas Krebbel 2007-07-25 11:18:16 +00:00 committed by Andreas Krebbel
parent 3c72bf3495
commit d23ebaf0c4
2 changed files with 67 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2007-07-25 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/20070725-1.c: Testcase for revision 126876 added.
2007-07-25 Rask Ingemann Lambertsen <rask@sygehus.dk>
* gcc.dg/tree-ssa/predcom-1.c (count_averages): Avoid overflow

View File

@ -0,0 +1,63 @@
/* This used to fail due to a ifcombine problem wrecking 64bit
checks. Fixed with rev. 126876. */
/* { dg-do run } */
/* { dg-options "-O1" } */
struct tree_base
{
unsigned code:16;
unsigned side_effects_flag:1;
unsigned constant_flag:1;
unsigned addressable_flag:1;
unsigned volatile_flag:1;
unsigned readonly_flag:1;
unsigned unsigned_flag:1;
unsigned asm_written_flag:1;
unsigned nowarning_flag:1;
unsigned used_flag:1;
unsigned nothrow_flag:1;
unsigned static_flag:1;
unsigned public_flag:1;
unsigned private_flag:1;
unsigned protected_flag:1;
unsigned deprecated_flag:1;
unsigned invariant_flag:1;
unsigned lang_flag_0:1;
unsigned lang_flag_1:1;
unsigned lang_flag_2:1;
unsigned lang_flag_3:1;
unsigned lang_flag_4:1;
unsigned lang_flag_5:1;
unsigned lang_flag_6:1;
unsigned visited:1;
unsigned spare:24;
unsigned long a;
};
int
foo (struct tree_base *rhs)
{
if (({const struct tree_base* __t = (rhs); __t;})->readonly_flag
&& (rhs)->static_flag)
return 1;
return 0;
}
extern void abort (void);
int
main ()
{
struct tree_base t;
t.readonly_flag = t.static_flag = 0;
if (foo (&t))
abort ();
return 0;
}