xref: /llvm-project/lld/test/COFF/pdb-local-constants.test (revision 2298a44ccdc1a9babcb2712a0019d064b3cecd5a)
1# REQUIRES: x86
2# RUN: llvm-mc -filetype=obj %S/Inputs/pdb-local-constants.s -o %t.obj -triple x86_64-windows-msvc
3# RUN: lld-link -entry:main -nodefaultlib %t.obj -out:%t.exe -pdb:%t.pdb -debug
4# RUN: llvm-pdbutil dump -globals -symbols %t.pdb | FileCheck %s
5#
6# Check that LLD puts the S_CONSTANT records in the right scope
7#
8# Compiled from this C code, using
9# clang t.cpp -g -gcodeview -S
10#
11# const int g_const = 321;
12# int main() { int i = 123; return i + g_const; }
13#
14
15CHECK:                       Global Symbols
16CHECK:           40 | S_CONSTANT [size = 20] `g_const`
17CHECK-NEXT:           type = 0x1002 (const int), value = 321
18
19CHECK:                          Symbols
20CHECK:           220 | S_CONSTANT [size = 12] `i`
21CHECK-NEXT            type = 0x0074 (int), value = 123