]>
granicus.if.org Git - clang/log
Steve Naroff [Mon, 12 May 2008 21:44:38 +0000 (21:44 +0000)]
Fix <rdar://problem/
5928590 > clang -fsyntax-only: "incompatible operand types ('int' and 'void')" on input that 'gcc -fsyntax-only' eats
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51002
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 May 2008 18:31:17 +0000 (18:31 +0000)]
testcase for PR2263, fixed by Nate's r50903 patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50983
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 17:42:30 +0000 (17:42 +0000)]
Unbreak build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50980
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 17:41:30 +0000 (17:41 +0000)]
Support StringLiteralVal when comparing LVal types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50979
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 17:40:56 +0000 (17:40 +0000)]
Grammar cleanup in comment.
Remove redundant assignment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50978
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 17:40:13 +0000 (17:40 +0000)]
80 col violation fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50977
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 17:29:34 +0000 (17:29 +0000)]
When reading in the DeclCtx during deserialization, register the DeclCtx of the
ScopedDecl with the backpatcher, and *not* a local variable on the stack. The
value of DeclCtx gets filled in *later* by the backpatcher.
This fixes: http://llvm.org/bugs/show_bug.cgi?id=2308
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50976
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 May 2008 16:22:53 +0000 (16:22 +0000)]
Add Type::getAsTypedefType().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50970
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 12 May 2008 16:08:04 +0000 (16:08 +0000)]
Emit basic block for switch body; fixes PR2307.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50968
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 12 May 2008 15:06:05 +0000 (15:06 +0000)]
Don't try to take the address of a bitfield; fixes PR2310.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50966
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Sat, 10 May 2008 10:31:54 +0000 (10:31 +0000)]
fix free/delete mismatch problem in add/mergeProperties (found by valgrind)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50945
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 May 2008 00:02:33 +0000 (00:02 +0000)]
Implement -rewrite-macros, which is a crazy macro expander that expands
macros but doesn't expand #includes, remove comments, remove #defines
etc.
For example:
----
#include <stdio.h>
#define bbaa
#define funclike(x) x "a" x "b" x
bbaa bbaa
#if 1
funclike("gar")
foo /*blah*/ bar
bar
#endif
#if 0
funclike()
#endif
----
rewrites to:
----
#include <stdio.h>
#define bbaa
#define funclike(x) x "a" x "b" x
/*bbaa bbaa*/
#if 1
"gar" "a" "gar" "b" "gar"/*funclike*//*("gar")*/
foo /*blah*/ bar
bar
#endif
#if 0
/*funclike()*/
#endif
----
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50925
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 9 May 2008 23:45:33 +0000 (23:45 +0000)]
Rename IsPointerType to LVal::IsLValType, and update CFRefCount::EvalSummary to use IsLValType when conjuring symbols for return values (this fixes a bug with an assertion firing in the analyzer when two qualified objective-c types were compared).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50924
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 9 May 2008 23:39:43 +0000 (23:39 +0000)]
-Implement proper name lookup for namespaces.
-identifierResolver exposes an iterator interface to get all decls through the scope chain.
-The semantic staff (checking IdentifierNamespace and Doug's checking for shadowed tags were moved out of IdentifierResolver and back into Sema. IdentifierResolver just gives an iterator for all reachable decls of an identifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50923
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 22:43:24 +0000 (22:43 +0000)]
make #if 0 code compile, even though it still isn't very useful.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50920
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Fri, 9 May 2008 22:40:52 +0000 (22:40 +0000)]
Added support to generate some atomic operators (add, sub, and, or etc..)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50919
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 9 May 2008 21:17:56 +0000 (21:17 +0000)]
Fix <rdar://problem/
5924225 > clang ObjC rewriter: objc_exception_throw declaration in preamble does not match objc/objc-exception.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50915
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 9 May 2008 20:52:28 +0000 (20:52 +0000)]
DO NOT pre-defined __OBJC2__. The __OBJC2__ macro should only be defined when targeting the new, Apple 2.0 *runtime ABI*. It is not intended to be used to #ifdef ObjC 2.0 langauge features. This is unfortunate (given it's name). In a perfect world, this defined would be named __OBJC2_RUNTIME_ABI__. Oh well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50913
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 9 May 2008 19:10:27 +0000 (19:10 +0000)]
More VC++ project file updates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50909
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 9 May 2008 17:53:57 +0000 (17:53 +0000)]
Remove repeated word.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50907
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 9 May 2008 17:36:24 +0000 (17:36 +0000)]
Add attribute "format" support for typedefs of function pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50906
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 9 May 2008 17:13:18 +0000 (17:13 +0000)]
Grammar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50905
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 9 May 2008 17:12:45 +0000 (17:12 +0000)]
Added text on librewrite and libanalysis to the README.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50904
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 9 May 2008 16:56:01 +0000 (16:56 +0000)]
Handle all attributes on a parameter
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50903
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 9 May 2008 06:41:27 +0000 (06:41 +0000)]
Extend vector member references to include {.hi, .lo, .e, .o} which return a
vector of the same element type and half the width, with the high, low, even,
and odd elements respectively.
Allow member references to member references, so that .hi.hi gives you the high
quarter of a vector. This is fairly convenient syntax for some insert/extract
operations.
Remove some unnecessary methods/types in the ExtVectorElementExpr class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50892
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 06:17:04 +0000 (06:17 +0000)]
set long/pointers to 64-bits on ppc64/x86-64
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50891
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 06:08:39 +0000 (06:08 +0000)]
parameterize pointer size/align better without doing virtual method calls in normal case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50890
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 05:59:00 +0000 (05:59 +0000)]
simplify some code, don't assume that sizeof(long) < sizeof(long long).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50888
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 05:50:02 +0000 (05:50 +0000)]
parameterize long long.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50887
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 05:47:41 +0000 (05:47 +0000)]
correctly parameterize long, patch by Nate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50886
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 05:34:49 +0000 (05:34 +0000)]
Fix rdar://
5921025 a crash on the included testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50885
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 May 2008 05:28:21 +0000 (05:28 +0000)]
Don't call into objc front-end when not parsing objc code. This avoids
crashes because objc types aren't set up right.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50884
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 8 May 2008 22:02:18 +0000 (22:02 +0000)]
Make sure the prototype for objc_msgSend_fpret() returns a double.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50873
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 8 May 2008 21:51:12 +0000 (21:51 +0000)]
Add the non-immediate-shift vector builtins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50870
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 8 May 2008 19:43:35 +0000 (19:43 +0000)]
Added initial support for supporting __NSString__ in attribute "format".
Still need to iron out some of the semantics (fixmes are present).
This addresses <rdar://problem/
5916348 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50866
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 8 May 2008 19:20:24 +0000 (19:20 +0000)]
Updated Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50864
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 8 May 2008 17:52:16 +0000 (17:52 +0000)]
Fix <rdar://problem/
5879237 > clang objc rewriter: ivars not accessible in structure generated for class
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50862
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 8 May 2008 08:54:20 +0000 (08:54 +0000)]
Added -g command line options to clang for generating source level debug information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50848
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 8 May 2008 08:28:14 +0000 (08:28 +0000)]
Remove the ending "." from clang options descriptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50847
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 May 2008 06:52:13 +0000 (06:52 +0000)]
start implementation of a macro rewriter, this is currently just stubbed out.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50845
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 May 2008 05:58:21 +0000 (05:58 +0000)]
Add basic support for the pic-* target triples and add support for
targets that do not support recursion (and thus codegen stack variables
as globals).
Patch contributed by Alireza Moshtaghi!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50844
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 May 2008 05:10:33 +0000 (05:10 +0000)]
The awesome GNU "comma elision extension" works with both the standard
__VA_ARGS__ syntax as well as with the amazingly awesome GNU "named
variadic macro" extension. Allow it with the GNU syntax as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50843
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 May 2008 03:23:46 +0000 (03:23 +0000)]
Fix rdar://
5919567 : assertion failure: split didn't occur before erase!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50839
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 7 May 2008 22:28:29 +0000 (22:28 +0000)]
Begin handling union bitfields.
Note, this is just beginning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50835
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 7 May 2008 21:23:49 +0000 (21:23 +0000)]
Fix <rdar://problem/
5887874 > clang ObjC rewriter: Use a different name for 'offsetof' macro
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50832
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 21:17:39 +0000 (21:17 +0000)]
Added support for "drain".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50831
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 7 May 2008 20:53:44 +0000 (20:53 +0000)]
Synthesized getter/setter method declarations need not have
an implementation. This fixes couple of failing prperty tests
caused by my previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50830
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 20:06:41 +0000 (20:06 +0000)]
Expand the CF retain checker to allow the Create/Get rule to apply to any
function that returns a CFxxxRef, not just functions whose name begins with
CF. This implements <rdar://problem/
5917879 >.
Added test case for this feature.
Updated calls to CStrInCStrNoCase to swap their arguments, per compatibility
with strcasestr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50829
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 18:57:30 +0000 (18:57 +0000)]
Flip order of arguments to CStrInStrNoCase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50824
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 18:36:45 +0000 (18:36 +0000)]
Use llvm::CStrInCStrNoCase instead of strcasestr, since the latter is not portable.
Correctly check if the result of CStrInCStrNoCase is NULL to generate summaries; before we were inverting the condition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50822
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 7 May 2008 17:43:59 +0000 (17:43 +0000)]
This patch introduces declaration of getter methods for ObjC2's
properties. Couple of property tests will fail with this patch.
Will fix them next.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50818
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 17:35:41 +0000 (17:35 +0000)]
copy-paste: NS types are not typedefs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50817
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 7 May 2008 17:35:03 +0000 (17:35 +0000)]
Fixup InitListExpr::child_begin/end. Thanks to Ted for catching the regression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50816
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 7 May 2008 16:50:14 +0000 (16:50 +0000)]
Fix off-by-one error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50815
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 05:34:45 +0000 (05:34 +0000)]
Do not treat **instance** methods "copyWithZone:" and "mutableCopyWithZone:" from NSObject as allocators.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50802
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 7 May 2008 04:49:29 +0000 (04:49 +0000)]
Diagnose attempts to use C++ default arguments outside of a function declaration
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50799
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 04:25:59 +0000 (04:25 +0000)]
Be less promiscuous with generating summaries for "new", "copy", "create".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50798
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 03:45:05 +0000 (03:45 +0000)]
Added auto-summary generation for createXXX, copyXXX, newXXX methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50795
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 7 May 2008 00:06:16 +0000 (00:06 +0000)]
Fix <rdar://problem/
5908598 > clang ObjC rewriter: typo in #pragma at end
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50790
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 23:51:45 +0000 (23:51 +0000)]
Fix a few glitches in scan-build with automatically generating class names from bug types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50784
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 23:42:18 +0000 (23:42 +0000)]
Improve HTMLDiagnostics by understanding the "Below" hint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50783
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 6 May 2008 23:20:07 +0000 (23:20 +0000)]
Fix <rdar://problem/
5879237 > clang objc rewriter: ivars not accessible in structure generated for class
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50781
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 6 May 2008 23:14:25 +0000 (23:14 +0000)]
Print ObjC methods of ObjC classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50779
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 23:07:13 +0000 (23:07 +0000)]
Don't report leaks for autoreleased objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50777
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 6 May 2008 22:45:19 +0000 (22:45 +0000)]
Fix <rdar://problem/
5888515 > clang ObjC rewriter: Use objc.h for declarations instead of putting them in the preamble?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50774
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 21:33:07 +0000 (21:33 +0000)]
Added "DisplayHint" to PathDiagnosticPiece to provide a hint for the
PathDiagnosticClient of where to display a string (beyond just the SourceLocation).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50773
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 21:26:51 +0000 (21:26 +0000)]
More comments.
"#if 0" out some assumptions when auto-generating method summaries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50772
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 May 2008 19:57:59 +0000 (19:57 +0000)]
Fix PR2101 - Codegen crash during bitfield initialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50769
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 6 May 2008 18:26:51 +0000 (18:26 +0000)]
Fix <rdar://problem/
5881225 > clang ObjC Rewriter: Protocol structure defined twice when two interfaces use it in same file
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50767
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 6 May 2008 18:14:26 +0000 (18:14 +0000)]
Test was accidently nullified in previous check-in.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50758
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 18:11:36 +0000 (18:11 +0000)]
Experiment with not converting bug names to lower case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50753
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 18:11:09 +0000 (18:11 +0000)]
More refactorings in GeneratePathDiagnostic: use ExecutionContinues to display
"Execution continues..." message, which does a better job at handling corner cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50751
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 6 May 2008 18:09:04 +0000 (18:09 +0000)]
Patch to refactor setter/getter names of property attributes into Selector
(was IdentifierInfo * before). This will make method declartations whole
lot easier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50747
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 15:44:25 +0000 (15:44 +0000)]
Generate "stop" summaries for selectors involving receivers whose type is not NSxxxx.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50721
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 06:17:42 +0000 (06:17 +0000)]
Use strncmp correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50715
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 06:09:09 +0000 (06:09 +0000)]
Make string comparison legible and remove buffer overrun introduced by typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50714
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 04:28:05 +0000 (04:28 +0000)]
String comparison cleanups.
Added test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50711
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 04:21:38 +0000 (04:21 +0000)]
Fix logic error in string processing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50710
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 04:21:10 +0000 (04:21 +0000)]
Remove assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50709
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 04:20:12 +0000 (04:20 +0000)]
Use EvalSummary to process message expressions, thereby unifying the checker
logic for function calls and message expressions.
Use the following heuristic to infer "allocating" instance methods:
[ClassName classWithXXX] allocates an object
Update testcase to reflect this heuristic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50708
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 03:26:52 +0000 (03:26 +0000)]
Fixed subtle bug in the an GRAuditor object could mark a node as a sink
after it was already added to the destination NodeSet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50701
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 02:41:27 +0000 (02:41 +0000)]
Added receiver effects to EvalSummary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50700
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 02:26:56 +0000 (02:26 +0000)]
Expand summaries to include "Receiver" effects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50697
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 May 2008 00:56:42 +0000 (00:56 +0000)]
simplify some builder calls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50694
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 May 2008 00:44:00 +0000 (00:44 +0000)]
remove a stray printout
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50691
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 00:38:54 +0000 (00:38 +0000)]
Added initialization code to generate initial set of ObjC method summaries (non-instance methods).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50690
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 May 2008 00:30:21 +0000 (00:30 +0000)]
Added code to generate initial set of summaries for instance methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50689
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 6 May 2008 00:23:44 +0000 (00:23 +0000)]
Several fixes to SemaInit.cpp. It's still not enabled (since it fails a few tests). Expect to enable it very soon.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50688
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 May 2008 23:55:01 +0000 (23:55 +0000)]
Add summary generation for "initXXX" methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50684
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 May 2008 23:16:31 +0000 (23:16 +0000)]
Make CF retain diagnostics more succinct.
In a leak's "name", indicate GC or non-GC bugs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50680
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 May 2008 23:12:21 +0000 (23:12 +0000)]
Emit dead store warnings for ++ and -- operators.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50679
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 May 2008 22:18:14 +0000 (22:18 +0000)]
Fix rdar://
5905347 a crash on invalid builtin, due to the
params not getting installed for builtins when synthesized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50676
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 May 2008 22:11:16 +0000 (22:11 +0000)]
Initial work on refactoring the CFRefCount checker so that it is more
generic and handles reference counts for NSObjects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50674
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 May 2008 21:18:06 +0000 (21:18 +0000)]
Add support for -Wimplicit-function-declaration, rdar://
5907433
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50672
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 May 2008 20:09:27 +0000 (20:09 +0000)]
Fix typo, improve comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50666
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 May 2008 20:07:41 +0000 (20:07 +0000)]
Fix a few more bugs in preprocessor expressions w.r.t. ?:. Now I
think it is really right. :) This fixes PR2284.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50665
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 5 May 2008 18:51:55 +0000 (18:51 +0000)]
percolate @optional/@required protocols down to ASTs for
properties declared in the protocol.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50662
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 May 2008 18:50:19 +0000 (18:50 +0000)]
Improve leak diagnostics to not report a leak on the same line where
the object was last used. This can be confusing to users.
For example:
// 'y' is leaked
x = foo(y);
instead:
x = foo(y);
// 'y' is leaked
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50661
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 May 2008 17:53:17 +0000 (17:53 +0000)]
Improved leak diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50657
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 May 2008 16:51:50 +0000 (16:51 +0000)]
Minor refactorings/cleanups in CF retain checker and added support for NSMakeCollectable.
Added test case for NSMakeCollectable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50653
91177308 -0d34-0410-b5e6-
96231b3b80d8