1 //===-- main.c --------------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 #include <stdio.h>
9 
set_char(void)10 void set_char(void)
11 {
12     char i = 'a';
13     printf("before (char) i = %c\n", i);
14     printf("after  (char) i = %c\n", i);    // Set break point #1. //// break $source:$line
15 }
16 
set_uchar(void)17 void set_uchar(void)
18 {
19     unsigned char i = 'a';
20     printf("before (unsigned char) i = %c\n", i);
21     printf("after  (unsigned char) i = %c\n", i);   //// break $source:$line
22 }
23 
set_short(void)24 void set_short(void)
25 {
26     short i = 33;
27     printf("before (short) i = %i\n", i);
28     printf("after  (short) i = %i\n", i);   //// break $source:$line
29 }
30 
set_ushort(void)31 void set_ushort(void)
32 {
33     unsigned short i = 33;
34     printf("before (unsigned short) i = %i\n", i);
35     printf("after  (unsigned short) i = %i\n", i);  // Set break point #2. //// break $source:$line
36 }
37 
set_int(void)38 void set_int(void)
39 {
40     int i = 33;
41     printf("before (int) i = %i\n", i);
42     printf("after  (int) i = %i\n", i); //// break $source:$line
43 }
44 
set_uint(void)45 void set_uint(void)
46 {
47     unsigned int i = 33;
48     printf("before (unsigned int) i = %u\n", i);
49     printf("after  (unsigned int) i = %u\n", i);    //// break $source:$line
50 }
51 
set_long(void)52 void set_long(void)
53 {
54     long i = 33;
55     printf("before (long) i = %li\n", i);
56     printf("after  (long) i = %li\n", i);   // Set break point #3. //// break $source:$line
57 }
58 
set_ulong(void)59 void set_ulong(void)
60 {
61     unsigned long i = 33;
62     printf("before (unsigned long) i = %lu\n", i);
63     printf("after  (unsigned long) i = %lu\n", i);  //// break $source:$line
64 }
65 
set_float(void)66 void set_float(void)
67 {
68     float i = 2.25;
69     printf("before (float) i = %g\n", i);
70     printf("after  (float) i = %g\n", i);   //// break $source:$line
71 }
72 
set_double(void)73 void set_double(void)
74 {
75     double i = 2.25;
76     printf("before (double) i = %g\n", i);
77     printf("after  (double) i = %g\n", i);  // Set break point #4. //// break $source:$line
78 }
79 
set_long_double(void)80 void set_long_double(void)
81 {
82     long double i = 2.25;
83     printf("before (long double) i = %Lg\n", i);
84     printf("after  (long double) i = %Lg\n", i);    // Set break point #5. //// break $source:$line
85 }
86 
set_point(void)87 void set_point (void)
88 {
89     struct point_tag {
90         int x;
91         int y;
92     };
93     struct point_tag points_2[2] = {
94         {1,2},
95         {3,4}
96     };
97 }
98 
main(int argc,char const * argv[])99 int main (int argc, char const *argv[])
100 {
101     // Continue to the breakpoint in set_char()
102     set_char();         //// continue; var i; val -set 99 1
103     set_uchar();        //// continue; var i; val -set 99 2
104     set_short();        //// continue; var i; val -set -42 3
105     set_ushort();       //// continue; var i; val -set 42 4
106     set_int();          //// continue; var i; val -set -42 5
107     set_uint();         //// continue; var i; val -set 42 6
108     set_long();         //// continue; var i; val -set -42 7
109     set_ulong();        //// continue; var i; val -set 42 8
110     set_float();        //// continue; var i; val -set 123.456 9
111     set_double();       //// continue; var i; val -set 123.456 10
112     set_long_double();  //// continue; var i; val -set 123.456 11
113     set_point ();       //// continue
114     return 0;
115 }
116