On 10/21/2015 04:37 AM, Paolo Carlini wrote:
+ "%qD is not an enumerator-name", identifier);
This should be enum-name or "does not name an enumeration". We should
also print the nested-name-specifier.
+ error_at (type_start_token->location, "nested name specifier "
+ "for enum declaration cannot depend on a template "
+ "parameter, i.e., %qT", nested_name_specifier);
It can in, e.g.,
template <class T>
enum A<T>::E { ... };
We could hit this same ICE for anything that is not a class or
namespace, i.e. any of WILDCARD_TYPE_P. That's the problem here: the
nested-name-specifier on a definition needs to name a class or namespace.
Jason