diff options
author | Jason Merrill <jason@redhat.com> | 2011-03-16 16:03:46 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-03-16 16:03:46 -0400 |
commit | 85a273bae4165216919c029f0dfa28ca5800aa23 (patch) | |
tree | 261f49586db7d14d30580f1d98f41222c349990b /gcc/cp/call.c | |
parent | 51fd6b9057dd38a0566c86df2dcda8ace597eed9 (diff) | |
download | gcc-85a273bae4165216919c029f0dfa28ca5800aa23.zip gcc-85a273bae4165216919c029f0dfa28ca5800aa23.tar.gz gcc-85a273bae4165216919c029f0dfa28ca5800aa23.tar.bz2 |
re PR c++/48115 (internal compiler error: in type_has_nontrivial_copy_init, at cp/tree.c:2482)
PR c++/48115
* call.c (convert_arg_to_ellipsis): Handle incomplete type.
From-SVN: r171066
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r-- | gcc/cp/call.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 388f46c..f75c248 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -5671,6 +5671,10 @@ convert_arg_to_ellipsis (tree arg) arg_type = TREE_TYPE (arg); if (arg != error_mark_node + /* In a template (or ill-formed code), we can have an incomplete type + even after require_complete_type, in which case we don't know + whether it has trivial copy or not. */ + && COMPLETE_TYPE_P (arg_type) && (type_has_nontrivial_copy_init (arg_type) || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (arg_type))) { |