c++: Adjust array type construction
authorNathan Sidwell <nathan@acm.org>
Mon, 7 Dec 2020 16:47:24 +0000 (08:47 -0800)
committerNathan Sidwell <nathan@acm.org>
Mon, 7 Dec 2020 16:49:33 +0000 (08:49 -0800)
commitffb268ffcf9f21e2981a71887324eb0aec245eea
tree86e1b2e47bd1b755259525bbfe19e3be2b1ef20d
parent9d0eb0ae948f0fbee208cfb9a86133abea650f81
c++: Adjust array type construction

This restores the dependent array changes I reverted, now that pr98116
appears fixed.  As mentioned before, when deserializing a module we
need to construct arrays without using the dependent-type predicates
themselves.

gcc/cp/
* cp-tree.h (build_cplus_array_type): Add defaulted DEP parm.
* tree.c (set_array_type_common): Add DEP parm.
(build_cplus_array_type): Add DEP parm, determine dependency if
needed.  Mark dependency of new types.
(cp_build_qualified_type_real): Adjust array-building call, assert
no surprising dependency.
(strip_typedefs): Likewise.
gcc/cp/cp-tree.h
gcc/cp/tree.c