As suggested by Jakub in 
https://gcc.gnu.org/ml/gcc-patches/2016-10/msg00305.html .
The warning name isn't so super for us, but the option is undocumented
anyway; maybe it means "warn for particularly surprising abi differences".


2016-10-06  Segher Boessenkool  <seg...@kernel.crashing.org>

        * config/rs6000/rs6000.c (rs6000_return_in_memory): Warn for
        vector return by reference only if -Wpsabi.
        (rs6000_pass_by_reference): Similarly, for argument passing.

---
 gcc/config/rs6000/rs6000.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index e93688a..f0927db 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -10894,7 +10894,7 @@ rs6000_return_in_memory (const_tree type, const_tree 
fntype ATTRIBUTE_UNUSED)
       static bool warned_for_return_big_vectors = false;
       if (!warned_for_return_big_vectors)
        {
-         warning (0, "GCC vector returned by reference: "
+         warning (OPT_Wpsabi, "GCC vector returned by reference: "
                   "non-standard ABI extension with no compatibility 
guarantee");
          warned_for_return_big_vectors = true;
        }
@@ -12552,7 +12552,7 @@ rs6000_pass_by_reference (cumulative_args_t cum 
ATTRIBUTE_UNUSED,
        fprintf (stderr, "function_arg_pass_by_reference: synthetic vector\n");
       if (!warned_for_pass_big_vectors)
        {
-         warning (0, "GCC vector passed by reference: "
+         warning (OPT_Wpsabi, "GCC vector passed by reference: "
                   "non-standard ABI extension with no compatibility 
guarantee");
          warned_for_pass_big_vectors = true;
        }
-- 
1.9.3

Reply via email to