mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
Followup to r309570, fixing it slightly differently (ranges_base and addr_base should never be read from a DWO file - so there shouldn't be any issue with 'overriding' the values - conditionalize the code and assert that the values aren't being overriden). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309879 91177308-0d34-0410-b5e6-96231b3b80d8
23 lines
868 B
C++
23 lines
868 B
C++
__attribute__((optnone)) void f1() {}
|
|
inline __attribute__((always_inline)) void f2() {
|
|
f1();
|
|
}
|
|
// throw a gap in the address range to force use of DW_AT_ranges, ranges_base,
|
|
// range contribution in the .dwo file, etc.
|
|
__attribute__((nodebug)) void gap() {
|
|
}
|
|
int main() {
|
|
f2();
|
|
}
|
|
|
|
// To produce split-dwarf-dwp.o{,dwp}, Create another file that has ranges, so
|
|
// the ranges_base of the CU for split-dwarf-dwp.cpp is non-zero.
|
|
//
|
|
// $ cat > other.cpp
|
|
// void other1() {}
|
|
// __attribute__((nodebug)) void other2() {}
|
|
// void other3() {}
|
|
// $ clang++ other.cpp split-dwarf-dwp.cpp -gsplit-dwarf -c -Xclang -fdebug-compilation-dir -Xclang Output -fno-split-dwarf-inlining
|
|
// $ llvm-dwp other.dwo other.dwo split-dwarf-dwp.dwo -o test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp
|
|
// $ ld -r other.o split-dwarf-dwp.o -o test/DebugInfo/Inputs/split-dwarf-dwp.o
|