diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-27 19:05:52 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-27 19:05:52 +0000 |
commit | 5fe59873eb076053d09cd316d2a3a8a132c3b35d (patch) | |
tree | c67be10442fd4395f6c8cd63b4c4185cf396b26a | |
parent | cec8164fe0abf050d9d9a6f8dc14dbb2f8502780 (diff) | |
download | ATCD-5fe59873eb076053d09cd316d2a3a8a132c3b35d.tar.gz |
ChangeLogTag: Fri Nov 27 19:03:58 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | modules/TAO/ChangeLog | 21 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/ast/ast_constant.cpp | 4 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/ast/ast_expression.cpp | 4 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/idl.yy | 110 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/y.tab.cpp | 225 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/y.tab.h | 1 |
6 files changed, 214 insertions, 151 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog index 4abb68f6a24..32e967b3e07 100644 --- a/modules/TAO/ChangeLog +++ b/modules/TAO/ChangeLog @@ -1,14 +1,27 @@ +Fri Nov 27 19:03:58 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/ast/ast_constant.cpp: + * TAO_IDL/ast/ast_expression.cpp: + + Cosmetic changes. + + * TAO_IDL/fe/idl.yy: + * TAO_IDL/fe/y.tab.h: + * TAO_IDL/fe/y.tab.cpp: + + Added semantic actions for template argument list. + Fri Nov 27 16:53:09 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/fe/fe_template_interface_header.cpp: - + Minor change to avoid compilation error. This file will eventually be removed once some of its code has been relocated. - + * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/idl.yy: - + Cleaned up semantic action for <primary_expr> and tested lookup and narrowing of template module referenced in a template module instantiation. @@ -19,7 +32,7 @@ Wed Nov 25 20:19:10 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/util/utl_err.cpp: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/idl.yy: - + Start of semantic actions for instantiated template modules, and related error messages. diff --git a/modules/TAO/TAO_IDL/ast/ast_constant.cpp b/modules/TAO/TAO_IDL/ast/ast_constant.cpp index fed406de13a..4b58940385d 100644 --- a/modules/TAO/TAO_IDL/ast/ast_constant.cpp +++ b/modules/TAO/TAO_IDL/ast/ast_constant.cpp @@ -77,10 +77,6 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ast_generator.h" #include "nr_extern.h" -ACE_RCSID (ast, - ast_constant, - "$Id$") - // Static functions. // Convert a value from the enum AST_Expression::ExprType to a char *. diff --git a/modules/TAO/TAO_IDL/ast/ast_expression.cpp b/modules/TAO/TAO_IDL/ast/ast_expression.cpp index a51051f5c22..27b66536691 100644 --- a/modules/TAO/TAO_IDL/ast/ast_expression.cpp +++ b/modules/TAO/TAO_IDL/ast/ast_expression.cpp @@ -3194,12 +3194,12 @@ AST_Expression::destroy (void) delete this->pd_v2; this->pd_v2 = 0; - + if (this->pd_n != 0) { this->pd_n->destroy (); } - + delete this->pd_n; this->pd_n = 0; } diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy index 8b7f2d9b42e..bb6ef307aa0 100644 --- a/modules/TAO/TAO_IDL/fe/idl.yy +++ b/modules/TAO/TAO_IDL/fe/idl.yy @@ -184,6 +184,7 @@ AST_Expression::ExprType t_param_const_type = AST_Expression::EV_none; FE_Utils::T_REFLIST_INFO *rlval; /* List of above structs */ FE_Utils::T_Inst_Info *tival; /* Template instantiation */ FE_Utils::T_Port_Info *ptval; /* Porttype reference */ + FE_Utils::T_ARGLIST *alval; /* List of template args */ } /* @@ -287,7 +288,7 @@ AST_Expression::ExprType t_param_const_type = AST_Expression::EV_none; %type <dcval> template_type_spec sequence_type_spec string_type_spec %type <dcval> struct_type enum_type switch_type_spec union_type %type <dcval> array_declarator op_type_spec seq_head wstring_type_spec -%type <dcval> param_type_spec type_dcl type_declarator +%type <dcval> param_type_spec type_dcl type_declarator actual_parameter %type <idlist> scoped_name interface_type component_inheritance_spec %type <idlist> home_inheritance_spec primary_key_spec module_header @@ -348,6 +349,8 @@ AST_Expression::ExprType t_param_const_type = AST_Expression::EV_none; %type <plval> formal_parameters at_least_one_formal_parameter %type <sval> formal_parameter_name + +%type <alval> actual_parameters at_least_one_actual_parameter %% /* @@ -1964,56 +1967,46 @@ primary_expr * as a constant value). */ UTL_Scope *s = idl_global->scopes ().top_non_null (); - AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(1) - (1)].idlist), + AST_Decl *d = s->lookup_by_name ($1, true); - + if (d == 0) { - idl_global->err ()->lookup_error ((tao_yyvsp[(1) - (1)].idlist)); + idl_global->err ()->lookup_error ($1); } - else + else if (d->node_type () == AST_Decl::NT_const) { - switch (d->node_type ()) - { - case AST_Decl::NT_const: - { - /* - * If the scoped name is an IDL constant, it - * may be used in an array dim, a string - * bound, or a sequence bound. If so, it - * must be unsigned and > 0. We assign the - * constant's value and type to the - * expression created here so we can check - * them later. - */ - AST_Constant *c = - AST_Constant::narrow_from_decl (d); - - (tao_yyval.exval) = - idl_global->gen ()->create_expr ( - c->constant_value (), - c->et ()); + /* + * If the scoped name is an IDL constant, it + * may be used in an array dim, a string + * bound, or a sequence bound. If so, it + * must be unsigned and > 0. We assign the + * constant's value and type to the + * expression created here so we can check + * them later. + */ + AST_Constant *c = + AST_Constant::narrow_from_decl (d); - break; - } - case AST_Decl::NT_enum_val: - { - // An AST_Expression owns the scoped name - // passed in this constructor, so we copy it - // and destroy it below no matter which case - // is followed. - (tao_yyval.exval) = - idl_global->gen ()->create_expr ( - (tao_yyvsp[(1) - (1)].idlist)->copy ()); - - break; - } - } + $<exval>$ = + idl_global->gen ()->create_expr ( + c->constant_value (), + c->et ()); + } + else + { + // An AST_Expression owns the scoped name + // passed in this constructor, so we copy it + // and destroy it below no matter which case + // is followed. + $<exval>$ = + idl_global->gen ()->create_expr ( + $1->copy ()); } - (tao_yyvsp[(1) - (1)].idlist)->destroy (); - delete (tao_yyvsp[(1) - (1)].idlist); - (tao_yyvsp[(1) - (1)].idlist) = 0; + $1->destroy (); + delete $1; + $1 = 0; } | literal | '(' const_expr ')' @@ -6058,7 +6051,7 @@ at_least_one_formal_parameter $2->enqueue_head (*$1); delete $1; $1 = 0; - + // The param added above is always the last one parsed, // so we check for matches between sequence<T> & T here. ACE_CString bad_id = @@ -6381,11 +6374,39 @@ extended_port_decl at_least_one_actual_parameter : actual_parameter actual_parameters + { +// at_least_one_actual_parameter : actual_parameter actual_parameters + if ($2 == 0) + { + ACE_NEW_RETURN ($2, + FE_Utils::T_ARGLIST, + 1); + } + + $2->enqueue_head ($1); + $<alval>$ = $2; + } ; actual_parameters : actual_parameters ',' actual_parameter + { +// actual_parameters : actual_parameters ',' actual_parameter + if ($1 == 0) + { + ACE_NEW_RETURN ($1, + FE_Utils::T_ARGLIST, + 1); + } + + $1->enqueue_tail ($3); + $<alval>$ = $1; + } | /* EMPTY */ + { +// | /* EMPTY */ + $<alval>$ = 0; + } ; actual_parameter @@ -6399,6 +6420,7 @@ actual_parameter // higher lever, deduce that it's not supposede to be // a constant and look up the type to add to the template // arg list. + $<dcval>$ = 0; } ; diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp index 362accf4cb4..8a5155fe378 100644 --- a/modules/TAO/TAO_IDL/fe/y.tab.cpp +++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp @@ -371,6 +371,7 @@ typedef union TAO_YYSTYPE FE_Utils::T_REFLIST_INFO *rlval; /* List of above structs */ FE_Utils::T_Inst_Info *tival; /* Template instantiation */ FE_Utils::T_Port_Info *ptval; /* Porttype reference */ + FE_Utils::T_ARGLIST *alval; /* List of template args */ } /* Line 187 of yacc.c. */ @@ -874,63 +875,63 @@ static const tao_yytype_int16 tao_yyrhs[] = /* TAO_YYRLINE[TAO_YYN] -- source line where rule number TAO_YYN was defined. */ static const tao_yytype_uint16 tao_yyrline[] = { - 0, 356, 356, 359, 360, 364, 367, 370, 376, 380, - 381, 386, 385, 396, 395, 406, 405, 416, 415, 426, - 425, 436, 435, 446, 445, 456, 455, 466, 465, 476, - 475, 486, 485, 496, 495, 506, 505, 516, 515, 530, - 529, 542, 577, 582, 541, 598, 606, 622, 625, 643, - 647, 605, 662, 666, 667, 671, 672, 677, 680, 683, - 676, 692, 695, 691, 703, 704, 709, 748, 753, 708, - 771, 770, 784, 822, 853, 887, 886, 898, 905, 906, - 907, 908, 912, 923, 928, 972, 977, 927, 1006, 1045, - 1050, 1004, 1069, 1067, 1107, 1106, 1120, 1126, 1133, 1140, - 1147, 1173, 1200, 1265, 1266, 1270, 1271, 1272, 1278, 1277, - 1285, 1284, 1294, 1295, 1300, 1299, 1310, 1309, 1320, 1319, - 1330, 1329, 1340, 1339, 1350, 1349, 1360, 1359, 1370, 1369, - 1383, 1396, 1394, 1424, 1431, 1442, 1441, 1469, 1467, 1494, - 1506, 1552, 1580, 1611, 1616, 1621, 1626, 1610, 1679, 1680, - 1681, 1682, 1683, 1684, 1685, 1697, 1702, 1775, 1777, 1779, - 1780, 1794, 1795, 1809, 1810, 1823, 1824, 1834, 1847, 1848, - 1858, 1871, 1872, 1882, 1892, 1905, 1906, 1916, 1926, 1939, - 1974, 1975, 1984, 1989, 1996, 2004, 2009, 2014, 2020, 2025, - 2030, 2038, 2110, 2109, 2119, 2124, 2129, 2134, 2161, 2170, - 2169, 2240, 2241, 2245, 2253, 2254, 2282, 2283, 2284, 2285, - 2286, 2287, 2288, 2289, 2293, 2294, 2295, 2299, 2300, 2301, - 2305, 2306, 2310, 2323, 2321, 2351, 2358, 2359, 2363, 2376, - 2374, 2404, 2411, 2428, 2447, 2448, 2452, 2457, 2462, 2470, - 2475, 2480, 2488, 2493, 2498, 2506, 2520, 2525, 2533, 2541, - 2549, 2557, 2566, 2565, 2581, 2615, 2620, 2580, 2639, 2642, - 2643, 2647, 2647, 2657, 2662, 2656, 2725, 2724, 2739, 2738, - 2753, 2758, 2763, 2768, 2815, 2820, 2752, 2844, 2852, 2866, - 2876, 2884, 2885, 2993, 2996, 2997, 3002, 3007, 3001, 3043, - 3042, 3056, 3067, 3089, 3097, 3096, 3112, 3117, 3111, 3134, - 3133, 3186, 3210, 3235, 3240, 3273, 3278, 3234, 3304, 3309, - 3307, 3314, 3318, 3355, 3360, 3353, 3427, 3482, 3492, 3481, - 3507, 3512, 3505, 3553, 3579, 3589, 3594, 3587, 3624, 3649, - 3658, 3657, 3693, 3704, 3726, 3734, 3739, 3733, 3776, 3777, - 3782, 3787, 3792, 3797, 3781, 3866, 3871, 3876, 3881, 3865, - 3959, 3964, 3994, 3999, 3958, 4017, 4022, 4075, 4080, 4015, - 4117, 4123, 4130, 4137, 4138, 4150, 4156, 4198, 4149, 4220, - 4219, 4230, 4229, 4242, 4247, 4245, 4252, 4257, 4262, 4256, - 4303, 4302, 4313, 4312, 4325, 4330, 4328, 4335, 4340, 4345, - 4339, 4392, 4400, 4401, 4402, 4507, 4512, 4517, 4526, 4531, - 4525, 4543, 4551, 4556, 4550, 4568, 4576, 4581, 4575, 4593, - 4601, 4606, 4600, 4618, 4625, 4638, 4636, 4664, 4671, 4700, - 4738, 4739, 4743, 4773, 4813, 4818, 4772, 4837, 4842, 4835, - 4884, 4883, 4894, 4901, 4902, 4907, 4906, 4917, 4916, 4927, - 4926, 4937, 4936, 4947, 4946, 4957, 4956, 4967, 4966, 4978, - 5037, 5044, 5068, 5142, 5152, 5158, 5164, 5211, 5258, 5307, - 5306, 5356, 5361, 5366, 5371, 5376, 5381, 5355, 5435, 5434, - 5445, 5452, 5459, 5467, 5472, 5466, 5484, 5485, 5489, 5491, - 5490, 5501, 5500, 5515, 5551, 5513, 5585, 5621, 5583, 5653, - 5654, 5655, 5659, 5660, 5664, 5692, 5723, 5768, 5773, 5721, - 5790, 5800, 5819, 5831, 5830, 5870, 5920, 5925, 5868, 5942, - 5947, 5955, 5960, 5965, 5970, 5975, 5980, 5985, 5990, 5995, - 6004, 6038, 6037, 6059, 6066, 6090, 6104, 6111, 6135, 6142, - 6153, 6158, 6163, 6168, 6152, 6183, 6190, 6195, 6202, 6201, - 6210, 6209, 6220, 6289, 6339, 6343, 6344, 6348, 6362, 6367, - 6372, 6366, 6432, 6437, 6431, 6452, 6456, 6457, 6462, 6461, - 6472, 6471, 6482, 6481, 6492, 6491 + 0, 359, 359, 362, 363, 367, 370, 373, 379, 383, + 384, 389, 388, 399, 398, 409, 408, 419, 418, 429, + 428, 439, 438, 449, 448, 459, 458, 469, 468, 479, + 478, 489, 488, 499, 498, 509, 508, 519, 518, 533, + 532, 545, 580, 585, 544, 601, 609, 624, 627, 645, + 649, 608, 664, 668, 669, 673, 674, 679, 682, 685, + 678, 694, 719, 693, 729, 730, 735, 774, 779, 734, + 797, 796, 810, 848, 879, 913, 912, 924, 931, 932, + 933, 934, 938, 949, 954, 998, 1003, 953, 1032, 1071, + 1076, 1030, 1095, 1093, 1133, 1132, 1146, 1152, 1159, 1166, + 1173, 1199, 1226, 1291, 1292, 1296, 1297, 1298, 1304, 1303, + 1311, 1310, 1320, 1321, 1326, 1325, 1336, 1335, 1346, 1345, + 1356, 1355, 1366, 1365, 1376, 1375, 1386, 1385, 1396, 1395, + 1409, 1422, 1420, 1450, 1457, 1468, 1467, 1495, 1493, 1520, + 1532, 1578, 1606, 1637, 1642, 1647, 1652, 1636, 1705, 1706, + 1707, 1708, 1709, 1710, 1711, 1723, 1728, 1797, 1799, 1801, + 1802, 1816, 1817, 1831, 1832, 1845, 1846, 1856, 1869, 1870, + 1880, 1893, 1894, 1904, 1914, 1927, 1928, 1938, 1948, 1961, + 2011, 2012, 2021, 2026, 2033, 2041, 2046, 2051, 2057, 2062, + 2067, 2075, 2147, 2146, 2156, 2161, 2166, 2171, 2198, 2207, + 2206, 2277, 2278, 2282, 2290, 2291, 2319, 2320, 2321, 2322, + 2323, 2324, 2325, 2326, 2330, 2331, 2332, 2336, 2337, 2338, + 2342, 2343, 2347, 2360, 2358, 2388, 2395, 2396, 2400, 2413, + 2411, 2441, 2448, 2465, 2484, 2485, 2489, 2494, 2499, 2507, + 2512, 2517, 2525, 2530, 2535, 2543, 2557, 2562, 2570, 2578, + 2586, 2594, 2603, 2602, 2618, 2652, 2657, 2617, 2676, 2679, + 2680, 2684, 2684, 2694, 2699, 2693, 2762, 2761, 2776, 2775, + 2790, 2795, 2800, 2805, 2852, 2857, 2789, 2881, 2889, 2903, + 2913, 2921, 2922, 3030, 3033, 3034, 3039, 3044, 3038, 3080, + 3079, 3093, 3104, 3126, 3134, 3133, 3149, 3154, 3148, 3171, + 3170, 3223, 3247, 3272, 3277, 3310, 3315, 3271, 3341, 3346, + 3344, 3351, 3355, 3392, 3397, 3390, 3464, 3519, 3529, 3518, + 3544, 3549, 3542, 3590, 3616, 3626, 3631, 3624, 3661, 3686, + 3695, 3694, 3730, 3741, 3763, 3771, 3776, 3770, 3813, 3814, + 3819, 3824, 3829, 3834, 3818, 3903, 3908, 3913, 3918, 3902, + 3996, 4001, 4031, 4036, 3995, 4054, 4059, 4112, 4117, 4052, + 4154, 4160, 4167, 4174, 4175, 4187, 4193, 4235, 4186, 4257, + 4256, 4267, 4266, 4279, 4284, 4282, 4289, 4294, 4299, 4293, + 4340, 4339, 4350, 4349, 4362, 4367, 4365, 4372, 4377, 4382, + 4376, 4429, 4437, 4438, 4439, 4544, 4549, 4554, 4563, 4568, + 4562, 4580, 4588, 4593, 4587, 4605, 4613, 4618, 4612, 4630, + 4638, 4643, 4637, 4655, 4662, 4675, 4673, 4701, 4708, 4737, + 4775, 4776, 4780, 4810, 4850, 4855, 4809, 4874, 4879, 4872, + 4921, 4920, 4931, 4938, 4939, 4944, 4943, 4954, 4953, 4964, + 4963, 4974, 4973, 4984, 4983, 4994, 4993, 5004, 5003, 5015, + 5074, 5081, 5105, 5179, 5189, 5195, 5201, 5248, 5295, 5344, + 5343, 5393, 5398, 5403, 5408, 5413, 5418, 5392, 5472, 5471, + 5482, 5489, 5496, 5504, 5509, 5503, 5521, 5522, 5526, 5528, + 5527, 5538, 5537, 5552, 5588, 5550, 5622, 5658, 5620, 5690, + 5691, 5692, 5696, 5697, 5701, 5729, 5760, 5805, 5810, 5758, + 5827, 5837, 5856, 5868, 5867, 5907, 5957, 5962, 5905, 5979, + 5984, 5992, 5997, 6002, 6007, 6012, 6017, 6022, 6027, 6032, + 6041, 6075, 6074, 6096, 6103, 6127, 6141, 6148, 6172, 6179, + 6190, 6195, 6200, 6205, 6189, 6220, 6227, 6232, 6239, 6238, + 6247, 6246, 6257, 6326, 6376, 6392, 6406, 6413, 6428, 6433, + 6438, 6432, 6498, 6503, 6497, 6518, 6522, 6523, 6528, 6527, + 6538, 6537, 6548, 6547, 6558, 6557 }; #endif @@ -2940,7 +2941,6 @@ tao_yyreduce: { // template_module : template_module_header - // The module_header rule is common to template module, fixed // module and instantiated template module. In the last // case, a fully scoped name is allowed, but here we @@ -3041,7 +3041,7 @@ tao_yyreduce: AST_Template_Module *ref = 0; AST_Decl *d = s->lookup_by_name (sn, true); bool so_far_so_good = true; - + if (d == 0) { idl_global->err ()->lookup_error (sn); @@ -3050,7 +3050,7 @@ tao_yyreduce: else { ref = AST_Template_Module::narrow_from_decl (d); - + if (ref == 0) { idl_global->err ()->template_module_expected (d); @@ -4425,49 +4425,39 @@ tao_yyreduce: UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = s->lookup_by_name ((tao_yyvsp[(1) - (1)].idlist), true); - + if (d == 0) { idl_global->err ()->lookup_error ((tao_yyvsp[(1) - (1)].idlist)); } - else + else if (d->node_type () == AST_Decl::NT_const) { - switch (d->node_type ()) - { - case AST_Decl::NT_const: - { - /* - * If the scoped name is an IDL constant, it - * may be used in an array dim, a string - * bound, or a sequence bound. If so, it - * must be unsigned and > 0. We assign the - * constant's value and type to the - * expression created here so we can check - * them later. - */ - AST_Constant *c = - AST_Constant::narrow_from_decl (d); - - (tao_yyval.exval) = - idl_global->gen ()->create_expr ( - c->constant_value (), - c->et ()); + /* + * If the scoped name is an IDL constant, it + * may be used in an array dim, a string + * bound, or a sequence bound. If so, it + * must be unsigned and > 0. We assign the + * constant's value and type to the + * expression created here so we can check + * them later. + */ + AST_Constant *c = + AST_Constant::narrow_from_decl (d); - break; - } - case AST_Decl::NT_enum_val: - { - // An AST_Expression owns the scoped name - // passed in this constructor, so we copy it - // and destroy it below no matter which case - // is followed. - (tao_yyval.exval) = - idl_global->gen ()->create_expr ( - (tao_yyvsp[(1) - (1)].idlist)->copy ()); - - break; - } - } + (tao_yyval.exval) = + idl_global->gen ()->create_expr ( + c->constant_value (), + c->et ()); + } + else + { + // An AST_Expression owns the scoped name + // passed in this constructor, so we copy it + // and destroy it below no matter which case + // is followed. + (tao_yyval.exval) = + idl_global->gen ()->create_expr ( + (tao_yyvsp[(1) - (1)].idlist)->copy ()); } (tao_yyvsp[(1) - (1)].idlist)->destroy (); @@ -9285,6 +9275,46 @@ tao_yyreduce: } break; + case 544: + + { +// at_least_one_actual_parameter : actual_parameter actual_parameters + if ((tao_yyvsp[(2) - (2)].alval) == 0) + { + ACE_NEW_RETURN ((tao_yyvsp[(2) - (2)].alval), + FE_Utils::T_ARGLIST, + 1); + } + + (tao_yyvsp[(2) - (2)].alval)->enqueue_head ((tao_yyvsp[(1) - (2)].dcval)); + (tao_yyval.alval) = (tao_yyvsp[(2) - (2)].alval); + } + break; + + case 545: + + { +// actual_parameters : actual_parameters ',' actual_parameter + if ((tao_yyvsp[(1) - (3)].alval) == 0) + { + ACE_NEW_RETURN ((tao_yyvsp[(1) - (3)].alval), + FE_Utils::T_ARGLIST, + 1); + } + + (tao_yyvsp[(1) - (3)].alval)->enqueue_tail ((tao_yyvsp[(3) - (3)].dcval)); + (tao_yyval.alval) = (tao_yyvsp[(1) - (3)].alval); + } + break; + + case 546: + + { +// | /* EMPTY */ + (tao_yyval.alval) = 0; + } + break; + case 547: { @@ -9296,6 +9326,7 @@ tao_yyreduce: // higher lever, deduce that it's not supposede to be // a constant and look up the type to add to the template // arg list. + (tao_yyval.dcval) = 0; } break; diff --git a/modules/TAO/TAO_IDL/fe/y.tab.h b/modules/TAO/TAO_IDL/fe/y.tab.h index 2795175d3ea..f62045c4f8a 100644 --- a/modules/TAO/TAO_IDL/fe/y.tab.h +++ b/modules/TAO/TAO_IDL/fe/y.tab.h @@ -254,6 +254,7 @@ typedef union TAO_YYSTYPE FE_Utils::T_REFLIST_INFO *rlval; /* List of above structs */ FE_Utils::T_Inst_Info *tival; /* Template instantiation */ FE_Utils::T_Port_Info *ptval; /* Porttype reference */ + FE_Utils::T_ARGLIST *alval; /* List of template args */ } /* Line 1489 of yacc.c. */ |