aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Stump <mikestump@comcast.net>2014-05-12 21:22:20 +0000
committerMike Stump <mrs@gcc.gnu.org>2014-05-12 21:22:20 +0000
commit77a1da2c02cfa88f68b8f2435143f7a9dbc8a35f (patch)
tree10c82eb5d9145ce0ef5ca69ca57f847a95fa9f2c
parentf636f886d2e802eb55b5046351f34e795f8eda3a (diff)
downloadgcc-77a1da2c02cfa88f68b8f2435143f7a9dbc8a35f.zip
gcc-77a1da2c02cfa88f68b8f2435143f7a9dbc8a35f.tar.gz
gcc-77a1da2c02cfa88f68b8f2435143f7a9dbc8a35f.tar.bz2
re PR other/31778 (genattrtab.c doesn't record filename)
PR other/31778 * genattrtab.c (filename): Add. (convert_set_attr_alternative): Improve error message. (check_defs): Restore read_md_filename for error messages. (gen_insn): Save filename. From-SVN: r210340
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/genattrtab.c6
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8f87b69..9614470 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2014-05-12 Mike Stump <mikestump@comcast.net>
+
+ PR other/31778
+ * genattrtab.c (filename): Add.
+ (convert_set_attr_alternative): Improve error message.
+ (check_defs): Restore read_md_filename for error messages.
+ (gen_insn): Save filename.
+
2014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
* doc/invoke.texi: Document new switches -Wno-shadow-ivar,
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index 99b1b83..0f14b4d 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -139,6 +139,7 @@ struct insn_def
rtx def; /* The DEFINE_... */
int insn_code; /* Instruction number. */
int insn_index; /* Expression number in file, for errors. */
+ const char *filename; /* Filename. */
int lineno; /* Line number. */
int num_alternatives; /* Number of alternatives. */
int vec_idx; /* Index of attribute vector in `def'. */
@@ -1066,7 +1067,8 @@ convert_set_attr_alternative (rtx exp, struct insn_def *id)
if (XVECLEN (exp, 1) != num_alt)
{
error_with_line (id->lineno,
- "bad number of entries in SET_ATTR_ALTERNATIVE");
+ "bad number of entries in SET_ATTR_ALTERNATIVE, was %d expected %d",
+ XVECLEN (exp, 1), num_alt);
return NULL_RTX;
}
@@ -1137,6 +1139,7 @@ check_defs (void)
if (XVEC (id->def, id->vec_idx) == NULL)
continue;
+ read_md_filename = id->filename;
for (i = 0; i < XVECLEN (id->def, id->vec_idx); i++)
{
value = XVECEXP (id->def, id->vec_idx, i);
@@ -3280,6 +3283,7 @@ gen_insn (rtx exp, int lineno)
id->next = defs;
defs = id;
id->def = exp;
+ id->filename = read_md_filename;
id->lineno = lineno;
switch (GET_CODE (exp))