c++: traits, array of unknown bound of incomplete
My r161129 changed check_trait_type to reject arrays of unknown bound of
incomplete type, but I can't find a rationale for that, and now think it's
wrong: the standard just requires that the type be "complete, cv void, or an
array of unknown bound." I imagine that allowing arrays of unknown bound is
because an array of unknown bound can't change from incomplete to complete
later in the translation unit, so there's no caching problem.
gcc/cp/ChangeLog:
* semantics.cc (check_trait_type): Don't check completeness
of element type of array of unknown bound.
gcc/testsuite/ChangeLog:
* g++.dg/ext/unary_trait_incomplete.C: Adjust.