summaryrefslogtreecommitdiffstats
path: root/clang/test/Parser
Commit message (Collapse)AuthorAgeFilesLines
...
* fix PR5740: a colon is sacred when parsing case statement expressions!Chris Lattner2009-12-101-3/+16
| | | | llvm-svn: 91016
* rename testcaseChris Lattner2009-12-101-0/+0
| | | | llvm-svn: 91015
* Fixes a bogus error when declaring an extern "C" array.Fariborz Jahanian2009-12-091-0/+7
| | | | | | (fixes radar 7457109). llvm-svn: 90986
* reapply my patch for PR4451, which improves diagnostics for :: vs : confusion.Chris Lattner2009-12-071-0/+30
| | | | | | This time with a fix to bail out when in a dependent context. llvm-svn: 90730
* fix a crash on invalid I found when working on something unrelated.Chris Lattner2009-12-071-0/+8
| | | | llvm-svn: 90729
* revert my previous patch, it is breaking something and I don't have timeChris Lattner2009-12-061-21/+0
| | | | | | to fix it ATM. llvm-svn: 90717
* implement PR4451, improving error recovery for a mistaken : where a :: wasChris Lattner2009-12-061-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | intended. On the first testcase in the bug, we now produce: cxx-decl.cpp:12:2: error: unexpected ':' in nested name specifier y:a a2; ^ :: instead of: t.cc:8:1: error: C++ requires a type specifier for all declarations x:a a2; ^ t.cc:8:2: error: invalid token after top level declarator x:a a2; ^ ; t.cc:9:11: error: use of undeclared identifier 'a2' x::a a3 = a2; ^ llvm-svn: 90713
* Honor using declarations in overload resolution. Most of the code forJohn McCall2009-12-031-1/+0
| | | | | | | | | | | overloaded-operator resolution is wildly untested, but the parallel code for methods seems to satisfy some trivial tests. Also change some overload-resolution APIs to take a type instead of an expression, which lets us avoid creating a spurious CXXThisExpr when resolving implicit member accesses. llvm-svn: 90410
* Normalize options to use '-FOO' instead of '--FOO'.Daniel Dunbar2009-11-292-2/+2
| | | | llvm-svn: 90071
* Use '-x' 'foo' instead of '-x=foo'.Daniel Dunbar2009-11-291-1/+1
| | | | llvm-svn: 90069
* Remove unnecessary -fms-extensions=0 from tests (this command line syntax is ↵Daniel Dunbar2009-11-291-1/+1
| | | | | | going away). llvm-svn: 90066
* Add DeclarationName support for C++0x operator literals. They should now work asAlexis Hunt2009-11-291-2/+2
| | | | | | | function names outside of templates - they'll probably cause some damage there as they're largely untested. llvm-svn: 90064
* Fix test and handle IK_LiteralOperatorId in a few more places.Alexis Hunt2009-11-281-1/+1
| | | | llvm-svn: 90030
* Add Parser support for C++0x literal operators ('operator "" i').Alexis Hunt2009-11-281-0/+5
| | | | | | DeclarationName can't handle them yet, so right now Parser just errors out on them. llvm-svn: 90027
* Fix attribute between function decl ')' and '{' or '=0'John Thompson2009-11-252-0/+10
| | | | llvm-svn: 89894
* Tweak expected error to match what should happen, once using declarations workDouglas Gregor2009-11-251-3/+2
| | | | llvm-svn: 89876
* Implement support for default template arguments of function templates.Douglas Gregor2009-11-251-1/+1
| | | | llvm-svn: 89874
* Added rudimentary C++0x attribute support.Alexis Hunt2009-11-211-0/+61
| | | | | | | | | | | | | | The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) llvm-svn: 89543
* Test case for parsing-recovery change to @synthesizedDouglas Gregor2009-11-181-0/+15
| | | | llvm-svn: 89260
* This patch fixes a bug in misdiagnosing correctFariborz Jahanian2009-11-181-13/+0
| | | | | | use of pointer to data member. llvm-svn: 89251
* Don't #include <stdio.h> when tests don't need it, or use clang instead of ↵Daniel Dunbar2009-11-171-1/+1
| | | | | | clang-cc when they do. llvm-svn: 89070
* Fix broken tests, exposed by improved -verify.Daniel Dunbar2009-11-141-1/+1
| | | | llvm-svn: 88749
* Remove RUN: true lines.Daniel Dunbar2009-11-081-2/+2
| | | | llvm-svn: 86432
* Eliminate &&s in tests.Daniel Dunbar2009-11-082-2/+2
| | | | | | - 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. llvm-svn: 86430
* Make fragile-abi test run happy.Fariborz Jahanian2009-11-061-1/+1
| | | | llvm-svn: 86293
* Fix a bogus objective-c warning with -pedantic.Fariborz Jahanian2009-11-061-0/+18
| | | | | | (radar 7370882). llvm-svn: 86291
* Implement -Wsign-compare, or at least the actual comparison part of it.John McCall2009-11-052-2/+2
| | | | | | | | Conditional operands are next. Fixes part of rdar://problem/7289584. llvm-svn: 86083
* Improve diagnostics when parsing something likeDouglas Gregor2009-10-301-0/+4
| | | | | | | | template<> struct foo<int> { ... }; where "foo" does not refer to a template. Fixes PR3844. llvm-svn: 85616
* Disabling some MS extensions which cause these tests to failJohn Thompson2009-10-271-1/+1
| | | | llvm-svn: 85236
* Diagnose misuse of '.*' and '->*' operators during parseFariborz Jahanian2009-10-231-0/+13
| | | | | | instead of crashing in code gen. llvm-svn: 84968
* test commitJohn Thompson2009-10-131-48/+47
| | | | llvm-svn: 83945
* Improve checking for specializations of member classes of classDouglas Gregor2009-10-081-3/+6
| | | | | | | | | | | templates, and keep track of how those member classes were instantiated or specialized. Make sure that we don't try to instantiate an explicitly-specialized member class of a class template, when that explicit specialization was a declaration rather than a definition. llvm-svn: 83547
* Rework the Parse-Sema interaction for friends to better support friendDouglas Gregor2009-09-261-2/+2
| | | | | | | | | class templates. We now treat friend class templates much more like normal class templates, except that they still get special name lookup rules. Fixes PR5057 and eliminates a bunch of spurious diagnostics in <iostream>. llvm-svn: 82848
* WIP implementation of explicit instantiation of function templates,Douglas Gregor2009-09-251-1/+2
| | | | | | | | member functions of class template specializations, and static data members. The mechanics are (mostly) present, but the semantic analysis is very weak. llvm-svn: 82789
* Add RUN line.Daniel Dunbar2009-09-121-0/+2
| | | | llvm-svn: 81654
* Add a test for PR3733.Anders Carlsson2009-09-121-0/+8
| | | | llvm-svn: 81622
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-093-10/+10
| | | | llvm-svn: 81346
* Improve top-level-semicolon test a bitDouglas Gregor2009-08-241-0/+6
| | | | llvm-svn: 79913
* Top-level semicolons are allowed in C++0x. Fixes PR4755.Douglas Gregor2009-08-241-0/+9
| | | | llvm-svn: 79912
* First pass at friend semantics.John McCall2009-08-061-2/+17
| | | | llvm-svn: 78274
* Ok, ok, I give in. Fix tests for unused result warning.Daniel Dunbar2009-08-011-3/+3
| | | | llvm-svn: 77780
* PR3679 - handle #pragma weakRyan Flynn2009-07-301-1/+1
| | | | llvm-svn: 77573
* Implement C++ semantics for C-style and functional-style casts. This ↵Sebastian Redl2009-07-251-3/+3
| | | | | | | | regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators. Add custom conversions to static_cast. llvm-svn: 77076
* Disable this test: cxx-using-declaration.cppDaniel Dunbar2009-07-251-1/+4
| | | | | | | | | | Something strange is going on here; this test randomly started failing after unrelated changes to TestRunner.py (even though it runs the same script). Argiris or Doug, can one of you investigate? llvm-svn: 77063
* Fix test case, which has a control-reaches-end-of-non-void warning that wasDaniel Dunbar2009-07-231-2/+1
| | | | | | being masked by previous bug. llvm-svn: 76858
* Implement support for out-of-line definitions of the class members of classDouglas Gregor2009-07-221-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | templates, e.g., template<typename T> struct Outer { struct Inner; }; template<typename T> struct Outer<T>::Inner { // ... }; Implementing this feature required some extensions to ActOnTag, which now takes a set of template parameter lists, and is the precursor to removing the ActOnClassTemplate function from the parser Action interface. The reason for this approach is simple: the parser cannot tell the difference between a class template definition and the definition of a member of a class template; both have template parameter lists, and semantic analysis determines what that template parameter list means. There is still some cleanup to do with ActOnTag and ActOnClassTemplate. This commit provides the basic functionality we need, however. llvm-svn: 76820
* Implement parsing and semantic analysis for out-of-line definitions of staticDouglas Gregor2009-07-221-1/+2
| | | | | | | data members of class templates. We don't instantiate the definitions yet, however. llvm-svn: 76756
* Prep for new warning.Mike Stump2009-07-229-25/+25
| | | | llvm-svn: 76709
* Fix the parser error hanlding for __builtin_offsetof to actually print Eli Friedman2009-06-271-0/+7
| | | | | | out an error for a malformed __builtin_offsetof. llvm-svn: 74388
* Improved semantic analysis and AST respresentation for functionDouglas Gregor2009-06-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | templates. For example, this now type-checks (but does not instantiate the body of deref<int>): template<typename T> T& deref(T* t) { return *t; } void test(int *ip) { int &ir = deref(ip); } Specific changes/additions: * Template argument deduction from a call to a function template. * Instantiation of a function template specializations (just the declarations) from the template arguments deduced from a call. * FunctionTemplateDecls are stored directly in declaration contexts and found via name lookup (all forms), rather than finding the FunctionDecl and then realizing it is a template. This is responsible for most of the churn, since some of the core declaration matching and lookup code assumes that all functions are FunctionDecls. llvm-svn: 74213
OpenPOWER on IntegriCloud