Help for warning: type attributes are honored only at type definition
Francesco Montorsi
f18m_cpp217828@yahoo.it
Wed Nov 22 21:52:00 GMT 2006
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