diff options
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r-- | TAO/TAO_IDL/ast/ast_argument.cpp | 11 | ||||
-rw-r--r-- | TAO/TAO_IDL/ast/ast_field.cpp | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_codegen.cpp | 28 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_interface.cpp | 77 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp | 1 | ||||
-rw-r--r-- | TAO/TAO_IDL/docs/historical/README | 2 | ||||
-rw-r--r-- | TAO/TAO_IDL/driver/drv_preproc.cpp | 38 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/fe_utils.cpp | 2 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/idl.ll | 25 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/idl.tab.cpp | 12 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/idl.yy.cpp | 27 | ||||
-rw-r--r-- | TAO/TAO_IDL/include/ast_decl.h | 2 | ||||
-rw-r--r-- | TAO/TAO_IDL/include/idl_global.h | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/include/utl_scope.h | 8 | ||||
-rw-r--r-- | TAO/TAO_IDL/util/utl_global.cpp | 17 |
15 files changed, 20 insertions, 238 deletions
diff --git a/TAO/TAO_IDL/ast/ast_argument.cpp b/TAO/TAO_IDL/ast/ast_argument.cpp index 0fbe32d0656..039e5662f23 100644 --- a/TAO/TAO_IDL/ast/ast_argument.cpp +++ b/TAO/TAO_IDL/ast/ast_argument.cpp @@ -70,6 +70,11 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ast_argument.h" #include "ast_visitor.h" +#include "ast_type.h" + +#include "utl_err.h" + +#include "global_extern.h" // Static functions. @@ -101,6 +106,12 @@ AST_Argument::AST_Argument (Direction d, AST_Field (AST_Decl::NT_argument, ft, n), pd_direction (d) { + AST_Decl::NodeType fnt = ft->node_type (); + + if (fnt == AST_Decl::NT_except) + { + idl_global->err ()->not_a_type (ft); + } } AST_Argument::~AST_Argument () diff --git a/TAO/TAO_IDL/ast/ast_field.cpp b/TAO/TAO_IDL/ast/ast_field.cpp index 6b09b061604..bacbf80714c 100644 --- a/TAO/TAO_IDL/ast/ast_field.cpp +++ b/TAO/TAO_IDL/ast/ast_field.cpp @@ -115,6 +115,10 @@ AST_Field::AST_Field (AST_Type *ft, idl_global->err ()->not_a_type (ft); } } + else if (fnt == AST_Decl::NT_except) + { + idl_global->err ()->not_a_type (ft); + } } // To be used when constructing a node of a subclass of AST_Field. diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 715ce0199e2..caa96561985 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -1795,23 +1795,9 @@ TAO_CodeGen::end_server_template_header () // Insert the code to include the template source file. *this->server_template_header_ - << be_nl_2 << "#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)"; - *this->server_template_header_ << be_nl << "#include \"" << be_global->be_get_server_template_skeleton_fname (true) << "\""; - *this->server_template_header_ << be_nl - << "#endif /* defined REQUIRED SOURCE */"; - - // Insert the code to include the template pragma. - *this->server_template_header_ - << be_nl_2 << "#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)"; - *this->server_template_header_ - << be_nl << "#pragma implementation (\"" - << be_global->be_get_server_template_skeleton_fname (true) - << "\")"; - *this->server_template_header_ << be_nl - << "#endif /* defined REQUIRED PRAGMA */"; // Code to put the last #endif. *this->server_template_header_ << "\n\n"; @@ -1916,18 +1902,9 @@ int TAO_CodeGen::end_ciao_svnt_template_header () { *this->ciao_svnt_template_header_ << be_nl_2 - << "#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)" - << be_nl << "#include \"" - << be_global->be_get_ciao_tmpl_svnt_src_fname (true) - << "\"" << be_nl - << "#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */" - << be_nl_2 - << "#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)" - << be_nl << "#pragma implementation (\"" + << "#include \"" << be_global->be_get_ciao_tmpl_svnt_src_fname (true) - << "\")" - << be_nl << "#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */" - << be_nl; + << "\"" << be_nl; if (be_global->post_include () != nullptr) { @@ -2768,7 +2745,6 @@ TAO_CodeGen::gen_stub_src_includes () if (be_global->gen_amh_classes ()) { - // Necessary for the AIX compiler. this->gen_standard_include (this->client_stubs_, "ace/Auto_Ptr.h"); } diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp index 2e79519140c..2eebde2ba5c 100644 --- a/TAO/TAO_IDL/be/be_interface.cpp +++ b/TAO/TAO_IDL/be/be_interface.cpp @@ -2012,20 +2012,10 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) tao_cg->gperf_input_stream ()->file () = nullptr; // Open the temp file. -#if defined (ACE_OPENVMS) - //FUZZ: disable check_for_lack_ACE_OS - ACE_HANDLE input = ::open (tao_cg->gperf_input_filename (), - O_RDONLY, - "shr=get,put,upd", - "ctx=rec", - "fop=dfw"); - //FUZZ: enable check_for_lack_ACE_OS -#else ACE_HANDLE input = ACE::open_temp_file ( ACE_TEXT_CHAR_TO_TCHAR (tao_cg->gperf_input_filename ()), O_RDONLY); -#endif if (input == ACE_INVALID_HANDLE) { @@ -2038,40 +2028,16 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) -1); } -#ifndef ACE_OPENVMS // Flush the output stream. Gperf also uses it as output. Ensure // current contents are written before gperf writes. ACE_OS::fflush (tao_cg->server_skeletons ()->file ()); -#endif /* !ACE_OPENVMS */ // Stdout is server skeleton. Do *not* close the file, just open // again with <ACE_OS::open> with WRITE + APPEND option.. After // this, remember to update the file offset to the correct location. - -#if defined (ACE_OPENVMS) - char* gperfOutput = ACE_OS::tempnam (0, "idl_"); - - if (gperfOutput == 0) - { - ACE_OS::close (input); - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("failed to allocate memory\n")), - -1); - } - - //FUZZ: disable check_for_lack_ACE_OS - ACE_HANDLE output = ::open (gperfOutput, - O_WRONLY | O_CREAT | O_EXCL, - ACE_DEFAULT_FILE_PERMS, - "shr=get,put,upd", - "ctx=rec", - "fop=dfw"); - //FUZZ: enable check_for_lack_ACE_OS -#else ACE_HANDLE output = ACE_OS::open (be_global->be_get_server_skeleton_fname (), O_WRONLY | O_APPEND); -#endif if (output == ACE_INVALID_HANDLE) { @@ -2207,49 +2173,6 @@ be_interface::gen_gperf_lookup_methods (const char *flat_name) ACE_OS::close (output); ACE_OS::close (input); -#if defined (ACE_OPENVMS) - ACE_OS::unlink (tao_cg->gperf_input_filename ()); - process_options.release_handles (); - - if (result != -1) - { - FILE* gperfOutputFile = ACE_OS::fopen (gperfOutput, "r"); - - if (gperfOutputFile == 0) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Error:%p: Couldn't open ") - ACE_TEXT ("gperf output file\n"), - "fopen")); - result = -1; - } - else - { - FILE* out = tao_cg->server_skeletons ()->file (); - int c; - - while ((c = ACE_OS::fgetc(gperfOutputFile)) != EOF) - { - ACE_OS::fputc (c, out); - } - - if (ferror (gperfOutputFile) || ferror (out)) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Error:%p: Couldn't open ") - ACE_TEXT ("gperf output file\n"), - "get/put")); - result = -1; - } - - ACE_OS::fclose (gperfOutputFile); - } - } - - ACE_OS::unlink (gperfOutput); - ACE_OS::free (gperfOutput); -#endif /* ACE_OPENVMS */ - return result; } diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp index 9ba14e43e27..b08822dc090 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp @@ -65,7 +65,6 @@ be_visitor_interface_cs::visit_interface (be_interface *node) << node->name () << "_ptr p)" << be_nl << "{" << be_idt_nl; - // Workaround for broken HP V7.4-004 on OpenVMS IA83 if (node->has_mixed_parentage ()) { *os << "::CORBA::AbstractBase_ptr abs = p;" << be_nl diff --git a/TAO/TAO_IDL/docs/historical/README b/TAO/TAO_IDL/docs/historical/README index 700c1c1a707..dc4181df2fa 100644 --- a/TAO/TAO_IDL/docs/historical/README +++ b/TAO/TAO_IDL/docs/historical/README @@ -148,7 +148,7 @@ platforms. The source distribution expects the following environment: - SunPro SparcWorks 3.x or 4.0 As preconfigured, it compiles on Solaris 2.x. It can be reconfigured to -compile on SunOS 4.x, HPUX or Apollo Domain OS. As far as is known, no use +compile on SunOS 4.x, or Apollo Domain OS. As far as is known, no use is made of Sun Make-specific features, and the Makefiles should be usable with other make programs. diff --git a/TAO/TAO_IDL/driver/drv_preproc.cpp b/TAO/TAO_IDL/driver/drv_preproc.cpp index 8d2105575b6..a26c09cce3a 100644 --- a/TAO/TAO_IDL/driver/drv_preproc.cpp +++ b/TAO/TAO_IDL/driver/drv_preproc.cpp @@ -1229,35 +1229,10 @@ DRV_pre_proc (const char *myfile) UTL_String *utl_string = nullptr; -#if defined (ACE_OPENVMS) - { - char main_abspath[MAXPATHLEN] = ""; - char trans_path[MAXPATHLEN] = ""; - char *main_fullpath = - ACE_OS::realpath (IDL_GlobalData::translateName (myfile, trans_path), - main_abspath); - - if (main_fullpath == 0) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Unable to construct full file pathname\n"))); - - (void) ACE_OS::unlink (tmp_ifile); - (void) ACE_OS::unlink (tmp_file); - throw Bailout (); - } - - ACE_NEW (utl_string, - UTL_String (main_fullpath, true)); - - idl_global->set_main_filename (utl_string); - } -#else ACE_NEW (utl_string, UTL_String (myfile, true)); idl_global->set_main_filename (utl_string); -#endif ACE_Auto_String_Free safety (ACE_OS::strdup (myfile)); @@ -1346,17 +1321,9 @@ DRV_pre_proc (const char *myfile) // If the following open() fails, then we're either being hit with a // symbolic link attack, or another process opened the file before // us. -#if defined (ACE_OPENVMS) - //FUZZ: disable check_for_lack_ACE_OS - fd = ::open (t_file, O_WRONLY | O_CREAT | O_EXCL, - ACE_DEFAULT_FILE_PERMS, - "shr=get,put,upd", "ctx=rec", "fop=dfw"); - //FUZZ: enable check_for_lack_ACE_OS -#else fd = ACE_OS::open (t_file, O_WRONLY | O_CREAT | O_EXCL, ACE_DEFAULT_FILE_PERMS); -#endif if (fd == ACE_INVALID_HANDLE) { @@ -1474,11 +1441,6 @@ DRV_pre_proc (const char *myfile) // version the current process // would exit if the pre-processor // returned with error. - -#if defined (ACE_OPENVMS) - cpp_options.release_handles(); -#endif - FILE * const yyin = ACE_OS::fopen (t_file, "r"); if (yyin == nullptr) diff --git a/TAO/TAO_IDL/fe/fe_utils.cpp b/TAO/TAO_IDL/fe/fe_utils.cpp index d63e3a2f841..1da6d96da19 100644 --- a/TAO/TAO_IDL/fe/fe_utils.cpp +++ b/TAO/TAO_IDL/fe/fe_utils.cpp @@ -436,7 +436,7 @@ FE_Utils::create_implied_ami_uses_stuff () int FE_Utils::path_cmp (const char *s, const char *t) { -#if defined (WIN32) || defined (ACE_OPENVMS) +#if defined (WIN32) // Since Windows has case-insensitive filenames, the preprocessor, // when searching using a provided relative path, will sometimes // capitalize the first letter of the last segment of a path name diff --git a/TAO/TAO_IDL/fe/idl.ll b/TAO/TAO_IDL/fe/idl.ll index 7b3dbdfa9fb..a07db882427 100644 --- a/TAO/TAO_IDL/fe/idl.ll +++ b/TAO/TAO_IDL/fe/idl.ll @@ -583,20 +583,6 @@ idl_parse_line_and_file (char *buf) } h[i] = '\0'; -#if defined (ACE_OPENVMS) - // translate this into *nix format as the OpenVMS preprocessor - // possibly produced VMS-style paths here. - char trans_path[MAXPATHLEN] = ""; - char *temp_h = IDL_GlobalData::translateName (h, trans_path); - if (temp_h) - h = temp_h; - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Unable to construct full file pathname\n"))); - throw Bailout (); - } -#endif ACE_NEW (tmp, UTL_String (h, true)); idl_global->update_prefix (tmp->get_string ()); @@ -615,21 +601,10 @@ idl_parse_line_and_file (char *buf) if (!is_real_filename) { -#if defined (ACE_OPENVMS) - char full_path[MAXPATHLEN] = ""; - char *full_fname = ACE_OS::realpath (fname->get_string (), full_path); - // I don't see the benefit of using ->compare since this is targeted at IDL identifiers - // not at filenames and in the case of OpenVMS (case-insensitive filesystem) gets really - // problematic as filenames retrieved through different mechanisms may give different - // casing. - is_main_filename = FE_Utils::path_cmp (idl_global->main_filename ()->get_string (), - full_fname) == 0; -#else is_main_filename = fname->compare (idl_global->main_filename ()) || same_file (fname->get_string (), idl_global->main_filename ()->get_string ()); -#endif } if (is_real_filename || is_main_filename) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 4f8615a1a40..3273f214299 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -746,18 +746,6 @@ typedef int_least16_t yytype_int16; typedef short yytype_int16; #endif -/* Work around bug in HP-UX 11.23, which defines these macros - incorrectly for preprocessor constants. This workaround can likely - be removed in 2023, as HPE has promised support for HP-UX 11.23 - (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of - <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ -#ifdef __hpux -# undef UINT_LEAST8_MAX -# undef UINT_LEAST16_MAX -# define UINT_LEAST8_MAX 255 -# define UINT_LEAST16_MAX 65535 -#endif - #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ typedef __UINT_LEAST8_TYPE__ yytype_uint8; #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index 566e026cb55..e5546389c91 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -288,7 +288,7 @@ /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L || defined (__HP_aCC) +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. @@ -3644,20 +3644,6 @@ idl_parse_line_and_file (char *buf) } h[i] = '\0'; -#if defined (ACE_OPENVMS) - // translate this into *nix format as the OpenVMS preprocessor - // possibly produced VMS-style paths here. - char trans_path[MAXPATHLEN] = ""; - char *temp_h = IDL_GlobalData::translateName (h, trans_path); - if (temp_h) - h = temp_h; - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Unable to construct full file pathname\n"))); - throw Bailout (); - } -#endif ACE_NEW (tmp, UTL_String (h, true)); idl_global->update_prefix (tmp->get_string ()); @@ -3676,21 +3662,10 @@ idl_parse_line_and_file (char *buf) if (!is_real_filename) { -#if defined (ACE_OPENVMS) - char full_path[MAXPATHLEN] = ""; - char *full_fname = ACE_OS::realpath (fname->get_string (), full_path); - // I don't see the benefit of using ->compare since this is targeted at IDL identifiers - // not at filenames and in the case of OpenVMS (case-insensitive filesystem) gets really - // problematic as filenames retrieved through different mechanisms may give different - // casing. - is_main_filename = FE_Utils::path_cmp (idl_global->main_filename ()->get_string (), - full_fname) == 0; -#else is_main_filename = fname->compare (idl_global->main_filename ()) || same_file (fname->get_string (), idl_global->main_filename ()->get_string ()); -#endif } if (is_real_filename || is_main_filename) diff --git a/TAO/TAO_IDL/include/ast_decl.h b/TAO/TAO_IDL/include/ast_decl.h index 62064434224..295b8906ba2 100644 --- a/TAO/TAO_IDL/include/ast_decl.h +++ b/TAO/TAO_IDL/include/ast_decl.h @@ -73,9 +73,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ace/SString.h" #include "ace/Vector_T.h" -// This is for AIX w/IBM C++ class Identifier; - class UTL_Scope; class UTL_String; class ast_visitor; diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 485486a60dd..b59dec8c417 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -657,10 +657,6 @@ public: // match the corresponding element on this list, if it is // non-zero. -#if defined (ACE_OPENVMS) - static char* translateName (const char* name, char *name_buf); -#endif - AST_Module *corba_module () const; void corba_module (AST_Module *m); // Accessors for the member. diff --git a/TAO/TAO_IDL/include/utl_scope.h b/TAO/TAO_IDL/include/utl_scope.h index 697c03e1e08..e045a654000 100644 --- a/TAO/TAO_IDL/include/utl_scope.h +++ b/TAO/TAO_IDL/include/utl_scope.h @@ -81,9 +81,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "fe_utils.h" -// This is for AIX w/IBM C++. class Identifier; - class AST_PredefinedType; class AST_Module; class AST_Template_Module_Inst; @@ -560,12 +558,6 @@ private: long il; }; -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) #include "utl_scope_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("utl_scope_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ #endif // _UTL_SCOPE_UTL_SCOPE_HH diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index 1c9a20bd53b..0eaf4f08f27 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -93,23 +93,6 @@ trademarks or registered trademarks of Sun Microsystems, Inc. static long *pSeenOnce = nullptr; -#if defined (ACE_OPENVMS) -#include <unixlib.h> -char* IDL_GlobalData::translateName(const char* name, char *name_buf) -{ - char* transName = (ACE_OS::strpbrk (name, ":[") == 0 - ? (char*)name - : ::decc$translate_vms (name)); - if (transName) - { - ACE_OS::strcpy (name_buf, transName); - transName = name_buf; - } - - return (transName == 0 || ((int)transName) == -1 ) ? 0 : transName; -} -#endif - IDL_GlobalData::IDL_GlobalData () : syntax_only_ (false), parse_args_exit_ (false), |