http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58091
--- Comment #2 from fimbul77 at gmail dot com --- 3.4 Name lookup The name lookup rules apply uniformly to all names (including typedef-names (7.1.3), namespace-names (7.3), and class-names (9.1)) wherever the grammar allows such names in the context discussed by a particular rule. NS<0>::value NS(namespace) should not be lookup(the grammar don't allow appearing angle brackets after namespace name). Only NS(class template) should be lookup. Perhaps Clang is correct.