Douglas Gregor
e5f93b1e58
Revert r70424. We don't need it
...
llvm-svn: 70432
2009-04-29 23:06:13 +00:00
Ted Kremenek
223a7d5445
retain/release checker: When determining whether an analyzed method can return
...
an owned object, consult its summary instead of inspecting the selector. This
picks up annotations, and is just more general.
llvm-svn: 70429
2009-04-29 23:03:22 +00:00
Dale Johannesen
f4031bd01e
Print correct instruction in dump.
...
llvm-svn: 70427
2009-04-29 22:57:20 +00:00
Nate Begeman
7e6e352735
Fix infinite recursion in the C++ code which handles movddup by making it unnecessary.
...
llvm-svn: 70425
2009-04-29 22:47:44 +00:00
Douglas Gregor
424ac21318
Add PCH version to the -v output
...
llvm-svn: 70424
2009-04-29 22:47:43 +00:00
Fariborz Jahanian
4b4ef86369
Undid setting of the flag for msg_Send for 32bit code gen.
...
It seems to effect code gen. Add a FIXME instead.
llvm-svn: 70423
2009-04-29 22:47:27 +00:00
Dan Gohman
0098d01ef9
Implement getSCEVAtScope for SCEV cast expressions.
...
llvm-svn: 70422
2009-04-29 22:29:01 +00:00
Dan Gohman
494dac3f84
Generalize the cast-of-addrec folding to handle folding of SCEVs like
...
(sext i8 {-128,+,1} to i64) to i64 {-128,+,1}, where the iteration
crosses from negative to positive, but is still safe if the trip
count is within range.
llvm-svn: 70421
2009-04-29 22:28:28 +00:00
Ted Kremenek
d6bef2edab
Format cleanup. No functionality change.
...
llvm-svn: 70420
2009-04-29 22:25:52 +00:00
Douglas Gregor
0cfbdab0cf
Implement semantic analysis for transparent unions. This is largely
...
based on a patch from Anders Johnsen. CodeGen support is incomplete,
in that we do not properly coerce to the first field's type.
llvm-svn: 70419
2009-04-29 22:16:16 +00:00
Mike Stump
a74841e22c
Remove extra line.
...
llvm-svn: 70418
2009-04-29 22:11:32 +00:00
Ted Kremenek
9f08b842e1
Fix null dereference.
...
llvm-svn: 70417
2009-04-29 22:05:03 +00:00
Dan Gohman
8ddd0b3599
Reword and tidy up some comments.
...
llvm-svn: 70416
2009-04-29 22:01:05 +00:00
Ted Kremenek
47187c6ad2
BugReporter/PathDiagnostics:
...
- Add an (optional) short description for BugReports for clients that want
to distinguish between long and short descriptions for bugs
- Make the bug report for VLA less obscene for Plist diagnostics by using
the short description
llvm-svn: 70415
2009-04-29 21:58:13 +00:00
Fariborz Jahanian
bff0167a0b
use of an ivar specified on a property @synthesize
...
and found in super class triggers a diagnostics.
llvm-svn: 70414
2009-04-29 21:45:02 +00:00
Mike Stump
56ed2eab9e
Fixup Sema and CodeGen for block literal attributes when the return
...
type and argument types are missing, and let return type deduction
happen before we give errors for returning from a noreturn block.
Radar 6441502
llvm-svn: 70413
2009-04-29 21:40:37 +00:00
Ted Kremenek
53cce5c195
Reformat long line. No functionality change.
...
llvm-svn: 70412
2009-04-29 21:31:59 +00:00
Bill Wendling
e9037a97d1
Don't use 'false' for 'fast isel' here.
...
llvm-svn: 70411
2009-04-29 21:22:00 +00:00
Dan Gohman
d9775a3be1
Fix this test to match the new output from scalar-evolution.
...
llvm-svn: 70410
2009-04-29 21:06:20 +00:00
Evan Cheng
a97709b66f
Match addPassesToEmitFile API change.
...
llvm-svn: 70409
2009-04-29 21:02:33 +00:00
Jakob Stoklund Olesen
1971dc7007
MachineInstr::isRegTiedTo{Use,Def}Operand can safely be made const.
...
llvm-svn: 70408
2009-04-29 20:57:16 +00:00
Fariborz Jahanian
e55f8660be
Export lazy references of .objc_class_name of class names
...
referenced in a category implementation meta-data
(Next objc 32bit abi).
llvm-svn: 70407
2009-04-29 20:40:05 +00:00
Eli Friedman
8b171f6516
Minor simplification; also silences gcc warning.
...
llvm-svn: 70406
2009-04-29 20:29:43 +00:00
Dan Gohman
d9b11b2ef4
Include the source type in SCEV cast expression debug output, and
...
print sext, zext, and trunc, instead of signextend, zeroextend,
and truncate, respectively, for consistency with the main IR.
llvm-svn: 70405
2009-04-29 20:27:52 +00:00
Fariborz Jahanian
e27b929809
Type of msgSend message dispatch API is a vararg.
...
llvm-svn: 70404
2009-04-29 19:14:43 +00:00
Mike Stump
88788feddd
Sema and CodeGen support for attributes on blocks. Radar 6441502
...
llvm-svn: 70403
2009-04-29 19:03:13 +00:00
Ted Kremenek
6bd78709f2
retain/release checker: Hoist code for bug reports above transfer function logic
...
(those diffs are just code moving) and move the logic for "return of owned
object" leak reporting to EvalReturnStmt.
llvm-svn: 70399
2009-04-29 18:50:19 +00:00
Daniel Dunbar
44e7122151
Make sure to pass the same options to the static analyzer as the
...
compiler.
- Code generation options may still affect the language...
llvm-svn: 70393
2009-04-29 18:32:25 +00:00
Chris Lattner
156ed6c015
accept and ignore two new warning options. PR410[45]
...
llvm-svn: 70392
2009-04-29 18:15:38 +00:00
Nate Begeman
39b59db245
Update comment, replace theoretically impossible check with an assert.
...
llvm-svn: 70391
2009-04-29 18:13:31 +00:00
Eli Friedman
ba94471e6e
PR4103: improve source location information for members of the current
...
class. This isn't perfect, but it's a big improvement over not having
any location information.
llvm-svn: 70390
2009-04-29 17:56:47 +00:00
Sebastian Redl
2b9cacbffa
Have the parser communicate the exception specification to the action.
...
llvm-svn: 70389
2009-04-29 17:30:04 +00:00
Ted Kremenek
99fe1695c7
Add version of getMethodSummary() that can be used to query the summary for the
...
method currently being analyzed.
llvm-svn: 70388
2009-04-29 17:17:48 +00:00
Ted Kremenek
387243067a
Rename getMethodSummary() -> getInstanceMethodSummary().
...
llvm-svn: 70387
2009-04-29 17:09:14 +00:00
Dale Johannesen
b0bc5c2f81
Fix recent regression in gcc.dg/pr26719.c (6835035).
...
llvm-svn: 70386
2009-04-29 16:38:47 +00:00
Steve Naroff
d98037132f
Integrate 3 months of ObjC rewriter fixes (from the Apple/objective-rewrite branch).
...
llvm-svn: 70385
2009-04-29 16:37:50 +00:00
Eli Friedman
debdc1d732
PR4103: Silence bogus unused expression warning.
...
llvm-svn: 70384
2009-04-29 16:35:53 +00:00
Ted Kremenek
bcf597d2e5
Add test case for transfer function logic for OSCompareAndSwap32Barrier.
...
llvm-svn: 70383
2009-04-29 16:03:59 +00:00
Ted Kremenek
3941d22a98
Add corner case logic to BasicStoreManager and GRSimpleVals::EvalBinOp to enable
...
reasoning about OSCompareAndSwap32Barrier/OSCompareAndSwap64Barrier. Essentially
the address of reference to a region (pointer-to-pointer) can be casted to
(int32_t*), and we need to handle the logic to convert the involved locations
back and forth from nonloc::LocAsInteger, nonloc::ConcreteInt, to Loc and
loc::ConcreteInt respectively. This adds some potentially suspect logic to
BasicStoreManager that allows the analyzer to reason about abuses of the C type
system. This should probably be refined, be ported over to RegionStoreManager,
and extended with "path-sensitive type checking" to flag bugs in clearly
incoherent code.
llvm-svn: 70382
2009-04-29 16:03:27 +00:00
Ted Kremenek
e034868a36
MemRegion pretty-printing: Convert DeclName to a string to print out the actual
...
name of the tracked function.
llvm-svn: 70381
2009-04-29 15:37:24 +00:00
Zhongxing Xu
f985648e83
SymbolicRegions may also be live roots.
...
llvm-svn: 70380
2009-04-29 09:24:35 +00:00
Sanjiv Gupta
6f80ca34d4
Add directive to declare external globals.
...
llvm-svn: 70379
2009-04-29 08:23:18 +00:00
Evan Cheng
9cce299cc8
spillPhysRegAroundRegDefsUses() may have invalidated iterators stored in fixed_ IntervalPtrs. Reset them.
...
llvm-svn: 70378
2009-04-29 07:16:34 +00:00
Chris Lattner
e6d2e627da
testcase for PR4082
...
llvm-svn: 70375
2009-04-29 06:46:27 +00:00
Zhongxing Xu
12233fd97e
Added comments to test case.
...
llvm-svn: 70374
2009-04-29 05:59:48 +00:00
Chris Lattner
11a827471e
fix PR4021, array and functions decay in the receiver position of an objc message send.
...
llvm-svn: 70373
2009-04-29 05:48:32 +00:00
Nate Begeman
5f829d896d
Implement review feedback for vector shuffle work.
...
llvm-svn: 70372
2009-04-29 05:20:52 +00:00
Chris Lattner
0f94c5a741
Fix PR4092 by improving error recovery in two ways:
...
1. In a struct field redefinition, don't mark the struct erroneous. The
field is erroneous, but the struct is otherwise well formed.
2. Don't emit diagnostics about functions that are known to be broken already.
Either fix is sufficient to silence the second diagnostic in the example,
but the combination is better :)
llvm-svn: 70371
2009-04-29 05:12:23 +00:00
Ted Kremenek
0b50fb1de1
retain/release checker: Refactor getMethodSummary() to not depend on ObjCMessageExpr.
...
llvm-svn: 70369
2009-04-29 05:04:30 +00:00
Chris Lattner
cc5d1c2e4e
implement -Wformat-security properly, which is enabled by default.
...
This enables one specific class of non-literal format warnings.
llvm-svn: 70368
2009-04-29 04:59:47 +00:00