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