summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-08-23 15:13:31 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-08-23 15:13:31 +0000
commit7140815cafb1ffca9abf89223db2f2973c87a629 (patch)
tree6b7575e133d88c94e39fceabf60a340acb78d055
parentc9c9a6a3353270cd19c543b715ae01765bcc05d7 (diff)
downloadATCD-7140815cafb1ffca9abf89223db2f2973c87a629.tar.gz
ChangeLogTag: Fri Aug 23 10:10:17 2002 Jeff Parsons <parsons@cs.wustl.edu>
-rw-r--r--TAO/ChangeLog8
-rw-r--r--TAO/TAO_IDL/ast/ast_operation.cpp9
2 files changed, 17 insertions, 0 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 270c21e5b5f..5983fdb2a9a 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,11 @@
+Fri Aug 23 10:10:17 2002 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * TAO_IDL/ast/ast_operation.cpp (fe_add_argument):
+
+ Added check for anonymous array as operation argument,
+ which is illegal. Thanks to Frank Hunleth <fhunleth@cs.wustl.edu>
+ for reporiting the bug. This closes [BUGID:840].
+
Thu Aug 22 20:08:47 2002 Ossama Othman <ossama@uci.edu>
* tao/PortableServer/POA.i (reference_to_servant):
diff --git a/TAO/TAO_IDL/ast/ast_operation.cpp b/TAO/TAO_IDL/ast/ast_operation.cpp
index 723088fbd17..21661fdeb58 100644
--- a/TAO/TAO_IDL/ast/ast_operation.cpp
+++ b/TAO/TAO_IDL/ast/ast_operation.cpp
@@ -411,6 +411,15 @@ AST_Operation::fe_add_argument (AST_Argument *t)
return 0;
}
+ AST_Type *arg_type = t->field_type ();
+
+ // This error is not caught in y.tab.cpp so we check for it here.
+ if (arg_type->node_type () == AST_Decl::NT_array
+ && arg_type->anonymous () == I_TRUE)
+ {
+ idl_global->err ()->syntax_error (idl_global->parse_state ());
+ }
+
// Add it to scope.
this->add_to_scope (t);