- Aug 09, 2011
-
-
Douglas Gregor authored
layout of a constant NSString from the ASTContext over to CodeGen, since this is solely CodeGen's responsibility. Eliminates one of the unnecessary "special" types that we serialize. llvm-svn: 137121
-
Douglas Gregor authored
AutoRRefDeductTy from the "special types" block to predefined types. The latter behaves better when loading multiple AST files. llvm-svn: 137120
-
Ted Kremenek authored
llvm-svn: 137117
-
Ted Kremenek authored
llvm-svn: 137110
-
Ted Kremenek authored
Add 'diagtool' to the 'tools/' directory. diagtool is a new tool (WIP) for analyzing and working with clang diagnostics. Some interesting stats from 'diagtool list-warnings' on the current version of clang: Percentage of warnings with flags: 48.79% Number of unique flags: 148 Average number of diagnostics per flag: 2.041 llvm-svn: 137109
-
Ted Kremenek authored
Provide diag_iterator for iterating over the built-in diagnostic IDs/names in the internal table of DiagnosticIDs. llvm-svn: 137108
-
Ted Kremenek authored
llvm-svn: 137107
-
Douglas Gregor authored
argument of enumeration type when checking template arguments. Fixes PR10579. llvm-svn: 137101
-
Douglas Gregor authored
expression. Fxies PR10592. llvm-svn: 137086
-
Fariborz Jahanian authored
Use the the path that generates a loop. This fixes bogus error that clang puts out. // rdar://9894548 llvm-svn: 137080
-
Chad Rosier authored
-isysroot. rdar://9837120 llvm-svn: 137075
-
- Aug 08, 2011
-
-
Ted Kremenek authored
Fix another -Wuninitialized assertion failure (this one involving bit casts) resulting from the recent -Wuninitialized changes. llvm-svn: 137068
-
Ted Kremenek authored
llvm-svn: 137066
-
Fariborz Jahanian authored
situation. When a class explicitly or implicitly (through inheritance) "conformsTo" two protocols which conflict (have methods which conflict). This patch fixes the previous patch where warnings were coming out in non-deterministic order. This is 2nd part of // rdar://6191214. llvm-svn: 137055
-
Kaelyn Uhrain authored
are explicit template args. llvm-svn: 137054
-
David Chisnall authored
implementations of +load do not replace the class definition in a meaningful sense, they are run when the category loads, the +load method for class is run when the class is loaded. llvm-svn: 137053
-
David Chisnall authored
llvm-svn: 137052
-
Chad Rosier authored
Thanks to David Blaikie for pointing this out. llvm-svn: 137051
-
Craig Topper authored
llvm-svn: 137039
-
- Aug 07, 2011
-
-
John McCall authored
otherwise required. llvm-svn: 137029
-
Alexis Hunt authored
because we don't support them yet. llvm-svn: 137027
-
- Aug 06, 2011
-
-
John McCall authored
ActOnStartOfSwitchStmt (i.e. before binding up a full-expression) instead of ActOnFinishSwitchStmt. Among other things, this means that property l-values are properly converted inside the full-expression. llvm-svn: 137014
-
Ted Kremenek authored
[analyzer] Start sketching out a new BugReporterVisitor that inspects branches and other expressions to generate interesting path events in diagnostics. llvm-svn: 137012
-
John McCall authored
aren't actually going to make a normal cleanup for. Sometimes we optimistically create branches to such blocks for fixups, and then we resolve the fixup to somewhere within the cleanup's scope, and then the cleanup is actually not reachable for some reason. The process of resolving the fixup leaves us with switches whose default edge leads to the cleanup; we can replace that with unreachable, then (in many cases) turn the switch into an unconditional branch. Fixes PR10467. llvm-svn: 137011
-
Benjamin Kramer authored
llvm-svn: 137010
-
Benjamin Kramer authored
llvm-svn: 137009
-
Ted Kremenek authored
llvm-svn: 137007
-
Ted Kremenek authored
[analyzer] Simplify logic for ExprEngine::VisitUnaryExprOrTypeTraitExpr to avoid recursion to subexpression. This exposed bugs in the live variables analysis, and a latent analyzer bug in the SymbolReaper. llvm-svn: 137006
-
Ted Kremenek authored
[analyzer] Change SymbolReaper to store region roots implied by the Environment, allowing it be queried when determining if symbols derived from regions are still live. llvm-svn: 137005
-
Anna Zaks authored
KeychainAPI checker: Track SymbolMetadata instead of MemRegion in checker state so that we could clear the state on evalDeadSymbols; also track the return value. llvm-svn: 137003
-
Anna Zaks authored
llvm-svn: 137000
-
Ted Kremenek authored
llvm-svn: 136998
-
Kaelyn Uhrain authored
case situations with the unary operators & and *. Also extend the array bounds checking to work with pointer arithmetic; the pointer arithemtic checking can be turned on using -Warray-bounds-pointer-arithmetic. The changes to where CheckArrayAccess gets called is based on some trial & error and a bunch of digging through source code and gdb backtraces in order to have the check performed under as many situations as possible (such as for variable initializers, arguments to function calls, and within conditional in addition to the simpler cases of the operands to binary and unary operator) while not being called--and triggering warnings--more than once for a given ArraySubscriptExpr. llvm-svn: 136997
-
Jonathan D. Turner authored
Add workaround for built va list (and other builtins) so that running ReadAST multiple times does not immediately throw an error. llvm-svn: 136995
-
Chad Rosier authored
This fixes cases where the anonymous bitfield is followed by a bitfield member. E.g., struct t4 { char foo; long : 0; char bar : 1; }; rdar://9859156 llvm-svn: 136991
-
Jonathan D. Turner authored
llvm-svn: 136987
-
- Aug 05, 2011
-
-
Ted Kremenek authored
Make test/SemaObjC/qualified-protocol-method-conflicts.m always fail and mark it XFAIL. This is a stop gap until the output of the test is deterministic. llvm-svn: 136984
-
Roman Divacky authored
llvm-svn: 136971
-
Chandler Carruth authored
arrays. This now suppresses the warning only in the case of a one-element array as the last field in a struct where the array size is a literal '1' rather than any macro expansion or template parameter. This doesn't distinguish between the language standard in use to allow code which dates from C89 era to compile without the warning even in C99 and C++ builds. We could add a separate warning (under a different flag) with fixit hints to switch to a flexible array, but its not clear that this would be desirable. Much of the code using this idiom is striving for maximum portability. Tests were also fleshed out a bit, and the diagnostic itself tweaked to be more pretty w.r.t. single elment arrays. This is more ugly than I would like due to APInt's not being supported by the diagnostic rendering engine. A pseudo-patch for this was proposed by Nicola Gigante, but I reworked it both for several correctness issues and for code style. Sorry this was so long in coming. llvm-svn: 136965
-
Chandler Carruth authored
1-element character arrays which are serving as flexible arrays. This is the initial step, which is to restrict the 1-element array whitelist to arrays that are member declarations. I'll refine it from here based on the proposed patch. llvm-svn: 136964
-