Douglas Gregor
df445f0ae1
Turn off __has_feature(is_empty) and __has_feature(is_pod) if the
...
libstdc++ hack has reverted these type traits to keywords. Icky, but
fixes <rdar://problem/9836262>.
llvm-svn: 136560
2011-07-30 07:01:49 +00:00
Douglas Gregor
2c595adf2e
When performing code completion after at @interface, allow both
...
already-defined and forward-declared results. Already-defined results
are fine because they could be the start of a category. Fixes
<rdar://problem/9811691>.
llvm-svn: 136559
2011-07-30 06:55:39 +00:00
Douglas Gregor
7e1eb935db
When complaining about a non-POD second argument to va_arg, use a
...
special diagnostic for ARC ownership-qualified types. We wouldn't want
to expose Objective-C programmers to the term "POD", would we? Fixes
<rdar://problem/9772982>.
llvm-svn: 136558
2011-07-30 06:45:27 +00:00
Douglas Gregor
d8575e1e1d
Use the "Bar.h" -> <Foo/Bar.h> remapping for index header maps only as
...
a fallback, if normal header search fails. Another attempt at
<rdar://problem/9824020>.
llvm-svn: 136557
2011-07-30 06:28:34 +00:00
Fariborz Jahanian
d560ed7f1b
objc rewriter - my last patch was not quite right.
...
Fixed again. // rdar://9846759
llvm-svn: 136550
2011-07-30 01:21:41 +00:00
Fariborz Jahanian
bce9ee2ae6
objc rewriter - set the flag passed to _Block_object_assign/_Block_object_dispose correctly
...
for copying a captured block object. // rdar://9846759
llvm-svn: 136549
2011-07-30 01:07:55 +00:00
Douglas Gregor
d451ea9ca9
Teach the ASTImporter to cope with cases where we have already
...
imported a forward declaration, but later the full definition of the
same entity becomes available. When this happens, import the definition.
llvm-svn: 136537
2011-07-29 23:31:30 +00:00
Eric Christopher
b081ba651c
Add support for the 'Q' arm memory constraint.
...
Fixes rdar://9866494
llvm-svn: 136524
2011-07-29 21:20:35 +00:00
Ted Kremenek
67d7136f26
[analyzer] Remove recursive visitation in ExprEngine::VisitDeclStmt because it isn't needed anymore.
...
llvm-svn: 136522
2011-07-29 21:18:41 +00:00
Ted Kremenek
e905c68cbd
[analyzer] Remove recursive visitation in ExprEngine::VisitCompoundLiteralExpr because it isn't needed anymore.
...
llvm-svn: 136521
2011-07-29 21:18:39 +00:00
Ted Kremenek
dc492c29f7
[analyzer] Remove recursive visitation in ExprEngine::VisitCastExpr because it isn't needed anymore.
...
llvm-svn: 136520
2011-07-29 21:18:37 +00:00
Ted Kremenek
cf36b0c64d
[analyzer] Remove recursive visitation in ExprEngine::VisitObjCForCollectionStmt because it isn't needed anymore.
...
llvm-svn: 136519
2011-07-29 21:18:35 +00:00
Ted Kremenek
65eefed6c6
[analyzer] Remove explicit argument processing from ExprEngine::VisitObjCMessage() since it is no longer needed.
...
llvm-svn: 136518
2011-07-29 21:18:31 +00:00
Ted Kremenek
4e577fae2c
[analyzer] Remove recursive visitation in ExprEngine::VisitLValObjCIvarRefExpr because it isn't needed anymore.
...
llvm-svn: 136517
2011-07-29 21:18:28 +00:00
Ted Kremenek
003ec6ff83
[analyzer] tighten up ExprEngine::VisitObjCAtSynchronizationStmt().
...
llvm-svn: 136516
2011-07-29 21:18:26 +00:00
Ted Kremenek
f8c0bcf101
[analyzer] Remove recursive visitation in ExprEngine::VisitObjCPropertyRefExpr because it isn't needed anymore.
...
llvm-svn: 136515
2011-07-29 21:18:24 +00:00
Ted Kremenek
298e5cc7f4
[analyzer] Remove recursive visitation in ExprEngine::VisitCallExpr because it isn't needed anymore.
...
llvm-svn: 136514
2011-07-29 21:18:22 +00:00
Ted Kremenek
22a1e65532
[analyzer] Remove recursive visitation in ExprEngine::VisitMemberExpr because it isn't needed anymore.
...
llvm-svn: 136513
2011-07-29 21:18:19 +00:00
Ted Kremenek
db835cc213
[analyzer] Remove recursive visitation in ExprEngine::VisitLvalArraySubscriptExpr() because it is no longer needed.
...
llvm-svn: 136512
2011-07-29 21:18:17 +00:00
Douglas Gregor
f4016fdf71
On Darwin, libc++ may be installed alongside the compiler in
...
lib/c++/v1. Look there first, before falling back to the normal
/usr/include/c++/v1. <rdar://problem/9866149>
llvm-svn: 136507
2011-07-29 20:21:18 +00:00
Jonathan D. Turner
10d52011d8
Renamed Loaded member to ImportedBy, as it's easier to read. Added another set to represent the modules a module imports.
...
llvm-svn: 136476
2011-07-29 18:09:09 +00:00
Douglas Gregor
9ea0537d23
Add a missing \endcode for Doxygen
...
llvm-svn: 136469
2011-07-29 17:35:37 +00:00
Jay Foad
5709f7c5f7
Remove some unnecessary single element array temporaries.
...
llvm-svn: 136461
2011-07-29 13:56:53 +00:00
Argyrios Kyrtzidis
1fa8b4b204
Make DiagnosticErrorTrap keep a count of the errors that occurred so multiple
...
DiagnosticErrorTraps can be composed (e.g. a trap inside another trap).
Fixes http://llvm.org/PR10462 & rdar://9852007.
llvm-svn: 136447
2011-07-29 01:25:44 +00:00
Douglas Gregor
5e6fcb108f
This patch makes the string/character literal tests run in C,
...
C++98/03, and C++0x mode, from Craig Topper!
llvm-svn: 136443
2011-07-29 01:08:54 +00:00
Douglas Gregor
f6f2810c1f
Remove unused debug function
...
llvm-svn: 136442
2011-07-29 00:59:35 +00:00
Douglas Gregor
bab6d2c2d4
In the ASTReader, replace the continuous range maps whose value types
...
were (Module*, Offset) with equivalent maps whose value type is just a
Module*. The offsets have moved into corresponding "Base" fields
within the Module itself, where they will also be helpful for
local->global translation (eventually).
llvm-svn: 136441
2011-07-29 00:56:45 +00:00
Peter Collingbourne
05500ba6ec
Fix assertion failure in CodeGen where the input operand to an asm
...
instruction is tied to an output operand which is a pointer, and
the input operand is narrower than the output operand.
llvm-svn: 136438
2011-07-29 00:24:50 +00:00
Peter Collingbourne
3bc84ca376
Fix an inconsistency in Sema::ConvertArgumentsForCall in that
...
the callee note diagnostic was not emitted in the case where
there were too few arguments.
llvm-svn: 136437
2011-07-29 00:24:42 +00:00
Douglas Gregor
8ab4ea8571
Move the base type ID from the ASTReader's global type map into the
...
Module itself, which makes more sense. This pattern to be repeated
several more times.
llvm-svn: 136436
2011-07-29 00:21:44 +00:00
Chandler Carruth
605415923f
Remove an unused function (found by Clang's -Wunused-function)
...
llvm-svn: 136434
2011-07-29 00:15:44 +00:00
Fariborz Jahanian
9f8b19e9ae
objective-c: warn if implementation of a method in category
...
masks an existing method in its primary class, class extensions,
and primary class's non-optional protocol methods; as primary
class, or one of its subclass's will implement this method.
This warning has potential of being noisy so it has its own
group. // rdar://7020493
llvm-svn: 136426
2011-07-28 23:19:50 +00:00
Jonathan D. Turner
269f256645
Some documentation fixes so that we are explicit about which iteration order is source-order. Also, removing unused NextInSource field of Module.
...
llvm-svn: 136423
2011-07-28 23:15:22 +00:00
Ted Kremenek
73665188fc
Really remove FlatStoreManager and BasicStoreManager, this time from the driver. Also remove associated tests. Sorry for the messy commits; this is the result of a botched Git merge.
...
llvm-svn: 136422
2011-07-28 23:08:16 +00:00
Ted Kremenek
7c7ce00265
Remove flat store tests.
...
llvm-svn: 136421
2011-07-28 23:08:04 +00:00
Ted Kremenek
e2e37b9afc
Remove FlatStoreManager and BasicStoreManager. The latter has long been obsolete and the former has no had development in a long time.
...
llvm-svn: 136420
2011-07-28 23:08:02 +00:00
Ted Kremenek
e9fda1e48a
[analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to be linearized only when used by the static analyzer. This required a rewrite of LiveVariables, and exposed a ton of subtle bugs.
...
The motivation of this large change is to drastically simplify the logic in ExprEngine going forward.
Some fallout is that the output of some BugReporterVisitors is not as accurate as before; those will
need to be fixed over time. There is also some possible performance regression as RemoveDeadBindings
will be called frequently; this can also be improved over time.
llvm-svn: 136419
2011-07-28 23:07:59 +00:00
Ted Kremenek
e227f49302
[analyzer] fix bug in malloc checker where the tracked symbol would not properly be removed from the state.
...
llvm-svn: 136418
2011-07-28 23:07:51 +00:00
Ted Kremenek
9b6ce7d3fa
[analyzer] add accessor to StoreRef.
...
llvm-svn: 136417
2011-07-28 23:07:49 +00:00
Ted Kremenek
ae16d1cc67
[analyzer] Add StoreManager::includedInBindings() to to query whether a region is used in any bindings.
...
llvm-svn: 136416
2011-07-28 23:07:46 +00:00
Ted Kremenek
6b1a761f3e
[analyzer] Add safety checking in RegionStoreManager for string literal underruns.
...
llvm-svn: 136415
2011-07-28 23:07:43 +00:00
Ted Kremenek
47fc816b96
[analyzer] Teach Environment to not look through MaterializeTemporaryExprs.
...
llvm-svn: 136414
2011-07-28 23:07:41 +00:00
Ted Kremenek
3b446215d1
[analyzer] Fix bug in ObjCMessage where casts were being incorrectly ignored.
...
llvm-svn: 136413
2011-07-28 23:07:38 +00:00
Ted Kremenek
a644668193
[analyzer] fix handling of MaterializeTemporaryExpr by binding the result value to
...
the proper expression.
llvm-svn: 136412
2011-07-28 23:07:36 +00:00
Douglas Gregor
caed7c6954
Introduce the local-global mapping for preprocessed entities, and use
...
it appropriately. Also, patch up a place where we were failing to map
local macro definition IDs into global macro definition IDs.
llvm-svn: 136411
2011-07-28 22:39:26 +00:00
Douglas Gregor
035611e655
Use local-to-global mapping appropriately for macro definitions in the ASTReader
...
llvm-svn: 136410
2011-07-28 22:16:57 +00:00
Douglas Gregor
074fdc5a10
Use the local -> global mapping functions for selectors more
...
consistently in the ASTReader.
llvm-svn: 136395
2011-07-28 21:16:51 +00:00
Douglas Gregor
a3e41533f2
Teach the ASTReader to perform local and global mapping of identifier
...
IDs properly, although the mapping itself is still trivial.
llvm-svn: 136391
2011-07-28 20:55:49 +00:00
Anna Zaks
964f4c6147
Add a fixit for removal of unused label.
...
llvm-svn: 136389
2011-07-28 20:52:06 +00:00
Richard Trieu
ff5dc53c7a
Fix a test case that was intermittently failing. The issue was that instantiations are not stored in an order preserving structure, so the print order may be impacted. Modified test case to do two FileCheck passes to ensure that both instantiations are in the same place.
...
Test originially commited at r136306 and temporarily silenced at r136348.
llvm-svn: 136385
2011-07-28 20:30:10 +00:00