http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45886
--- Comment #2 from Siarhei Siamashka <siarhei.siamashka at gmail dot com> 2010-10-11 14:31:29 UTC --- (In reply to comment #1) > Confirmed though I think this isn't an "enhancement" but more a bug because > code can't identify whether -mfloat-abi=hard is chosen by use of a > pre-processor directive. Thanks. Can we expect this problem to be fixed in gcc 4.5.2 (backported from trunk)? For now I'm going to use the following guard code to make sure that using unpatched gcc will result in compilation problem instead of runtime failure: #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) \ && defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) && !defined(__ARM_PCS) #error "Can't identify floating point calling conventions.\nPlease ensure that your toolchain defines __ARM_PCS or __ARM_PCS_VFP." #endif