RFR (S) JDK-8041620: Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend declarations within surrounding scope

Lois Foltan lois.foltan at oracle.com
Sun May 4 19:13:38 UTC 2014


Hello,

Please review the following fix:

Webrev:
     http://cr.openjdk.java.net/~lfoltan/bug_jdk8041620/

Bug: Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend 
declarations within surrounding scope
     https://bugs.openjdk.java.net/browse/JDK-8041620

Summary:
Solaris Studio 12.4 C++ 5.13 compiler generates the following warning 
level compilation diagnostic for
adlc/filebuff.hpp:

"<directory>/src/share/vm/adlc/filebuff.hpp", line 107: Error: 
Unqualified name '<<' in friend declaration is looked up in the nearest 
enclosing namespace and does not refer to existing 
'::std::operator<<<_charT, _Traits>(basic_ostream<_charT, _Traits>&, 
_charT)'.
1 Error(s) detected.

C++ 5.13 external beta documentation at 
http://docs.oracle.com/cd/E37069_01/html/E37075/gnyjb.html#OSSCPgnyly,
details this change in behavior for friend declarations.  Thank you to 
Christian Thalinger for pointing out that
within filebuff.hpp, class FileBuffRegion is no longer used. Instead of 
fixing the friend declaration in unused code,
removing FileBuffRegion.

Tests:
JPRT build & test, Hotspot's JTREG test system, vm.quick.testlist
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140504/0a63ae06/attachment.html>


More information about the hotspot-compiler-dev mailing list