JDK-8201187 : MacOS: Xcode 9.3: Build Failure
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: os_x
  • CPU: x86
  • Submitted: 2018-04-05
  • Updated: 2018-04-06
  • Resolved: 2018-04-06
Related Reports
Duplicate :  
Relates :  
Description
My Mac was updated recently to Xcode 9.3. This new version gets a hiccup on the following line:

hs/src/hotspot/share/gc/g1/heapRegionSet.hpp:125:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
#if HEAP_REGION_SET_FORCE_VERIFY

hs/src/hotspot/share/gc/g1/heapRegionSet.hpp:53:38: note: expanded from macro 'HEAP_REGION_SET_FORCE_VERIFY'
#define HEAP_REGION_SET_FORCE_VERIFY defined(ASSERT)

Switching back to Xcode 9.2 makes the error go away. However, the question remains: does the preprocessor do the right thing, i.e. recursively substitute the #defines?

This is a duplicate of JDK-8200550.