Bug 105341
Summary: | [Mac] Remove Platform.h macros from JavaScriptCore Private Headers | ||
---|---|---|---|
Product: | WebKit | Reporter: | Joseph Pecoraro <joepeck> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | ddkilzer |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | 108749 | ||
Bug Blocks: |
Joseph Pecoraro
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.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
David Kilzer (:ddkilzer)
(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.