Help for warning: type attributes are honored only at type definition

Lucas (a.k.a T-Bird or bsdfan3) tbird-contact@cox.net
Thu Nov 23 17:41:00 GMT 2006


You're right, this isn't the correct list for this question, try posting 
it to gcc-help

Francesco Montorsi wrote:

> Maybe this is not the right list for such question?
> Should I directly use gcc bugzilla?
>
> Thanks,
> Francesco
>
>
> Francesco Montorsi ha scritto:
>
>> Hi all,
>>    I'm getting a lot of warnings of type:
>>
>>     warning: type attributes are honored only at type definition
>>
>> when building a library which uses the 
>> __attribute__((visibility("default"))) also on forward declarations...
>>
>> While I greatly appreciate the new C++ visibility support in GCC, I 
>> think the above warning is a big malus for cross-platform projects 
>> which need the M$'s __declspec() attribute also on forward 
>> declarations....
>>
>> in fact reading
>>
>>   http://gcc.gnu.org/wiki/Visibility
>>
>> I see that this feature was designed with win32's declspec() 
>> attribute-compatibility in mind. This has definitively been a Good 
>> Thing but that warning does not make GCC fully compatible with 
>> __declspec.
>>
>> To remove all those warnings from the sources of my apps I'd need to 
>> use a DLLEXPORT_FORWARD macro when forward-declaring stuff (which 
>> would be defined as __declspec(dllexport) for win32 compilers like 
>> MSVC or Borland and which would expand to nothing for GCC).
>> And that would require me to change thousands of lines by hand :(
>>
>> Looking around for a solution (e.g. suppress that specific warning) 
>> I've found:
>>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20345
>>
>> and I wonder if the patch referenced there 
>> (http://gcc.gnu.org/ml/gcc-patches/2006-06/msg01511.html) does fix my 
>> problem, too. Does anyone know that?
>>
>> In that case, which is the first GCC version which will include that 
>> patch?
>>
>> Last, if that patch does not fix the warning, would it be possible to 
>> add a -Wno-type-attribute-declaration (or something like that) switch 
>> to suppress it?
>>
>>
>> Thanks a lot and keep up the good work!
>> Francesco Montorsi
>>
>>
>>
>> PS: I'm using the following CC version:
>>
>> frm@ubuntu:~$ gcc --version
>> gcc (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
>>
>>
>>
>>
>
>
>



More information about the Gcc mailing list