// %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% union U1 switch (long) { case 1: long a; case 2: case 3: short b; }; union U2 switch (unsigned short) { case 10: boolean a; case 188: char b; default: string c; }; union U3 switch (enum E1 {kalle, kula, boll}) { case kalle: long a; case kula: U2 b; }; enum E2 {Cissi, Anders}; union U4 switch (::E2) { case Cissi: U1 a; default: case Anders: unsigned long b; }; union U5 switch(char) { case 'e': long a; case 'b': case 'f': char b; default: struct S {long a; boolean b;} c; }; // Now check that references can be used as case values const long c1 = 9; const long c2 = 10; union U6 switch (long) { case c1: boolean a; case ::c2: boolean b; };