RFR: 8086005: Define __STDC_xxx_MACROS config macros globally via build system

Gerard Ziemski gerard.ziemski at oracle.com
Thu Jun 8 21:21:01 UTC 2017

hi Kim,

My understanding is that to enable c++11, for example, we need to do 2 things (at least on Mac OS X):

#1 For the compilation phase we need to add “-std=c++11 -stdlib=libc++”, where “-std=c++11” selects the language model, and “-stdlib=libc++” selects the corresponding headers.

#2 For the linking phase we need to add "-stdlib=libc++” to select the corresponding c++ standard lib.

Ie, we need to set both cflags and ldflags, but you are only allowing to add to JVM_CFLAGS. Without the ability to also modify JVM_LDFLAGS, this fix, as is, is not complete on Mac OS X.

Unless I’m mistaken, please correct me if I’m wrong, can we include modifying JVM_LDFLAGS in this fix as well?


> On Jun 7, 2017, at 6:51 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
> Please review this change to the build of hotspot to globally define
> the __STDC_xxx_MACROS macros via the command line, rather than
> via #defines scattered through several header files.
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8086005
> Webrev:
> http://cr.openjdk.java.net/~kbarrett/8086005/hs.00/
> http://cr.openjdk.java.net/~kbarrett/8086005/hotspot.00/
> Testing:

More information about the hotspot-dev mailing list