Commit Graph

43396 Commits

Author SHA1 Message Date
Ted Kremenek 3b33e2544a Fixed bug in ObjCIVarExpr: the child iterator now iterates over the Base expression.
llvm-svn: 50585
2008-05-02 18:40:22 +00:00
Ted Kremenek 789942cfda When running the reference count checker twice (GC and non-GC mode), only emit
basic warnings (dead stores, null dereferences) on the first pass.

llvm-svn: 50584
2008-05-02 18:01:49 +00:00
Ted Kremenek a06e7120bb Bug fix in StmtPrinter to handle pretty-printing ObjCMessageExprs involving variadic methods (also did some cosmetic cleanups in the printing output).
llvm-svn: 50583
2008-05-02 17:32:38 +00:00
Chris Lattner a700b2bd0f add a FIXME so we remember to eventually remove this code.
llvm-svn: 50582
2008-05-02 17:18:31 +00:00
Ted Kremenek 86237c3774 testcase cleanup
llvm-svn: 50581
2008-05-02 17:14:07 +00:00
Ted Kremenek 5102a25bf8 Static analysis test case for noreturn on exceptions.
llvm-svn: 50580
2008-05-02 17:13:14 +00:00
Ted Kremenek bb7386aff5 Really noreturn on exceptions.
llvm-svn: 50579
2008-05-02 17:12:56 +00:00
Evan Cheng fa8f9f937a Undo r50574. We are already ensuring the folded load address is 16-byte aligned.
llvm-svn: 50578
2008-05-02 17:01:01 +00:00
Ted Kremenek 0a87d5a0b3 Lexicographically order enum declarations in AttributeList::Kind.
llvm-svn: 50577
2008-05-02 16:50:46 +00:00
Chris Lattner 34931afff7 specify an arch for non-x86 hosts.
llvm-svn: 50576
2008-05-02 15:11:58 +00:00
Evan Cheng 4f9cd9181e 80 column violation.
llvm-svn: 50575
2008-05-02 07:53:32 +00:00
Evan Cheng 50f82f2c8e Not safe folding a load + FsXORPSrr into FsXORPSrm. It's loading a FR64 value but the load folding variant expects a 16-byte aligned address.
llvm-svn: 50574
2008-05-02 07:50:58 +00:00
Bill Wendling 86ceb0db9c Porting r50563 from Tak to mainline.
llvm-svn: 50564
2008-05-02 00:43:20 +00:00
Dan Gohman 2f83b47863 Fix a typo in a comment.
llvm-svn: 50562
2008-05-02 00:05:03 +00:00
Dan Gohman ea6357828b Use push_back(...) instead of resize(1, ...), per review feedback.
llvm-svn: 50561
2008-05-02 00:03:54 +00:00
Dan Gohman 2cdcf2bd5f Update old-style syntax in some "not grep" tests.
llvm-svn: 50560
2008-05-01 23:50:07 +00:00
Dan Gohman 752ce50b2d Fix uninitialized uses of the FPC variable.
llvm-svn: 50558
2008-05-01 23:40:44 +00:00
Ted Kremenek 63d76df236 Fix copy-paste bug.
llvm-svn: 50557
2008-05-01 23:38:35 +00:00
Ted Kremenek 2722f36465 Remove no longer valid assertion.
llvm-svn: 50556
2008-05-01 23:28:56 +00:00
Ted Kremenek 1097b4c61f Added line number diagnostics to indicate the allocation site of the leaked object.
llvm-svn: 50553
2008-05-01 23:13:35 +00:00
Ted Kremenek fabfb4677d Do not highlight bogus ranges for leaks.
llvm-svn: 50549
2008-05-01 22:50:36 +00:00
Dale Johannesen 6e91480c7c New test for bug fixed in 50545.
llvm-svn: 50548
2008-05-01 22:50:14 +00:00
Dale Johannesen 78ffe6e939 Don't try to create PHIs of struct types. Fallout
from x86-64 calling convention work.

