CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
76 lines
2.3 KiB
Plaintext
76 lines
2.3 KiB
Plaintext
Consider this program:
|
|
|
|
$ cat a.c
|
|
void g(int x) {}
|
|
void f(int x);
|
|
int main(int argc) {
|
|
if (argc) {
|
|
int x = 42;
|
|
f(x);
|
|
} else {
|
|
int y = 13;
|
|
f(y);
|
|
}
|
|
}
|
|
|
|
$ cat b.c
|
|
extern void g();
|
|
void f(int x) {
|
|
if (x) {
|
|
int y = x + 3;
|
|
g(y);
|
|
} else {
|
|
int w = x + 4;
|
|
g(w);
|
|
}
|
|
}
|
|
|
|
This program is interesting because there are two TUs, and each TU has nested
|
|
scopes. Make sure we get the right parent and end offsets.
|
|
|
|
RUN: yaml2obj %S/Inputs/pdb-scopes-a.yaml -o %t-a.obj
|
|
RUN: yaml2obj %S/Inputs/pdb-scopes-b.yaml -o %t-b.obj
|
|
RUN: lld-link %t-a.obj %t-b.obj -debug -entry:main -nodefaultlib -out:%t.exe -pdb:%t.pdb
|
|
RUN: llvm-pdbutil dump -symbols %t.pdb | FileCheck %s
|
|
|
|
CHECK-LABEL: Mod 0000 | `{{.*}}pdb-scopes.test.tmp-a.obj`:
|
|
CHECK: 104 | S_GPROC32 [size = 44] `g`
|
|
CHECK: parent = 0, end = 196, addr = 0001:0000, code size = 5
|
|
CHECK: debug start = 4, debug end = 4, flags = none
|
|
CHECK: 180 | S_REGREL32 [size = 16] `x`
|
|
CHECK: 196 | S_END [size = 4]
|
|
CHECK: 200 | S_GPROC32 [size = 44] `main`
|
|
CHECK: parent = 0, end = 384, addr = 0001:0016, code size = 58
|
|
CHECK: debug start = 8, debug end = 53, flags = none
|
|
CHECK: 276 | S_REGREL32 [size = 20] `argc`
|
|
CHECK: 296 | S_BLOCK32 [size = 24] ``
|
|
CHECK: parent = 200, end = 336
|
|
CHECK: code size = 17, addr = 0001:0031
|
|
CHECK: 320 | S_REGREL32 [size = 16] `x`
|
|
CHECK: 336 | S_END [size = 4]
|
|
CHECK: 340 | S_BLOCK32 [size = 24] ``
|
|
CHECK: parent = 200, end = 380
|
|
CHECK: code size = 17, addr = 0001:0050
|
|
CHECK: 364 | S_REGREL32 [size = 16] `y`
|
|
CHECK: 380 | S_END [size = 4]
|
|
CHECK: 384 | S_END [size = 4]
|
|
|
|
CHECK-LABEL: Mod 0001 | `{{.*}}pdb-scopes.test.tmp-b.obj`:
|
|
CHECK: 104 | S_GPROC32 [size = 44] `f`
|
|
CHECK: parent = 0, end = 284, addr = 0001:0080, code size = 62
|
|
CHECK: debug start = 8, debug end = 57, flags = none
|
|
CHECK: 180 | S_REGREL32 [size = 16] `x`
|
|
CHECK: 196 | S_BLOCK32 [size = 24] ``
|
|
CHECK: parent = 104, end = 236
|
|
CHECK: code size = 20, addr = 0001:0095
|
|
CHECK: 220 | S_REGREL32 [size = 16] `y`
|
|
CHECK: 236 | S_END [size = 4]
|
|
CHECK: 240 | S_BLOCK32 [size = 24] ``
|
|
CHECK: parent = 104, end = 280
|
|
CHECK: code size = 20, addr = 0001:0117
|
|
CHECK: 264 | S_REGREL32 [size = 16] `w`
|
|
CHECK: 280 | S_END [size = 4]
|
|
CHECK: 284 | S_END [size = 4]
|
|
|
|
CHECK-LABEL: Mod 0002 | `* Linker *`:
|