This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch c++]: PR/47213] New: ICE: SIGSEGV in determine_visibility (decl2.c:2076) with -fvisibility-ms-compat


2011/1/12 Kai Tietz <ktietz70@googlemail.com>:
> 2011/1/9 Jason Merrill <jason@redhat.com>:
>> On 01/08/2011 10:19 AM, Kai Tietz wrote:
>>>
>>> ? ? ? ? ? if (underlying_vis == VISIBILITY_ANON
>>> - ? ? ? ? ? ? || CLASSTYPE_VISIBILITY_SPECIFIED (underlying_type))
>>> + ? ? ? ? ? ? || (TYPE_NAME (underlying_type)
>>> + ? ? ? ? ? ? ? ? && ?CLASSTYPE_VISIBILITY_SPECIFIED (underlying_type)))
>>> ? ? ? ? ? ? constrain_visibility (decl, underlying_vis);
>>
>> This should check CLASS_TYPE_P rather than TYPE_NAME. ?And looking at this I
>> realize that CLASSTYPE_VISIBILITY/_SPECIFIED should use TYPE_MAIN_DECL
>> rather than TYPE_NAME.
>>
>> Jason
>>
> Hello,
>
> I adjusted the patch as discussed on IRC. Additionally I found a regression
> in varasm.c's function default_assemble_visibility(). This caused a lot of
> testsuite regressions (eg.
> c-c++-common/torture/complex-sign-mixed-add.c, & co) as
> here internal visibility sets of C++ FE getting warned.
>
> ChangeLog cp/
>
> 2011-01-12 ?Kai Tietz
>
> ? ? ? ?PR c++/47213
> ? ? ? ?* cp-tree.h (CLASSTYPE_VISIBILITY): Use
> ? ? ? ?TYPE_MAIN_DECL instead of TYPE_NAME.
> ? ? ? ?(CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
> ? ? ? ?* decl2.c (determine_visibility): Add check
> ? ? ? ?of CLASS_TYPE_P for underlying_type.
>
> ChangeLog testsuite/
>
> 2011-01-12 ?Kai Tietz
>
> ? ? ? ?PR c++/47213
> ? ? ? ?* g++.dg/ext/pr47213.C: New.
>
> ChangeLog gcc/
>
> 2011-01-12 ?Kai Tietz
>
> ? ? ? ?PR c++/47213
> ? ? ? ?* varasm.c (default_assemble_visibility): Warn
> ? ? ? ?only if attribute was specified by user.
>
> Tested for x86_64-pc-linux-gnu (multilib), and x86_64-w64-mingw32. Ok for apply?
>
> Regards,
> Kai
>

Ups, missed to update patch file. Here is the correct version.

Kai

Attachment: pr47213.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]