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.