On 4/18/19 5:09 AM, Martin Liška wrote:
Hi.
The patch distinguishes among target and target_clone attribute when
reporting for an error. I've also reworded the affected error messages
a bit.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed after stage1 opens?
Thanks,
Martin
---
gcc/cgraphclones.c | 2 +-
gcc/config/i386/i386-c.c | 5 +-
gcc/config/i386/i386-protos.h | 4 +-
gcc/config/i386/i386.c | 54 +++++++++++++---------
gcc/testsuite/gcc.target/i386/funcspec-4.c | 2 +-
5 files changed, 39 insertions(+), 28 deletions(-)
Just a suggestion to also consider making the phrasing in the messages
consistent by adding "is" below
@@ -5316,7 +5322,7 @@ ix86_valid_target_attribute_inner_p (tree args,
char *p_strings[],
else if (TREE_CODE (args) != STRING_CST)
{
- error ("attribute %<target%> argument not a string");
+ error_at (loc, "attribute %qs argument not a string", attr_name);
return false;
i.e., "is not a string" and changing the below
@@ -5382,7 +5386,8 @@ ix86_valid_target_attribute_inner_p (tree args,
char *p_strings[],
/* Process the option. */
if (opt == N_OPTS)
{
- error ("attribute(target(\"%s\")) is unknown", orig_p);
+ error_at (loc, "attribute value %qs is unknown in %qs attribute",
+ orig_p, attr_name);
to
error_at (loc, "attribute %qs argument %qs is unknown",
attr_name, orig_p);
Martin