summaryrefslogtreecommitdiff
path: root/modules/TAO/TAO_IDL/fe/idl.yy
diff options
context:
space:
mode:
Diffstat (limited to 'modules/TAO/TAO_IDL/fe/idl.yy')
-rw-r--r--modules/TAO/TAO_IDL/fe/idl.yy7
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);