llvm-project/clang/test/CXX/temp
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
..
temp.arg Fix all tests under test/CXX (and test/Analysis) to pass if clang's default 2016-08-31 23:24:08 +00:00
temp.decls Improve error message when referencing a non-tag type with a tag 2016-12-09 19:47:58 +00:00
temp.fct.spec [c++1z] P0012R1: Implement a few remaining pieces: downgrade diagnostic for 2016-10-22 01:32:19 +00:00
temp.names
temp.param Push alias-declarations and alias-template declarations into scope even if 2016-07-15 20:53:25 +00:00
temp.res Fix recognition of shadowed template parameter 2016-06-10 04:39:07 +00:00
temp.spec Improve error message when referencing a non-tag type with a tag 2016-12-09 19:47:58 +00:00
temp.type
p3.cpp Implement DR482: namespace members can be redeclared with a qualified name 2013-12-05 07:51:02 +00:00