summaryrefslogtreecommitdiffhomepage
path: root/CompilerDriver/cc2/regression-tests/mixed-float-literals.cpp2
blob: cf0b508b030844fe5e0688801ecda93f1c361aca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
void literals_cpp1() {
  // integers
  std::cout << 123 << std::endl;
  std::cout << 123u << std::endl;
  std::cout << 123ul << std::endl;
  std::cout << 123ull << std::endl;
  std::cout << 123l << std::endl;
  std::cout << 123ll << std::endl;
  std::cout << 123'456ll << std::endl;
  std::cout << 123 << std::endl;
  std::cout << 123U << std::endl;
  std::cout << 123UL << std::endl;
  std::cout << 123ULL << std::endl;
  std::cout << 123L << std::endl;
  std::cout << 123LL << std::endl;
  std::cout << 123'456LL << std::endl;
  // float points
  std::cout << 123'456.0f << std::endl;
  std::cout << 123'456.f << std::endl;
  std::cout << 456.0 << std::endl;
  std::cout << 456. << std::endl;
  std::cout << 1.0e10 << std::endl;
  std::cout << 1.0e+10 << std::endl;
  std::cout << 1.0e-10 << std::endl;
  std::cout << 1.0e-10f << std::endl;
  std::cout << 1.e-10 << std::endl;
  std::cout << 1.e-10f << std::endl;
  std::cout << 1e-10 << std::endl;
  std::cout << 1e-10f << std::endl;
  std::cout << 1e-1'0 << std::endl;
  std::cout << 123'456.0F << std::endl;
  std::cout << 123'456.F << std::endl;
  std::cout << 456.0 << std::endl;
  std::cout << 456. << std::endl;
  std::cout << 1.0E10 << std::endl;
  std::cout << 1.0E+10 << std::endl;
  std::cout << 1.0E-10 << std::endl;
  std::cout << 1.0E-10F << std::endl;
  std::cout << 1.E-10 << std::endl;
  std::cout << 1.E-10F << std::endl;
  std::cout << 1E-10 << std::endl;
  std::cout << 1E-10F << std::endl;
  std::cout << 1E-1'0 << std::endl;
  // invalid
  // 456f
  // (void)1e-10.0f;
  // 1.0e-10.0;
  // 1.0e-10.0f;
  // 1e-10.0;
  // 1e-10.0f;
  // 1e - 10;
  // 1e - 10.0;
  // 1e - 10f;
  // 1e - 10.0f;
}

literals_cpp2: () = {
  // integers
  std::cout << 123 << std::endl;
  std::cout << 123u << std::endl;
  std::cout << 123ul << std::endl;
  std::cout << 123ull << std::endl;
  std::cout << 123l << std::endl;
  std::cout << 123ll << std::endl;
  std::cout << 123'456ll << std::endl;
  std::cout << 123 << std::endl;
  std::cout << 123U << std::endl;
  std::cout << 123UL << std::endl;
  std::cout << 123ULL << std::endl;
  std::cout << 123L << std::endl;
  std::cout << 123LL << std::endl;
  std::cout << 123'456LL << std::endl;
  // float points
  std::cout << 123'456.0f << std::endl;
  std::cout << 456.0 << std::endl;
  std::cout << 1.0e10 << std::endl;
  std::cout << 1.0e+10 << std::endl;
  std::cout << 1.0e-10 << std::endl;
  std::cout << 1.0e-10f << std::endl;
  std::cout << 1e-10 << std::endl;
  std::cout << 1e-10f << std::endl;
  std::cout << 1e-1'0 << std::endl;
  std::cout << 123'456.0F << std::endl;
  std::cout << 456.0 << std::endl;
  std::cout << 1.0E10 << std::endl;
  std::cout << 1.0E+10 << std::endl;
  std::cout << 1.0E-10 << std::endl;
  std::cout << 1.0E-10F << std::endl;
  std::cout << 1E-10 << std::endl;
  std::cout << 1E-10F << std::endl;
  std::cout << 1E-1'0 << std::endl;
  // invalid
  // 456f
  // (void)1e-10.0f;
  // 1.0e-10.0;
  // 1.0e-10.0f;
  // 1e-10.0;
  // 1e-10.0f;
  // 1e - 10;
  // 1e - 10.0;
  // 1e - 10f;
  // 1e - 10.0f;
  // 123'456.f;
  // 123'456.f;
  // 456.;
  // 1.e-10;
  // 1.e-10f;
  // 123'456.F;
  // 456.;
  // 1.E-10;
  // 1.E-10F;
}

main: ()->int = {
  literals_cpp1();
  literals_cpp2();
}