* decl.c (duplicate_decls): Always merge DECL_DECLARED_CONSTEXPR_P.

From-SVN: r274932
This commit is contained in:
Jason Merrill 2019-08-26 14:03:26 -04:00 committed by Jason Merrill
parent f7cf1751a9
commit 59bce4ad03
3 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2019-08-26 Jason Merrill <jason@redhat.com>
* decl.c (duplicate_decls): Always merge DECL_DECLARED_CONSTEXPR_P.
2019-08-26 Marek Polacek <polacek@redhat.com>
PR c++/91545 - ICE in constexpr store evaluation.

View File

@ -2204,9 +2204,8 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
SET_DECL_DEPENDENT_INIT_P (newdecl, true);
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (newdecl)
|= DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (olddecl);
if (DECL_CLASS_SCOPE_P (olddecl))
DECL_DECLARED_CONSTEXPR_P (newdecl)
|= DECL_DECLARED_CONSTEXPR_P (olddecl);
DECL_DECLARED_CONSTEXPR_P (newdecl)
|= DECL_DECLARED_CONSTEXPR_P (olddecl);
/* Merge the threadprivate attribute from OLDDECL into NEWDECL. */
if (DECL_LANG_SPECIFIC (olddecl)

View File

@ -0,0 +1,5 @@
// { dg-do compile { target c++11 } }
constexpr float pi = 3.14;
extern const float pi;
constexpr float x = pi;