1// Same as TestExprWithSideEffectOnConvenienceVar.cpp but without $ escaping
2
3// REQUIRES: target-windows
4
5// RUN: %build %s -o %t
6// RUN: %lldb %t \
7// RUN: -o "settings set target.process.track-memory-cache-changes false" \
8// RUN: -o "run" \
9// RUN: -o "expr int $y = 11" \
10// RUN: -o "expr $y" \
11// RUN: -o "expr $y = 100" \
12// RUN: -o "expr $y" \
13// RUN: -o "continue" \
14// RUN: -o "expr $y" \
15// RUN: -o "expr X $mine = {100, 200}" \
16// RUN: -o "expr $mine.a = 300" \
17// RUN: -o "expr $mine" \
18// RUN: -o "exit" | FileCheck %s -dump-input=fail
19
20struct X {
21 int a;
22 int b;
23};
24
25int main() {
26 X x;
27
28 __builtin_debugtrap();
29 __builtin_debugtrap();
30 return 0;
31}
32
33// CHECK-LABEL: expr int $y = 11
34// CHECK-LABEL: expr $y
35// CHECK: (int) $y = 11
36
37// CHECK-LABEL: expr $y = 100
38// CHECK: (int) $0 = 100
39
40// CHECK-LABEL: expr $y
41// CHECK: (int) $y = 100
42
43// CHECK-LABEL: continue
44// CHECK-LABEL: expr $y
45// CHECK: (int) $y = 100
46
47// CHECK-LABEL: expr X $mine = {100, 200}
48// CHECK-LABEL: expr $mine.a = 300
49// CHECK: (int) $1 = 300
50// CHECK-LABEL: expr $mine
51// CHECK: (X) $mine = (a = 300, b = 200)
52

source code of lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp