The following (RFC) patch aims to fix the following build error with gcc6: /home/guido/new/jdk8u60/mercurial-rep/tmp/jdk8u/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp: In constructor ‘G1PrintRegionLivenessInf oClosure::G1PrintRegionLivenessInfoClosure(outputStream*, const char*)’: /home/guido/new/jdk8u60/mercurial-rep/tmp/jdk8u/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1384:37: error: unable to find string literal operator ‘operator""tag’ with ‘const char [37]’, ‘long unsigned int’ arguments #define SIZE_FORMAT "%" PRIuPTR ^ /home/guido/new/jdk8u60/mercurial-rep/tmp/jdk8u/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp:4650:51: note: in expansion of macro ‘SIZE_FORMAT’ #define G1PPRL_SUM_BYTE_FORMAT(tag) " "tag": "SIZE_FORMAT ^~~~~~~~~~~ /home/guido/new/jdk8u60/mercurial-rep/tmp/jdk8u/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp:4671:18: note: in expansion of macro ‘G1PPRL_SUM_BYTE_FORMAT’ G1PPRL_SUM_BYTE_FORMAT("region-size"), ^~~~~~~~~~~~~~~~~~~~~~ /home/guido/new/jdk8u60/mercurial-rep/tmp/jdk8u/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp: In destructor ‘G1PrintRegionLivenessInfoClosure::~G1PrintRegionLivenessInfoClosure()’: /home/guido/new/jdk8u60/mercurial-rep/tmp/jdk8u/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp:4651:47: error: unable to find string literal operator ‘operator""tag’ with ‘const char [117]’, ‘long unsigned int’ arguments #define G1PPRL_SUM_MB_FORMAT(tag) " "tag": %1.2f MB" ^ /home/guido/new/jdk8u60/mercurial-rep/tmp/jdk8u/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp:4797:18: note: in expansion of macro ‘G1PPRL_SUM_MB_FORMAT’ G1PPRL_SUM_MB_FORMAT("code-roots"), ^~~~~~~~~~~~~~~~~~~~
Signed-off-by: Guido Trentalancia <gu...@trentalancia.net> --- hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) --- jdk8u60/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.orig 2016-05-10 22:03:20.470101554 +0200 +++ jdk8u60/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2016-05-10 22:04:53.681530187 +0200 @@ -4640,16 +4640,16 @@ CMTask::CMTask(uint worker_id, // For per-region info #define G1PPRL_TYPE_FORMAT " %-4s" #define G1PPRL_TYPE_H_FORMAT " %4s" -#define G1PPRL_BYTE_FORMAT " "SIZE_FORMAT_W(9) +#define G1PPRL_BYTE_FORMAT " " SIZE_FORMAT_W(9) #define G1PPRL_BYTE_H_FORMAT " %9s" #define G1PPRL_DOUBLE_FORMAT " %14.1f" #define G1PPRL_DOUBLE_H_FORMAT " %14s" // For summary info -#define G1PPRL_SUM_ADDR_FORMAT(tag) " "tag":"G1PPRL_ADDR_BASE_FORMAT -#define G1PPRL_SUM_BYTE_FORMAT(tag) " "tag": "SIZE_FORMAT -#define G1PPRL_SUM_MB_FORMAT(tag) " "tag": %1.2f MB" -#define G1PPRL_SUM_MB_PERC_FORMAT(tag) G1PPRL_SUM_MB_FORMAT(tag)" / %1.2f %%" +#define G1PPRL_SUM_ADDR_FORMAT(tag) " " tag ":" G1PPRL_ADDR_BASE_FORMAT +#define G1PPRL_SUM_BYTE_FORMAT(tag) " " tag ": " SIZE_FORMAT +#define G1PPRL_SUM_MB_FORMAT(tag) " " tag ": %1.2f MB" +#define G1PPRL_SUM_MB_PERC_FORMAT(tag) G1PPRL_SUM_MB_FORMAT(tag) " / %1.2f %%" G1PrintRegionLivenessInfoClosure:: G1PrintRegionLivenessInfoClosure(outputStream* out, const char* phase_name)