https://gcc.gnu.org/g:2ac27bd50388d90a430357ce2d36f306cbe10128

commit r15-3341-g2ac27bd50388d90a430357ce2d36f306cbe10128
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Sat Aug 31 11:57:32 2024 -0700

    libobjc: Add cast to void* to disable warning for casting between 
incompatible function types [PR89586]
    
    Even though __objc_get_forward_imp returns an IMP type, it will be casted 
to a compatable function
    type before calling it. So we adding a cast to `void*` will disable warning 
about the incompatible type.
    
    Pushed after bootstrap/test on x86_64.
    
    libobjc/ChangeLog:
    
            PR libobjc/89586
            * sendmsg.c (__objc_get_forward_imp): Add cast to `void*` before 
casting to IMP.
    
    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>

Diff:
---
 libobjc/sendmsg.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c
index e781b2a9e505..65bc250ad90c 100644
--- a/libobjc/sendmsg.c
+++ b/libobjc/sendmsg.c
@@ -126,11 +126,11 @@ __objc_get_forward_imp (id rcv, SEL sel)
           && objc_sizeof_type (t) > OBJC_MAX_STRUCT_BY_VALUE
 #endif
           )
-        return (IMP)__objc_block_forward;
+        return (IMP)(void*)__objc_block_forward;
       else if (t && (*t == 'f' || *t == 'd'))
-        return (IMP)__objc_double_forward;
+        return (IMP)(void*)__objc_double_forward;
       else
-        return (IMP)__objc_word_forward;
+        return (IMP)(void*)__objc_word_forward;
     }
 }

Reply via email to