PR c++/51854
* mangle.c (write_template_arg_literal): Sorry instead of aborting.
From-SVN: r183224
+2012-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51854
+ * mangle.c (write_template_arg_literal): Sorry instead of aborting.
+
2012-01-16 Jason Merrill <jason@redhat.com>
PR c++/51868
break;
default:
- gcc_unreachable ();
+ sorry ("mangling %C", TREE_CODE (value));
+ break;
}
write_char ('E');
2012-01-16 Jason Merrill <jason@redhat.com>
+ PR c++/51854
+ * g++.dg/abi/mangle60.C: New.
+
PR c++/51868
* g++.dg/cpp0x/rv-bitfield.C: New.
* g++.dg/cpp0x/rv-bitfield2.C: New.
--- /dev/null
+// PR c++/51854
+// { dg-options "" }
+// { dg-excess-errors "" { xfail *-*-* } }
+
+template <unsigned N> struct A;
+
+template <typename U, typename V>
+char foo(U, V);
+
+// { dg-final { scan-assembler "_Z3barIiEvP1AIXszcl3foocvT__ELCi0_42EEEE" } }
+template <typename U>
+void bar(A<sizeof(foo(U(), 42i))> *);
+
+// { dg-final { scan-assembler "_Z3bazIiEvP1AIXszcl3foocvT__ELCf00000000_00000000EEEE" } }
+template <typename U>
+void baz(A<sizeof(foo(U(), 0.0fj))> *);
+
+int main() {
+ bar<int>(0);
+ baz<int>(0);
+}