diff mbox series

PR libstdc++/87587 prevent -Wabi warnings

Message ID 20181015125844.GA15612@redhat.com
State New
Headers show
Series PR libstdc++/87587 prevent -Wabi warnings | expand

Commit Message

Jonathan Wakely Oct. 15, 2018, 12:58 p.m. UTC
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.

Tested x86_64-linux, committed to trunk.
commit 4f4aa94bc56613ff8f3079f471bce14bdd4b2407
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Mon Oct 15 13:16:26 2018 +0100

    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.
diff mbox series

Patch

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<char>
   __money_put(current_abi, const facet*, ostreambuf_iterator<char>,
 		bool, ios_base&, char, long double, const __any_string*);