We were not correctly generating the KIND=10 variants of the REAL
intrinsic modules. These modules contained macros that were intended to
generate those variants, but the macros were not defined. Furthermore,
predefined macros were not being added if the "-nocpp" option was
enabled, which was the default.
I made two changes --
- Turned on preprocessing by default. This required adjusting the tests run by "check-flang".
- Added macros for "x86_64" and "aarch64" for compilers hosted on X86 and ARM machines.
In general, the macros should be set based on the compilation target, not the host. Though, I am not sure if other parts of Flang are done in a way that supports cross-compilation.
clang defines target-specific macros based on the compilation target in clang/lib/Basic/Targets/*, e.g. __x86_64__ is defined in clang/lib/Basic/Targets/X86.cpp.