summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2005-08-23 04:07:43 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2005-08-23 04:07:43 +0000
commit0e3a636592de6a383d39febcf601438ddcc75a8f (patch)
tree372432e4d084d60d54b5ee493475620b32bd79fa
parentaaae90842c5a5ba7fef8b934fab412b73b264ff0 (diff)
downloadATCD-0e3a636592de6a383d39febcf601438ddcc75a8f.tar.gz
ChangeLogTag:Mon Aug 22 21:05:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog30
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp55
-rw-r--r--TAO/tao/AnyTypeCode/AnySeqC.h6
-rw-r--r--TAO/tao/AnyTypeCode/Any_Impl.h6
-rw-r--r--TAO/tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp4
-rw-r--r--TAO/tao/AnyTypeCode/TypeCode.h6
-rw-r--r--TAO/tao/AnyTypeCode/append.cpp12
7 files changed, 73 insertions, 46 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index a756272a1a2..42b0869aa67 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,33 @@
+Mon Aug 22 21:05:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp (gen_stub_hdr_includes):
+
+ Reordered generated include directives so that Any/TypeCode
+ include directives are placed before ones from the ORB core to
+ make sure some things are parsed before some templates
+ (e.g. TAO_Pseudo_{Var,Out}_T). Addresses issues with compilers
+ that require all necessary non-dependent names be parsed prior
+ to parsing templates that may use them (e.g. GNU g++ 3.4.x or
+ better).
+
+ Removed duplicate "TypeCode.h" include directive generation.
+
+ * tao/AnyTypeCode/AnySeqC.h:
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
+ * tao/AnyTypeCode/BooleanSeqA.h:
+ * tao/AnyTypeCode/TypeCode.h:
+ * tao/AnyTypeCode/append.cpp:
+
+ Reordered include directives to force non-dependent names used
+ as template arguments to be parsed before the templates in
+ question. Addresses issues with compilers that require all
+ necessary non-dependent names be parsed prior to parsing
+ templates that may use them (e.g. GNU g++ 3.4.x or better).
+
+ * tao/AnyTypeCode/Any_Impl.h:
+
+ Removed unnecessary "Any.h" include directive.
+
Mon Aug 22 15:46:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
* tao/ORB.h:
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp
index 9a30e6adec0..f360753de36 100644
--- a/TAO/TAO_IDL/be/be_codegen.cpp
+++ b/TAO/TAO_IDL/be/be_codegen.cpp
@@ -1406,8 +1406,8 @@ TAO_CodeGen::gen_standard_include (TAO_OutStream *stream,
void
TAO_CodeGen::gen_stub_hdr_includes (void)
{
- // Include valuetype headers before ORB core headers to make sure
- // some things are parsed before some templates
+ // Include valuetype and Any/TypeCode headers before ORB core
+ // headers to make sure some things are parsed before some templates
// (e.g. TAO_Pseudo_{Var,Out}_T). Addresses issues with compilers
// that require all necessary non-dependent names be parsed prior to
// parsing templates that may use them (e.g. GNU g++ 3.4.x).
@@ -1454,6 +1454,29 @@ TAO_CodeGen::gen_stub_hdr_includes (void)
);
}
+ // This is true if we have a typecode or TCKind in the IDL file.
+ // If not included here, it will appear in *C.cpp, if TCs not suppressed.
+ this->gen_cond_file_include (
+ idl_global->typecode_seen_
+ | idl_global->any_seen_,
+ "tao/AnyTypeCode/TypeCode.h",
+ this->client_header_
+ );
+
+ this->gen_cond_file_include (
+ idl_global->any_seen_
+ | idl_global->typecode_seen_,
+ "tao/AnyTypeCode/TypeCode_Constants.h",
+ this->client_header_);
+
+ // This is true if we have an 'any' in the IDL file.
+ // If not included here, it will appear in *C.cpp, if Anys not suppressed.
+ this->gen_cond_file_include (
+ idl_global->any_seen_,
+ "tao/AnyTypeCode/Any.h",
+ this->client_header_
+ );
+
// @note This header should not go first. See the discussion above
// regarding non-dependent template names.
this->gen_standard_include (this->client_header_,
@@ -1500,34 +1523,6 @@ TAO_CodeGen::gen_stub_hdr_includes (void)
this->client_header_
);
- // This is true if we have a typecode or TCKind in the IDL file.
- // If not included here, it will appear in *C.cpp, if TCs not suppressed.
- this->gen_cond_file_include (
- idl_global->typecode_seen_,
- "tao/AnyTypeCode/TypeCode.h",
- this->client_header_
- );
-
- this->gen_cond_file_include (
- idl_global->any_seen_
- | idl_global->typecode_seen_,
- "tao/AnyTypeCode/TypeCode_Constants.h",
- this->client_header_);
-
- // This is true if we have an 'any' in the IDL file.
- // If not included here, it will appear in *C.cpp, if Anys not suppressed.
- this->gen_cond_file_include (
- idl_global->any_seen_,
- "tao/AnyTypeCode/Any.h",
- this->client_header_
- );
-
- this->gen_cond_file_include (
- idl_global->any_seen_,
- "tao/AnyTypeCode/TypeCode.h",
- this->client_header_
- );
-
// Include the Messaging library entry point, if AMI is enabled.
if (be_global->ami_call_back () == I_TRUE)
{
diff --git a/TAO/tao/AnyTypeCode/AnySeqC.h b/TAO/tao/AnyTypeCode/AnySeqC.h
index 4d51e2253b6..12b744d0be4 100644
--- a/TAO/tao/AnyTypeCode/AnySeqC.h
+++ b/TAO/tao/AnyTypeCode/AnySeqC.h
@@ -41,11 +41,11 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "tao/AnyTypeCode/TAO_AnyTypeCode_Export.h"
-#include "tao/ORB.h"
-#include "tao/Environment.h"
+#include "tao/AnyTypeCode/TypeCode.h"
#include "tao/AnyTypeCode/TypeCode_Constants.h"
#include "tao/AnyTypeCode/Any.h"
-#include "tao/AnyTypeCode/TypeCode.h"
+#include "tao/ORB.h"
+#include "tao/Environment.h"
#include "tao/Sequence_T.h"
#include "tao/Seq_Var_T.h"
#include "tao/Seq_Out_T.h"
diff --git a/TAO/tao/AnyTypeCode/Any_Impl.h b/TAO/tao/AnyTypeCode/Any_Impl.h
index c9ea19b900e..128072e25cc 100644
--- a/TAO/tao/AnyTypeCode/Any_Impl.h
+++ b/TAO/tao/AnyTypeCode/Any_Impl.h
@@ -19,15 +19,17 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/Basic_Types.h"
#include "tao/AnyTypeCode/TAO_AnyTypeCode_Export.h"
-#include "tao/AnyTypeCode/Any.h"
+
+#include "tao/Basic_Types.h"
#include "tao/orbconf.h"
+
#include "ace/Synch_Traits.h"
#include "ace/Null_Mutex.h"
#include "ace/Thread_Mutex.h"
#include "ace/Atomic_Op.h"
+
class TAO_OutputCDR;
class TAO_InputCDR;
class ACE_Message_Block;
diff --git a/TAO/tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp b/TAO/tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp
index eca5544a197..0a34f414b5a 100644
--- a/TAO/tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp
+++ b/TAO/tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp
@@ -1,11 +1,11 @@
// $Id$
#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h"
+#include "tao/AnyTypeCode/Marshal.h"
+#include "tao/AnyTypeCode/TypeCode.h"
#include "tao/Valuetype_Adapter.h"
#include "tao/ORB_Core.h"
#include "tao/SystemException.h"
-#include "tao/AnyTypeCode/Marshal.h"
-#include "tao/AnyTypeCode/TypeCode.h"
#include "tao/CDR.h"
#include "ace/Dynamic_Service.h"
diff --git a/TAO/tao/AnyTypeCode/TypeCode.h b/TAO/tao/AnyTypeCode/TypeCode.h
index c6fcbe26bee..05e1f5a6ed9 100644
--- a/TAO/tao/AnyTypeCode/TypeCode.h
+++ b/TAO/tao/AnyTypeCode/TypeCode.h
@@ -25,17 +25,17 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/UserException.h"
-#include "tao/Basic_Types.h"
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
#include "tao/AnyTypeCode/ValueModifierC.h"
#include "tao/AnyTypeCode/VisibilityC.h"
+#include "tao/UserException.h"
+#include "tao/Basic_Types.h"
#include "tao/Typecode_typesC.h"
#include "tao/Any_Insert_Policy_T.h"
#include "tao/CORBA_methods.h"
#include "tao/Pseudo_VarOut_T.h"
#include "tao/Object_Argument_T.h"
#include "tao/Arg_Traits_T.h"
-#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
#if defined (TAO_EXPORT_MACRO)
#undef TAO_EXPORT_MACRO
diff --git a/TAO/tao/AnyTypeCode/append.cpp b/TAO/tao/AnyTypeCode/append.cpp
index 3e1a0020dde..d6bf79b566b 100644
--- a/TAO/tao/AnyTypeCode/append.cpp
+++ b/TAO/tao/AnyTypeCode/append.cpp
@@ -19,18 +19,18 @@
//
// ============================================================================
-#include "tao/Environment.h"
-#include "tao/debug.h"
-#include "tao/Valuetype_Adapter.h"
-#include "tao/ORB_Core.h"
#include "tao/AnyTypeCode/TypeCode.h"
#include "tao/AnyTypeCode/Marshal.h"
#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h"
-#include "tao/CDR.h"
-#include "tao/SystemException.h"
#include "tao/AnyTypeCode/TypeCode_Constants.h"
#include "tao/AnyTypeCode/OctetSeqA.h"
#include "tao/AnyTypeCode/Any.h"
+#include "tao/Environment.h"
+#include "tao/debug.h"
+#include "tao/Valuetype_Adapter.h"
+#include "tao/ORB_Core.h"
+#include "tao/CDR.h"
+#include "tao/SystemException.h"
#include "ace/Dynamic_Service.h"