llvm-project/clang/lib/Parse
Anders Carlsson 75fdaa465f Improve handling of base initializers. We now parse initializers in out of line decls, such as:
class C {
    C() { }
    
    int a;
};

C::C() : a(10) { }

We also diagnose when initializers are used on declarations that aren't constructors:

t.cpp:1:10: error: only constructors take base initializers
void f() : a(10) { }
         ^

Doug and/or Sebastian: I'd appreciate a review, especially the nested-name-spec test results (from the looks of it we now match gcc in that test.)

llvm-svn: 67672
2009-03-25 02:58:17 +00:00
..
AstGuard.h Add a switch that allows disabling the smart pointers. 2009-01-22 17:31:11 +00:00
AttributeList.cpp Add Parse/Sema support for weak_import attribute. 2009-03-06 06:39:57 +00:00
CMakeLists.txt Build system changes to use TableGen to generate the various 2009-03-16 23:06:59 +00:00
DeclSpec.cpp Introduce a representation for types that we referred to via a 2009-03-19 00:18:19 +00:00
ExtensionRAIIObject.h move library-specific diagnostic headers into library private dirs. Reduce 2009-01-29 05:15:15 +00:00
Makefile Build system changes to use TableGen to generate the various 2009-03-16 23:06:59 +00:00
MinimalAction.cpp fix "Comment#1" from PR3872 2009-03-24 17:05:27 +00:00
ParseCXXInlineMethods.cpp Convert a bunch of actions to smart pointers, and also bring PrintParserCallbacks a bit more in line with reality. 2009-03-15 17:47:39 +00:00
ParseDecl.cpp Parse deleted function definitions and hook them up to Doug's machinery. 2009-03-24 22:27:57 +00:00
ParseDeclCXX.cpp In Parser::ParseClassSpecifier, don't conflate a NULL declaration with 2009-03-25 00:13:59 +00:00
ParseExpr.cpp improve error recovery for when type parsing fails. 2009-03-24 17:21:43 +00:00
ParseExprCXX.cpp Introduce a representation for types that we referred to via a 2009-03-19 00:18:19 +00:00
ParseInit.cpp InitListDesignations hasn't been used (ever). Eliminate it, and 2009-03-20 23:11:49 +00:00
ParseObjc.cpp objc: Implemented variables declared in class interface 2009-03-18 22:33:24 +00:00
ParsePragma.cpp Implement '#pragma unused'. 2009-03-23 22:28:25 +00:00
ParsePragma.h Implement '#pragma unused'. 2009-03-23 22:28:25 +00:00
ParseStmt.cpp random cleanups. 2009-03-24 17:04:48 +00:00
ParseTemplate.cpp Clean up and document code modification hints. 2009-02-27 17:53:17 +00:00
ParseTentative.cpp Add parser support for static_assert. 2009-03-11 16:27:10 +00:00
Parser.cpp Improve handling of base initializers. We now parse initializers in out of line decls, such as: 2009-03-25 02:58:17 +00:00