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
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
Evan Cheng
a97709b66f
Match addPassesToEmitFile API change.
...
llvm-svn: 70409
2009-04-29 21:02:33 +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
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
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
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
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
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
Chris Lattner
e009a881ea
code simplification, no functionality change.
...
llvm-svn: 70367
2009-04-29 04:49:34 +00:00
Chris Lattner
e525dc3c66
add a bunch of individual warnings to -Wformat (which is
...
on by default).
llvm-svn: 70365
2009-04-29 04:41:16 +00:00
Chris Lattner
fd4a4d1f8a
Wire up -Wformat=2 and -Wformat-extra-args
...
llvm-svn: 70364
2009-04-29 04:31:58 +00:00
Chris Lattner
83a3235a3e
-Wformat should depend on format-extra-args so that -Wformat implies
...
the extra argument warnings, and -Wformat -Wno-format-extra-args
turns on -Wformat but not the extra-args warnings.
llvm-svn: 70363
2009-04-29 04:16:52 +00:00
Chris Lattner
941153afcd
tweak warning options to be more like gcc:
...
1. All all variants of -Wformat*, make them imply -Wformat. GCC warns
if you use -Wformatfoo without -Wformat. We just make one imply the
other.
2. Make -Wformat-nonliteral default to off, like gcc. It is an incredible
nuisance.
3. Accept but currently ignore -Wformat-extra-args.
llvm-svn: 70362
2009-04-29 04:15:07 +00:00
Chris Lattner
e3fa5aa91c
minor code cleanup
...
llvm-svn: 70361
2009-04-29 04:12:34 +00:00
Zhongxing Xu
892a5f78eb
Update test case.
...
llvm-svn: 70359
2009-04-29 02:37:26 +00:00
Zhongxing Xu
3ee3044bd7
As discussed with Ted offline, re-apply r70293.
...
llvm-svn: 70358
2009-04-29 02:30:09 +00:00
Zhongxing Xu
c14f097f58
XFAIL the test case.
...
llvm-svn: 70356
2009-04-29 01:50:12 +00:00
Daniel Dunbar
c1b1658751
Add incredibly bare bones docs/tools.
...
- Mirroring LLVM's docs/CommandGuide, a place to put .pod files which
are used to generate man/html/etc documentation for tools provided
as part of clang.
llvm-svn: 70355
2009-04-29 01:00:32 +00:00
Mike Stump
d00bc1a275
Implement sema checking for noreturn.
...
llvm-svn: 70353
2009-04-29 00:43:21 +00:00
Ted Kremenek
7686ffaf07
retain/release checker: Refactor the guts of getClassMethodSummary to not depend
...
on ObjCMessageExpr. This will enable us to use it elsewhere. This should not
change any functionality.
llvm-svn: 70352
2009-04-29 00:42:39 +00:00
Ted Kremenek
ebc6d91f4e
Add regression test case provided by <rdar://problem/6833332>.
...
llvm-svn: 70350
2009-04-29 00:41:31 +00:00
Douglas Gregor
272842aa1c
Enable PCH by default
...
llvm-svn: 70339
2009-04-28 22:44:02 +00:00
Douglas Gregor
c1547eb338
Force driver's PTH test to use PTH
...
llvm-svn: 70338
2009-04-28 22:43:20 +00:00
Chris Lattner
af6094eafc
In -fdiagnostics-print-source-range-info mode, print a space before the
...
lines that clang extracts from the source code so that machine parsing can
easily ignore them.
llvm-svn: 70337
2009-04-28 22:33:16 +00:00
Ted Kremenek
869292d5b6
Implement ownership attribute 'objc_ownership_make_collectable'. This allows one
...
to add 'CFMakeCollectable' semantics to a method.
llvm-svn: 70336
2009-04-28 22:32:26 +00:00
Chris Lattner
865efd72b3
add support for -Wendif-labels, PR4101
...
llvm-svn: 70335
2009-04-28 22:19:16 +00:00
Douglas Gregor
ce1a9c5a6b
Make all PCH-incompatibility warnings into errors, and abort
...
compilation if the user requested a PCH file but no such PCH file
exists.
llvm-svn: 70332
2009-04-28 22:01:16 +00:00
Douglas Gregor
6f00bf8ceb
Make the PCH reader use the diagnostics system for its complaints.
...
llvm-svn: 70330
2009-04-28 21:53:25 +00:00
Chris Lattner
8577f62622
Implement -Wfour-char-constants, which is an extension, not an extwarn,
...
and apparently not part of -Wall
llvm-svn: 70329
2009-04-28 21:51:46 +00:00