blob: e1bc93dae8aee97eb3c7808278493f3b6dea7468 (
plain) (
blame)
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
|
// %CopyrightBegin%
//
// Copyright Ericsson AB 1997-2010. All Rights Reserved.
//
// The contents of this file are subject to the Erlang Public License,
// Version 1.1, (the "License"); you may not use this file except in
// compliance with the License. You should have received a copy of the
// Erlang Public License along with this software. If not, it can be
// retrieved online at http://www.erlang.org/.
//
// Software distributed under the License is distributed on an "AS IS"
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
// the License for the specific language governing rights and limitations
// under the License.
//
// %CopyrightEnd%
//
// This file forces the bad_tk_match. This triggers when the type of
// the expression does not match the declared type of the constant
//
const long c1 = TRUE;
const unsigned short c1b= TRUE;
const boolean c2 = +5;
const long c3 = 'c';
const float c5 = 3;
const unsigned long c6 = -2; // Maybe not checked in compiler or suite
const boolean c4 = 1 | 2;
// Now define some correct constants for use in reference checking
const long longC = -9;
const short shortC = -9;
const unsigned long ulongC = 1;
const unsigned short ushortC = 0;
const float floatC = 5.1;
const double doubleC = -2.111;
const boolean boolC = TRUE;
const char charC = 'f';
const string stringC = "hej";
const string<9> stringCb = "hejdu";
// Check the reference errors
const long c19 = floatC;
const short c20 = doubleC;
const unsigned long c21 = charC;
const unsigned short c22 = stringC;
const float c23 = stringCb;
const double c24 = boolC;
const boolean c25 = longC;
const char c26 = shortC;
const string c27 = ushortC;
const string<9> c28 = ulongC;
const long c29 = 3+floatC;
|