diff options
Diffstat (limited to 'modules/TAO/TAO_IDL/fe/idl.yy')
-rw-r--r-- | modules/TAO/TAO_IDL/fe/idl.yy | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy index 8331aa936d4..b2b66574b04 100644 --- a/modules/TAO/TAO_IDL/fe/idl.yy +++ b/modules/TAO/TAO_IDL/fe/idl.yy @@ -1760,12 +1760,17 @@ const_dcl : */ if ($9 != 0 && s != 0) { + bool param_holder = + $9->is_param_holder (); + AST_Expression::AST_ExprValue *result = $9->check_and_coerce ($3, tao_enum_constant_decl); tao_enum_constant_decl = 0; - if (result == 0) + // If the expression is a template parameter place + // holder, 'result' will be 0, but it's ok. + if (result == 0 && ! param_holder) { idl_global->err ()->coercion_error ($9, $3); |