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