From: Mike Stump Date: Mon, 12 May 2014 21:22:20 +0000 (+0000) Subject: re PR other/31778 (genattrtab.c doesn't record filename) X-Git-Tag: upstream/12.2.0~63342 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=77a1da2c02cfa88f68b8f2435143f7a9dbc8a35f;p=platform%2Fupstream%2Fgcc.git 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 --- 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 + + 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 * 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))