Improve sorry message for -fzero-call-used-regs
When the -fzero-call-used-regs command line option is used with an
unsupported value, indicate that it's a value problem instead of an
option problem.
Without the patch, the error is:
In file included from gcc/testsuite/c-c++-common/zero-scratch-regs-8.c:5:
gcc/testsuite/c-c++-common/zero-scratch-regs-1.c: In function 'foo':
gcc/testsuite/c-c++-common/zero-scratch-regs-1.c:10:1: sorry, unimplemented: '-fzero-call-used-regs' not supported on this target
10 | }
| ^
With the patch, the error would be like this:
In file included from gcc/testsuite/c-c++-common/zero-scratch-regs-8.c:5:
gcc/testsuite/c-c++-common/zero-scratch-regs-1.c: In function 'foo':
gcc/testsuite/c-c++-common/zero-scratch-regs-1.c:10:1: sorry, unimplemented: argument 'all-arg' is not supported for '-fzero-call-used-regs' on this target
10 | }
| ^
2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
gcc/ChangeLog:
* targhooks.cc (default_zero_call_used_regs): Improve sorry
message.
Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
This commit is contained in:
+15
-2
@@ -93,6 +93,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "gimple.h"
|
||||
#include "cfgloop.h"
|
||||
#include "tree-vectorizer.h"
|
||||
#include "options.h"
|
||||
|
||||
bool
|
||||
default_legitimate_address_p (machine_mode mode ATTRIBUTE_UNUSED,
|
||||
@@ -1181,9 +1182,21 @@ default_zero_call_used_regs (HARD_REG_SET need_zeroed_hardregs)
|
||||
static bool issued_error;
|
||||
if (!issued_error)
|
||||
{
|
||||
const char *name = NULL;
|
||||
for (unsigned int i = 0; zero_call_used_regs_opts[i].name != NULL;
|
||||
++i)
|
||||
if (flag_zero_call_used_regs == zero_call_used_regs_opts[i].flag)
|
||||
{
|
||||
name = zero_call_used_regs_opts[i].name;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!name)
|
||||
name = "";
|
||||
|
||||
issued_error = true;
|
||||
sorry ("%qs not supported on this target",
|
||||
"-fzero-call-used-regs");
|
||||
sorry ("argument %qs is not supported for %qs on this target",
|
||||
name, "-fzero-call-used-regs");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user