Skip to content

Commit eea373d

Browse files
committed
Merge branch 'master' of https://github.com/DOCGroup/ACE_TAO into master
2 parents daabeb9 + 541805c commit eea373d

8 files changed

Lines changed: 267 additions & 116 deletions

File tree

TAO/tests/IDL_Test/IDL_Test.mpc

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ project(*IDL): taoserver, messaging, gen_ostream {
1515
}
1616

1717
IDL_Files {
18+
array.idl
1819
Bug_2350_Regression.idl
1920
Bug_2577_Regression.idl
2021
Bug_2582_Regression.idl
@@ -41,22 +42,24 @@ project(*IDL): taoserver, messaging, gen_ostream {
4142
old_union2.idl
4243
params.idl
4344
reopened_modules.idl
45+
sequence.idl
4446
struct.idl
4547
string_value.idl
4648
reopen_include1.idl
4749
reopen_include2.idl
4850
typeprefix.idl
51+
union.idl
4952
}
5053

5154
IDL_Files {
5255
idlflags += -as
5356
enum_in_struct.idl
54-
array.idl
57+
array_anonymous.idl
5558
array_anon_nested.idl
5659
included.idl
5760
including.idl
58-
sequence.idl
59-
union.idl
61+
sequence_anonymous.idl
62+
union_anonymous.idl
6063
anyunion.idl
6164
valuetype.idl
6265
}
@@ -109,6 +112,8 @@ project(*DLL): taoidldefaults, taolib, messaging {
109112
anyunionS.cpp
110113
arrayC.cpp
111114
arrayS.cpp
115+
array_anonymousC.cpp
116+
array_anonymousS.cpp
112117
array_anon_nestedC.cpp
113118
array_anon_nestedS.cpp
114119
array_onlyA.cpp
@@ -201,6 +206,8 @@ project(*DLL): taoidldefaults, taolib, messaging {
201206
repo_id_modS.cpp
202207
sequenceC.cpp
203208
sequenceS.cpp
209+
sequence_anonymousC.cpp
210+
sequence_anonymousS.cpp
204211
simple2C.cpp
205212
simple2S.cpp
206213
simpleC.cpp
@@ -219,6 +226,8 @@ project(*DLL): taoidldefaults, taolib, messaging {
219226
typeprefixS.cpp
220227
unionC.cpp
221228
unionS.cpp
229+
union_anonymousC.cpp
230+
union_anonymousS.cpp
222231
valuetypeC.cpp
223232
valuetypeS.cpp
224233
}
@@ -261,6 +270,7 @@ project(*NDDS_IDL): ndds_cck_ts_defaults {
261270
NDDSTypeSupport_Files {
262271
anonymous.idl
263272
array.idl
273+
array_anonymous.idl
264274
array_only.idl
265275
attribute.idl
266276
Bug_2350_Regression.idl
@@ -301,13 +311,15 @@ project(*NDDS_IDL): ndds_cck_ts_defaults {
301311
reopen_include2.idl
302312
repo_id_mod.idl
303313
sequence.idl
314+
sequence_anonymous.idl
304315
simple.idl
305316
simple2.idl
306317
struct.idl
307318
typecode.idl
308319
typedef.idl
309320
typeprefix.idl
310321
union.idl
322+
union_anonymous.idl
311323
valuetype.idl
312324
}
313325
}
@@ -318,6 +330,7 @@ project(*CoreDX_IDL): coredx_ts_defaults {
318330
CoreDXTypeSupport_Files {
319331
anonymous.idl
320332
array.idl
333+
array_anonymous.idl
321334
array_only.idl
322335
attribute.idl
323336
Bug_2350_Regression.idl
@@ -358,13 +371,15 @@ project(*CoreDX_IDL): coredx_ts_defaults {
358371
reopen_include2.idl
359372
repo_id_mod.idl
360373
sequence.idl
374+
sequence_anonymous.idl
361375
simple.idl
362376
simple2.idl
363377
struct.idl
364378
typecode.idl
365379
typedef.idl
366380
typeprefix.idl
367381
union.idl
382+
uion_anonymous.idl
368383
valuetype.idl
369384
}
370385
}
@@ -390,6 +405,9 @@ project(*NDDS_Lib): taolib, messaging, gen_ostream, nddslib {
390405
array.cxx
391406
arrayPlugin.cxx
392407
arraySupport.cxx
408+
array_anonymous.cxx
409+
array_anonymousPlugin.cxx
410+
array_anonymousSupport.cxx
393411
array_only.cxx
394412
array_onlyPlugin.cxx
395413
array_onlySupport.cxx
@@ -500,6 +518,9 @@ project(*NDDS_Lib): taolib, messaging, gen_ostream, nddslib {
500518
// sequence.cxx
501519
// sequencePlugin.cxx
502520
// sequenceSupport.cxx
521+
// sequence_anonymous.cxx
522+
// sequence_anonymousPlugin.cxx
523+
// sequence_anonymousSupport.cxx
503524
simple.cxx
504525
simple2.cxx
505526
simple2Plugin.cxx
@@ -521,6 +542,9 @@ project(*NDDS_Lib): taolib, messaging, gen_ostream, nddslib {
521542
// union.cxx
522543
// unionPlugin.cxx
523544
// unionSupport.cxx
545+
// union_anonymous.cxx
546+
// union_anonymousPlugin.cxx
547+
// union_anonymousSupport.cxx
524548
// valuetype.cxx
525549
// valuetypePlugin.cxx
526550
// valuetypeSupport.cxx

TAO/tests/IDL_Test/array.idl

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -32,40 +32,6 @@ struct wrap
3232
};
3333

3434
typedef wrap outside_array[10];
35-
36-
37-
// Once a problem with expressions in the brackets,
38-
// as well as the typedef'd/anonymous thing.
39-
40-
interface tdef
41-
{
42-
const short byteslen = 12;
43-
typedef octet Bytes[byteslen + 1];
44-
45-
struct bytes_or_longs
46-
{
47-
Bytes the_bytes; // typedef'd
48-
long Longs[byteslen]; // anonymous
49-
};
50-
};
51-
52-
// To test that all the octet arrays build and link as
53-
// unique types.
54-
module ABCModule
55-
{
56-
struct RmtPhysicalInfo
57-
{
58-
octet rmtNodeId[22];
59-
octet rmtDetails[22];
60-
};
61-
62-
struct bbbBubBubBubBaby
63-
{
64-
octet rmtNodeId[22];
65-
octet rmtDetails[22];
66-
};
67-
};
68-
6935
typedef octet oa1[22];
7036
typedef octet oa2[22];
7137

@@ -160,3 +126,13 @@ module bug_2126
160126
};
161127
};
162128

129+
typedef long B41[2][3];
130+
typedef long B42[2];
131+
typedef long B43[4];
132+
133+
union B85 switch (long) {
134+
case 1: B42 b_85_1;
135+
case 2: B43 b_85_2;
136+
case 3: B41 b_85_3;
137+
};
138+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
2+
//=============================================================================
3+
/**
4+
* @file array_anonymous.idl
5+
*
6+
* This file contains examples of IDL code that has
7+
* caused problems in the past for the TAO IDL
8+
* compiler. This test is to make sure the problems
9+
* stay fixed.
10+
*
11+
* @author Jeff Parsons <parsons@cs.wustl.edu> and TAO users.
12+
*/
13+
//=============================================================================
14+
15+
// Once a problem with expressions in the brackets,
16+
// as well as the typedef'd/anonymous thing.
17+
interface tdef
18+
{
19+
const short byteslen = 12;
20+
typedef octet Bytes[byteslen + 1];
21+
22+
struct bytes_or_longs
23+
{
24+
Bytes the_bytes; // typedef'd
25+
long Longs[byteslen]; // anonymous
26+
};
27+
};
28+
29+
// To test that all the octet arrays build and link as
30+
// unique types.
31+
module ABCModule
32+
{
33+
struct RmtPhysicalInfo
34+
{
35+
octet rmtNodeId[22];
36+
octet rmtDetails[22];
37+
};
38+
39+
struct bbbBubBubBubBaby
40+
{
41+
octet rmtNodeId[22];
42+
octet rmtDetails[22];
43+
};
44+
};
45+
46+
47+

TAO/tests/IDL_Test/sequence.idl

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,40 +35,12 @@ exception nasty
3535
// tao/OctetSeqC.h is ever removed.
3636
typedef sequence<CORBA::OctetSeq> OctetSeqSeq;
3737

38-
// Bounded string elements of a sequence,
39-
// require the use of CORBA_Any::to_char.
40-
41-
interface seqTest
42-
{
43-
typedef sequence< string<12> > dozens;
44-
45-
void send_dozen (inout dozens bouquets);
46-
};
47-
4838
local interface seqLocal
4939
{
5040
};
5141

5242
typedef sequence<seqLocal> seqLocalSeq;
5343

54-
// Anonymous sequence members must be unique types even if the
55-
// sequence itself is not, so the member name has been
56-
// incorported into the sequence class name. #if !defined guards
57-
// are generated around code for the inner anonymous sequences.
58-
struct twinStruct
59-
{
60-
sequence<sequence<short> > and_;
61-
sequence<sequence<short> > or_;
62-
};
63-
64-
// Nested sequences
65-
typedef sequence<sequence<short, 5> > outside;
66-
67-
struct nestedSeqStruct
68-
{
69-
sequence<sequence<outside>, 7> inside;
70-
};
71-
7244
// Tests deeply nested recursive type.
7345
module Deployment
7446
{
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
//=============================================================================
2+
/**
3+
* @file sequence_anonymous.idl
4+
*
5+
* This file contains examples of IDL code that has
6+
* caused problems in the past for the TAO IDL
7+
* compiler. This test is to make sure the problems
8+
* stay fixed.
9+
*
10+
*
11+
* @author Jeff Parsons <parsons@cs.wustl.edu> and TAO users.
12+
*/
13+
//=============================================================================
14+
15+
// Bounded string elements of a sequence,
16+
// require the use of CORBA_Any::to_char.
17+
interface seqTest
18+
{
19+
typedef sequence< string<12> > dozens;
20+
21+
void send_dozen (inout dozens bouquets);
22+
};
23+
24+
// Anonymous sequence members must be unique types even if the
25+
// sequence itself is not, so the member name has been
26+
// incorported into the sequence class name. #if !defined guards
27+
// are generated around code for the inner anonymous sequences.
28+
struct twinStruct
29+
{
30+
sequence<sequence<short> > and_;
31+
sequence<sequence<short> > or_;
32+
};
33+
34+
// Nested sequences
35+
typedef sequence<sequence<short, 5> > outside;
36+
37+
struct nestedSeqStruct
38+
{
39+
sequence<sequence<outside>, 7> inside;
40+
};
41+

TAO/tests/IDL_Test/struct.idl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,21 @@ module Test
3939
FooType Foo1;
4040
FooType Foo2;
4141
};
42+
43+
enum S90
44+
{
45+
S90_1,
46+
S90_2
47+
};
48+
typedef S90 S90Array[2];
49+
typedef long S42[2];
50+
typedef string SString43[2];
51+
typedef S4 S4Array[2];
52+
struct S10
53+
{
54+
S90 s10_1;
55+
S42 s10_2;
56+
SString43 s10_3;
57+
S4 s10_4;
58+
};
4259
};

0 commit comments

Comments
 (0)