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:
Richard Guenther 2008-05-22 14:33:21 +00:00 committed by Richard Biener
parent 9d3a9de1ee
commit 5bf6d4abbb
2 changed files with 47 additions and 0 deletions

View file

@ -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.

View 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;
}