Argyrios Kyrtzidis
66b38c2261
[analyzer] Migrate IdempotentOperationChecker to CheckerV2.
...
llvm-svn: 126331
2011-02-23 21:04:44 +00:00
Matt Beaumont-Gay
b7edc188e2
fix typo in *all* of the test cases
...
llvm-svn: 126328
2011-02-23 19:40:41 +00:00
Matt Beaumont-Gay
006cdae008
fix typo in test too
...
llvm-svn: 126327
2011-02-23 19:39:05 +00:00
Argyrios Kyrtzidis
68cab73ab9
[analyzer] const goodness.
...
llvm-svn: 126326
2011-02-23 19:38:45 +00:00
Argyrios Kyrtzidis
d0732a660a
[analyzer] Rename runPathSensitiveCheckers -> expandGraphWithCheckers.
...
llvm-svn: 126325
2011-02-23 19:38:41 +00:00
Argyrios Kyrtzidis
da02a25ae6
[analyzer] Migrate ChrootChecker to CheckerV2.
...
llvm-svn: 126324
2011-02-23 19:38:39 +00:00
Matt Beaumont-Gay
5d2144602f
fix typo
...
llvm-svn: 126323
2011-02-23 18:55:30 +00:00
Chandler Carruth
e71b378dc7
Fix the behavior of -Wignored-qualifiers on return type qualifiers in
...
several ways. We now warn for more of the return types, and correctly
locate the ignored ones. Also adds fix-it hints to remove the ignored
qualifiers. Fixes much of PR9058, although not all of it.
Patch by Hans Wennborg, a couple of minor style tweaks from me.
llvm-svn: 126321
2011-02-23 18:51:59 +00:00
Douglas Gregor
4a4e0eb782
Mention libclang in the Doxygen documentation
...
llvm-svn: 126316
2011-02-23 17:45:25 +00:00
David Chisnall
8aab5de75c
Fix type mismatch between property function that CGObjCGNU was returning and the one CGObjC was calling. Fixes bug r9294.
...
llvm-svn: 126312
2011-02-23 14:05:31 +00:00
NAKAMURA Takumi
ff75d8d502
CMake: Don't use ${CMAKE_CFG_INTDIR} for installed llvm-lit on Visual Studio.
...
llvm-svn: 126310
2011-02-23 12:07:49 +00:00
Argyrios Kyrtzidis
bf61d97a98
[analyzer] Migrate UnreachableCodeChecker to CheckerV2.
...
llvm-svn: 126308
2011-02-23 07:19:23 +00:00
Argyrios Kyrtzidis
aad8372516
[analyzer] Migrate to CheckerV2:
...
NSAutoreleasePoolChecker
ObjCAtSyncChecker
llvm-svn: 126307
2011-02-23 07:19:18 +00:00
Argyrios Kyrtzidis
99ea46462a
[analyzer] Add LangOptions in CheckerManager.
...
llvm-svn: 126306
2011-02-23 07:19:14 +00:00
Ted Kremenek
1a241d1619
Teach CFGBuilder about null pointer constants in conditionals, and how they can be used to prune branches. Fixes false null pointer dereference warning in PR 8183.
...
llvm-svn: 126305
2011-02-23 05:11:46 +00:00
Ted Kremenek
c49211c79a
Add null check in CursorVisitor::RunVisitorWorkList() when visiting LabelDecls. Fixes <rdar://problem/9040579>.
...
llvm-svn: 126304
2011-02-23 04:54:51 +00:00
Anders Carlsson
d99dbcc2a9
Don't give an error for 'try' and 'throw' if they occur in system headers.
...
llvm-svn: 126303
2011-02-23 03:46:46 +00:00
Anders Carlsson
33e56a047f
Add a -fcxx-exceptions flag to clang -cc1. This controls the newly added CXXExceptions flag.
...
llvm-svn: 126300
2011-02-23 03:16:42 +00:00
Anders Carlsson
6bbd268396
Add a CXXExceptions flag to LangOptions.
...
llvm-svn: 126299
2011-02-23 03:04:54 +00:00
Ted Kremenek
204f1d26d4
Add doxygen comments to Sema::DiagRuntimeBehavior().
...
llvm-svn: 126296
2011-02-23 02:26:43 +00:00
Ted Kremenek
ef59fe7845
Add test case (from PR 8876) for suppressing 'indirection of non-volatile null pointer...' warning due to reachability analysis.
...
llvm-svn: 126294
2011-02-23 02:15:19 +00:00
Peter Collingbourne
4b66c47a16
Sema: diagnose kernel calls to non-global functions
...
llvm-svn: 126292
2011-02-23 01:53:29 +00:00
Ted Kremenek
477c8f5440
Add test case for PR 9284, a false positive for -Warray-bounds that is now addressed using basic reachability analysis.
...
llvm-svn: 126291
2011-02-23 01:52:07 +00:00
Ted Kremenek
3427fac7c8
Enhance Sema::DiagRuntimeBehavior() to delay some diagnostics to see if the related code is reachable. This suppresses some
...
diagnostics that occur in unreachable code (e.g., -Warray-bound).
We only pay the cost of doing the reachability analysis when we issue one of these diagnostics.
llvm-svn: 126290
2011-02-23 01:52:04 +00:00
Ted Kremenek
80861ca9b5
Migrate CFGReachabilityAnalysis out of the IdempotentOperationsChecker and into its own analysis file.
...
llvm-svn: 126289
2011-02-23 01:51:59 +00:00
Ted Kremenek
cc7f1f8c2e
Have IdempotentOperationsChecker pull its CFGStmtMap from AnalysisContext.
...
llvm-svn: 126288
2011-02-23 01:51:53 +00:00
Ted Kremenek
1767a27b3e
Issue AnalysisBasedWarnings as part of calling Sema::PopBlockOrFunctionScope(). No real functionality change.
...
llvm-svn: 126287
2011-02-23 01:51:48 +00:00
Ted Kremenek
55ae319a28
Update Sema::DiagRuntimeBehavior() to take an optional Stmt* to indicate the code the diagnostic is associated with.
...
This Stmt* is unused, but we will use it shortly for pruning diagnostics associated
with unreachable code.
llvm-svn: 126286
2011-02-23 01:51:43 +00:00
Ted Kremenek
db3333df71
Change -Warray-bounds logic to use DiagRuntimeBehavior in preparation for using basic dataflow to suppress warnings on unreachable array bounds checks.
...
llvm-svn: 126285
2011-02-23 01:51:40 +00:00
Argyrios Kyrtzidis
dff865d10b
[analyzer] Migrate to CheckerV2:
...
CastToStructChecker
FixedAddressChecker
MacOSXAPIChecker
PointerArithChecker
PointerSubChecker
PthreadLockChecker
UnixAPIChecker
llvm-svn: 126284
2011-02-23 01:05:36 +00:00
Chandler Carruth
1aef0c5621
Switch the VerifyDiagnosticsClient to use PresumedLocs now that they
...
exist. Cheat and do this by adding some wrappers around the PresumedLoc
machinery that directly return the line and column number.
llvm-svn: 126281
2011-02-23 00:47:48 +00:00
Richard Smith
bb7dcf59a0
Update the www to indicate that auto is now implemented.
...
llvm-svn: 126280
2011-02-23 00:41:16 +00:00
Richard Smith
2abf6767e3
Fix PR9276: We were missing the checks for auto deducing to different types in the same declaration group in the template instantiation case.
...
llvm-svn: 126279
2011-02-23 00:37:57 +00:00
Argyrios Kyrtzidis
dd058d8a50
[analyzer] Migrate the BasicObjCFoundationChecks to CheckerV2:
...
NilArgChecker
CFNumberCreateChecker
ClassReleaseChecker
llvm-svn: 126275
2011-02-23 00:16:10 +00:00
Argyrios Kyrtzidis
22f2586bfb
[analyzer] Fix CheckerManager::runCheckersForObjCMessage.
...
It would run PostObjCMessage checkers even for PreObjCMessage checking.
llvm-svn: 126274
2011-02-23 00:16:07 +00:00
Argyrios Kyrtzidis
9631dbe5ce
Silence a MSVC warning.
...
llvm-svn: 126273
2011-02-23 00:16:04 +00:00
Argyrios Kyrtzidis
a1540db6e4
[analyzer] Refactor BugTypes and their ownership model.
...
-In general, don't have the BugReporter deleting BugTypes, BugTypes will eventually become owned by checkers
and outlive the BugReporter. In the meantime, there will be some leaks since some checkers assume that
the BugTypes they create will be destroyed by the BugReporter.
-Have BugReporter::EmitBasicReport create BugTypes that are reused if the same name & category strings
are passed to EmitBasicReport. These BugTypes are owned and destroyed by the BugReporter.
This allows bugs reported through EmitBasicReport to be coalesced.
-Remove the llvm::FoldingSet<BugReportEquivClass> from BugType and move it into the BugReporter.
For uniquing BugReportEquivClass also use the BugType* so that we can iterate over all of them using only one set.
llvm-svn: 126272
2011-02-23 00:16:01 +00:00
Argyrios Kyrtzidis
b9abca0000
In the clang.xcodeproj modify the 'clang' target to do nothing, not try to build anything.
...
llvm-svn: 126270
2011-02-23 00:15:56 +00:00
Fariborz Jahanian
82ff1e52df
Better parser recovery when method is
...
errornously defined inside an objc class.
// rdar://7029784
llvm-svn: 126269
2011-02-23 00:11:21 +00:00
Richard Smith
e97a53a446
DeclGroup's operator[] always returned the first Decl in the group.
...
llvm-svn: 126268
2011-02-23 00:09:59 +00:00
Matt Beaumont-Gay
06de2553f3
Clean up the error recovery at the bottom of Sema::LookupMemberExpr. This
...
mostly just shuffles various possibilities for recovery into a more
straightforward order, but also unifies a couple of diagnostics.
llvm-svn: 126266
2011-02-22 23:52:53 +00:00
Douglas Gregor
385d3fd97d
When checking for abstract types, don't crash when we have a
...
FunctionProtoTypeLoc with NULL function parameter types, which can
occur in invalid code. Fixes PR9247 / <rdar://problem/9037911>.
llvm-svn: 126262
2011-02-22 23:21:06 +00:00
Fariborz Jahanian
bb6db56028
Provide Fixit warning when 'auto' is intended as storage
...
specifier in legacy code. Patch is reviewed offline by Doug.
// rdar://9036633.
llvm-svn: 126261
2011-02-22 23:17:49 +00:00
John McCall
147d021b75
Emit the structure layout of the block literal parameter to a block
...
invocation function into the debug info. Rather than faking up a class,
which is tricky because of the custom layout we do, we just emit a struct
directly from the layout information we've already got.
Also, don't emit an unnecessarily parameter alloca for this "variable".
llvm-svn: 126255
2011-02-22 22:38:33 +00:00
John McCall
550d13aebb
Give ImplicitParamDecl a public constructor so that it can be allocated on
...
the stack.
llvm-svn: 126254
2011-02-22 22:25:56 +00:00
John McCall
b67608fe83
Provide a Decl::getNonClosureContext to look through any "closure" (i.e.
...
block and, eventually, C++ lambda) contexts.
llvm-svn: 126252
2011-02-22 22:25:23 +00:00
Douglas Gregor
996a735b88
We need a longer long when testing this pathe Microsoft fixed-underlying-type extension for enumeration types
...
llvm-svn: 126250
2011-02-22 21:42:31 +00:00
Devang Patel
b6ed369e77
A constructor call should force class's debug info even if -flimit-debug-info is enabled.
...
llvm-svn: 126246
2011-02-22 20:55:26 +00:00
Chris Lattner
ba9006df9e
improve support for SUSE Linux Enterprise Server 11 SP1 (x86_64).
...
Patch by Csaba Raduly!
llvm-svn: 126245
2011-02-22 20:47:07 +00:00
Douglas Gregor
a1aec29a2d
Enable enumeration types with a fixed underlying type, e.g.,
...
enum X : long { Value = 0x100000000 };
when in Microsoft-extension mode (-fms-extensions). This (now C++0x)
feature has been supported since Microsoft Visual Studio .NET 2003.
llvm-svn: 126243
2011-02-22 20:32:04 +00:00