- Mar 26, 2012
-
-
Benjamin Kramer authored
std::list is expensive, but so is std::sorting a SmallVector of SmallVectors of heavyweight PartialDiagnostics. Saves ~30k in a i386-linux-Release+Asserts clang build. llvm-svn: 153437
-
- Mar 08, 2012
-
-
Fariborz Jahanian authored
an uninitialized block variable is being called inside the block literal. // rdar://10817031 llvm-svn: 152271
-
- Feb 15, 2012
-
-
Douglas Gregor authored
function, provide a specialized diagnostic that indicates the kind of special member function (default constructor, copy assignment operator, etc.) and that it was implicitly deleted. Add a hook where we can provide more detailed information later. llvm-svn: 150611
-
Douglas Gregor authored
llvm-svn: 150586
-
- Feb 07, 2012
-
-
Benjamin Kramer authored
Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. This seems to negatively affect compile time onsome ObjC tests (which use a lot of partial diagnostics I assume). I have to come up with a way to keep them inline without including Diagnostic.h everywhere. Now adding a new diagnostic requires a full rebuild of e.g. the static analyzer which doesn't even use those diagnostics. This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99. This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789. This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7. This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f. This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5. llvm-svn: 150006
-
- Feb 04, 2012
-
-
Benjamin Kramer authored
Fix all the files that depended on transitive includes of Diagnostic.h. With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer. llvm-svn: 149781
-
- Feb 03, 2012
-
-
Richard Smith authored
* When we detect that a CFG block has inconsistent lock sets, point the diagnostic at the location where we found the inconsistency, and point a note at somewhere the inconsistently-locked mutex was locked. * Fix the wording of the normal (non-loop, non-end-of-function) case of this diagnostic to not suggest that the mutex is going out of scope. * Fix the diagnostic emission code to keep a warning and its note together when sorting the diagnostics into source location order. llvm-svn: 149669
-
- Jan 24, 2012
-
-
David Blaikie authored
r148774, r148775, r148776, r148777 llvm-svn: 148780
-
David Blaikie authored
llvm-svn: 148774
-
- Jan 21, 2012
-
-
Eli Friedman authored
Make clang's AST model sizeof and typeof with potentially-evaluated operands correctly, similar to what we already do with typeid. llvm-svn: 148610
-
- Jan 13, 2012
-
-
Richard Smith authored
- If the declarator is at the start of a line, and the previous line contained another declarator and ended with a comma, then that comma was probably a typo for a semicolon: int n = 0, m = 1, l = 2, // k = 5; myImportantFunctionCall(); // oops! - If removing the parentheses would correctly initialize the object, then produce a note suggesting that fix. - Otherwise, if there is a simple initializer we can suggest which performs value-initialization, then provide a note suggesting a correction to that initializer. Sema::Declarator now tracks the location of the comma prior to the declarator in the declaration, if there is one, to facilitate providing the note. The code to determine an appropriate initializer from the -Wuninitialized warning has been factored out to allow use in both that and -Wvexing-parse. llvm-svn: 148072
-
- Dec 20, 2011
-
-
- Dec 08, 2011
-
-
DeLesley Hutchins authored
llvm-svn: 146174
-
- Dec 01, 2011
-
-
Ted Kremenek authored
explicit template specializations (which represent actual functions somebody wrote). Along the way, refactor some other code which similarly cares about whether or not they are looking at a template instantiation. llvm-svn: 145547
-
- Nov 30, 2011
-
-
Ted Kremenek authored
Don't run -Wunreachable-code on template instantiations. Different instantiations may produce different unreachable code results, and it is very difficult for us to prove that ALL instantiations of a template have specific unreachable code. If we come up with a better solution, then we can revisit this, but this approach will at least greatly reduce the noise of this warning for code that makes use of templates. llvm-svn: 145520
-
- Oct 24, 2011
-
-
Ted Kremenek authored
Rename AnalysisContext to AnalysisDeclContext. Not only is this name more accurate, but it frees up the name AnalysisContext for other uses. llvm-svn: 142782
-
- Oct 23, 2011
-
-
Ted Kremenek authored
[analyzer] Remove LocationContext creation methods from AnalysisManager, and change clients to use AnalysisContext instead. WIP to remove/reduce ExprEngine's usage of AnalysisManager. llvm-svn: 142739
-
- Oct 21, 2011
-
-
DeLesley Hutchins authored
llvm-svn: 142666
-
- Oct 19, 2011
-
-
Matt Beaumont-Gay authored
llvm-svn: 142538
-
- Oct 13, 2011
-
-
Ted Kremenek authored
Tweak -Wuninitialized's handling of 'int x = x' to report that as the root cause of an uninitialized variable IFF there are other uses of that uninitialized variable. Fixes <rdar://problem/9259237>. llvm-svn: 141881
-
- Oct 10, 2011
-
-
Douglas Gregor authored
it might be wrong for other instantiations of the same function template. Fixes PR10801. llvm-svn: 141559
-
- Sep 26, 2011
-
-
David Blaikie authored
llvm-svn: 140478
-
- Sep 15, 2011
-
-
Caitlin Sadowski authored
Thread safety: refactoring various out of scope warnings to use the same inteface. This eliminates a lot of unnecessary duplicated code. llvm-svn: 139801
-
- Sep 14, 2011
-
-
Caitlin Sadowski authored
llvm-svn: 139723
-
- Sep 13, 2011
-
-
Caitlin Sadowski authored
Thread safety: Initializing var before exhaustive switch statement to deal with extraneous warning produced by gcc but not clang llvm-svn: 139611
-
Chandler Carruth authored
This deletes a bunch of crufty code, and allows more logic sharing between the analyzer and the warnings. llvm-svn: 139594
-
- Sep 10, 2011
-
-
David Blaikie authored
llvm-svn: 139463
-
Douglas Gregor authored
methods, and improve the diagnostic slightly along the way. Fixes <rdar://problem/10098695>. llvm-svn: 139446
-
- Sep 09, 2011
-
-
Caitlin Sadowski authored
Thread safety: This patch deals with previously unhandled cases when building lock expressions. We now resolve this expressions, avoid crashing when encountering cast expressions, and have a diagnostic for unresolved lock expressions llvm-svn: 139370
-
Caitlin Sadowski authored
llvm-svn: 139369
-
Caitlin Sadowski authored
llvm-svn: 139368
-
Caitlin Sadowski authored
llvm-svn: 139367
-
Caitlin Sadowski authored
llvm-svn: 139331
-
- Sep 08, 2011
-
-
Caitlin Sadowski authored
Thread Safety: In C++0x Mutexes are the objects that control access to shared variables, while Locks are the objects that acquire and release Mutexes. We switch to this new terminology. llvm-svn: 139321
-
Caitlin Sadowski authored
llvm-svn: 139310
-
Caitlin Sadowski authored
llvm-svn: 139308
-
Caitlin Sadowski authored
llvm-svn: 139307
-
Caitlin Sadowski authored
class scope. This patch was also written by DeLesley Hutchins. llvm-svn: 139301
-
- Aug 31, 2011
-
-
Chandler Carruth authored
of the function in question when applicable (that is, not for blocks). Patch by Joerg Sonnenberger with some stylistic tweaks by me. When discussing this weth Joerg, streaming the decl directly into the diagnostic didn't work because we have a pointer-to-const, and the overload doesn't accept such. In order to make my style tweaks to the patch, I first changed the overload to accept a pointer-to-const, and then changed the diagnostic printing layer to also use a pointer-to-const, cleaning up a gross line of code along the way. llvm-svn: 138854
-
- Aug 30, 2011
-
-
Caitlin Sadowski authored
Thread safety: added basic handling for pt_guarded_by/var and guarded_by/var annotations. We identify situations where we are accessing (reading or writing) guarded variables, and report an error if the appropriate locks are not held. llvm-svn: 138774
-