summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/invalid-member-expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add test case for rdar://11293995Argyrios Kyrtzidis2012-04-271-0/+31
| | | | llvm-svn: 155690
* Fix parsing of type-specifier-seq's. Types are syntactically allowed to beRichard Smith2012-03-121-2/+2
| | | | | | | | | | | | | | | | | | defined here, but not semantically, so new struct S {}; is always ill-formed, even if there is a struct S in scope. We also had a couple of bugs in ParseOptionalTypeSpecifier caused by it being under-loved (due to it only being used in a few places) so merge it into ParseDeclarationSpecifiers with a new DeclSpecContext. To avoid regressing, this required improving ParseDeclarationSpecifiers' diagnostics in some cases. This also required teaching ParseSpecifierQualifierList about constexpr... which incidentally fixes an issue where we'd allow the constexpr specifier in other bad places. llvm-svn: 152549
* Make this error less specific but also less likely to cause confusion. FixesNick Lewycky2010-11-031-4/+4
| | | | | | PR7702. llvm-svn: 118181
* Fix PR6327: restore invariants when there's a parse error in an initializer.John McCall2010-03-311-0/+18
| | | | llvm-svn: 99980
* Improve parsing and instantiation of destructor names, so that we canDouglas Gregor2010-02-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | now cope with the destruction of types named as dependent templates, e.g., y->template Y<T>::~Y() Nominally, we implement C++0x [basic.lookup.qual]p6. However, we don't follow the letter of the standard here because that would fail to parse template<typename T, typename U> X0<T, U>::~X0() { } properly. The problem is captured in core issue 339, which gives some (but not enough!) guidance. I expect to revisit this code when the resolution of 339 is clear, and/or we start capturing better source information for DeclarationNames. Fixes PR6152. llvm-svn: 96367
* 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
* Replace the code that parses member access expressions after "." orDouglas Gregor2009-11-031-4/+4
| | | | | | | | | | | | "->" with a use of ParseUnqualifiedId. Collapse ActOnMemberReferenceExpr, ActOnDestructorReferenceExpr (both of them), ActOnOverloadedOperatorReferenceExpr, ActOnConversionOperatorReferenceExpr, and ActOnMemberTemplateIdReferenceExpr into a single, new action ActOnMemberAccessExpr that does the same thing more cleanly (and can keep more source-location information). llvm-svn: 85930
* Support explicit C++ member operator syntax, from James Porter!Douglas Gregor2009-08-311-0/+21
llvm-svn: 80608
OpenPOWER on IntegriCloud