summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-18 23:22:13 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-18 23:22:13 +0000
commit1463393b22783572e9eb6c77182bae9c61f9fdcb (patch)
tree18cc9d89bffc0c4d4fb0b05e9ba93604ba003052
parent066e67718dd8622af574920173a552dbabdbfed8 (diff)
downloadATCD-1463393b22783572e9eb6c77182bae9c61f9fdcb.tar.gz
ChangeLogTag: Fri Apr 18 18:13:20 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog14
-rw-r--r--TAO/TAO_IDL/fe/idl.yy8
-rw-r--r--TAO/TAO_IDL/fe/y.tab.cpp8
3 files changed, 28 insertions, 2 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 2e363725815..aa28c891cb2 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,17 @@
+Fri Apr 18 18:13:20 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/y.tab.cpp:
+ * TAO_IDL/fe/idl.yy:
+
+ Modified the error checking for local interface used as
+ operation parameter to disable the diagnostic if the
+ operation is defined in a valuetype. Since operations
+ in valuetypes are executed locally, the arguments are
+ not marshaled and there is no problem with a local
+ interface parameter. Thanks to Proum Chauk-Mean
+ <Chauk-Mean.Proum@fr.thalesgroup.com> and Nanbor Wang
+ <nanbor@cse.wustl.edu> for reporting the problem.
+
Fri Apr 18 17:17:35 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
* tao/Any.cpp:
diff --git a/TAO/TAO_IDL/fe/idl.yy b/TAO/TAO_IDL/fe/idl.yy
index 99058177715..900d662f963 100644
--- a/TAO/TAO_IDL/fe/idl.yy
+++ b/TAO/TAO_IDL/fe/idl.yy
@@ -3530,11 +3530,17 @@ operation :
}
else
{
+ AST_Decl *d = ScopeAsDecl (s);
+ AST_Decl::NodeType nt = d->node_type ();
+ idl_bool local =
+ s->is_local ()
+ || nt == AST_Decl::NT_valuetype
+ || nt == AST_Decl::NT_eventtype;
o =
idl_global->gen ()->create_operation (tp,
$1,
&n,
- s->is_local (),
+ local,
s->is_abstract ());
(void) s->fe_add_operation (o);
}
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp
index 50c5164b301..a0252d460d7 100644
--- a/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/TAO/TAO_IDL/fe/y.tab.cpp
@@ -4731,11 +4731,17 @@ case 325:
}
else
{
+ AST_Decl *d = ScopeAsDecl (s);
+ AST_Decl::NodeType nt = d->node_type ();
+ idl_bool local =
+ s->is_local ()
+ || nt == AST_Decl::NT_valuetype
+ || nt == AST_Decl::NT_eventtype;
o =
idl_global->gen ()->create_operation (tp,
tao_yyvsp[-3].ofval,
&n,
- s->is_local (),
+ local,
s->is_abstract ());
(void) s->fe_add_operation (o);
}