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