diff options
author | Ted Kremenek <kremenek@apple.com> | 2011-04-04 19:43:57 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2011-04-04 19:43:57 +0000 |
commit | 35d800c39f238a529fcb832891f799bb32645170 (patch) | |
tree | 42a2f4e03bc7f829cd646353483ec50cccdd5c1d /clang | |
parent | 9b1e1cdf231e25e50ba565bee77566949dd9a676 (diff) | |
download | bcm5719-llvm-35d800c39f238a529fcb832891f799bb32645170.tar.gz bcm5719-llvm-35d800c39f238a529fcb832891f799bb32645170.zip |
-Wuninitialized: don't issue fixit for initializer if a variable declaration already has an initializer.
llvm-svn: 128838
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Sema/AnalysisBasedWarnings.cpp | 4 | ||||
-rw-r--r-- | clang/test/Sema/uninit-variables.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp index bcbf887916b..75e2c5b8ac1 100644 --- a/clang/lib/Sema/AnalysisBasedWarnings.cpp +++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp @@ -453,6 +453,10 @@ public: continue; fixitIssued = true; + + // Don't issue a fixit if there is already an initializer. + if (vd->getInit()) + continue; // Suggest possible initialization (if any). const char *initialization = 0; diff --git a/clang/test/Sema/uninit-variables.c b/clang/test/Sema/uninit-variables.c index 17bd07f3e55..3ddd097c8f2 100644 --- a/clang/test/Sema/uninit-variables.c +++ b/clang/test/Sema/uninit-variables.c @@ -92,7 +92,7 @@ void test14() { } void test15() { - int x = x; // expected-warning{{variable 'x' is possibly uninitialized when used here}} expected-note{{variable 'x' is declared here}} expected-note{{add initialization to silence this warning}} + int x = x; // expected-warning{{variable 'x' is possibly uninitialized when used here}} expected-note{{variable 'x' is declared here}} } // Don't warn in the following example; shows dataflow confluence. |