llvm/llvm/test/tools/dsymutil/X86/debug-loc-base-addr.test

RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/baseaddr/loc1.x86_64 -f -o - | llvm-dwarfdump --debug-info - | FileCheck %s

RUN: dsymutil --linker parallel -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/baseaddr/loc1.x86_64 -f -o - | llvm-dwarfdump --debug-info - | FileCheck %s

The test was compiled from a single source:
$ cat loc1.cpp
int f1(int i, int j) {
  int x = 5;
  int y = 3;
  int r = i + j;
  int undef;
  x = undef;
  y = 4;
  return r;
}
__attribute__((nodebug)) void f2() {
}
int main() {
  return 0;
}

CHECK: DW_TAG_compile_unit
CHECK: DW_TAG_variable
CHECK: DW_AT_location
CHECK: [0x0000000100000f94, 0x0000000100000f97): DW_OP_consts +3, DW_OP_stack_value
CHECK: [0x0000000100000f97, 0x0000000100000f99): DW_OP_consts +4, DW_OP_stack_value
CHECK: DW_TAG_variable
CHECK: DW_AT_location
CHECK: [0x0000000100000f94, 0x0000000100000f97): DW_OP_consts +5, DW_OP_stack_value
CHECK: DW_TAG_variable
CHECK: DW_AT_location
CHECK: [0x0000000100000f97, 0x0000000100000f99): DW_OP_reg0 RAX