summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-05-11 01:44:50 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-05-11 01:44:50 +0000
commitfc323965d698a0879743f5e0e623af4d1cd60731 (patch)
tree4547b5e6eb13be6f3b3a97a22b71b8766df32a1a
parent92522ecd984914c3a538dc936823415e517d0f5a (diff)
downloadATCD-fc323965d698a0879743f5e0e623af4d1cd60731.tar.gz
ChangeLogTag: Thu May 10 20:42:18 2001 Jeff Parsons <parsons@cs.wustl.edu>
-rw-r--r--TAO/tests/IDL_Test/union.idl35
1 files changed, 33 insertions, 2 deletions
diff --git a/TAO/tests/IDL_Test/union.idl b/TAO/tests/IDL_Test/union.idl
index 025c0d59192..0308193af30 100644
--- a/TAO/tests/IDL_Test/union.idl
+++ b/TAO/tests/IDL_Test/union.idl
@@ -158,8 +158,16 @@ module UnionTest3
// Make sure inner union is generated in header file with
// proper scoping (or lack thereof) in its name, depending
// on the platform.
-enum XType { X_A };
-enum ZType { Z_A };
+enum XType
+{
+ X_A
+};
+
+enum ZType
+{
+ Z_A
+};
+
union X switch (XType)
{
case X_A:
@@ -210,3 +218,26 @@ struct Element
} Value;
};
+// A fix to the IDL compiler's typecoce generation created
+// a problem with unions that have more than one member,
+// where any member except the last is itself a scoped type.
+// This is the simplest example that will reproduce the problem,
+// if it ever reappears.
+enum TestOneEnum
+{
+ TALL,
+ SCHORT
+};
+
+enum TestTwoEnum
+{
+ LIGHT,
+ DARK
+};
+
+union TestUnion switch (short)
+{
+ case 1: TestOneEnum oneEnum;
+ case 2: TestTwoEnum twoEnum;
+};
+