// %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% // // Check that case values match declared discriminator type // const long longC = 0; const short shortC = 0; const char charC = 'c'; const string stringC = "Yacht"; enum E1 {kalle, kula}; union U1 switch (long) { case 'c' : long a; case TRUE : long b; case stringC : long d; case kalle : long f; }; union U2 switch (unsigned long) { case 'c' : long a; case TRUE : long b; case stringC : long d; case kalle : long f; }; union U3 switch (short) { case 'c' : long a; case TRUE : long b; case stringC : long d; case kalle : long f; }; union U4 switch (unsigned short) { case 'c' : long a; case TRUE : long b; case stringC : long d; case kalle : long f; }; union U5 switch (char) { case TRUE : long b; case stringC : long d; case shortC : long e; case kalle : long f; }; union U6 switch (E1) { case 'c' : long a; case TRUE : long b; case stringC : long d; case shortC : long e; }; union U7 switch (enum E2 {ja, nej, kanske}) { case 'c' : long a; case TRUE : long b; case stringC : long d; case shortC : long e; };