RFR(XXS): 8057129: Fix AIX build after the Extend CompileCommand=option change 8055286

Volker Simonis volker.simonis at gmail.com
Wed Sep 3 12:48:49 UTC 2014


could somebody please review and sponsor this tiny change which fixes
an AIX build failure after "8055286: Extend CompileCommand=option to
handle numeric parameters" (details see below).

It would be nice if this fix could be pushed to hs-comp before hs-comp
gets pushed to the other hs repos:


The AIX xlC compiler is overly picky with regard to section
"Candidate functions" of the C++ standard (see
which states:

"If the function name is an unqualified-id and the call would be
ill-formed or would find a better match had the lookup within the
associated namespaces considered all the function declarations with
external linkage introduced in those namespaces in all translation
units, not just considering those declarations found in the template
definition and template instantiation contexts, then the program has
undefined behavior."

xlC implements this by not taking into account static functions which
have internal linkage and terminates with the error message:

"hotspot-comp/src/share/vm/compiler/compilerOracle.cpp", line 364.10:
1540-0274 (S) The name lookup for "get_option_value" did not find a
"hotspot-comp/src/share/vm/compiler/compilerOracle.cpp", line 364.10:
1540-1292 (I) Static declarations are not considered for a function
call if the function is not qualified.

The fix is trivial - just qualify the call to "get_option_value" like this:

  return ::get_option_value(method, option, value);

Thank you and best regards,

More information about the hotspot-dev mailing list