- Apr 04, 2011
-
-
Ted Kremenek authored
-Wuninitialized: don't issue fixit for initializer if a variable declaration already has an initializer. llvm-svn: 128838
-
- Mar 19, 2011
-
-
Ted Kremenek authored
This rename serves two purposes: - It reflects the actual functionality of this analysis. - We will have more than one reachability analysis. llvm-svn: 127930
-
- Mar 17, 2011
-
-
Ted Kremenek authored
Don't construct two CFGs just to run -Wuninitialized. While this causes new warnings to be flagged under -Wconditional-uninitialized, this is something we can improve over time. llvm-svn: 127802
-
- Mar 15, 2011
-
-
Ted Kremenek authored
Split warnings from -Wuninitialized-experimental into "must-be-initialized" and "may-be-initialized" warnings, each controlled by different flags. llvm-svn: 127669
-
Ted Kremenek authored
Split warnings from -Wuninitialized-experimental into "must-be-initialized" and "may-be-initialized" warnings, each controlled by different flags. llvm-svn: 127666
-
Ted Kremenek authored
llvm-svn: 127657
-
- Mar 10, 2011
-
-
Ted Kremenek authored
When doing reachability analysis for warnings issued under DiagRuntimeBehavior, don't construct a ParentMap or CFGStmtMap. Instead, create a small set of Stmt* -> CFGBlock* mappings during CFG construction for only the statements we care about relating to the diagnostics we want to check for reachability. llvm-svn: 127396
-
- Mar 03, 2011
-
-
Ted Kremenek authored
llvm-svn: 126910
-
- Mar 02, 2011
-
-
Ted Kremenek authored
Introduce CFGImplicitDtor::isNoReturn() to query whether a destructor actually returns. Use this for -Wreturn-type to prune false positives reported in PR 6884. llvm-svn: 126875
-
- Feb 23, 2011
-
-
Ted Kremenek authored
Enhance Sema::DiagRuntimeBehavior() to delay some diagnostics to see if the related code is reachable. This suppresses some diagnostics that occur in unreachable code (e.g., -Warray-bound). We only pay the cost of doing the reachability analysis when we issue one of these diagnostics. llvm-svn: 126290
-
Ted Kremenek authored
llvm-svn: 126288
-
Ted Kremenek authored
Issue AnalysisBasedWarnings as part of calling Sema::PopBlockOrFunctionScope(). No real functionality change. llvm-svn: 126287
-
- Feb 05, 2011
-
-
Ted Kremenek authored
llvm-svn: 124924
-
- Feb 03, 2011
-
-
Ted Kremenek authored
Based on user feedback, swap -Wuninitialized diagnostics to have the warning refer to the bad use, and the note to the variable declaration. llvm-svn: 124758
-
- Feb 01, 2011
-
-
Ted Kremenek authored
Add temporary hack to -Wuninitialize to create a separate CFG (for C++ code) that doesn't include implicit dtors. Implicit dtors confuse the ad hoc path-sensitivity of UninitializedValuesV2.cpp. This isn't the ideal solution, as it will directly impact compile time, but should significantly reduce the noise of -Wuninitialized on some code bases. This immediately "fixes" the false positive reported in PR 9063, although this isn't the right fix in the long run. llvm-svn: 124667
-
- Jan 27, 2011
-
-
Ted Kremenek authored
Tweak -Wuninitialized fixit for '_Bool' types to be initialized to 0, and C++ 'bool' types to false. llvm-svn: 124356
-
Ted Kremenek authored
llvm-svn: 124352
-
- Jan 26, 2011
-
-
Ted Kremenek authored
after a 'return' in a CFGBlock. This accidentally was working before, but the false assumption that 'return' always appeared at the end of the block was uncovered by a recent change. llvm-svn: 124280
-
- Jan 25, 2011
-
-
Ted Kremenek authored
handling all CFGElement kinds. While writing the test case, it turned out that return-noreturn.cpp wasn't actually testing anything since it has the wrong -W flag. That uncovered another regression with the handling of destructors marked noreturn. WIP. llvm-svn: 124238
-
Ted Kremenek authored
about uninitialized variables captured by blocks. llvm-svn: 124213
-
- Jan 21, 2011
-
-
Ted Kremenek authored
for floats, and also check if 'nil' is declared when suggesting it for initializing ObjC pointers. llvm-svn: 124004
-
Ted Kremenek authored
to suggest initializations for pointer and ObjC pointer types. llvm-svn: 123995
-
Ted Kremenek authored
to issue the warning at an uninitialized variable's declaration, but to issue notes at possible uninitialized uses (which could be multiple). llvm-svn: 123994
-
- Jan 18, 2011
-
-
Ted Kremenek authored
references by monitoring whether an access to a variable is solely to compute it's lvalue or to do an lvalue-to-rvalue conversion (i.e., a load). llvm-svn: 123777
-
- Jan 17, 2011
-
-
Anders Carlsson authored
llvm-svn: 123667
-
- Jan 16, 2011
-
-
Anders Carlsson authored
Fix a bug where the -Wmissing-noreturn would always treat constructors with base or member initializers as noreturn. llvm-svn: 123603
-
- Jan 15, 2011
-
-
Ted Kremenek authored
-Wuninitialized based on CFG dataflow analysis. WIP. llvm-svn: 123512
-
- Jan 08, 2011
-
-
Chandler Carruth authored
temporaries with no-return destructors. The CFG now properly supports temporaries and implicit destructors which both makes this kludge no longer work, and conveniently removes the need for it. Turn on CFG handling of implicit destructors and initializers. Several ad-hoc benchmarks don't indicate any measurable performance impact from growing the CFG, and it fixes real correctness problems with warnings. As a result of turning on these CFG elements, we started to tickle an inf-loop in the unreachable code logic used for warnings. The fix is trivial. llvm-svn: 123056
-
- Dec 15, 2010
-
-
Argyrios Kyrtzidis authored
Diagnostic pragmas are broken because we don't keep track of the diagnostic state changes and we only check the current/latest state. Problems manifest if a diagnostic is emitted for a source line that has different diagnostic state than the current state; this can affect a lot of places, like C++ inline methods, template instantiations, the lexer, etc. Fix the issue by having the Diagnostic object keep track of the source location of the pragmas so that it is able to know what is the diagnostic state at any given source location. Fixes rdar://8365684. llvm-svn: 121873
-
- Dec 06, 2010
-
-
John McCall authored
reason this is limited to C++, and it's certainly not limited to temporaries. llvm-svn: 120996
-
- Sep 16, 2010
-
-
Zhongxing Xu authored
and discussions with Ted and Jordy. llvm-svn: 114056
-
- Sep 09, 2010
-
-
Ted Kremenek authored
Enhance -Wreturn-type to not warn when control-flow is most likely limited by a switch statement explicitly covering all the cases for an enum value. llvm-svn: 113450
-
- Aug 26, 2010
-
-
John McCall authored
Clients of Sema don't need to know (for example) the list of diagnostics we support. llvm-svn: 112093
-
- Aug 25, 2010
-
-
John McCall authored
llvm-svn: 112032
-
John McCall authored
llvm-svn: 112027
-
- Aug 24, 2010
-
-
John McCall authored
llvm-svn: 111904
-
- Aug 12, 2010
-
-
Douglas Gregor authored
llvm-svn: 110945
-
- Jul 26, 2010
-
-
Dan Gohman authored
llvm-svn: 109440
-
- Jul 19, 2010
-
-
Zhongxing Xu authored
llvm-svn: 108694
-
- May 18, 2010
-
-
Chandler Carruth authored
a temporary with a noreturn destructor has been created. Fixes PR6884 for now. llvm-svn: 104000
-