aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2012-01-02 17:00:13 +0000
committerDodji Seketeli <dodji@gcc.gnu.org>2012-01-02 18:00:13 +0100
commit358b9253c104e94701f6a52dfedac8c18269a0a7 (patch)
tree300d1973c06fcc341b47db22c7e33d997577963f /gcc/cp
parent7d510a821a48a208b224a0f5e73fb2a3e48a583e (diff)
downloadgcc-358b9253c104e94701f6a52dfedac8c18269a0a7.zip
gcc-358b9253c104e94701f6a52dfedac8c18269a0a7.tar.gz
gcc-358b9253c104e94701f6a52dfedac8c18269a0a7.tar.bz2
PR c++/51462 - ICE in cx_check_missing_mem_inits
gcc/cp/ PR c++/51462 * semantics.c (cx_check_missing_mem_inits): Don't assert in case of error. gcc/testsuite/ PR c++/51462 * g++.dg/cpp0x/constexpr-99.C: New test. From-SVN: r182806
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/semantics.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7b91727..23f3ae0 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2012-01-02 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51462
+ * semantics.c (cx_check_missing_mem_inits): Don't assert in case
+ of error.
+
2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/20140
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 835632f..55b0a02 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -6051,7 +6051,8 @@ cx_check_missing_mem_inits (tree fun, tree body, bool complain)
/* It's OK to skip a member with a trivial constexpr ctor.
A constexpr ctor that isn't trivial should have been
added in by now. */
- gcc_checking_assert (!TYPE_HAS_COMPLEX_DFLT (ftype));
+ gcc_checking_assert (!TYPE_HAS_COMPLEX_DFLT (ftype)
+ || errorcount != 0);
continue;
}
error ("uninitialized member %qD in %<constexpr%> constructor",