summaryrefslogtreecommitdiff
path: root/assembler/gram.y
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2006-08-29 09:30:32 -0700
committerDamien Lespiau <damien.lespiau@intel.com>2013-03-04 15:54:23 +0000
commitde1a889fe3554df47a6a751855ebae0cd1517e2f (patch)
tree50de7d8c40afd00e64c7af5f644acd1cd0009acd /assembler/gram.y
parent0ed5d93cc2f7aa74a10674c8ea0c9a0125a8521f (diff)
Avoid shift/reduce conflict in predicate by making flagreg and subreg 1 token.
Thanks to keithp for pointing out where the conflict was.
Diffstat (limited to 'assembler/gram.y')
-rw-r--r--assembler/gram.y11
1 files changed, 3 insertions, 8 deletions
diff --git a/assembler/gram.y b/assembler/gram.y
index f2120855..aadc5022 100644
--- a/assembler/gram.y
+++ b/assembler/gram.y
@@ -651,16 +651,11 @@ accreg: ACCREG subregnum
}
;
-flagreg: FLAGREG subregnum
+flagreg: FLAGREG
{
- if ($1 > 0) {
- fprintf(stderr,
- "flag register number %d out of range", $1);
- YYERROR;
- }
$$.reg_file = BRW_ARCHITECTURE_REGISTER_FILE;
- $$.reg_nr = BRW_ARF_FLAG | $1;
- $$.subreg_nr = $2;
+ $$.reg_nr = BRW_ARF_FLAG | 0;
+ $$.subreg_nr = $1;
}
;