20080522-1.c: New testcase.
2008-05-22 Richard Guenther <rguenther@suse.de> * gcc.c-torture/execute/20080522-1.c: New testcase. From-SVN: r135768
This commit is contained in:
parent
9d3a9de1ee
commit
5bf6d4abbb
2 changed files with 47 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2008-05-22 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* gcc.c-torture/execute/20080522-1.c: New testcase.
|
||||
|
||||
2008-05-22 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* gcc.dg/tree-ssa/alias-18.c: New testcase.
|
||||
|
|
43
gcc/testsuite/gcc.c-torture/execute/20080522-1.c
Normal file
43
gcc/testsuite/gcc.c-torture/execute/20080522-1.c
Normal file
|
@ -0,0 +1,43 @@
|
|||
/* This testcase is to make sure we have i in referenced vars and that we
|
||||
properly compute aliasing for the loads and stores. */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
static int i;
|
||||
static int *p = &i;
|
||||
|
||||
int __attribute__((noinline))
|
||||
foo(int *q)
|
||||
{
|
||||
*p = 1;
|
||||
*q = 2;
|
||||
return *p;
|
||||
}
|
||||
|
||||
int __attribute__((noinline))
|
||||
bar(int *q)
|
||||
{
|
||||
*q = 2;
|
||||
*p = 1;
|
||||
return *q;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int j = 0;
|
||||
|
||||
if (foo(&i) != 2)
|
||||
abort ();
|
||||
if (bar(&i) != 1)
|
||||
abort ();
|
||||
if (foo(&j) != 1)
|
||||
abort ();
|
||||
if (j != 2)
|
||||
abort ();
|
||||
if (bar(&j) != 2)
|
||||
abort ();
|
||||
if (j != 2)
|
||||
abort ();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue