c++: ICE with -Wshadow and enumerator in template [PR99120]
We crash here, because in a template, an enumerator doesn't have
a type until we've called finish_enum_value_list. But our -Wshadow
implementation, check_local_shadow, is called when we pushdecl in
build_enumerator, which takes place before finish_enum_value_list.
gcc/cp/ChangeLog:
PR c++/99120
* name-lookup.c (check_local_shadow): Check if the type of decl
is non-null before checking TYPE_PTR*.
gcc/testsuite/ChangeLog:
PR c++/99120
* g++.dg/warn/Wshadow-17.C: New test.