projects
/
b43-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow passing CPP parameters right after the filenames.
[b43-tools.git]
/
assembler
/
parser.y
diff --git
a/assembler/parser.y
b/assembler/parser.y
index e75d9f4d371873ae1d0ab2e7d3f3c757e313ad5f..50065bab65e6b7f514c800052aaea51d0c393cf4 100644
(file)
--- a/
assembler/parser.y
+++ b/
assembler/parser.y
@@
-516,7
+516,12
@@
asmdir : ASM_ARCH hexnum_decnum {
ad->u.start = label;
$$ = ad;
}
ad->u.start = label;
$$ = ad;
}
- | ASM_ASSERT assertion {
+ | asm_assert {
+ $$ = NULL;
+ }
+ ;
+
+asm_assert : ASM_ASSERT assertion {
unsigned int ok = (unsigned int)(unsigned long)$2;
if (!ok)
assembler_assertion_failed();
unsigned int ok = (unsigned int)(unsigned long)$2;
if (!ok)
assembler_assertion_failed();
@@
-1201,6
+1206,10
@@
complex_imm : PAREN_OPEN complex_imm_arg complex_imm_oper complex_imm_arg PAREN_
| PAREN_OPEN complex_imm PAREN_CLOSE {
$$ = $2;
}
| PAREN_OPEN complex_imm PAREN_CLOSE {
$$ = $2;
}
+ | PAREN_OPEN asm_assert PAREN_CLOSE {
+ /* Inline assertion. Always return zero */
+ $$ = (void *)(unsigned long)(unsigned int)0;
+ }
| PAREN_OPEN BITW_NOT complex_imm PAREN_CLOSE {
unsigned long n = (unsigned long)$3;
n = ~n;
| PAREN_OPEN BITW_NOT complex_imm PAREN_CLOSE {
unsigned long n = (unsigned long)$3;
n = ~n;