diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-28 19:49:18 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-28 19:49:18 +0000 |
commit | 205c3b0ab6423dca05db534c7b7099f39eaee409 (patch) | |
tree | 18194c4ebc03529b7414e609111af0e8e670d580 /gcc/genoutput.c | |
parent | 75b115f41512fbbab79191059ba6a21bbd98a7c9 (diff) | |
download | gcc-205c3b0ab6423dca05db534c7b7099f39eaee409.tar.gz |
gcc/
* doc/md.texi: Document that the % constraint character must
be at the beginning of the string.
* genoutput.c (validate_insn_alternatives): Check that '=',
'+' and '%' only appear at the beginning of a constraint.
* ira.c (commutative_constraint_p): Delete.
(ira_get_dup_out_num): Expect the '%' commutativity marker to be
at the start of the string.
* config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
duplicate '='s.
* config/arm/neon.md (bicdi3_neon): Likewise.
* config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
(slt_si, sltu_si): Likewise.
* config/vax/vax.md (sbcdi3): Likewise.
* config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
* config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
(mul64): Move '%' to beginning of constraint.
* config/arm/arm.md (*xordi3_insn): Likewise.
* config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
(xorsi3): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211031 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genoutput.c')
-rw-r--r-- | gcc/genoutput.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/genoutput.c b/gcc/genoutput.c index 26fb1acfde7..b3ce120f33a 100644 --- a/gcc/genoutput.c +++ b/gcc/genoutput.c @@ -781,6 +781,11 @@ validate_insn_alternatives (struct data *d) for (p = d->operand[start].constraint; (c = *p); p += len) { + if ((c == '%' || c == '=' || c == '+') + && p != d->operand[start].constraint) + error_with_line (d->lineno, + "character '%c' can only be used at the" + " beginning of a constraint string", c); #ifdef USE_MD_CONSTRAINTS if (ISSPACE (c) || strchr (indep_constraints, c)) len = 1; |