[racket-dev] Compilation of 5.3.2 fails on some compilers

From: Tobias Hammer (tobias.hammer at dlr.de)
Date: Fri Feb 1 06:23:59 EST 2013

Hi,

i am getting the following error when i try to compile racket-textual on a  
a version of gcc that does not support the 'noinline' attribute:

xsrc/place.c: In function 'place_start_proc':
xsrc/place.c:2793: warning: assignment makes pointer from integer without  
a cast
xsrc/place.c: At top level:
xsrc/place.c:3185: error: conflicting types for  
'place_start_proc_after_stack'
xsrc/place.c:2793: note: previous implicit declaration of  
'place_start_proc_after_stack' was here

The cause is that the forward declaration of  
'place_start_proc_after_stack' is missing. It was originally there (L 95)  
but the MZ_DO_NOT_INLINE macro expands to nothing, effectively removing  
the declaration.

The wrapping macro was added in commit 9692765e2 but the commit message  
gives no real reason why it is needed. I am a bit worried to revert the  
change because i don't know which bug i could reintroduce. What would be  
the correct fix to compile 5.3.2?

Tobias



-- 
---------------------------------------------------------
Tobias Hammer
DLR / Institute of Robotics and Mechatronics
Muenchner Str. 20, D-82234 Wessling
Tel.: 08153/28-1487
Mail: tobias.hammer at dlr.de

Posted on the dev mailing list.