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
}
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();
--- /dev/null
+// 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: }