diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-08-23 04:07:43 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-08-23 04:07:43 +0000 |
commit | 0e3a636592de6a383d39febcf601438ddcc75a8f (patch) | |
tree | 372432e4d084d60d54b5ee493475620b32bd79fa | |
parent | aaae90842c5a5ba7fef8b934fab412b73b264ff0 (diff) | |
download | ATCD-0e3a636592de6a383d39febcf601438ddcc75a8f.tar.gz |
ChangeLogTag:Mon Aug 22 21:05:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 30 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_codegen.cpp | 55 | ||||
-rw-r--r-- | TAO/tao/AnyTypeCode/AnySeqC.h | 6 | ||||
-rw-r--r-- | TAO/tao/AnyTypeCode/Any_Impl.h | 6 | ||||
-rw-r--r-- | TAO/tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/AnyTypeCode/TypeCode.h | 6 | ||||
-rw-r--r-- | TAO/tao/AnyTypeCode/append.cpp | 12 |
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" |