diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-09-11 23:12:46 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-09-11 23:12:46 +0000 |
commit | 5e155f0c9bd5916d47a7d99dd8d5b26bdb44d835 (patch) | |
tree | f61b1d2dc19322b48f2af66fdb2093f4c60865f6 /lib/AST/Type.cpp | |
parent | 14d08c0c776302e2df12239d276072f43c894f0e (diff) |
Iterate on sema for :? in Objective-C:
- Follow C99 behavior of using other operand type when one of
operands is a null pointer constant.
- Fix overenthusiastic devolving of any Objective-C types to id:
o If either operand has an Objective-C object type then:
- If both operands are interfaces and either operand can be
assigned to the other, use that type as the composite type.
- Otherwise, if either type is id, use id as the composite type.
- Otherwise, warn about incompatible types and use id as the
composite type.
- Return handling of qualified idea to separate test following
general pointer type checking.
o Upgraded from old code to allow devolving to id (without warning,
which matches GCC).
- <rdar://problem/6212771>
Add test case for issues fixed above, XFAIL though because it exposed
a new issue in property handling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56135 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Type.cpp')
0 files changed, 0 insertions, 0 deletions