llvm-svn: 50545
2008-05-01 22:27:44 +00:00
Steve Naroff f8ecff2a94 Replace Sema::CheckInitializerListTypes() with a helper class (InitListChecker) that synthesizes implicit InitListExpr's when appropriate (see InitListExpr comments in Expr.h for more details). I also moved the code to SemaInit.cpp, to help reduce clutter in SemaDecl.cpp.
NOTE: This work is incomplete and still fails many tests (as a result, it isn't enabled yet). Nevertheless, I wanted to check it in so I can work on it from home.
llvm-svn: 50544
2008-05-01 22:18:59 +00:00
Argyrios Kyrtzidis 2be96ae68b Convert CRLF to LF.
llvm-svn: 50542
2008-05-01 21:44:34 +00:00
Ted Kremenek 8a56b06b5c Correctly invalidate reference count state when passing objects by reference in message expressions we don't understand.
llvm-svn: 50541
2008-05-01 21:31:50 +00:00
Ted Kremenek 4f3d7cd12e Add missing "-" that prefix arguments to forward to clang.
llvm-svn: 50540
2008-05-01 21:26:22 +00:00
Argyrios Kyrtzidis 694dda1e4e Implicitly defined functions were getting the DeclContext of the function where they appeared, causing the bug: http://llvm.org/bugs/show_bug.cgi?id=2266.
Fix it by making implicitly defined functions get the DeclContext of translation unit.

llvm-svn: 50538
2008-05-01 21:04:16 +00:00
Dan Gohman 4be6ae4e6c Fix an overaggressive SimplifyDemandedBits optimization on urem. This
fixes the 254.gap regression on x86 and the 403.gcc regression on x86-64.

llvm-svn: 50537
2008-05-01 19:13:24 +00:00
Bill Wendling fb4191cc04 Adding testcase.
llvm-svn: 50536
2008-05-01 18:41:09 +00:00
Ted Kremenek 7f824734e0 Added temporary fix for Obj-C exception handling in the static analyzer: treat these as panic functions.
llvm-svn: 50535
2008-05-01 18:33:28 +00:00
Ted Kremenek 88f8ebdf76 Added default ctor to Selector.
REASON: Without a default ctor we cannot do "new Selector[xxx]" and similar
operations with ADTs that need to default constructor selectors.

llvm-svn: 50534
2008-05-01 18:32:59 +00:00
Ted Kremenek f0b0f2edfe Renamed static method.
llvm-svn: 50533
2008-05-01 18:31:44 +00:00
Fariborz Jahanian f303bdabdf Patch to match and issue diagnostics on property type mismatch.
llvm-svn: 50532
2008-05-01 18:05:01 +00:00
Ted Kremenek b99d01269a Added __assert_rtn to list of panic functions.
llvm-svn: 50530
2008-05-01 17:52:49 +00:00
Ted Kremenek b8861a6ccf Use pointer swizziling to unify in ObjCMessageExpr the receiver and classname "fields". This saves us a pointer.
Implemented serialization for ObjCMessageExpr.

llvm-svn: 50528
2008-05-01 17:26:20 +00:00
Ted Kremenek 234dc7ac39 Initialize a local variable.
llvm-svn: 50527
2008-05-01 17:08:00 +00:00
Ted Kremenek ed36e4b9a4 Added ziperr as a panic function. Eventually inter-procedural analysis
should catch this one easily.

llvm-svn: 50526
2008-05-01 15:55:59 +00:00
Ted Kremenek aec2b6e360 Added comments to ObjCMessageExpr.
llvm-svn: 50525
2008-05-01 15:55:24 +00:00
Chris Lattner d4b2a67cf3 don't randomly miscompile seto/setuo just because we are in
ffastmath mode.  This fixes rdar://5902801, a miscompilation
of gcc.dg/builtins-8.c.

Bill, please pull this into Tak.

llvm-svn: 50523
2008-05-01 07:26:11 +00:00
Chris Lattner bb41aab426 1) add '-debug' output
2) Return NULL instead of false in several places for tidiness.
3) fix a bug optimizing  sprintf(p, "%c", x)

llvm-svn: 50521
2008-05-01 06:39:12 +00:00
Chris Lattner b9b5d6ddaa Delete the IPO simplify-libcalls and completely reimplement it as
a FunctionPass.  This makes it simpler, fixes dozens of bugs, adds
a couple of minor features, and shrinks is considerably: from
2214 to 1437 lines.

llvm-svn: 50520
2008-05-01 06:25:24 +00:00
Chris Lattner 0ceb8807e2 fix typo
llvm-svn: 50519
2008-05-01 06:16:48 +00:00
Chris Lattner 9ad872201b instcombine does memset optzns.
llvm-svn: 50518
2008-05-01 06:16:38 +00:00
Chris Lattner 4add60753b simplifylibcalls doesn't optimize llvm.memmove, instcombine does.
llvm-svn: 50517
2008-05-01 06:14:24 +00:00
Chris Lattner adf28cb71c move some tests from libcall optimizer suite.
llvm-svn: 50516
2008-05-01 06:13:48 +00:00
Chris Lattner dbe188720b Add CreateCall3/CreateCall4 at Eric's request.
llvm-svn: 50515
2008-05-01 05:23:45 +00:00
Chris Lattner 472f3bce74 Add a spiffy little "CreateCall2" method, which can be used to make
a function call that takes two Value*'s as arguments.

llvm-svn: 50514
2008-05-01 05:11:00 +00:00
Ted Kremenek 9f696852c4 When processing "release", "retain", and "autorelease" messages return the
lval passed as an argument.

Fix: Inverted diagnostic messages.
llvm-svn: 50513
2008-05-01 04:02:04 +00:00
Ted Kremenek 4828aa3152 Added support for "autorelease" message in CF ref. count checker.
llvm-svn: 50512
2008-05-01 02:18:37 +00:00