aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-11-24 04:58:47 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-11-24 03:58:47 +0000
commit267c9702f6223ed5b9694b8ba746ca7b344ec1ac (patch)
tree696200c65b48afa5f280f4f7b16164da17ed9cb8
parenta52a91ecf26047d7a311dd2690177721d09e6465 (diff)
downloadgcc-267c9702f6223ed5b9694b8ba746ca7b344ec1ac.zip
gcc-267c9702f6223ed5b9694b8ba746ca7b344ec1ac.tar.gz
gcc-267c9702f6223ed5b9694b8ba746ca7b344ec1ac.tar.bz2
* gcc.c-torture/execute/lto-tbaa-1.c: New testcase.
From-SVN: r230784
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/lto-tbaa-1.c42
2 files changed, 46 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 61b3e75..2114f8f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.c-torture/execute/lto-tbaa-1.c: New testcase.
+
2015-11-23 David Malcolm <dmalcolm@redhat.com>
PR objc/68438
diff --git a/gcc/testsuite/gcc.c-torture/execute/lto-tbaa-1.c b/gcc/testsuite/gcc.c-torture/execute/lto-tbaa-1.c
new file mode 100644
index 0000000..fe1e177
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/lto-tbaa-1.c
@@ -0,0 +1,42 @@
+/* { dg-additional-options "-fno-early-inlining -fno-ipa-cp" } */
+struct a {
+ float *b;
+} *a;
+struct b {
+ int *b;
+} b;
+struct c {
+ float *b;
+} *c;
+int d;
+use_a (struct a *a)
+{
+}
+set_b (int **a)
+{
+ *a=&d;
+}
+use_c (struct c *a)
+{
+}
+__attribute__ ((noinline)) int **retme(int **val)
+{
+ return val;
+}
+int e;
+struct b b= {&e};
+struct b b2;
+struct b b3;
+int **ptr = &b2.b;
+main ()
+{
+ a= (void *)0;
+ b.b=&e;
+ ptr =retme ( &b.b);
+ set_b (ptr);
+ b3=b;
+ if (b3.b != &d)
+ __builtin_abort ();
+ c= (void *)0;
+ return 0;
+}