From f9bd185f189b26627959671bc65dc44d2e769e3e Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 15 Oct 2018 13:58:51 +0100 Subject: [PATCH] PR libstdc++/87587 prevent -Wabi warnings 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 | 5 +++++ libstdc++-v3/src/c++11/cxx11-shim_facets.cc | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1c2e0ff9c0f..29f806e96d6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2018-10-15 Jonathan Wakely + + PR libstdc++/87587 + * src/c++11/cxx11-shim_facets.cc: Suppress -Wabi warnings. + 2018-10-15 François Dumont * include/debug/vector (vector<>::cbegin()): Use C++11 direct diff --git a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc index 017b0a0fdb6..78537bd152f 100644 --- a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc +++ b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc @@ -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 __money_put(current_abi, const facet*, ostreambuf_iterator, bool, ios_base&, char, long double, const __any_string*);