ibstdc++: Shut up -Wattribute-alias warning [PR109694]
commit87de39e4c3686535728f3a347f772e73af4cf262
authorJakub Jelinek <jakub@redhat.com>
Tue, 2 May 2023 08:58:19 +0000 (2 10:58 +0200)
committerJakub Jelinek <jakub@redhat.com>
Tue, 2 May 2023 08:58:19 +0000 (2 10:58 +0200)
treecdc4edc18fa16f22b48a4ef6bef9954038217e24
parent1fc8da95d93d1f1f151149178dc836d1ba09594e
ibstdc++: Shut up -Wattribute-alias warning [PR109694]

I've followed what other files do, using attribute alias with not really
matching function type (after all, it isn't really possible when it is a
constructor), but seems I've missed it warns:
../../../../../libstdc++-v3/src/c++98/ios_init.cc:203:8: warning: ‘void std::ios_base_library_init()’ alias between functions of incompatible types ‘void()’ and ‘void
+(std::ios_base::Init::)()’ [-Wattribute-alias=]
  203 |   void ios_base_library_init (void)
      |        ^~~~~~~~~~~~~~~~~~~~~
../../../../../libstdc++-v3/src/c++98/ios_init.cc:78:3: note: aliased declaration here
   78 |   ios_base::Init::Init()
      |   ^~~~~~~~
The PR talks about clang++ warning there (which I think isn't really
supported, libstdc++ sources ought to be built by GCC), but it warns
when built with GCC too.

The following patch fixes it by doing what other libstdc++ sources do in
those cases.

2023-05-02  Jakub Jelinek  <jakub@redhat.com>

PR libstdc++/109694
* src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
-Wattribute-alias.
libstdc++-v3/src/c++98/ios_init.cc