brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 2d5cbe0 Raw
65 lines · cpp
1// Purpose:2//    Test \DexStepFunction usage with \DexContinue. Continuing out of `c`3//    should result in stepping resuming in `a` (check there's no issue when4//    `b` is inlined). Then continuing out of `a` should run on to `f` where5//    stepping resumes again. Stepping out of `f` into `main`, run free6//    again until the program exits.7//8// This command is only implemented for debuggers with DAP support.9// UNSUPPORTED: system-windows10//11// RUN: %dexter_regression_test_cxx_build %s -o %t12// RUN: %dexter_regression_test_run -v --binary %t -- %s 2>&1 | FileCheck %s13 14int g = 0;15int c(int) {16  ++g;17  ++g;18  ++g;19  ++g;20  ++g;21  return 0;22}23 24__attribute__((always_inline))25int b(int) {26  ++g;27  return c(g);28}29 30int a(int) {31  ++g;32  b(g);33  ++g;34  return g;35}36 37void f() {38  ++g;39}40 41int main() {42  int x = a(g);43  f();44  return x;45}46 47// DexStepFunction('c')48// DexContinue(from_line=17, to_line=19)49// DexContinue(from_line=20)50// DexStepFunction('a')51// DexContinue(from_line=33)52// DexStepFunction('f')53 54// CHECK:      ## BEGIN ##55// CHECK-NEXT: .   [0, "a(int)", "{{.*}}dex-continue.cpp", 31, 3, "StopReason.BREAKPOINT", "StepKind.FUNC", []]56// CHECK-NEXT: .   [1, "a(int)", "{{.*}}dex-continue.cpp", 32, 5, "StopReason.STEP", "StepKind.VERTICAL_FORWARD", []]57// CHECK-NEXT: .   .   .   [2, "c(int)", "{{.*}}dex-continue.cpp", 16, 3, "StopReason.BREAKPOINT", "StepKind.FUNC", []]58// CHECK-NEXT: .   .   .   [3, "c(int)", "{{.*}}dex-continue.cpp", 17, 3, "StopReason.BREAKPOINT", "StepKind.VERTICAL_FORWARD", []]59// CHECK-NEXT: .   .   .   [4, "c(int)", "{{.*}}dex-continue.cpp", 19, 3, "StopReason.BREAKPOINT", "StepKind.VERTICAL_FORWARD", []]60// CHECK-NEXT: .   .   .   [5, "c(int)", "{{.*}}dex-continue.cpp", 20, 3, "StopReason.BREAKPOINT", "StepKind.VERTICAL_FORWARD", []]61// CHECK-NEXT: .   [6, "a(int)", "{{.*}}dex-continue.cpp", 33, 3, "StopReason.BREAKPOINT", "StepKind.VERTICAL_FORWARD", []]62// CHECK-NEXT: .   [7, "f()", "{{.*}}dex-continue.cpp", 38, 3, "StopReason.BREAKPOINT", "StepKind.VERTICAL_FORWARD", []]63// CHECK-NEXT: .   [8, "f()", "{{.*}}dex-continue.cpp", 39, 1, "StopReason.STEP", "StepKind.VERTICAL_FORWARD", []]64// CHECK-NEXT: ## END (9 steps) ##65