diff options
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index b5caf5c..2b996d4 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -2091,7 +2091,7 @@ check_explicit_specialization (tree declarator, { int is_constructor = DECL_CONSTRUCTOR_P (decl); - if (is_constructor ? !TYPE_HAS_CONSTRUCTOR (ctype) + if (is_constructor ? !TYPE_HAS_USER_CONSTRUCTOR (ctype) : !CLASSTYPE_DESTRUCTORS (ctype)) { /* From [temp.expl.spec]: @@ -6818,7 +6818,7 @@ instantiate_class_template (tree type) input_location = DECL_SOURCE_LOCATION (typedecl); in_system_header = DECL_IN_SYSTEM_HEADER (typedecl); - TYPE_HAS_CONSTRUCTOR (type) = TYPE_HAS_CONSTRUCTOR (pattern); + TYPE_HAS_USER_CONSTRUCTOR (type) = TYPE_HAS_USER_CONSTRUCTOR (pattern); TYPE_HAS_NEW_OPERATOR (type) = TYPE_HAS_NEW_OPERATOR (pattern); TYPE_HAS_ARRAY_NEW_OPERATOR (type) = TYPE_HAS_ARRAY_NEW_OPERATOR (pattern); TYPE_GETS_DELETE (type) = TYPE_GETS_DELETE (pattern); |