PR libstdc++/87587 prevent -Wabi warnings
authorJonathan Wakely <jwakely@redhat.com>
Mon, 15 Oct 2018 12:58:51 +0000 (13:58 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 15 Oct 2018 12:58:51 +0000 (13:58 +0100)
The warnings about changes to empty struct parameter passing can be
ignored because the callers are all internal to the library, and so
compiled with the same -fabi-version as the function definitions.

It would be preferable to use #pragma GCC diagnostic warning "-Wabi=12"
to get warnings about any other ABI changes in future versions, but
until PR c++/87611 is fixed the warnings must be completely disabled
with #pragma GCC diagnostic ignroed "-Wabi".

PR libstdc++/87587
* src/c++11/cxx11-shim_facets.cc: Suppress -Wabi warnings.

From-SVN: r265163

libstdc++-v3/ChangeLog
libstdc++-v3/src/c++11/cxx11-shim_facets.cc

index 1c2e0ff..29f806e 100644 (file)
@@ -1,3 +1,8 @@
+2018-10-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/87587
+       * src/c++11/cxx11-shim_facets.cc: Suppress -Wabi warnings.
+
 2018-10-15  François Dumont  <fdumont@gcc.gnu.org>
 
        * include/debug/vector (vector<>::cbegin()): Use C++11 direct
index 017b0a0..78537bd 100644 (file)
@@ -224,6 +224,11 @@ namespace __facet_shims
     void
     __messages_close(other_abi, const facet*, messages_base::catalog);
 
+#pragma GCC diagnostic push
+// Suppress -Wabi=2 warnings due to empty struct argument passing changes.
+// TODO This should use -Wabi=12 but that currently fails (PR c++/87611).
+#pragma GCC diagnostic ignored "-Wabi"
+
   namespace // unnamed
   {
     struct __shim_accessor : facet
@@ -767,6 +772,8 @@ namespace __facet_shims
        return m->put(s, intl, io, fill, units);
     }
 
+#pragma GCC diagnostic pop
+
   template ostreambuf_iterator<char>
   __money_put(current_abi, const facet*, ostreambuf_iterator<char>,
                bool, ios_base&, char, long double, const __any_string*);