PR c++/85146
commita75f595e19bba864bc3c2ac01a195778961d97bf
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Apr 2018 19:34:18 +0000 (4 19:34 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Apr 2018 19:34:18 +0000 (4 19:34 +0000)
treebe0e52b9e5a853ce7d421833b2bda0d3e3c369c3
parentef0f618eb18b7d822e1e4d8b34ca6cd713a6d533
PR c++/85146
* cp-tree.h (calculate_bases, calculate_direct_bases): Add complain
argument.
* semantics.c (calculate_bases): Add complain argument.  Use
complete_type_or_maybe_complain instead of just complete_type and
return an empty vector if it fails.  Move make_tree_vector () call
after early return.  Formatting fixes.
(calculate_direct_bases): Likewise.  Call release_tree_vector at the
end.
(dfs_calculate_bases_post, calculate_bases_helper): Formatting fixes.
* pt.c (tsubst_pack_expansion): Adjust calculate_bases and
calculate_direct_bases callers, formatting fixes.

* g++.dg/ext/bases2.C: Expect extra error diagnostics.
* g++.dg/ext/bases3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@259101 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/bases2.C
gcc/testsuite/g++.dg/ext/bases3.C [new file with mode: 0644]