JavaScriptCore's public headers are free of Platform.h/Compiler.h macros, but it has numerous uses in its private headers. This should be cleaned up and "PrivateHeaders" added to the check for macros build phase. shell> TARGET_BUILD_DIR="$build/Release" PROJECT_NAME="JavaScriptCore" SHALLOW_BUNDLE="NO" ./Tools/Scripts/check-for-inappropriate-macros-in-external-headers PrivateHeaders ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:36' included forbidden macro 'ENABLE' => '#if ENABLE(ASSEMBLER)' ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:39' included forbidden macro 'PLATFORM' => '#if PLATFORM(QT)' ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:40' included forbidden macro 'ENABLE' => '#define ENABLE_JIT_CONSTANT_BLINDING 0' ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:43' included forbidden macro 'ENABLE' => '#ifndef ENABLE_JIT_CONSTANT_BLINDING' ... If there are certain files where we will allow macros, the check-for-inappropriate-macros script can take individual files that we want to keep checking.
(In reply to comment #0) > ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:36' included forbidden macro 'ENABLE' => '#if ENABLE(ASSEMBLER)' > ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:39' included forbidden macro 'PLATFORM' => '#if PLATFORM(QT)' These appear to be real issues. > ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:40' included forbidden macro 'ENABLE' => '#define ENABLE_JIT_CONSTANT_BLINDING 0' > ERROR: 'JavaScriptCore.framework/Versions/A/PrivateHeaders/AbstractMacroAssembler.h:43' included forbidden macro 'ENABLE' => '#ifndef ENABLE_JIT_CONSTANT_BLINDING' These appear to be correct mitigation of the ENABLE() macros which the script shouldn't flagged as errors.