re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR ipa/61659 * decl.c (duplicate_decls): Check DECL_DECLARED_INLINE_P on newdecl, not olddecl. From-SVN: r214900
This commit is contained in:
parent
5c15381263
commit
382995f56c
3 changed files with 13 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-09-04 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||||
|
||||
PR ipa/61659
|
||||
* decl.c (duplicate_decls): Check DECL_DECLARED_INLINE_P on
|
||||
newdecl, not olddecl.
|
||||
|
||||
2014-09-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
DR 1453
|
||||
|
|
|
@ -2215,7 +2215,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
|
|||
olddecl);
|
||||
|
||||
SET_DECL_TEMPLATE_SPECIALIZATION (olddecl);
|
||||
DECL_COMDAT (newdecl) = DECL_DECLARED_INLINE_P (olddecl);
|
||||
DECL_COMDAT (newdecl) = DECL_DECLARED_INLINE_P (newdecl);
|
||||
|
||||
/* Don't propagate visibility from the template to the
|
||||
specialization here. We'll do that in determine_visibility if
|
||||
|
|
6
gcc/testsuite/g++.dg/template/spec38.C
Normal file
6
gcc/testsuite/g++.dg/template/spec38.C
Normal file
|
@ -0,0 +1,6 @@
|
|||
// PR ipa/61659
|
||||
|
||||
// { dg-final { scan-assembler "_Z1fIiEvPT_" } }
|
||||
|
||||
template <typename T> inline void f (T *);
|
||||
template <> void f (int *) { }
|
Loading…
Add table
Reference in a new issue