summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/using-decl-templates.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Improve error message when referencing a non-tag type with a tagReid Kleckner2016-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* [Sema] Prevent using member declaration diagnostic if the base class is invalid.Eric Fiselier2016-10-101-0/+9
| | | | | | | | | | | | | | | Summary: Once a base class has been made invalid (by a static_assert for example) all using-member declarations in the derived classes will result in a "not a base class" diagnostic. This diagnostic is very misleading and should not be emitted. This change is needed to help libc++ produce reasonable diagnostics in `std::optional` and `std::variant`. Reviewers: rsmith, majnemer, aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25430 llvm-svn: 283755
* Fix a crash on invalid with template handlingRichard Trieu2016-04-051-1/+1
| | | | | | | | This is a fix for https://llvm.org/bugs/show_bug.cgi?id=25561 which was a crash on invalid. Change the handling of invalid decls to have a catch-all case to prevent unexpecting decls from triggering an assertion. llvm-svn: 265467
* Fix assert if an attempt is made to explicitly instantiate an alias template.Richard Smith2013-06-221-1/+8
| | | | | | Patch by Ismail Pazarbasi! llvm-svn: 184650
* Add a testcase which uses an UnresolvedUsingTypenameDecl as the base of an NNS.Eli Friedman2013-06-201-0/+5
| | | | llvm-svn: 184386
* Fix Sema::CorrectTypo to ignore found but unresolved symbolsKaelyn Uhrain2011-09-071-0/+17
| | | | llvm-svn: 139252
* Don't be so eager to replace UsingDecls in a DeclContext's lookup table;Argyrios Kyrtzidis2010-11-041-0/+18
| | | | | | check that the TargetNestedNameDecl is the same first. llvm-svn: 118239
* When pretty-printing tag types, only print the tag if we're in C (andJohn McCall2010-03-101-1/+1
| | | | | | | | | | therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag). Most of these testcase changes were done by script, so don't feel too sorry for my fingers. llvm-svn: 98149
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Correctly implement the C++03 and 0x restrictions on class-member usingJohn McCall2009-12-081-1/+1
| | | | | | declarations. llvm-svn: 90843
* Fix "using typename" and the instantiation of non-dependent using declarations.John McCall2009-12-041-0/+11
| | | | llvm-svn: 90614
* Incremental progress on using declarations. Split UnresolvedUsingDecl intoJohn McCall2009-11-181-2/+2
| | | | | | | | | | two classes, one for typenames and one for values; this seems to have some support from Doug if not necessarily from the extremely-vague-on-this-point standard. Track the location of the 'typename' keyword in a using-typename decl. Make a new lookup result for unresolved values and deal with it in most places. llvm-svn: 89184
* CreateDeclRefExprs that point to UnresolvedUsingDecls.Anders Carlsson2009-08-291-0/+6
| | | | llvm-svn: 80413
* Add another check for UnresolvedUsingDecl.Anders Carlsson2009-08-291-0/+8
| | | | llvm-svn: 80412
* Check for UnresolvedUsingDecl when determining if a declaration is a ↵Anders Carlsson2009-08-281-0/+6
| | | | | | redeclaration or not. llvm-svn: 80383
* Instantiate unresolved using declarations.Anders Carlsson2009-08-281-0/+16
llvm-svn: 80366
OpenPOWER on IntegriCloud