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

Reply via email to