RFR: JDK-8142333: Build failure in debugInfoRec.cpp with SS12u4
david.holmes at oracle.com
Fri Nov 27 09:41:00 UTC 2015
On 27/11/2015 7:31 PM, Erik Joelsson wrote:
> I'm guessing the "friend" status of DebugInformationRecorder is somehow
> the culprit and that the change to _offset is just done as a consequence
> of removing the friend status. All I know is that it works and that from
> the infra-team, we really need to this bug resolved yesterday.
I can see that if DebugInformationRecorder is no longer a friend then
offset() needs to be public. What I can't see is how it being a friend
causes the access errors reported. This is where the error originates:
DIR_Chunk* match = _all_chunks->insert_sorted<DIR_Chunk::compare>(ns);
and while I'm unclear what is accessible to what at this line, I fail to
see how _removing_ a friend declaration can _increase_ the accessibility!
I'd like to know there is some subtle C++ template access issue here,
and not just a broken compiler!
> On 2015-11-26 05:47, David Holmes wrote:
>> On 25/11/2015 7:02 PM, Erik Joelsson wrote:
>>> The following new build failure has appeared in the hotspot build when
>>> using the proposed new compiler version on Solaris, SS12u4.
>>> line 281: Error: static DIR_Chunk::compare(DIR_Chunk*const&,
>>> DIR_Chunk*const&) is not accessible from
>>> line 281: Where: While instantiating
>>> line 281: Where: Instantiated from non-template code.
>> I'm really struggling to see how those error messages relate to the fix!
>>> Tom Rodriguez provided a patch and I have verified that it solves the
>>> issue. Since this is blocking us upgrading compilers on Solaris, I am
>>> taking the liberty of posting it for review so we may get this resolved
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8142333
>>> Webrev: http://cr.openjdk.java.net/~erikj/8142333/webrev.hotspot.01/
More information about the hotspot-dev