Douglas Gregor
ac345a3990
Eliminate Sema::ObjCInterfaceDecls
...
llvm-svn: 69942
2009-04-24 00:16:12 +00:00
Douglas Gregor
79947a24e6
Eliminate Sema::ObjCImplementations, relying instead on name lookup. What's good for uniformity is good for PCH (or is it the other way around?).
...
As part of this, make ObjCImplDecl inherit from NamedDecl (since
ObjCImplementationDecls now need to have names so that they can be
found). This brings ObjCImplDecl very, very close to
ObjCContainerDecl; we may be able to merge them soon.
llvm-svn: 69941
2009-04-24 00:11:27 +00:00
Ted Kremenek
9099126795
Update checker build.
...
llvm-svn: 69940
2009-04-23 23:42:21 +00:00
Douglas Gregor
de9f17e943
Eliminate Sema::ObjCProtocols. Instead, we place ObjCProtocolDecls in
...
their own namespace (IDNS_Protocol) and use the normal name-lookup
routines to find them. Aside from the simplification this provides
(one less DenseMap!), it means that protocols will be lazily
deserialized from PCH files.
Make the code size of the selector table block match the code size of
the type and decl blocks.
llvm-svn: 69939
2009-04-23 23:18:26 +00:00
Daniel Dunbar
838cbe19b7
Call ld, not collect2.
...
- <rdar://problem/6517382> [driver] call ld directly
llvm-svn: 69938
2009-04-23 23:17:23 +00:00
Dan Gohman
9478c3f8e5
Factor out a bit of code that appears in several places into a
...
utility function.
llvm-svn: 69937
2009-04-23 23:13:24 +00:00
Ted Kremenek
60746a0a83
Refactor common logic in getMethodSummary() and getClassMethodSummary(). No
...
functionality change.
llvm-svn: 69936
2009-04-23 23:08:22 +00:00
Dan Gohman
a290ab44e8
Handle Void types in ComputeValueVTs. This doesn't currently occur,
...
but this change makes the code more general and easier to adapt for
new purposes.
llvm-svn: 69935
2009-04-23 22:50:03 +00:00
Dan Gohman
870c33f14b
Fix spurious indentation in a comment.
...
llvm-svn: 69934
2009-04-23 22:41:05 +00:00
Douglas Gregor
f6c2a27e16
PCH support for categories in Objective-C interfaces.
...
llvm-svn: 69933
2009-04-23 22:34:55 +00:00
Douglas Gregor
512b077803
PCH support for all of the predefined Objective-C types, such as id,
...
SEL, Class, Protocol, CFConstantString, and
__objcFastEnumerationState. With this, we can now run the Objective-C
methods and properties PCH tests.
llvm-svn: 69932
2009-04-23 22:29:11 +00:00
Ted Kremenek
37467813c5
Further cleanups to isTrackedObjectType().
...
llvm-svn: 69929
2009-04-23 22:11:07 +00:00
Fariborz Jahanian
6f0f25b0d8
Diagnose if an implementation implements a forward class
...
declaration (and avoid issuing bogus error later on).
llvm-svn: 69928
2009-04-23 21:49:04 +00:00
David Greene
0e89886048
Fix a documentation bug.
...
llvm-svn: 69923
2009-04-23 21:27:58 +00:00
Ted Kremenek
0a1f9c423f
retain/release checker: Don't call isTrackedObject() with the canonical type.
...
This was preventing the checker from tracking return objects referenced by 'id'.
llvm-svn: 69922
2009-04-23 21:25:57 +00:00
David Greene
196ac3c69a
Make BinOps typed and require a type specifier for !nameconcat. This
...
allows binops to be used in typed contexts such as when passing
arguments to classes.
llvm-svn: 69921
2009-04-23 21:25:15 +00:00
Evan Cheng
5bbb78dc3e
Update comments.
...
llvm-svn: 69919
2009-04-23 20:39:31 +00:00
Evan Cheng
967b04d9bc
Fix an obvious type.
...
llvm-svn: 69918
2009-04-23 20:18:13 +00:00
Ted Kremenek
d6ed5b7376
Temporarily remove expected warnings.
...
llvm-svn: 69917
2009-04-23 20:03:52 +00:00
Ted Kremenek
b2f419dc88
retain/release checker: For class methods, only treat return values that are
...
object references as tracked objects.
llvm-svn: 69915
2009-04-23 20:02:30 +00:00
Chris Lattner
310c921944
accept and ignore -Wconversion
...
llvm-svn: 69914
2009-04-23 19:54:39 +00:00
Dan Gohman
723f175bc9
Explicitly pass -tailcallopt=false to these tests so that they
...
work as intended no matter what the default setting of that
option is.
llvm-svn: 69911
2009-04-23 19:39:41 +00:00
Ted Kremenek
f27110fc27
Per discussions with Ken Ferry and Paul Marks (<rdar://problem/6815234>) greatly
...
extend the number of objects tracked by the retain/release checker by assuming
that all class and instance methods should follow Cocoa object "getter" and
"alloc/new" conventions.
llvm-svn: 69908
2009-04-23 19:11:35 +00:00
Douglas Gregor
89c8e000cf
Fix handling of C99 "extern inline" semantics when dealing with
...
multiple declarations of the function. Should fix PR3989 and
<rdar://problem/6818429>.
llvm-svn: 69905
2009-04-23 18:22:55 +00:00
Devang Patel
a6acb390e7
Handle corner case where clang-cc is invoked directly to compile preprocessed source file without -main-file-name. In this case, CDDebugInfo is not able identify correct main source file becase SM.isFromMainFile() returns true for locations from header files as well as locations from main source file.
...
This patch takes conservative approach by not emitting more then one compile unit with isMain bit set.
llvm-svn: 69902
2009-04-23 18:09:16 +00:00
Dale Johannesen
466af3eb46
Testcase for 69795.
...
llvm-svn: 69901
2009-04-23 18:04:04 +00:00
Ted Kremenek
9c03f68206
Fix PR 4033: the analyzer shouldn't crash on computed gotos involving symbolic
...
target addresses.
llvm-svn: 69900
2009-04-23 17:49:43 +00:00
Steve Naroff
0ee66aa32d
Remove @compatibility_alias regression.
...
llvm-svn: 69899
2009-04-23 17:46:47 +00:00
Ted Kremenek
3ebc5057ac
BugReporter (extensive diagnostics): Recursively adjust the referred expression
...
when popping location contexts.
llvm-svn: 69898
2009-04-23 16:44:22 +00:00
Chris Lattner
d87f6e55ee
Fix rdar://6819438 - -Wmissing-noreturn not recognised by clang,
...
by accepting and ignoring it for now.
llvm-svn: 69897
2009-04-23 16:38:59 +00:00
Fariborz Jahanian
80672fce8f
Removed bunch of FIXMEs no longer needed.
...
llvm-svn: 69896
2009-04-23 16:27:20 +00:00
Ted Kremenek
e60809c31d
BugReporter (extensive diagnostics): Ignore parentheses when added control-flow
...
pieces for location contexts.
llvm-svn: 69895
2009-04-23 16:19:29 +00:00
Steve Naroff
0cbba990d7
More PushOnScopeChain() FIXME's.
...
llvm-svn: 69894
2009-04-23 16:00:56 +00:00
Dan Gohman
d6f9713634
Fix an error in this test.
...
llvm-svn: 69893
2009-04-23 15:22:28 +00:00
Dan Gohman
86bcd97014
Change SCEVExpander's expandCodeFor to provide more flexibility
...
with the persistent insertion point, and change IndVars to make
use of it. This fixes a bug where IndVars was holding on to a
stale insertion point and forcing the SCEVExpander to continue to
use it.
This fixes PR4038.
llvm-svn: 69892
2009-04-23 15:16:49 +00:00
Steve Naroff
3c301dc573
Sema::ActOnStartClassInterface(): Use PushOnScopeChains().
...
This enables class recognition to work with PCH. I believe this means we can remove Sema::ObjCInterfaceDecls and it's usage within Sema::LookupName(). Will investigate.
llvm-svn: 69891
2009-04-23 15:15:40 +00:00
Steve Naroff
2ddea05bca
Add PCH read/write support for Objective-C Selectors.
...
Note: This support is non-lazy. Once we get "Cocoa.h" humming, we can optimize this.
llvm-svn: 69884
2009-04-23 10:39:46 +00:00
Sanjiv Gupta
5058f240d9
Banksel immediate constant will always immediately follow the GA/ES, so scan an insn from beginnin to find out the banksel operand.
...
llvm-svn: 69883
2009-04-23 10:34:58 +00:00
Daniel Dunbar
f0a8344bac
Mark IMAGE_INFO as constant on x86_64-darwin.
...
- This shouldn't change anything, we never actually access it, but
this is consistent with llvm-gcc (and 32-bit)
llvm-svn: 69880
2009-04-23 08:03:21 +00:00
Chris Lattner
324f80b12a
fix a problem producing debug info with global blocks.
...
llvm-svn: 69875
2009-04-23 07:18:56 +00:00
Daniel Dunbar
4645707034
Add implicit definition of objc_msgSend.
...
- As with malloc and friends, this is important where the return type
on a 64-bit platform would otherwise end up discarding the upper
32-bits.
llvm-svn: 69874
2009-04-23 07:00:09 +00:00
Chris Lattner
7b0344f656
implement debug info for _Complex.
...
llvm-svn: 69873
2009-04-23 06:13:01 +00:00
Chris Lattner
28ec0cf86c
the logic for computing __func__ and friends is really broken:
...
the type assigned by sema (and is visible with sizeof(__func__) for
example) has nothing to do with what codegen ends up producing.
We should eventually add a method on PredefinedExpr to handle this.
In the meantime, just set up some framework and add some fixme's.
llvm-svn: 69872
2009-04-23 05:30:27 +00:00
Chris Lattner
f718110ae5
remove some gone files
...
llvm-svn: 69871
2009-04-23 05:29:03 +00:00
Nick Lewycky
b4d9f7a9b3
Simplify trunc(extend(x)) in SCEVs, just for completeness. Also fix some odd
...
whitespace in the same file.
llvm-svn: 69870
2009-04-23 05:15:08 +00:00
Daniel Dunbar
dec9e1ec5e
Don't build error/warning/assertion detection in the testing script.
...
- This wasn't actually all that useful and isn't worth the extra
(hard)code.
llvm-svn: 69869
2009-04-23 05:03:44 +00:00
Owen Anderson
7d82244be7
Testcase for PR3909.
...
llvm-svn: 69868
2009-04-23 04:33:42 +00:00
Owen Anderson
b94ea3ebf1
Testcase for PR2639.
...
llvm-svn: 69867
2009-04-23 04:30:52 +00:00
Owen Anderson
b211b5c478
Testcase for PR2537.
...
llvm-svn: 69866
2009-04-23 04:26:42 +00:00
Owen Anderson
437c6357e0
Fix typo.
...
llvm-svn: 69865
2009-04-23 04:24:19 +00:00