Combined with 'da98651 - Revert "DR2064: decltype(E) is only a dependent', this change (5a391d3) caused verifier errors when building Chromium. See https://crbug.com/1168494#c1 for a reproducer. Additionally it reverts changes that were dependent on this one, see below. > Following up on PR48517, fix handling of template arguments that refer > to dependent declarations. > > Treat an id-expression that names a local variable in a templated > function as being instantiation-dependent. > > This addresses a language defect whereby a reference to a dependent > declaration can be formed without any construct being value-dependent. > Fixing that through value-dependence turns out to be problematic, so > instead this patch takes the approach (proposed on the core reflector) > of allowing the use of pointers or references to (but not values of) > dependent declarations inside value-dependent expressions, and instead > treating template arguments as dependent if they evaluate to a constant > involving such dependent declarations. > > This ends up affecting a bunch of OpenMP tests, due to OpenMP > imprecisely handling instantiation-dependent constructs, bailing out > early instead of processing dependent constructs to the extent possible > when handling the template. > > Previously committed as8c1f2d15b8, and > reverted because a dependency commit was reverted. This reverts commit5a391d38ac. It also restores clang/test/SemaCXX/coroutines.cpp to its state beforeda986511fb. Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type." > Previously committed as9e08e51a20, and > reverted because a dependency commit was reverted. This incorporates the > following follow-on commits that were also reverted: > >7e84aa1b81by Simon Pilgrim >ed13d8c667by me >95c7b6cadbby Sam McCall >430d5d8429by Dave Zarzycki This reverts commit4b574008ae. Revert "[msabi] Mangle a template argument referring to array-to-pointer decay" > [msabi] Mangle a template argument referring to array-to-pointer decay > applied to an array the same as the array itself. > > This follows MS ABI, and corrects a regression from the implementation > of generalized non-type template parameters, where we "forgot" how to > mangle this case. This reverts commit18e093faf7.
30 KiB
30 KiB