PR c++/24103
Backport:
2002-08-22 Diego Novillo <dnovillo@redhat.com>
* tree.c (simple_cst_equal): Call simple_cst_list_equal to compare
CONSTRUCTOR_ELTS pointers.
PR c++/24103
* g++.dg/other/default1.C: New test.
From-SVN: r107888
+2005-12-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/24103
+ Backport:
+ 2002-08-22 Diego Novillo <dnovillo@redhat.com>
+
+ * tree.c (simple_cst_equal): Call simple_cst_list_equal to compare
+ CONSTRUCTOR_ELTS pointers.
+
2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
* version.c: Bump version number.
+2005-12-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/24103
+ * g++.dg/other/default1.C: New test.
+
2005-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
Backport:
--- /dev/null
+// PR c++/24103
+// ICE in simple_cst_equal
+// Origin: Alexander Stepanov <astepanov@softminecorp.com>
+// { dg-do compile }
+// { dg-options "" }
+
+struct S
+{
+ int i;
+};
+
+struct A
+{
+ A(S = (S){0});
+};
+
+struct B
+{
+ B(S = (S){0});
+};
+
+B::B(S) {}
TREE_STRING_LENGTH (t1)));
case CONSTRUCTOR:
- if (CONSTRUCTOR_ELTS (t1) == CONSTRUCTOR_ELTS (t2))
- return 1;
- else
- abort ();
+ return simple_cst_list_equal (CONSTRUCTOR_ELTS (t1),
+ CONSTRUCTOR_ELTS (t2));
case SAVE_EXPR:
return simple_cst_equal (TREE_OPERAND (t1, 0), TREE_OPERAND (t2, 0));