Daniel Dunbar
68f1d8ed0c
Driver: -mkernel disables default use of unwind tables (although I
...
don't yet understand where this is happening in llvm-gcc).
llvm-svn: 70012
2009-04-25 05:49:54 +00:00
Chris Lattner
3f863f6827
set NewFD->setInvalidDecl() in one place, sharing code and ensuring that
...
functions with prototypes get the bit.
llvm-svn: 70011
2009-04-25 05:44:12 +00:00
Daniel Dunbar
11892e951d
Driver: -mkernel and -fapple-kext imply -mno-red-zone.
...
llvm-svn: 70010
2009-04-25 05:33:23 +00:00
Daniel Dunbar
ef2ffbc390
Fix pointer addressing and array subscripting of Objective-C interface
...
types.
- I broke this in the switch to representing interfaces with opaque
types.
- <rdar://problem/6822660> clang crashes on subscript of interface in
32-bit mode
llvm-svn: 70009
2009-04-25 05:08:32 +00:00
Ted Kremenek
e75de95408
Hook up attribute 'objc_ownership_retain' to the analyzer. This attribute allows
...
users to specify that a method's argument is visibly retained (reference count
incremented).
llvm-svn: 70008
2009-04-25 01:21:50 +00:00
Douglas Gregor
f005eac566
Make sure that the consumer sees all interested decls. This fixes Preview
...
llvm-svn: 70007
2009-04-25 00:41:30 +00:00
Bob Wilson
0041bd3523
Change LowerCallResult method so that CCValAssign::BCvt can be used with
...
f64 types. This is not used for anything yet.
llvm-svn: 70006
2009-04-25 00:33:20 +00:00
Ted Kremenek
2cfd264636
Add new checker-specific attribute 'objc_ownership_retain'. This isn't hooked up
...
to the checker yet, but essentially it allows a user to specify that an
Objective-C method or C function increments the reference count of a passed
object.
llvm-svn: 70005
2009-04-25 00:17:17 +00:00
Chris Lattner
12bdebbbf7
reject explicit pointer arithmetic on interface pointers in 64-bit objc ABI
...
llvm-svn: 70004
2009-04-24 23:50:08 +00:00
Douglas Gregor
c62a133a38
When we de-serialize an Objective-C protocol, hand it to the AST consumer so that we can create metadata
...
llvm-svn: 70003
2009-04-24 23:42:14 +00:00
Ted Kremenek
b97d093e16
Hook up __attribute__((objc_ownership_returns)) to the retain/release checker.
...
llvm-svn: 70002
2009-04-24 23:32:32 +00:00
Ted Kremenek
44e662cd4f
Add new checker-specific attribute 'objc_ownership_returns'. This isn't hooked
...
up to the checker yet, but essentially it allows a user to specify that an
Objective-C method or C function returns an owned an Objective-C object.
llvm-svn: 70001
2009-04-24 23:09:54 +00:00
Anders Carlsson
defc644e06
Add CXXExprWithCleanup
...
llvm-svn: 70000
2009-04-24 22:47:04 +00:00
Chris Lattner
cd2a8c5864
fix the sizeof error recovery issue (sizeof-interface.m:attributeRuns)
...
by correctly propagating the fact that the type was invalid up to the
attributeRuns decl, then returning an ExprError when attributeRuns is
formed (like we do for normal declrefexprs).
llvm-svn: 69998
2009-04-24 22:30:50 +00:00
Douglas Gregor
9a1899ba42
Fix a pasto in the lookup of instance methods in the global pool
...
llvm-svn: 69996
2009-04-24 22:23:41 +00:00
Douglas Gregor
6525578397
Once the protocol list has been loaded from the PCH file, add it to
...
the Objective-C interface.
llvm-svn: 69993
2009-04-24 22:01:00 +00:00
Ted Kremenek
6a966b2486
Fix the same false positive reported in PR 2542 and <rdar://problem/6793409>
...
involving an NSAnimation object delegating its release to a delegate method.
llvm-svn: 69992
2009-04-24 21:56:17 +00:00
Douglas Gregor
4647cfac32
Fix two small but very nasty bugs in the PCH writer for method pools:
...
(1) Make sure to pad on-disk hash tables with 4 bytes, not 2, since
the reader assumes that bucket data is aligned on 4-byte
boundaries.
(2) Don't emit the number of factory methods twice. This was
throwing off the data counts and therefore causing lookups to
fail. I've added asserts so that this class of error cannot happen
again.
llvm-svn: 69991
2009-04-24 21:49:02 +00:00
Dale Johannesen
56cb14c874
Fix PR 4057, a crash doing float->char const folding.
...
This particular one is undefined behavior (although this
isn't related to the crash), so it will no longer do it
at compile time, which seems better.
llvm-svn: 69990
2009-04-24 21:34:13 +00:00
Douglas Gregor
c78d34699f
PCH support for the global method pool (= instance and factory method
...
pools, combined). The methods in the global method pool are lazily
loaded from an on-disk hash table when Sema looks into its version of
the hash tables.
llvm-svn: 69989
2009-04-24 21:10:55 +00:00
Fariborz Jahanian
969bc68195
Minor refactoring. No intended change in behavior.
...
llvm-svn: 69988
2009-04-24 21:07:43 +00:00
Steve Naroff
3fa455a1aa
Add PCH support for #import.
...
llvm-svn: 69987
2009-04-24 20:03:17 +00:00
Ted Kremenek
53c5b7e0bd
Minor refactoring: pass selector to getCommonMethodSummary(). No functionality
...
change.
llvm-svn: 69985
2009-04-24 18:19:07 +00:00
Ted Kremenek
6e86cafca3
retain/release checker: more hacks to workaround false positives cause by
...
delegates. When a reference counted object is passed as to a 'void*' argument to
a method stop tracking the reference count.
llvm-svn: 69984
2009-04-24 18:00:17 +00:00
Ted Kremenek
21895e0b89
Sentence case bug name.
...
llvm-svn: 69983
2009-04-24 17:51:19 +00:00
Ted Kremenek
8a5ad39a46
retain/release checker:
...
- Fix summary lookup for class methods to now use the (optional)
ObjCInterfaceDecl associated with a message expression. This removes a
long-standing FIXME.
- Partial fix for <rdar://problem/6062730> by stop tracking objects that
are passed to [NSObject performSelector]. These methods are often used
for delegates, which the analyzer doesn't reason about well yet.
llvm-svn: 69982
2009-04-24 17:50:11 +00:00
Anders Carlsson
95c56ebfb5
Make CXXTemporaryObjectExpr inherit from CXXConstructExpr.
...
llvm-svn: 69981
2009-04-24 17:34:38 +00:00
Fariborz Jahanian
1dcb32260a
Avoid issuing spurious errors as side-effect of diagnosing
...
application of sizeof on an interface.
llvm-svn: 69980
2009-04-24 17:34:33 +00:00
Fariborz Jahanian
ce567657fd
Minor refactoring. No change in functionality.
...
llvm-svn: 69979
2009-04-24 17:15:27 +00:00
Bob Wilson
40e784ce69
Adjust a comment to reflect what the code does. Splitting a 64-bit argument
...
between registers and the stack may be required with the APCS ABI, but it
isn't tied to using a particular version of the ARM architecture.
llvm-svn: 69978
2009-04-24 17:05:01 +00:00
Bob Wilson
f134b2d212
Fix up some problems with getCopyToReg and getCopyFromReg nodes being
...
chained and "flagged" together. I also made a few changes to handle the
chain and flag values more consistently. I found these problems by
inspection so I'm not aware of anything that breaks because of them
(thus no testcase).
llvm-svn: 69977
2009-04-24 17:00:36 +00:00
Gabor Greif
33e834cc0a
Use a bigger hammer to coerce subversion into english.
...
Patch by Benjamin Kramer!
llvm-svn: 69976
2009-04-24 17:00:03 +00:00
Steve Naroff
b87eeaeadf
Use cast_or_null instead of ternary operator (suggested by Doug).
...
llvm-svn: 69975
2009-04-24 16:59:10 +00:00
David Greene
7049e79e45
Fix multiclass inheritance to limit value resolution to new defs added
...
by base multiclasses. Do not attempt to alter defs from previous base
multiclasses. This fixes multiple multiclass inheritance.
llvm-svn: 69974
2009-04-24 16:55:41 +00:00
Bob Wilson
62d47d2361
Remove unnecessary references to f32 types. After specifying that f32
...
should be bit-converted to i32, it is sufficient to list only i32 in
subsequent definitions.
llvm-svn: 69973
2009-04-24 16:55:25 +00:00
Rafael Espindola
56548523f5
Add LTO_SYMBOL_DEFINITION_WEAKUNDEF, use that on the gold plugin.
...
llvm-svn: 69972
2009-04-24 16:55:21 +00:00
Sanjiv Gupta
77abea0d6a
Fixed spaces and the getelementpointer example with i16 type indices.
...
llvm-svn: 69971
2009-04-24 16:38:13 +00:00
Fariborz Jahanian
a123b64218
Some code clean up of objc2's bitmap layout.
...
llvm-svn: 69970
2009-04-24 16:17:09 +00:00
Steve Naroff
54b6db1763
Allow the next catoregory slot to be null.
...
llvm-svn: 69969
2009-04-24 16:08:42 +00:00
Rafael Espindola
c1396a2313
Fix PR 4004 by including the call to __tls_get_addr in X86tlsaddr. This is not
...
very elegant, but neither is the tls specification :-(
llvm-svn: 69968
2009-04-24 12:59:40 +00:00
Rafael Espindola
b93db668b3
Revert 69952. Causes testsuite failures on linux x86-64.
...
llvm-svn: 69967
2009-04-24 12:40:33 +00:00
Chris Lattner
40493eb6eb
fix rdar://6816766 - Crash with function-like macro test at end of directive.
...
llvm-svn: 69964
2009-04-24 07:15:46 +00:00
Chris Lattner
469fdc6af3
simplification and speedup
...
llvm-svn: 69963
2009-04-24 07:15:22 +00:00
Chris Lattner
cb2147e58c
fix a typo noticed by duncan
...
llvm-svn: 69962
2009-04-24 06:37:12 +00:00
Anders Carlsson
643e0a40db
Fix assert.
...
llvm-svn: 69961
2009-04-24 06:06:07 +00:00
Anders Carlsson
b17a2c3d8f
CXXTempVarDecls aren't looked up. Fixes tests.
...
llvm-svn: 69960
2009-04-24 06:02:55 +00:00
Anders Carlsson
a861067029
Add an ASTContext parameter to CXXTemporaryObjectExpr.
...
llvm-svn: 69959
2009-04-24 05:44:25 +00:00
Chris Lattner
a776fc78a9
"I got annoyed at the compiler warnings from ConstantInt::get(Ty, -1,
...
true), and casts make me nervous and are verbose anyway, so here's a
ConstantInt::getSigned(Ty, int64_t) method. Just overloading
ConstantInt::get() to take an int64_t too would cause ambiguous
overload errors."
Patch by Jeffrey Yasskin!
llvm-svn: 69958
2009-04-24 05:30:14 +00:00
Anders Carlsson
56c5bd8d23
Add a VarDecl parameter to the CXXTemporaryObjectExpr constructor. It's unused for now, so no functionality change yet. Also, create CXXTempVarDecls to pass to the CXXTemporaryObjectExpr ctor.
...
llvm-svn: 69957
2009-04-24 05:23:13 +00:00
Anders Carlsson
e500faf8c8
Create a CXXConstructExpr instead of a CXXTemporaryObjectExpr in InitializeVarWithConstructor.
...
llvm-svn: 69956
2009-04-24 05:16:06 +00:00