RFR (S) JDK-8041620: Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend declarations within surrounding scope
David Holmes
david.holmes at oracle.com
Sun May 4 20:20:26 UTC 2014
Hi Lois,
Deletion of FileBuffRegion looks okay to me.
Otherwise would the fix have been to change
friend ostream& operator<< (ostream&, FileBuffRegion&);
to
friend ostream& ::std::operator<< (ostream&, FileBuffRegion&);
?
Thanks,
David
On 5/05/2014 5:13 AM, Lois Foltan wrote:
> 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
More information about the hotspot-compiler-dev
mailing list