brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.6 KiB · f44a5b9 Raw
164 lines · cpp
1// clang-format off2 3// REQUIRES: target-windows4// RUN: %build -o %t.exe -- %s5// RUN: %lldb -f %t.exe -s \6// RUN:     %p/Inputs/local-variables.lldbinit 2>&1 | FileCheck %s7 8int Function(int Param1, char Param2) {9  unsigned Local1 = Param1 + 1;10  char Local2 = Param2 + 1;11  ++Local1;12  ++Local2;13  return Local1;14}15 16int main(int argc, char **argv) {17  int SomeLocal = argc * 2;18  return Function(SomeLocal, 'a');19}20 21// CHECK:      (lldb) target create "{{.*}}local-variables.cpp.tmp.exe"22// CHECK-NEXT: Current executable set to '{{.*}}local-variables.cpp.tmp.exe'23// CHECK-NEXT: (lldb) command source -s 0 '{{.*}}local-variables.lldbinit'24// CHECK-NEXT: Executing commands in '{{.*}}local-variables.lldbinit'.25// CHECK-NEXT: (lldb) break set -f local-variables.cpp -l 1726// CHECK-NEXT: Breakpoint 1: where = local-variables.cpp.tmp.exe`main + {{.*}} at local-variables.cpp:{{.*}}, address = {{.*}}27// CHECK-NEXT: (lldb) run a b c d e f g28// CHECK-NEXT: Process {{.*}} launched: '{{.*}}local-variables.cpp.tmp.exe'29// CHECK-NEXT: Process {{.*}} stopped30// CHECK-NEXT: * thread #1, stop reason = breakpoint 1.131// CHECK-NEXT:     frame #0: {{.*}} local-variables.cpp.tmp.exe`main(argc=8, argv={{.*}}) at local-variables.cpp:{{.*}}32// CHECK-NEXT:    14   }33// CHECK-NEXT:    1534// CHECK-NEXT:    16   int main(int argc, char **argv) {35// CHECK-NEXT: -> 17     int SomeLocal = argc * 2;36// CHECK-NEXT:    18     return Function(SomeLocal, 'a');37// CHECK-NEXT:    19   }38// CHECK-NEXT:    2039 40// CHECK:      (lldb) expression argc41// CHECK-NEXT: (int) $0 = 842// CHECK-NEXT: (lldb) step43// CHECK-NEXT: Process {{.*}} stopped44// CHECK-NEXT: * thread #1, stop reason = step in45// CHECK-NEXT:     frame #0: {{.*}} local-variables.cpp.tmp.exe`main(argc=8, argv={{.*}}) at local-variables.cpp:{{.*}}46// CHECK-NEXT:    1547// CHECK-NEXT:    16 int main(int argc, char **argv) {48// CHECK-NEXT:    17     int SomeLocal = argc * 2;49// CHECK-NEXT: -> 18     return Function(SomeLocal, 'a');50// CHECK-NEXT:    19 }51// CHECK-NEXT:    2052 53// CHECK:      (lldb) expression SomeLocal54// CHECK-NEXT: (int) $1 = 1655// CHECK-NEXT: (lldb) step56// CHECK-NEXT: Process {{.*}} stopped57// CHECK-NEXT: * thread #1, stop reason = step in58// CHECK-NEXT:     frame #0: {{.*}} local-variables.cpp.tmp.exe`int Function(Param1=16, Param2='a') at local-variables.cpp:{{.*}}59// CHECK-NEXT:    660// CHECK-NEXT:    761// CHECK-NEXT:    8 int Function(int Param1, char Param2) {62// CHECK-NEXT: -> 9      unsigned Local1 = Param1 + 1;63// CHECK-NEXT:    10     char Local2 = Param2 + 1;64// CHECK-NEXT:    11     ++Local1;65// CHECK-NEXT:    12     ++Local2;66 67// CHECK:      (lldb) expression Param168// CHECK-NEXT: (int) $2 = 1669// CHECK-NEXT: (lldb) expression Param270// CHECK-NEXT: (char) $3 = 'a'71// CHECK-NEXT: (lldb) step72// CHECK-NEXT: Process {{.*}} stopped73// CHECK-NEXT: * thread #1, stop reason = step in74// CHECK-NEXT:     frame #0: {{.*}} local-variables.cpp.tmp.exe`int Function(Param1=16, Param2='a') at local-variables.cpp:{{.*}}75// CHECK-NEXT:    776// CHECK-NEXT:    8    int Function(int Param1, char Param2) {77// CHECK-NEXT:    9      unsigned Local1 = Param1 + 1;78// CHECK-NEXT: -> 10     char Local2 = Param2 + 1;79// CHECK-NEXT:    11     ++Local1;80// CHECK-NEXT:    12     ++Local2;81// CHECK-NEXT:    13     return Local1;82 83// CHECK:      (lldb) expression Param184// CHECK-NEXT: (int) $4 = 1685// CHECK-NEXT: (lldb) expression Param286// CHECK-NEXT: (char) $5 = 'a'87// CHECK-NEXT: (lldb) expression Local188// CHECK-NEXT: (unsigned int) $6 = 1789// CHECK-NEXT: (lldb) step90// CHECK-NEXT: Process {{.*}} stopped91// CHECK-NEXT: * thread #1, stop reason = step in92// CHECK-NEXT:     frame #0: {{.*}} local-variables.cpp.tmp.exe`int Function(Param1=16, Param2='a') at local-variables.cpp:{{.*}}93// CHECK-NEXT:    8    int Function(int Param1, char Param2) {94// CHECK-NEXT:    9      unsigned Local1 = Param1 + 1;95// CHECK-NEXT:    10     char Local2 = Param2 + 1;96// CHECK-NEXT: -> 11     ++Local1;97// CHECK-NEXT:    12     ++Local2;98// CHECK-NEXT:    13     return Local1;99// CHECK-NEXT:    14   }100 101// CHECK:      (lldb) expression Param1102// CHECK-NEXT: (int) $7 = 16103// CHECK-NEXT: (lldb) expression Param2104// CHECK-NEXT: (char) $8 = 'a'105// CHECK-NEXT: (lldb) expression Local1106// CHECK-NEXT: (unsigned int) $9 = 17107// CHECK-NEXT: (lldb) expression Local2108// CHECK-NEXT: (char) $10 = 'b'109// CHECK-NEXT: (lldb) step110// CHECK-NEXT: Process {{.*}} stopped111// CHECK-NEXT: * thread #1, stop reason = step in112// CHECK-NEXT:     frame #0: {{.*}} local-variables.cpp.tmp.exe`int Function(Param1=16, Param2='a') at local-variables.cpp:{{.*}}113// CHECK-NEXT:    9      unsigned Local1 = Param1 + 1;114// CHECK-NEXT:    10     char Local2 = Param2 + 1;115// CHECK-NEXT:    11     ++Local1;116// CHECK-NEXT: -> 12     ++Local2;117// CHECK-NEXT:    13     return Local1;118// CHECK-NEXT:    14   }119// CHECK-NEXT:    15120 121// CHECK:      (lldb) expression Param1122// CHECK-NEXT: (int) $11 = 16123// CHECK-NEXT: (lldb) expression Param2124// CHECK-NEXT: (char) $12 = 'a'125// CHECK-NEXT: (lldb) expression Local1126// CHECK-NEXT: (unsigned int) $13 = 18127// CHECK-NEXT: (lldb) expression Local2128// CHECK-NEXT: (char) $14 = 'b'129// CHECK-NEXT: (lldb) step130// CHECK-NEXT: Process {{.*}} stopped131// CHECK-NEXT: * thread #1, stop reason = step in132// CHECK-NEXT:     frame #0: {{.*}} local-variables.cpp.tmp.exe`int Function(Param1=16, Param2='a') at local-variables.cpp:{{.*}}133// CHECK-NEXT:    10      char Local2 = Param2 + 1;134// CHECK-NEXT:    11     ++Local1;135// CHECK-NEXT:    12     ++Local2;136// CHECK-NEXT: -> 13     return Local1;137// CHECK-NEXT:    14   }138// CHECK-NEXT:    15139// CHECK-NEXT:    16   int main(int argc, char **argv) {140 141// CHECK:      (lldb) expression Param1142// CHECK-NEXT: (int) $15 = 16143// CHECK-NEXT: (lldb) expression Param2144// CHECK-NEXT: (char) $16 = 'a'145// CHECK-NEXT: (lldb) expression Local1146// CHECK-NEXT: (unsigned int) $17 = 18147// CHECK-NEXT: (lldb) expression Local2148// CHECK-NEXT: (char) $18 = 'c'149// CHECK-NEXT: (lldb) continue150// CHECK-NEXT: Process {{.*}} resuming151// CHECK-NEXT: Process {{.*}} exited with status = 18 (0x00000012)152 153// CHECK:      (lldb) target modules dump ast154// CHECK-NEXT: Dumping clang ast for {{.*}} modules.155// CHECK-NEXT: TranslationUnitDecl156// CHECK-NEXT: |-FunctionDecl {{.*}} main 'int (int, char **)'157// CHECK-NEXT: | |-ParmVarDecl {{.*}} argc 'int'158// CHECK-NEXT: | `-ParmVarDecl {{.*}} argv 'char **'159// CHECK-NEXT: |-FunctionDecl {{.*}} __scrt_common_main_seh 'int ()' static 160// CHECK-NEXT: |-FunctionDecl {{.*}} invoke_main 'int ()' inline161// CHECK: `-FunctionDecl {{.*}} Function 'int (int, char)'162// CHECK-NEXT:   |-ParmVarDecl {{.*}} Param1 'int'163// CHECK-NEXT:   `-ParmVarDecl {{.*}} Param2 'char'164