aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-02-19 16:48:50 +0100
committerRichard Henderson <rth@gcc.gnu.org>2015-02-19 07:48:50 -0800
commit801050dc4c8d79900ab68f37ed1e0668897660bb (patch)
treed36209da27e46b32f20d0e11dedee045996b0bc4
parent0ff5fade6a3eecd0590b050ec4bb4288a0ddf907 (diff)
downloadgcc-801050dc4c8d79900ab68f37ed1e0668897660bb.zip
gcc-801050dc4c8d79900ab68f37ed1e0668897660bb.tar.gz
gcc-801050dc4c8d79900ab68f37ed1e0668897660bb.tar.bz2
re PR middle-end/65074 (r220674 broke C++ PIEs)
PR middle-end/65074 * g++.dg/opt/pr65074.C: New file. From-SVN: r220817
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/opt/pr65074.C19
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a2ca2c8..65303b1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/65074
+ * g++.dg/opt/pr65074.C: New file.
+
2015-02-19 Andrea Azzarone <azzaronea@gmail.com>
* g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C
diff --git a/gcc/testsuite/g++.dg/opt/pr65074.C b/gcc/testsuite/g++.dg/opt/pr65074.C
new file mode 100644
index 0000000..01c5926
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr65074.C
@@ -0,0 +1,19 @@
+// PR middle-end/65074
+// { dg-do link { target pie } }
+// { dg-options "-pie -fpie -O2" }
+
+#include <fstream>
+
+using namespace std;
+
+__attribute__((noinline, noclone)) void
+foo (const char *fname)
+{
+ ifstream f (fname);
+}
+
+int
+main ()
+{
+ foo ("foobar");
+}