aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2013-10-31 10:13:42 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-10-31 10:13:42 -0400
commit83f31d8d5d6e738a2a1b844acd992e18cdd328d1 (patch)
tree28d1e178d5c57fe4b81ae834b3d9389f28c6958e /gcc
parent5d46aaee73d188e2085908f7ecc89e47ebe961a5 (diff)
downloadgcc-83f31d8d5d6e738a2a1b844acd992e18cdd328d1.zip
gcc-83f31d8d5d6e738a2a1b844acd992e18cdd328d1.tar.gz
gcc-83f31d8d5d6e738a2a1b844acd992e18cdd328d1.tar.bz2
class.c (type_build_ctor_call): Return early in C++98 mode.
* class.c (type_build_ctor_call): Return early in C++98 mode. (type_build_dtor_call): Likewise. From-SVN: r204262
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/class.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d4c9143..a0d802f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-31 Jason Merrill <jason@redhat.com>
+
+ * class.c (type_build_ctor_call): Return early in C++98 mode.
+ (type_build_dtor_call): Likewise.
+
2013-10-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58932
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 43f90d7..64681ba 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5163,6 +5163,8 @@ type_build_ctor_call (tree t)
return false;
if (!TYPE_HAS_DEFAULT_CONSTRUCTOR (inner))
return true;
+ if (cxx_dialect < cxx11)
+ return false;
/* A user-declared constructor might be private, and a constructor might
be trivial but deleted. */
for (tree fns = lookup_fnfields_slot (inner, complete_ctor_identifier);
@@ -5188,6 +5190,8 @@ type_build_dtor_call (tree t)
if (!CLASS_TYPE_P (inner) || ANON_AGGR_TYPE_P (inner)
|| !COMPLETE_TYPE_P (inner))
return false;
+ if (cxx_dialect < cxx11)
+ return false;
/* A user-declared destructor might be private, and a destructor might
be trivial but deleted. */
for (tree fns = lookup_fnfields_slot (inner, complete_dtor_identifier);