summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-01 14:46:32 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-01 14:46:32 +0000
commit5de88dfb9bf2d65426319a23095837d4eecbf874 (patch)
tree3ebebccde272d53bf7a988185b0dfa5b551e2ba4
parent611da9dd72a4c9d9ece2a8d24612e4aee435414a (diff)
downloadppe42-gcc-5de88dfb9bf2d65426319a23095837d4eecbf874.tar.gz
ppe42-gcc-5de88dfb9bf2d65426319a23095837d4eecbf874.zip
PR c++/63306
Backported from mainline 2014-08-01 James Greenhalgh <james.greenhalgh@arm.com> PR regression/61510 * cgraphunit.c (analyze_functions): Use get_create rather than get for decls which are clones of abstract functions. * g++.dg/ipa/pr63306.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@215767 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/cgraphunit.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/ipa/pr63306.C14
4 files changed, 28 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d875c3b2a9c..473ca4cee9d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,15 @@
2014-10-01 Jakub Jelinek <jakub@redhat.com>
+ PR c++/63306
+ Backported from mainline
+ 2014-08-01 James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR regression/61510
+ * cgraphunit.c (analyze_functions): Use get_create rather than get
+ for decls which are clones of abstract functions.
+
+2014-10-01 Jakub Jelinek <jakub@redhat.com>
+
Backported from mainline
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index f4860552eca..8f576076b65 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -1038,7 +1038,7 @@ analyze_functions (void)
if (DECL_ABSTRACT_ORIGIN (decl))
{
struct cgraph_node *origin_node
- = cgraph_get_node (DECL_ABSTRACT_ORIGIN (decl));
+ = cgraph_get_create_node (DECL_ABSTRACT_ORIGIN (decl));
origin_node->used_as_abstract_origin = true;
}
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 579a4dc83a4..b5516dd9e95 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,8 @@
2014-10-01 Jakub Jelinek <jakub@redhat.com>
- Backported from mainline
+ PR c++/63306
+ * g++.dg/ipa/pr63306.C: New test.
+
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
PR debug/63285
diff --git a/gcc/testsuite/g++.dg/ipa/pr63306.C b/gcc/testsuite/g++.dg/ipa/pr63306.C
new file mode 100644
index 00000000000..e22a4c2a0d0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ipa/pr63306.C
@@ -0,0 +1,14 @@
+// PR c++/63306
+// { dg-do compile { target c++11 } }
+
+template <typename...>
+class A;
+
+class B
+{
+ B (const int &, const A<int, int> &);
+};
+
+B::B (const int &, const A<int, int> &)
+{
+}
OpenPOWER on IntegriCloud