1 // Purpose:
2 // Check that \DexExpectWatchValue applies no penalties when expected
3 // values are found.
4 //
5 // UNSUPPORTED: system-darwin
6 //
7 // RUN: %dexter_regression_test -- %s | FileCheck %s
8 // CHECK: expect_watch_value.cpp:
9
Factorial(int n)10 unsigned long Factorial(int n) {
11 volatile unsigned long fac = 1; // DexLabel('entry')
12
13 for (int i = 1; i <= n; ++i)
14 fac *= i; // DexLabel('loop')
15
16 return fac; // DexLabel('ret')
17 }
18
main()19 int main()
20 {
21 return Factorial(8);
22 }
23
24 /*
25 DexExpectWatchValue('n', '8', on_line='entry')
26 DexExpectWatchValue('i',
27 '1', '2', '3', '4', '5', '6', '7', '8',
28 on_line='loop')
29
30 DexExpectWatchValue('fac',
31 '1', '2', '6', '24', '120', '720', '5040',
32 on_line='loop')
33
34 DexExpectWatchValue('n', '8', on_line='loop')
35 DexExpectWatchValue('fac', '40320', on_line='ret')
36 DexExpectWatchValue('n', '8', on_line='ret')
37 */
38