summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgokhale <asgokhale@users.noreply.github.com>1997-12-23 19:43:38 +0000
committergokhale <asgokhale@users.noreply.github.com>1997-12-23 19:43:38 +0000
commit3c7516d86a680cb80a50f5689ac039ff432ab128 (patch)
tree844951923f6f3fe17715e665d9877329e61d1452
parenteb713aa3057cd3f691a8aaba1da8cb41864f73ef (diff)
downloadATCD-3c7516d86a680cb80a50f5689ac039ff432ab128.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-98c62
-rw-r--r--TAO/TAO_IDL/be/be_exception.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_state_argument.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_state_sequence.cpp17
4 files changed, 57 insertions, 30 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index eb286816d5b..c230d3d182a 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,6 +1,24 @@
+Tue Dec 23 13:36:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
+
+ * TAO_IDL/be/be_state_sequence.cpp: ACE_NESTED_CLASS must be
+ generated for seq elements that are scoped. We were generating
+ this macor only when seq elements were typedefs. However, seq
+ elements can also be structs or any other types that have an
+ enclosing scope. Thanks to Chris Gill <cdgill@cs.wustl.edu> for
+ the bug report.
+
+ * TAO_IDL/be/be_exception.cpp: Whenever a _narrow fails, we were
+ trying to do a ACE_dynamic_cast to a 0. Instead, we now return a
+ 0. Again thanks to Chris Gill <cdgill@cs.wustl.edu> for
+ the bug report.
+
+ * TAO_IDL/be/be_state_argument.cpp: We were ot generating a char
+ *& for inout string parameters. Instead only a char * was getting
+ generated. Fixed.
+
Tue Dec 23 11:45:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * docs/releasenotes/index.html:
+ * docs/releasenotes/index.html:
There is no need to set config=1 when compiling
$TAO_ROOT/orbsvcs.
@@ -10,33 +28,33 @@ Mon Dec 22 22:02:49 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Mon Dec 22 19:08:55 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * tao/corba.h:
- * tao/except.cpp:
- * tao/except.h:
+ * tao/corba.h:
+ * tao/except.cpp:
+ * tao/except.h:
The TAO_TRY macros use the _narrow methods for exceptions;
making the TAO_CATCH() macro fully functional.
-
- * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
- * orbsvcs/Event_Service/Dispatching_Modules.cpp:
- * orbsvcs/Event_Service/Dispatching_Modules.i:
- * orbsvcs/Event_Service/Event_Channel.cpp:
- * orbsvcs/Event_Service/Event_Channel.i:
- * orbsvcs/Event_Service/Event_Service.cpp:
- * orbsvcs/Event_Service/RT_Task.cpp:
- * orbsvcs/Event_Service/ReactorTask.cpp:
- * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
- * orbsvcs/Scheduling_Service/Config_Scheduler.h:
- * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
- * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
- * orbsvcs/orbsvcs/Runtime_Scheduler.h:
- * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
- * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
+
+ * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
+ * orbsvcs/Event_Service/Dispatching_Modules.cpp:
+ * orbsvcs/Event_Service/Dispatching_Modules.i:
+ * orbsvcs/Event_Service/Event_Channel.cpp:
+ * orbsvcs/Event_Service/Event_Channel.i:
+ * orbsvcs/Event_Service/Event_Service.cpp:
+ * orbsvcs/Event_Service/RT_Task.cpp:
+ * orbsvcs/Event_Service/ReactorTask.cpp:
+ * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
+ * orbsvcs/Scheduling_Service/Config_Scheduler.h:
+ * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
+ * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
+ * orbsvcs/orbsvcs/Runtime_Scheduler.h:
+ * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
+ * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
Changed the ACE_TRY (and friends) macros to TAO_TRY.
- * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
+ * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
Cleaned up some exceptions definitions.
- * orbsvcs/tests/Event_Latency/Makefile:
+ * orbsvcs/tests/Event_Latency/Makefile:
Since the schedule is not distributed (yet) by default we
compile the config run, hopefully this will cause less
confusion.
diff --git a/TAO/TAO_IDL/be/be_exception.cpp b/TAO/TAO_IDL/be/be_exception.cpp
index c68e469a21c..fa0ea4fd946 100644
--- a/TAO/TAO_IDL/be/be_exception.cpp
+++ b/TAO/TAO_IDL/be/be_exception.cpp
@@ -352,7 +352,7 @@ be_exception::gen_client_stubs (void)
*cs << "\treturn ACE_dynamic_cast (" << this->name () << "_ptr, exc);" <<
nl;
*cs << "else" << nl;
- *cs << "\treturn ACE_dynamic_cast (" << this->name () << "_ptr, 0);\n";
+ *cs << "\treturn 0;\n";
cs->decr_indent ();
*cs << "}\n\n";
diff --git a/TAO/TAO_IDL/be/be_state_argument.cpp b/TAO/TAO_IDL/be/be_state_argument.cpp
index 2b4b9eb1f30..c7fb3ca3a53 100644
--- a/TAO/TAO_IDL/be/be_state_argument.cpp
+++ b/TAO/TAO_IDL/be/be_state_argument.cpp
@@ -1132,9 +1132,9 @@ be_state_argument::gen_code (be_type *bt, be_decl *d, be_type *type)
case TAO_CodeGen::TAO_ARGUMENT_CH:
{
if (bt->node_type () == AST_Decl::NT_typedef)
- *os << bt->nested_type_name (bif);
+ *os << bt->nested_type_name (bif, " &");
else
- *os << "char *";
+ *os << "char *&";
*os << " " << arg->local_name () << ", ";
}
break;
@@ -1144,7 +1144,7 @@ be_state_argument::gen_code (be_type *bt, be_decl *d, be_type *type)
if (bt->node_type () == AST_Decl::NT_typedef)
*os << bt->name ();
else
- *os << "char *";
+ *os << "char *&";
*os << " " << arg->local_name () << ", ";
}
break;
diff --git a/TAO/TAO_IDL/be/be_state_sequence.cpp b/TAO/TAO_IDL/be/be_state_sequence.cpp
index 3d8344f0c70..8bdc66137f9 100644
--- a/TAO/TAO_IDL/be/be_state_sequence.cpp
+++ b/TAO/TAO_IDL/be/be_state_sequence.cpp
@@ -67,12 +67,21 @@ be_state_sequence::gen_code (be_type *bt, be_decl *d, be_type *type)
// base class of the typedef
ACE_ASSERT (bt->node_type () == AST_Decl::NT_typedef);
- // enclosing scope in which the sequence occurs
+ // enclosing scope in which the sequence element type occurs
be_decl *scope;
- if (bt->node_type () == AST_Decl::NT_typedef)
- scope = be_scope::narrow_from_scope (bt->defined_in ())->decl ();
- else // no anonymous data types are allowed here
+ if (!bt->defined_in ()) // no outer scope for us
scope = 0;
+ else
+ {
+ scope = be_scope::narrow_from_scope (bt->defined_in ())->decl ();
+ if (!scope)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_state_sequence.cpp - "
+ "bad scope for seq elem type\n"),
+ -1);
+ }
+ }
// for sequences, all we do is generate the type
switch (type->node_type ())