Describe the bug
The macro __VFP_FP__ set by the compiler is deprecated, and despite its name does not indicate that floating support is enabled. This is only used for 3 ARM targets, and should be updated to __ARM_FP which is the appropriate flag.
Target
Development board: N/A, but affects ARM ports GCC/ARM_CM7, GCC/ARM_CM4_MPU, and GCC/ARM_CM4F
Instruction Set Architecture: ARM Thumb ISA
IDE and version: N/A, main branch of FreeRTOS Kernel
Toolchain and version: gcc version 13.2.1 20231009 (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7))
Host
Host OS: Fedora 37
Version: 6.5.12-100.fc37.x86_64
To Reproduce
Compile a dummy file containing:
#ifndef __VFP_FP__
#error This port can only be used when the project options are configured to enable hardware floating point support.
#endif
And observe that independent of whether or not floating support is enabled, the error never triggers.
Expected behavior
These ports should fail to compile when floating support is not enabled.
Additional context
See the following links for an explanation of why this flag is just set to a constant 1 by both GCC and Clang:
Describe the bug The macro
__VFP_FP__
set by the compiler is deprecated, and despite its name does not indicate that floating support is enabled. This is only used for 3 ARM targets, and should be updated to__ARM_FP
which is the appropriate flag.Target
GCC/ARM_CM7
,GCC/ARM_CM4_MPU
, andGCC/ARM_CM4F
main
branch of FreeRTOS KernelHost
To Reproduce
And observe that independent of whether or not floating support is enabled, the error never triggers.
Expected behavior These ports should fail to compile when floating support is not enabled.
Additional context See the following links for an explanation of why this flag is just set to a constant
1
by both GCC and Clang:I will create a PR to fix this!