Skip to content
  • Steve Naroff's avatar
    · f36987c7
    Steve Naroff authored
    Two additions...
    
    - Synthesize the funky cast for objc_msgSend(). For the basic case, it looks like...
    
    ((id (*)(id, SEL))(void *)objc_msgSend)(obj, sel);
    
    The "void *" cast is needed to workaround a GCC "bandaid" (Chris says it has something to do with the inliner). Without the extra "void *" cast, we get spurious warnings/notes that look like...
    
    xx.m:17: warning: function called through a non-compatible type
    xx.m:17: note: if this code is reached, the program will abort
    
    - Add prototypes for the ObjC functions we call, objc_msgSend/objc_getClass for now (don't depend on them being included).
    
    llvm-svn: 43685
    f36987c7
Loading