diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-08 17:54:39 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-08 17:54:39 +0000 |
commit | a85dad4deeb19718e87ab79380c1059b9568947d (patch) | |
tree | d2ef0fdbbf1920502277dcaef0a6a05c03d5b6cc /TAO | |
parent | 6079eb791668092243a525583128d3646b7fd7fa (diff) | |
download | ATCD-a85dad4deeb19718e87ab79380c1059b9568947d.tar.gz |
ChangeLogTag: Tue Jul 8 12:50:23 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLog_ref | 14 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_codegen.cpp | 108 | ||||
-rw-r--r-- | TAO/TAO_IDL/be_include/be_codegen.h | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/util/utl_global.cpp | 11 |
4 files changed, 84 insertions, 53 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref index 0beb2ead65f..e05f6c7b0af 100644 --- a/TAO/ChangeLog_ref +++ b/TAO/ChangeLog_ref @@ -1,3 +1,17 @@ +Tue Jul 8 12:50:23 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_codegen.cpp: + * TAO_IDL/be_include/be_codegen.h: + + Created a separate function call for the generation of file includes + for the stub source file, and moved the generation of arg class file + includes there, along with the existing file include generations. + + * TAO_IDL/util/utl_global.cpp: + + Fixed initialization of the bitmasks used to modify the bit vector + used to select ORB file includes for code generation. + Mon Jul 7 21:58:32 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * tests/Bench/wire/testC.cpp: diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 9aedf3d2e8b..29642decbfa 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -186,7 +186,7 @@ TAO_CodeGen::start_client_header (const char *fname) << "\""; } - this->gen_orb_file_includes (this->client_header_); + this->gen_stub_hdr_includes (); size_t nfiles = idl_global->n_included_idl_files (); @@ -304,54 +304,7 @@ TAO_CodeGen::start_client_stubs (const char *fname) // Generate the ident string, if any. this->gen_ident_string (this->client_stubs_); - // Generate the include statement for the precompiled header file. - if (be_global->pch_include ()) - { - *this->client_stubs_ << "#include \"" - << be_global->pch_include () - << "\""; - } - - // Generate the include statement for the client header. We just - // need to put only the base names. Path info is not required. - *this->client_stubs_ << "\n#include \"" - << be_global->be_get_client_hdr_fname (1) - << "\""; - - this->gen_standard_include (this->client_stubs_, "tao/Stub.h"); - this->gen_standard_include (this->client_stubs_, "tao/Invocation.h"); - - // The following header must always be included. - this->gen_standard_include (this->client_stubs_, - "tao/PortableInterceptor.h"); - - // Include the Portable Interceptor related headers. - *this->client_stubs_ << "\n\n#if TAO_HAS_INTERCEPTORS == 1"; - this->gen_standard_include (this->client_stubs_, - "tao/RequestInfo_Util.h"); - this->gen_standard_include (this->client_stubs_, - "tao/ClientRequestInfo_i.h"); - this->gen_standard_include (this->client_stubs_, - "tao/ClientInterceptorAdapter.h"); - *this->client_stubs_ << "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */\n"; - - if (be_global->ami_call_back () == I_TRUE) - { - // Including Asynch Invocation file. - this->gen_standard_include (this->client_stubs_, - "tao/Messaging/Twoway_Asynch_Invocation.h"); - *this->client_stubs_ << "\n#if TAO_HAS_INTERCEPTORS == 1\n"; - this->gen_standard_include (this->client_stubs_, - "tao/Messaging/AMI_ClientRequestInfo_i.h"); - *this->client_stubs_ << "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */\n"; - } - - if (be_global->gen_amh_classes () == I_TRUE) - { - // Necessary for the AIX compiler. - this->gen_standard_include (this->client_stubs_, - "ace/Auto_Ptr.h"); - } + this->gen_stub_src_includes (); *this->client_stubs_ << "\n\n#if defined (__BORLANDC__)\n" << "#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig\n" @@ -1356,7 +1309,7 @@ TAO_CodeGen::gen_standard_include (TAO_OutStream *stream, } void -TAO_CodeGen::gen_orb_file_includes (TAO_OutStream *stream) +TAO_CodeGen::gen_stub_hdr_includes (void) { // Include the Messaging files if AMI is enabled. if (be_global->ami_call_back () == I_TRUE) @@ -1407,6 +1360,59 @@ TAO_CodeGen::gen_orb_file_includes (TAO_OutStream *stream) this->gen_standard_include (this->client_header_, "tao/Valuetype/Sequence_T.h"); } +} + +void +TAO_CodeGen::gen_stub_src_includes (void) +{ + // Generate the include statement for the precompiled header file. + if (be_global->pch_include ()) + { + *this->client_stubs_ << "#include \"" + << be_global->pch_include () + << "\""; + } + + // Generate the include statement for the client header. We just + // need to put only the base names. Path info is not required. + *this->client_stubs_ << "\n#include \"" + << be_global->be_get_client_hdr_fname (1) + << "\""; + + this->gen_standard_include (this->client_stubs_, "tao/Stub.h"); + this->gen_standard_include (this->client_stubs_, "tao/Invocation.h"); + + // The following header must always be included. + this->gen_standard_include (this->client_stubs_, + "tao/PortableInterceptor.h"); + + // Include the Portable Interceptor related headers. + *this->client_stubs_ << "\n\n#if TAO_HAS_INTERCEPTORS == 1"; + this->gen_standard_include (this->client_stubs_, + "tao/RequestInfo_Util.h"); + this->gen_standard_include (this->client_stubs_, + "tao/ClientRequestInfo_i.h"); + this->gen_standard_include (this->client_stubs_, + "tao/ClientInterceptorAdapter.h"); + *this->client_stubs_ << "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */\n"; + + if (be_global->ami_call_back () == I_TRUE) + { + // Including Asynch Invocation file. + this->gen_standard_include (this->client_stubs_, + "tao/Messaging/Twoway_Asynch_Invocation.h"); + *this->client_stubs_ << "\n#if TAO_HAS_INTERCEPTORS == 1\n"; + this->gen_standard_include (this->client_stubs_, + "tao/Messaging/AMI_ClientRequestInfo_i.h"); + *this->client_stubs_ << "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */\n"; + } + + if (be_global->gen_amh_classes () == I_TRUE) + { + // Necessary for the AIX compiler. + this->gen_standard_include (this->client_stubs_, + "ace/Auto_Ptr.h"); + } this->gen_arg_file_include (idl_global->decls_seen_masks.basic_arg_seen_, "tao/Basic_Arguments.h"); @@ -1434,7 +1440,7 @@ TAO_CodeGen::gen_arg_file_include (ACE_UINT64 mask, const char *filepath) if (ACE_BIT_ENABLED (idl_global->decls_seen_info_, mask)) { - this->gen_standard_include (this->client_header_, + this->gen_standard_include (this->client_stubs_, filepath); } } diff --git a/TAO/TAO_IDL/be_include/be_codegen.h b/TAO/TAO_IDL/be_include/be_codegen.h index 6b91422c07e..d02052b2a11 100644 --- a/TAO/TAO_IDL/be_include/be_codegen.h +++ b/TAO/TAO_IDL/be_include/be_codegen.h @@ -400,7 +400,9 @@ private: void gen_standard_include (TAO_OutStream *stream, const char *included_file); - void gen_orb_file_includes (TAO_OutStream *stream); + // Utility methods for generating ORB file includes. + void gen_stub_hdr_includes (void); + void gen_stub_src_includes (void); void gen_arg_file_include (ACE_UINT64, const char *); private: diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index 6dc60397909..0804b4e6637 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -87,7 +87,16 @@ static long seen_once[INCREMENT] = {0}; IDL_GlobalData::dsf::dsf (void) : valuetype_seen_ (0), abstract_iface_seen_ (0), - iface_seq_seen_ (0) + iface_seq_seen_ (0), + basic_arg_seen_ (0), + bd_string_arg_seen_ (0), + fixed_array_arg_seen_ (0), + fixed_size_arg_seen_ (0), + object_arg_seen_ (0), + special_basic_arg_seen_ (0), + ub_string_arg_seen_ (0), + var_array_arg_seen_ (0), + var_size_arg_seen_ (0) {} IDL_GlobalData::IDL_GlobalData (void) |