

// %CopyrightBegin%
// 
// Copyright Ericsson AB 1997-2016. All Rights Reserved.
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions 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;
