summaryrefslogtreecommitdiff
path: root/parser.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2002-05-21 03:16:33 +0000
committerH. Peter Anvin <hpa@zytor.com>2002-05-21 03:16:33 +0000
commit01377d8d7c90659a2db51f0475a2ee73627a6844 (patch)
tree748356edaf820933616551af79fdff4b76731864 /parser.c
parentaa8b6a1ff7e3be77b64f23efb2a914d0e8cafa1a (diff)
downloadnasm-01377d8d7c90659a2db51f0475a2ee73627a6844.tar.gz
nasm-01377d8d7c90659a2db51f0475a2ee73627a6844.tar.bz2
nasm-01377d8d7c90659a2db51f0475a2ee73627a6844.zip
Implement new "strict" keyword to inhibit optimization.
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/parser.c b/parser.c
index abfe91f..8891380 100644
--- a/parser.c
+++ b/parser.c
@@ -34,7 +34,7 @@ static long reg_flags[] = { /* sizes and special flags */
enum { /* special tokens */
S_BYTE, S_DWORD, S_FAR, S_LONG, S_NEAR, S_NOSPLIT, S_QWORD,
- S_SHORT, S_TO, S_TWORD, S_WORD
+ S_SHORT, S_STRICT, S_TO, S_TWORD, S_WORD
};
static int is_comma_next (void);
@@ -404,6 +404,9 @@ insn *parse_line (int pass, char *buffer, insn *result,
case S_TO:
result->oprs[operand].type |= TO;
break;
+ case S_STRICT:
+ result->oprs[operand].type |= STRICT;
+ break;
case S_FAR:
result->oprs[operand].type |= FAR;
break;