aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-12-01 05:13:26 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-12-01 04:13:26 +0000
commit6fa04359f8d9b1ea1d30dafe072b114bef9727a0 (patch)
tree240f713498a06cb9ed0c52da4cbe4ac634c7b659 /gcc
parent341946d8013589039f623bf518fb86b7a387d333 (diff)
downloadgcc-6fa04359f8d9b1ea1d30dafe072b114bef9727a0.zip
gcc-6fa04359f8d9b1ea1d30dafe072b114bef9727a0.tar.gz
gcc-6fa04359f8d9b1ea1d30dafe072b114bef9727a0.tar.bz2
ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when inlining -fno-strict-aliasing into...
* ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when inlining -fno-strict-aliasing into -fstrict-aliasing body. * gcc.dg/lto/alias-1_0.c: New testcase. * gcc.dg/lto/alias-1_1.c: New testcase. From-SVN: r231094
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/lto/alias-1_0.c23
-rw-r--r--gcc/testsuite/gcc.dg/lto/alias-1_1.c7
4 files changed, 40 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a68582d..a1c1962 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-30 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when
+ inlining -fno-strict-aliasing into -fstrict-aliasing body.
+
2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d3816a2..1a86d87 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-30 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/lto/alias-1_0.c: New testcase.
+ * gcc.dg/lto/alias-1_1.c: New testcase.
+
2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
diff --git a/gcc/testsuite/gcc.dg/lto/alias-1_0.c b/gcc/testsuite/gcc.dg/lto/alias-1_0.c
new file mode 100644
index 0000000..48ef54fd
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/alias-1_0.c
@@ -0,0 +1,23 @@
+/* { dg-lto-do run } */
+/* { dg-lto-options { { -O2 -flto } } } */
+int val;
+
+__attribute__ ((used))
+int *ptr = &val;
+__attribute__ ((used))
+float *ptr2 = (void *)&val;
+
+extern void typefun(float val);
+
+void link_error (void);
+
+int
+main()
+{
+ *ptr=1;
+ typefun (0);
+ if (*ptr)
+ __builtin_abort ();
+ return 0;
+}
+
diff --git a/gcc/testsuite/gcc.dg/lto/alias-1_1.c b/gcc/testsuite/gcc.dg/lto/alias-1_1.c
new file mode 100644
index 0000000..f9e08f3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/alias-1_1.c
@@ -0,0 +1,7 @@
+/* { dg-options "-fno-strict-aliasing" } */
+extern float *ptr2;
+void
+typefun (float val)
+{
+ *ptr2=val;
+}