

// %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;
