Fix a few issues while skipping function bodies
- In functions with try { } catch { }, only the try block would be skipped, not the catch blocks - The template functions would still be parsed. - The initializers within a constructor would still be parsed. - The inline functions within class would still be stored, only to be discared later. - Invalid code with try would assert (as in "int foo() try assert_here") This attempt to do even less while skipping function bodies. Differential Revision: http://reviews.llvm.org/D20821 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272963 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/Parse/ParseCXXInlineMethods.cpp 6 additions, 0 deletionslib/Parse/ParseCXXInlineMethods.cpp
- lib/Parse/ParseObjc.cpp 6 additions, 0 deletionslib/Parse/ParseObjc.cpp
- lib/Parse/ParseStmt.cpp 25 additions, 21 deletionslib/Parse/ParseStmt.cpp
- lib/Parse/Parser.cpp 13 additions, 0 deletionslib/Parse/Parser.cpp
- lib/Sema/SemaDecl.cpp 1 addition, 1 deletionlib/Sema/SemaDecl.cpp
- test/CodeCompletion/ctor-initializer.cpp 41 additions, 0 deletionstest/CodeCompletion/ctor-initializer.cpp
- unittests/Tooling/ToolingTest.cpp 55 additions, 1 deletionunittests/Tooling/ToolingTest.cpp
Loading
Please register or sign in to comment