On Thu, 22 Feb 2024 09:55:21 GMT, Julian Waters <jwat...@openjdk.org> wrote:

>> We're currently using __attribute__ ((visibility ("X"))) elsewhere, so I 
>> think I should stick with that.
>> 
>> And, as I said in my long explanation, this is definitely a hack. The reason 
>> it is here is that I want to make sure the symbol table is 100% identical 
>> before and after this patch. 
>> 
>> Why this is needed, I don't know. I believe it is a bug in GCC, since we 
>> compile with -fvisibility=hidden. But I don't really know. Maybe there is 
>> something in the C++ standard that makes these functions behave differently. 
>> Perhaps they are even slightly incorrectly defined?
>
> Ah, I should have clarified that I did read the explaination, just that it 
> slipped my mind at the time. I can't remember if C++14 or C++17 is the 
> version for compilers ignoring unknown attributes though
> 
> Also, you can escape the underscores with \ to avoid GitHub formatting. 
> GitHub can get annoying with its formatting sometimes
> 
> Is there a chance this can be fixed in a followup somehow? I could help with 
> that, given I have access to WSL2 for Linux

You mean making a search/replace from `__attribute__ ((foo))` to 
`[[gnu::foo)]]` in the code base? It seems a bit like unnecessary churn to me. 
We have 100+ places in the code with `__attribute__`. If you really want to try 
to push that agenda, be my guest. But do it in a separate PR. ;-)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17955#discussion_r1499001259

Reply via email to