diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2014-02-27 23:15:20 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2014-02-27 23:15:20 +0000 |
commit | ae9b3eb926ef6b7bd8d801e29ebc51fd4ac67fc8 (patch) | |
tree | ce9610cc110ef1b2fae77dde6bd1ff64e583cd20 /gcc | |
parent | c4f6267be502cf7fde69acb0c3d8b4bcb175f3a4 (diff) | |
download | gcc-ae9b3eb926ef6b7bd8d801e29ebc51fd4ac67fc8.zip gcc-ae9b3eb926ef6b7bd8d801e29ebc51fd4ac67fc8.tar.gz gcc-ae9b3eb926ef6b7bd8d801e29ebc51fd4ac67fc8.tar.bz2 |
re PR c++/60253 (ICE passing class object through ellipsis (...))
/cp
2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60253
* call.c (convert_arg_to_ellipsis): Return error_mark_node after
error_at.
/testsuite
2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60253
* g++.dg/overload/ellipsis2.C: New.
From-SVN: r208208
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/call.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/overload/ellipsis2.C | 13 |
4 files changed, 25 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index de06bad..eaec522 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2014-02-27 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/60253 + * call.c (convert_arg_to_ellipsis): Return error_mark_node after + error_at. + 2014-02-27 Jason Merrill <jason@redhat.com> PR c++/60353 diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 700099d..53b97d9 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -6411,8 +6411,7 @@ convert_arg_to_ellipsis (tree arg, tsubst_flags_t complain) if (complain & tf_error) error_at (loc, "cannot pass objects of non-trivially-copyable " "type %q#T through %<...%>", arg_type); - else - return error_mark_node; + return error_mark_node; } } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b95bcfd..0259ba4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-02-27 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/60253 + * g++.dg/overload/ellipsis2.C: New. + 2014-02-27 Jeff Law <law@redhat.com> PR rtl-optimization/52714 diff --git a/gcc/testsuite/g++.dg/overload/ellipsis2.C b/gcc/testsuite/g++.dg/overload/ellipsis2.C new file mode 100644 index 0000000..d9118ba --- /dev/null +++ b/gcc/testsuite/g++.dg/overload/ellipsis2.C @@ -0,0 +1,13 @@ +// PR c++/60253 + +struct A +{ + ~A(); +}; + +struct B +{ + B(...); +}; + +B b(0, A()); // { dg-error "cannot pass" } |