/cp
2009-01-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37554
* call.c (build_over_call): If convert_for_arg_passing returns
error_mark_node unconditionally return it.
/testsuite
2009-01-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37554
* g++.dg/parse/crash51.C: New.
* g++.old-deja/g++.pt/crash9.C: Adjust.
From-SVN: r143711
+2009-01-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/37554
+ * call.c (build_over_call): If convert_for_arg_passing returns
+ error_mark_node unconditionally return it.
+
2009-01-22 Adam Nemet <anemet@caviumnetworks.com>
* class.c (check_field_decls): Also inherit packed for bitfields
(conv, TREE_VALUE (arg), fn, i - is_method, complain);
val = convert_for_arg_passing (type, val);
- if ((complain == tf_none) && val == error_mark_node)
+ if (val == error_mark_node)
return error_mark_node;
else
argarray[j++] = val;
+2009-01-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/37554
+ * g++.dg/parse/crash51.C: New.
+ * g++.old-deja/g++.pt/crash9.C: Adjust.
+
2009-01-27 Daniel Kraft <d@domob.eu>
PR fortran/38883
--- /dev/null
+// PR c++/37554
+
+struct A {};
+class B : A {};
+
+void foo(B b)
+{
+ (A)b; // { dg-error "inaccessible base" }
+}
// { dg-do assemble }
template <class T>
-void f(T) {} // { dg-error "" } parameter has incomplete type
+void f(T) {}
-class C; // { dg-error "" } forward declaration
+class C; // { dg-error "forward declaration" }
void g(const C& c)
{
- f(c); // { dg-error "" } invalid use of undefined type
+ f(c); // { dg-error "invalid use of incomplete type|initializing argument" }
}