diff options
author | Ted Kremenek <kremenek@apple.com> | 2011-07-19 14:18:48 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2011-07-19 14:18:48 +0000 |
commit | 9e100ea1a8939a1eb40a9d7422fcc56f90ccd6f0 (patch) | |
tree | 020c8bb3ad7b4dfed63a46874f883442f1adb693 /clang/test/SemaCXX/warn-unreachable.cpp | |
parent | 8b46c00b5f63db5708d5d777e0697c4aa9c7c6cc (diff) | |
download | bcm5719-llvm-9e100ea1a8939a1eb40a9d7422fcc56f90ccd6f0.tar.gz bcm5719-llvm-9e100ea1a8939a1eb40a9d7422fcc56f90ccd6f0.zip |
Reduce -Wuninitialized time by 22% (on sqlite) by removing the recursive AST crawl.
This is accomplished by forcing the needed expressions for -Wuninitialized to always be CFGElements in the CFG.
This allows us to remove a fair amount of the code for -Wuninitialized.
Some fallout:
- AnalysisBasedWarnings.cpp now specifically toggles the CFGBuilder to create a CFG that is suitable for -Wuninitialized. This
is a layering violation, since the logic for -Wuninitialized is in libAnalysis. This can be fixed with the proper refactoring.
- Some of the source locations for -Wunreachable-code warnings have shifted. While not ideal, this is okay because that analysis
already needs some serious reworking.
llvm-svn: 135480
Diffstat (limited to 'clang/test/SemaCXX/warn-unreachable.cpp')
-rw-r--r-- | clang/test/SemaCXX/warn-unreachable.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/test/SemaCXX/warn-unreachable.cpp b/clang/test/SemaCXX/warn-unreachable.cpp index ea6755f2d6c..604a3c0da38 100644 --- a/clang/test/SemaCXX/warn-unreachable.cpp +++ b/clang/test/SemaCXX/warn-unreachable.cpp @@ -45,8 +45,8 @@ void test3() { ? dead() : dead(); live(), - float // expected-warning {{will never be executed}} - (halt()); + float + (halt()); // expected-warning {{will never be executed}} } void test4() { @@ -73,6 +73,6 @@ void test6() { S(int i) { } }; live(), - S // expected-warning {{will never be executed}} - (halt()); + S + (halt()); // expected-warning {{will never be executed}} } |