1*1364750dSJames Henderson // REQUIRES: system-windows
2*1364750dSJames Henderson //
3*1364750dSJames Henderson // RUN: %dexter --fail-lt 1.0 -w --builder 'clang-cl_vs2015' \
4*1364750dSJames Henderson // RUN:      --debugger 'dbgeng' --cflags '/Z7 /Zi' --ldflags '/Z7 /Zi' -- %s
5*1364750dSJames Henderson 
6*1364750dSJames Henderson // Check that global constants have debug info.
7*1364750dSJames Henderson 
8*1364750dSJames Henderson const float TestPi = 3.14;
9*1364750dSJames Henderson struct S {
10*1364750dSJames Henderson   static const char TestCharA = 'a';
11*1364750dSJames Henderson };
12*1364750dSJames Henderson enum TestEnum : int {
13*1364750dSJames Henderson   ENUM_POS = 2147000000,
14*1364750dSJames Henderson   ENUM_NEG = -2147000000,
15*1364750dSJames Henderson };
useConst(int)16*1364750dSJames Henderson void useConst(int) {}
main()17*1364750dSJames Henderson int main() {
18*1364750dSJames Henderson   useConst(TestPi);
19*1364750dSJames Henderson   useConst(S::TestCharA);
20*1364750dSJames Henderson   useConst(ENUM_NEG); // DexLabel('stop')
21*1364750dSJames Henderson   return 0;
22*1364750dSJames Henderson }
23*1364750dSJames Henderson 
24*1364750dSJames Henderson // DexExpectWatchValue('TestPi', 3.140000104904175, on_line=ref('stop'))
25*1364750dSJames Henderson // DexExpectWatchValue('S::TestCharA', 97, on_line=ref('stop'))
26*1364750dSJames Henderson // DexExpectWatchValue('ENUM_NEG', -2147000000, on_line=ref('stop'))
27*1364750dSJames Henderson /* DexExpectProgramState({'frames': [{
28*1364750dSJames Henderson                'location': {'lineno' : ref('stop')},
29*1364750dSJames Henderson                'watches': {'ENUM_POS' : {'is_irretrievable': True}}
30*1364750dSJames Henderson }]}) */
31