-
Notifications
You must be signed in to change notification settings - Fork 12k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[clang][integrated-as] "expected absolute expression" diffing symbols #53728
Comments
@llvm/issue-subscribers-bug |
slightly reduced case: .text
.set start, .
nop
.set end, .
.if end - start
.err
.endif From what I can tell, it looks like when recursive evaluating the I would think if Even .text
.set start, .
nop
.set end, .
.ifeq end == start
.err
.endif |
I feel like if the two symbols are in the same section (or at least the same fragment), we should be able to verify that their offsets are the same or different. See also:
llvm-project/llvm/lib/MC/MCExpr.cpp Lines 649 to 655 in ceb5dc5
|
Hi. I seem to be experiencing a relevant issue in that while code such as your test-label.s works from an assembly file
a straightforward re-rendering of it in a C file fails on clang (not gcc) with "expected absolute expression":
|
I've hit the same bug. Clang gives an error with the following extended asm:
But clang builds fine if the asm is moved to the assembly file, or by generating the asm by GCC and then building the asm to binary by clang. |
The original report of expression folding in The last two comments are about |
reported via lkml
The text was updated successfully, but these errors were encountered: