re PR c++/37554 (ICE with invalid cast)
/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
This commit is contained in:
parent
79e5286cba
commit
267e265c52
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
|
|
@ -5276,7 +5276,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
|
|||
(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;
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// PR c++/37554
|
||||
|
||||
struct A {};
|
||||
class B : A {};
|
||||
|
||||
void foo(B b)
|
||||
{
|
||||
(A)b; // { dg-error "inaccessible base" }
|
||||
}
|
|
@ -1,11 +1,11 @@
|
|||
// { 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" }
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue