| // Same as TestExprWithSideEffectOnConvenienceVar.cpp but without $ escaping |
| |
| // REQUIRES: target-windows |
| |
| // RUN: %build %s -o %t |
| // RUN: %lldb %t \ |
| // RUN: -o "settings set target.process.track-memory-cache-changes false" \ |
| // RUN: -o "run" \ |
| // RUN: -o "expr int $y = 11" \ |
| // RUN: -o "expr $y" \ |
| // RUN: -o "expr $y = 100" \ |
| // RUN: -o "expr $y" \ |
| // RUN: -o "continue" \ |
| // RUN: -o "expr $y" \ |
| // RUN: -o "expr X $mine = {100, 200}" \ |
| // RUN: -o "expr $mine.a = 300" \ |
| // RUN: -o "expr $mine" \ |
| // RUN: -o "exit" | FileCheck %s -dump-input=fail |
| |
| struct X { |
| int a; |
| int b; |
| }; |
| |
| int main() { |
| X x; |
| |
| __builtin_debugtrap(); |
| __builtin_debugtrap(); |
| return 0; |
| } |
| |
| // CHECK-LABEL: expr int $y = 11 |
| // CHECK-LABEL: expr $y |
| // CHECK: (int) $y = 11 |
| |
| // CHECK-LABEL: expr $y = 100 |
| // CHECK: (int) $0 = 100 |
| |
| // CHECK-LABEL: expr $y |
| // CHECK: (int) $y = 100 |
| |
| // CHECK-LABEL: continue |
| // CHECK-LABEL: expr $y |
| // CHECK: (int) $y = 100 |
| |
| // CHECK-LABEL: expr X $mine = {100, 200} |
| // CHECK-LABEL: expr $mine.a = 300 |
| // CHECK: (int) $1 = 300 |
| // CHECK-LABEL: expr $mine |
| // CHECK: (X) $mine = (a = 300, b = 200) |