[cfe-dev] Comparison of pointers between Objc subclasses
csdavec at swansea.ac.uk
Wed Jul 2 03:58:48 PDT 2008
On 2 Jul 2008, at 00:22, Ted Kremenek wrote:
> Are pointer type compatibility checks for assignments and conversions
> being handled in the same way? I can understand why assigning a base
> type to a derived type is dangerous, but it seems to me that
> comparisons like these should be legal. I'm only raising this point
> because the code snippet with the warning involved a comparison, not
> an assignment.
Comparisons between ObjC pointers should contain an implicit cast to
id. I tweaked CodeGen to do this and sent the patch a month or so
ago, but it wasn't an ideal solution since the problem is really in
Sema, and it only fixed a few cases where Sema was doing almost the
right thing but omitting the implicit cast.
Currently there are lots of Objective-C type-system related bugs in
clang. I hope to have some time in the next few weeks to be able to
take a look at it. The Objective-C type system doesn't map very
cleanly to the LLVM type system, unfortunately, and there are lots of
places where implicit casts need to be emitted but aren't.
More information about the cfe-dev