llvm-project/clang/test/CXX/basic/basic.lookup
Reid Kleckner 1a4ab7e772 Improve error message when referencing a non-tag type with a tag
Other compilers accept invalid code here that we reject, and we need a
better error message to try to convince users that the code is really
incorrect. Consider:
  class Foo {
    typedef MyIterHelper<Foo> iterator;
    friend class iterator;
  };

Previously our wording was "elaborated type refers to a typedef".
"elaborated type" isn't widely known terminology, so the new diagnostic
says "typedef 'iterator' cannot be referenced with class specifier".

Reviewers: rsmith

Differential Revision: https://reviews.llvm.org/D25216

llvm-svn: 289259
2016-12-09 19:47:58 +00:00
..
basic.lookup.argdep
basic.lookup.classref Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
basic.lookup.elab Improve error message when referencing a non-tag type with a tag 2016-12-09 19:47:58 +00:00
basic.lookup.qual P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991: 2016-06-28 19:03:57 +00:00
basic.lookup.udir
basic.lookup.unqual