-
Bug
-
Resolution: Fixed
-
P4
-
8, 9
-
b14
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8237110 | openjdk8u252 | Lois Foltan | P4 | Resolved | Fixed | b01 |
JDK-8228691 | 8u241 | Lois Foltan | P4 | Resolved | Fixed | b01 |
JDK-8234990 | emb-8u241 | Lois Foltan | P4 | Resolved | Fixed | team |
From: http://docs.oracle.com/cd/E37069_01/html/E37075/gnyjb.html#OSSCPgnyly
"When a friend declaration in class C for a function or class T was the first declaration of T, previous compilers incorrectly inserted the declaration of T into the surrounding scope. The Oracle Solaris Studio 12.4 C++ 5.13 compiler no longer does so, because it can lead to incorrect interpretation of valid programs."
An example of this change in behavior for Hotspot first shows up as an C++ error diagnostic in src/share/vm/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.
All friend declarations will have to be examined and potentially changed before using Solaris C++ 5.13.
"When a friend declaration in class C for a function or class T was the first declaration of T, previous compilers incorrectly inserted the declaration of T into the surrounding scope. The Oracle Solaris Studio 12.4 C++ 5.13 compiler no longer does so, because it can lead to incorrect interpretation of valid programs."
An example of this change in behavior for Hotspot first shows up as an C++ error diagnostic in src/share/vm/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.
All friend declarations will have to be examined and potentially changed before using Solaris C++ 5.13.
- backported by
-
JDK-8228691 Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend declarations within surrounding scope
-
- Resolved
-
-
JDK-8234990 Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend declarations within surrounding scope
-
- Resolved
-
-
JDK-8237110 Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend declarations within surrounding scope
-
- Resolved
-