summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/ast/ast_argument.cpp11
-rw-r--r--TAO/TAO_IDL/ast/ast_field.cpp4
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp28
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp77
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp1
-rw-r--r--TAO/TAO_IDL/docs/historical/README2
-rw-r--r--TAO/TAO_IDL/driver/drv_preproc.cpp38
-rw-r--r--TAO/TAO_IDL/fe/fe_utils.cpp2
-rw-r--r--TAO/TAO_IDL/fe/idl.ll25
-rw-r--r--TAO/TAO_IDL/fe/idl.tab.cpp12
-rw-r--r--TAO/TAO_IDL/fe/idl.yy.cpp27
-rw-r--r--TAO/TAO_IDL/include/ast_decl.h2
-rw-r--r--TAO/TAO_IDL/include/idl_global.h4
-rw-r--r--TAO/TAO_IDL/include/utl_scope.h8
-rw-r--r--TAO/TAO_IDL/util/utl_global.cpp17
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),