From 56b31d3e8235beccc7ccf9fb534888a9ab949a0c Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Wed, 12 Oct 2016 17:09:26 +0200 Subject: [PATCH] rs6000: Warn for "GCC vector passed by reference" only with -Wpsabi * 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. From-SVN: r241058 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 35f38fff13a..ccbe7ac0d0f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-10-12 Segher Boessenkool + + * 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. + 2016-10-12 David Malcolm * function-tests.c: Include "print-rtl.h". diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 3a164e9b1c8..c816718df9b 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -10952,7 +10952,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; } @@ -12610,7 +12610,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; } -- 2.30.2