diff options
| author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-01 14:46:32 +0000 |
|---|---|---|
| committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-01 14:46:32 +0000 |
| commit | 5de88dfb9bf2d65426319a23095837d4eecbf874 (patch) | |
| tree | 3ebebccde272d53bf7a988185b0dfa5b551e2ba4 | |
| parent | 611da9dd72a4c9d9ece2a8d24612e4aee435414a (diff) | |
| download | ppe42-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/ChangeLog | 10 | ||||
| -rw-r--r-- | gcc/cgraphunit.c | 2 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/testsuite/g++.dg/ipa/pr63306.C | 14 |
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> &) +{ +} |

