mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 22:20:37 +00:00
Expand variables when evaluating absolute expressions.
This allows for variables to be used in .size. This matches gnu AS functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231295 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
af9251f66b
commit
236aa85873
@ -436,7 +436,7 @@ bool MCExpr::evaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm,
|
||||
}
|
||||
|
||||
bool IsRelocatable = EvaluateAsRelocatableImpl(
|
||||
Value, Asm, Layout, nullptr, Addrs, InSet, /*ForceVarExpansion*/ false);
|
||||
Value, Asm, Layout, nullptr, Addrs, InSet, /*ForceVarExpansion*/ true);
|
||||
|
||||
// Record the current value.
|
||||
Res = Value.getConstant();
|
||||
|
15
test/MC/ELF/size.s
Normal file
15
test/MC/ELF/size.s
Normal file
@ -0,0 +1,15 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux < %s | llvm-readobj -t | FileCheck %s
|
||||
|
||||
foo:
|
||||
bar = .
|
||||
.size foo, . - bar + 42
|
||||
|
||||
// CHECK: Symbol {
|
||||
// CHECK: Name: foo
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 42
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
Loading…
Reference in New Issue
Block a user