xref: /llvm-project/cross-project-tests/debuginfo-tests/dexter-tests/vla.c (revision e6cc7b723f244f52663b6d67a5d94597109da1ef)
11364750dSJames Henderson // This test case verifies the debug location for variable-length arrays.
21364750dSJames Henderson // REQUIRES: lldb
31364750dSJames Henderson // UNSUPPORTED: system-windows
41364750dSJames Henderson //
5*45a40c16SStephen Tozer // RUN: %clang -std=gnu11 -O0 -glldb %s -o %t
6*45a40c16SStephen Tozer // RUN: %dexter --fail-lt 1.0 -w --binary %t --debugger 'lldb' -- %s
71364750dSJames Henderson 
init_vla(int size)81364750dSJames Henderson void init_vla(int size) {
91364750dSJames Henderson   int i;
101364750dSJames Henderson   int vla[size];
111364750dSJames Henderson   for (i = 0; i < size; i++)
121364750dSJames Henderson     vla[i] = size-i;
131364750dSJames Henderson   vla[0] = size; // DexLabel('end_init')
141364750dSJames Henderson }
151364750dSJames Henderson 
main(int argc,const char ** argv)161364750dSJames Henderson int main(int argc, const char **argv) {
171364750dSJames Henderson   init_vla(23);
181364750dSJames Henderson   return 0;
191364750dSJames Henderson }
201364750dSJames Henderson 
211364750dSJames Henderson // DexExpectWatchValue('vla[0]', '23', on_line=ref('end_init'))
221364750dSJames Henderson // DexExpectWatchValue('vla[1]', '22', on_line=ref('end_init'))
231364750dSJames Henderson 
24