From af5a3578b242f425bec5cf64d4ec0dce548214b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Dr=C3=B6scher?= Date: Thu, 9 Apr 2020 23:36:15 +0200 Subject: [PATCH 001/445] Replacing strange datatype definition with standard ACE_Dev_Poll_Reactor is using __uint32_t for no apparent reason. Since struct epoll_event.events is defined as uint32_t and using __uint32_t breaks compatibility with musl, __uint32_t should be replaced with uint32_t. But to conform with ACE Guidelines I'm using ACE_UINT32. --- ACE/ace/Dev_Poll_Reactor.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ACE/ace/Dev_Poll_Reactor.cpp b/ACE/ace/Dev_Poll_Reactor.cpp index 55cb4d4d5a37f..879568dc1509a 100644 --- a/ACE/ace/Dev_Poll_Reactor.cpp +++ b/ACE/ace/Dev_Poll_Reactor.cpp @@ -1122,10 +1122,10 @@ ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard) // Define bits to check for while dispatching. #if defined (ACE_HAS_EVENT_POLL) - const __uint32_t out_event = EPOLLOUT; - const __uint32_t exc_event = EPOLLPRI; - const __uint32_t in_event = EPOLLIN; - const __uint32_t err_event = EPOLLHUP | EPOLLERR; + const ACE_UINT32 out_event = EPOLLOUT; + const ACE_UINT32 exc_event = EPOLLPRI; + const ACE_UINT32 in_event = EPOLLIN; + const ACE_UINT32 err_event = EPOLLHUP | EPOLLERR; #else const short out_event = POLLOUT; const short exc_event = POLLPRI; @@ -1138,7 +1138,7 @@ ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard) // is invalid, there's no event there. Else process it. In any event, we // have the event, so clear event_ for the next thread. const ACE_HANDLE handle = this->event_.data.fd; - __uint32_t revents = this->event_.events; + ACE_UINT32 revents = this->event_.events; this->event_.data.fd = ACE_INVALID_HANDLE; this->event_.events = 0; if (handle != ACE_INVALID_HANDLE) From 96e0a8511e27fb962cfb324dd654fe23311b0f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Dr=C3=B6scher?= Date: Thu, 9 Apr 2020 23:38:08 +0200 Subject: [PATCH 002/445] typedef ACE_LOFF_T as off_t for musl --- ACE/ace/os_include/sys/os_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/os_include/sys/os_types.h b/ACE/ace/os_include/sys/os_types.h index 60a425b9252aa..2ca0c771f8ae7 100644 --- a/ACE/ace/os_include/sys/os_types.h +++ b/ACE/ace/os_include/sys/os_types.h @@ -66,7 +66,7 @@ typedef double ACE_timer_t; #if defined (ACE_SIZEOF_LONG) && ACE_SIZEOF_LONG == 8 typedef off_t ACE_LOFF_T; #elif defined (ACE_HAS_RTEMS) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__APPLE__) || defined(__INTERIX) || \ - (defined (ACE_OPENVMS) && defined (_LARGEFILE)) + (defined (ACE_OPENVMS) && defined (_LARGEFILE)) || defined (ACE_HAS_MUSL) typedef off_t ACE_LOFF_T; #elif defined (AIX) || defined (HPUX) || defined (__QNX__) typedef off64_t ACE_LOFF_T; From b9e97a9a68ddfe06bc6a871df86f3211d2f19d48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Dr=C3=B6scher?= Date: Thu, 9 Apr 2020 23:39:02 +0200 Subject: [PATCH 003/445] Added musl specific section to config-linux.h --- ACE/ace/config-linux.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/ACE/ace/config-linux.h b/ACE/ace/config-linux.h index 954d61f091d1d..9fedefb87b69e 100644 --- a/ACE/ace/config-linux.h +++ b/ACE/ace/config-linux.h @@ -204,6 +204,44 @@ #endif /* __UCLIBC__ */ +// To support musl (note: musl devs refuse to add a __MUSL__) +#if defined (ACE_HAS_MUSL) + +// Enable stuff that musl definitly has +#define ACE_HAS_UCONTEXT_T +#define ACE_HAS_SIGTIMEDWAIT +#define ACE_HAS_PTHREADS +#define ACE_HAS_RECURSIVE_MUTEXES +#define ACE_HAS_PTHREADS_UNIX98_EXT +#define ACE_HAS_CPU_SET_T +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_SOCKLEN_T + +// Mask some features musl lacks +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_SYS_SYSCTL_H +#define ACE_LACKS_ISCTYPE +#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS + +// Following the example set by uclib undef some festures +# if defined (ACE_SCANDIR_CMP_USES_VOIDPTR) +# undef ACE_SCANDIR_CMP_USES_VOIDPTR +# endif /* ACE_SCANDIR_CMP_USES_VOIDPTR */ + +# if defined (ACE_SCANDIR_CMP_USES_CONST_VOIDPTR) +# undef ACE_SCANDIR_CMP_USES_CONST_VOIDPTR +# endif /* ACE_SCANDIR_CMP_USES_CONST_VOIDPTR */ + +# if defined(__GLIBC__) +# undef __GLIBC__ +# endif /* __GLIBC__ */ + +# if defined(ACE_HAS_SEMUN) +# undef ACE_HAS_SEMUN +# endif /* ACE_HAS_SEMUN */ + +#endif /* ACE_HAS_MUSL */ + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_LINUX_H */ From 7ec8330eb8adf35e2bbf12bc40a5321feb93c4b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Dr=C3=B6scher?= Date: Thu, 9 Apr 2020 23:39:46 +0200 Subject: [PATCH 004/445] Abort compilation if no libc is detected or enabled --- ACE/ace/config-linux.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ACE/ace/config-linux.h b/ACE/ace/config-linux.h index 9fedefb87b69e..372c9a5838349 100644 --- a/ACE/ace/config-linux.h +++ b/ACE/ace/config-linux.h @@ -242,6 +242,10 @@ #endif /* ACE_HAS_MUSL */ +#if !defined (__GLIBC__) && !defined (__UCLIBC__) && !defined (ACE_HAS_MUSL) +# error "Could not determine C Standard Library" +#endif /* !defined (__GLIBC__) && !defined (__UCLIBC__) && !defined (ACE_HAS_MUSL) */ + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_LINUX_H */ From c9384eb98b90084998ed8df87557d6fb33c85faa Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 21 May 2022 13:48:26 -0400 Subject: [PATCH 005/445] Added a test for maps --- TAO/tests/IDLv4/maps/.gitignore | 6 ++++++ TAO/tests/IDLv4/maps/IDLv4_maps.mpc | 10 ++++++++++ TAO/tests/IDLv4/maps/main.cpp | 11 +++++++++++ TAO/tests/IDLv4/maps/run_test.pl | 19 +++++++++++++++++++ TAO/tests/IDLv4/maps/test.idl | 1 + 5 files changed, 47 insertions(+) create mode 100644 TAO/tests/IDLv4/maps/.gitignore create mode 100644 TAO/tests/IDLv4/maps/IDLv4_maps.mpc create mode 100644 TAO/tests/IDLv4/maps/main.cpp create mode 100755 TAO/tests/IDLv4/maps/run_test.pl create mode 100644 TAO/tests/IDLv4/maps/test.idl diff --git a/TAO/tests/IDLv4/maps/.gitignore b/TAO/tests/IDLv4/maps/.gitignore new file mode 100644 index 0000000000000..2d381ab3d39cb --- /dev/null +++ b/TAO/tests/IDLv4/maps/.gitignore @@ -0,0 +1,6 @@ +/testC.cpp +/testC.h +/testC.inl +/testS.cpp +/testS.h +/explicit_ints diff --git a/TAO/tests/IDLv4/maps/IDLv4_maps.mpc b/TAO/tests/IDLv4/maps/IDLv4_maps.mpc new file mode 100644 index 0000000000000..fe9869df8d8f1 --- /dev/null +++ b/TAO/tests/IDLv4/maps/IDLv4_maps.mpc @@ -0,0 +1,10 @@ +project: taoexe { + exename = maps + idlflags += --idl-version 4 + IDL_Files { + test.idl + } + Source_Files { + main.cpp + } +} diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp new file mode 100644 index 0000000000000..06aa027835551 --- /dev/null +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -0,0 +1,11 @@ +#include "testC.h" + +#include "ace/OS_NS_stdlib.h" +#include "ace/OS_main.h" + + + +int ACE_TMAIN(int, ACE_TCHAR *[]) { + + return EXIT_SUCCESS; +} diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl new file mode 100755 index 0000000000000..e9383e6384c0a --- /dev/null +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -0,0 +1,19 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +use strict; +use lib "$ENV{ACE_ROOT}/bin"; +use PerlACE::TestTarget; + +my $target = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; +my $proc = $target->CreateProcess ("maps"); + +my $test = $proc->SpawnWaitKill ($target->ProcessStartWaitInterval ()); + +if ($test != 0) { + print STDERR "ERROR: test returned $test\n"; + exit 1; +} + +exit 0; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl new file mode 100644 index 0000000000000..5d2653c4919f3 --- /dev/null +++ b/TAO/tests/IDLv4/maps/test.idl @@ -0,0 +1 @@ +map data; From 3c34706b1bdc301d07d3f79d9d146b100e3f176d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:39:38 -0400 Subject: [PATCH 006/445] Fixed test.idl --- TAO/tests/IDLv4/maps/test.idl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 5d2653c4919f3..c30fe0f6d0de5 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1 +1,4 @@ -map data; +struct DataStruct { + sequence seqData; + map mapData; +}; From 6e4f5bbc7231decf920d46c962a7665e0032d9a5 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:44:31 -0400 Subject: [PATCH 007/445] Added AST for map --- TAO/TAO_IDL/ast/ast_generator.cpp | 22 ++ TAO/TAO_IDL/ast/ast_map.cpp | 316 ++++++++++++++++++++++++++++ TAO/TAO_IDL/include/ast_generator.h | 9 + TAO/TAO_IDL/include/ast_map.h | 155 ++++++++++++++ 4 files changed, 502 insertions(+) create mode 100644 TAO/TAO_IDL/ast/ast_map.cpp create mode 100644 TAO/TAO_IDL/include/ast_map.h diff --git a/TAO/TAO_IDL/ast/ast_generator.cpp b/TAO/TAO_IDL/ast/ast_generator.cpp index 0e08c14098dc7..4a9f25bfd9b84 100644 --- a/TAO/TAO_IDL/ast/ast_generator.cpp +++ b/TAO/TAO_IDL/ast/ast_generator.cpp @@ -97,6 +97,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ast_enum_val.h" #include "ast_array.h" #include "ast_sequence.h" +#include "ast_map.h" #include "ast_string.h" #include "ast_structure_fwd.h" #include "ast_typedef.h" @@ -867,6 +868,27 @@ AST_Generator::create_sequence (AST_Expression *ms, return retval; } +AST_Map * +AST_Generator::create_map (AST_Expression *ms, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract) +{ + AST_Map *retval = nullptr; + ACE_NEW_RETURN (retval, + AST_Map (ms, + key_bt, + val_bt, + n, + is_local, + is_abstract), + nullptr); + + return retval; +} + AST_String * AST_Generator::create_string (AST_Expression *ms) { diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp new file mode 100644 index 0000000000000..f516e0dd6ee98 --- /dev/null +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -0,0 +1,316 @@ +/* + +COPYRIGHT + +Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United +States of America. All Rights Reserved. + +This product is protected by copyright and distributed under the following +license restricting its use. + +The Interface Definition Language Compiler Front End (CFE) is made +available for your use provided that you include this license and copyright +notice on all media and documentation and the software program in which +this product is incorporated in whole or part. You may copy and extend +functionality (but may not remove functionality) of the Interface +Definition Language CFE without charge, but you are not authorized to +license or distribute it to anyone else except as part of a product or +program developed by you or with the express written consent of Sun +Microsystems, Inc. ("Sun"). + +The names of Sun Microsystems, Inc. and any of its subsidiaries or +affiliates may not be used in advertising or publicity pertaining to +distribution of Interface Definition Language CFE as permitted herein. + +This license is effective until terminated by Sun for failure to comply +with this license. Upon termination, you shall destroy or return all code +and documentation for the Interface Definition Language CFE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF +ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS +FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF +DEALING, USAGE OR TRADE PRACTICE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT +ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES +TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT. + +SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH +RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY +INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF. + +IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR +ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL +DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +Use, duplication, or disclosure by the government is subject to +restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in +Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR +52.227-19. + +Sun, Sun Microsystems and the Sun logo are trademarks or registered +trademarks of Sun Microsystems, Inc. + +SunSoft, Inc. +2550 Garcia Avenue +Mountain View, California 94043 + +NOTE: + +SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are +trademarks or registered trademarks of Sun Microsystems, Inc. + +*/ + +// AST_Map nodes represent IDL map declarations. +// AST_Map is a subclass of AST_ConcreteType. +// AST_Map nodes have a maximum size (an AST_Expression which +// must evaluate to a positive integer) and a base type (a subclass +// of AST_Type). + +#include "ast_map.h" +#include "ast_typedef.h" +#include "ast_expression.h" +#include "ast_param_holder.h" +#include "ast_visitor.h" +#include "ast_annotation_appl.h" + +#include "utl_identifier.h" +#include "utl_err.h" + +#include "global_extern.h" +#include "fe_extern.h" + +#include "ace/Log_Msg.h" +#include "ace/OS_Memory.h" +#include "ace/OS_NS_string.h" + +AST_Decl::NodeType const +AST_Map::NT = AST_Decl::NT_map; + +AST_Map::AST_Map (AST_Expression *ms, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract) + : COMMON_Base (key_bt->is_local () || local, + abstract), + AST_Decl (AST_Decl::NT_map, + n, + true), + AST_Type (AST_Decl::NT_map, + n), + AST_ConcreteType (AST_Decl::NT_map, + n), + pd_max_size (ms), + key_pd_type (key_bt), + value_pd_type (val_bt), + unbounded_ (true), + owns_base_type_ (false) +{ + FE_Utils::tmpl_mod_ref_check (this, key_bt); + + AST_Decl::NodeType bnt = key_bt->node_type (); + + if (bnt == AST_Decl::NT_param_holder) + { + AST_Param_Holder *ph = dynamic_cast (key_bt); + + if (ph->info ()->type_ == AST_Decl::NT_const) + { + idl_global->err ()->not_a_type (key_bt); + key_bt->destroy (); + delete key_bt; + key_bt = nullptr; + throw Bailout (); + } + } + + // Check if we are bounded or unbounded. An expression value of 0 means + // unbounded. If our bound is a template parameter, skip the + // check altogether, this node will trigger no code generation. + if (ms->param_holder () == nullptr) + { + this->unbounded_ = (ms->ev ()->u.ulval == 0); + } + + // A map data type is always VARIABLE. + this->size_type (AST_Type::VARIABLE); + + AST_Decl::NodeType nt = key_bt->node_type (); + + this->owns_base_type_ = + nt == AST_Decl::NT_array + || nt == AST_Decl::NT_map + || nt == AST_Decl::NT_param_holder; +} + +AST_Map::~AST_Map () +{ +} + +// Public operations. + +bool +AST_Map::in_recursion (ACE_Unbounded_Queue &list) +{ + if (list.size () == 0) // only structs, unions and valuetypes can be recursive + return false; + + list.enqueue_tail(this); + + AST_Type *type = dynamic_cast (this->key_type ()); + + if (type == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("AST_Map::in_recursion - ") + ACE_TEXT ("bad base type\n")), + false); + } + + AST_Decl::NodeType nt = type->node_type (); + + if (nt == AST_Decl::NT_typedef) + { + AST_Typedef *td = dynamic_cast (type); + type = td->primitive_base_type (); + nt = type->node_type (); + } + + if (nt != AST_Decl::NT_struct + && nt != AST_Decl::NT_union + && nt != AST_Decl::NT_valuetype + && nt != AST_Decl::NT_map) + { + return false; + } + + bool recursion_found = false; + AST_Type** recursable_type = nullptr; + list.get (recursable_type, 0); + if (!ACE_OS::strcmp (type->full_name (), + (*recursable_type)->full_name ())) + { + // They match. + recursion_found = true; + idl_global->recursive_type_seen_ = true; + } + else + { + // Check the element type. + recursion_found = type->in_recursion (list); + } + + return recursion_found; +} + +// Redefinition of inherited virtual operations. + +// Dump this AST_Map node to the ostream o. +void +AST_Map::dump (ACE_OSTREAM_TYPE &o) +{ + this->dump_i (o, "map <"); + AST_Annotation_Appls::iterator i, + finished = base_type_annotations ().end (); + for (i = base_type_annotations ().begin (); i != finished; ++i) + { + AST_Annotation_Appl *a = i->get (); + a->dump (o); + dump_i (o, " "); + } + this->key_pd_type->dump (o); + this->dump_i (o, ", "); + this->value_pd_type->dump (o); + this->dump_i (o, ", "); + this->pd_max_size->dump (o); + this->dump_i (o, ">"); +} + +int +AST_Map::ast_accept (ast_visitor *visitor) +{ + return visitor->visit_map (this); +} + +// Data accessors. + +AST_Expression * +AST_Map::max_size () +{ + return this->pd_max_size; +} + +AST_Type * +AST_Map::key_type () const +{ + return this->key_pd_type; +} + +AST_Type * +AST_Map::value_type () const +{ + return this->value_pd_type; +} + +AST_Type * +AST_Map::primitive_base_type () const +{ + AST_Type *type_node = key_type (); + if (type_node && type_node->node_type () == AST_Decl::NT_typedef) + { + AST_Typedef *const typedef_node = dynamic_cast (type_node); + if (!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type (); + } + return type_node; +} + +bool +AST_Map::unbounded () const +{ + return this->unbounded_; +} + +bool +AST_Map::legal_for_primary_key () const +{ + return this->key_type ()->legal_for_primary_key (); +} + +bool +AST_Map::is_defined () +{ + return this->key_pd_type->is_defined () && this->value_pd_type->is_defined(); +} + +void +AST_Map::destroy () +{ + if (this->owns_base_type_) + { + this->key_pd_type->destroy (); + delete this->key_pd_type; + this->key_pd_type = nullptr; + } + + this->pd_max_size->destroy (); + delete this->pd_max_size; + this->pd_max_size = nullptr; + + this->AST_ConcreteType::destroy (); +} + +AST_Annotation_Appls & +AST_Map::base_type_annotations () +{ + return base_type_annotations_; +} + +void +AST_Map::base_type_annotations (const AST_Annotation_Appls &annotations) +{ + base_type_annotations_ = annotations; +} diff --git a/TAO/TAO_IDL/include/ast_generator.h b/TAO/TAO_IDL/include/ast_generator.h index 61f78e6c27ad6..fef79fe1d65ad 100644 --- a/TAO/TAO_IDL/include/ast_generator.h +++ b/TAO/TAO_IDL/include/ast_generator.h @@ -87,6 +87,7 @@ class AST_Publishes; class AST_Emits; class AST_Consumes; class AST_Template_Module; +class AST_Map; class AST_Template_Module_Inst; class AST_Template_Module_Ref; class AST_Param_Holder; @@ -328,6 +329,14 @@ class TAO_IDL_FE_Export AST_Generator bool is_local, bool is_abstract); + // Create a node representing a map type. + virtual AST_Map *create_map(AST_Expression *v, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract); + // Create a node representing a string type. virtual AST_String *create_string (AST_Expression *v); diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h new file mode 100644 index 0000000000000..05e7332f9e098 --- /dev/null +++ b/TAO/TAO_IDL/include/ast_map.h @@ -0,0 +1,155 @@ +/* + +COPYRIGHT + +Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United +States of America. All Rights Reserved. + +This product is protected by copyright and distributed under the following +license restricting its use. + +The Interface Definition Language Compiler Front End (CFE) is made +available for your use provided that you include this license and copyright +notice on all media and documentation and the software program in which +this product is incorporated in whole or part. You may copy and extend +functionality (but may not remove functionality) of the Interface +Definition Language CFE without charge, but you are not authorized to +license or distribute it to anyone else except as part of a product or +program developed by you or with the express written consent of Sun +Microsystems, Inc. ("Sun"). + +The names of Sun Microsystems, Inc. and any of its subsidiaries or +affiliates may not be used in advertising or publicity pertaining to +distribution of Interface Definition Language CFE as permitted herein. + +This license is effective until terminated by Sun for failure to comply +with this license. Upon termination, you shall destroy or return all code +and documentation for the Interface Definition Language CFE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF +ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS +FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF +DEALING, USAGE OR TRADE PRACTICE. + +INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT +ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES +TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT. + +SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH +RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY +INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF. + +IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR +ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL +DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +Use, duplication, or disclosure by the government is subject to +restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in +Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR +52.227-19. + +Sun, Sun Microsystems and the Sun logo are trademarks or registered +trademarks of Sun Microsystems, Inc. + +SunSoft, Inc. +2550 Garcia Avenue +Mountain View, California 94043 + +NOTE: + +SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are +trademarks or registered trademarks of Sun Microsystems, Inc. + +*/ + +#ifndef _AST_MAP_AST_MAP_HH +#define _AST_MAP_AST_MAP_HH + +#include "ast_concrete_type.h" + + +class AST_Expression; +class AST_Type; + +class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType +{ +public: + AST_Map (AST_Expression *max_size, + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract); + + virtual ~AST_Map (); + + virtual bool in_recursion (ACE_Unbounded_Queue &list); + // Are we or the node represented by node involved in recursion. + + // Data Accessors. + AST_Expression *max_size (); + + AST_Type *key_type () const; + AST_Type *value_type() const; + + /** + * Returns the fully dealiased base type if it's a typedef. If it's not a + * typedef, the it returns the same value as as base_type(). + */ + AST_Type *primitive_base_type () const; + + virtual bool unbounded () const; + // Is this map bounded or not. + + // Recursively called on valuetype to check for legal use as + // a primary key. Overridden for valuetype, struct, map, + // union, array, typedef, and interface. + virtual bool legal_for_primary_key () const; + + // Is the element type a forward declared struct or union + // that hasn't yet been fully defined? + virtual bool is_defined (); + + // Cleanup method. + virtual void destroy (); + + // AST Dumping. + virtual void dump (ACE_OSTREAM_TYPE &o); + + // Visiting. + virtual int ast_accept (ast_visitor *visitor); + + static AST_Decl::NodeType const NT; + + /** + * Get and Set Annotations on the base type + */ + ///{ + AST_Annotation_Appls &base_type_annotations (); + void base_type_annotations (const AST_Annotation_Appls &annotations); + ///} + +private: + // Data. + AST_Expression *pd_max_size; + // Maximum map size. + + AST_Type *key_pd_type; + // map key type. + AST_Type *value_pd_type; + // map value type. + + bool unbounded_; + // Whether we are bounded or unbounded. + + bool owns_base_type_; + // If our base type is anonymous array or map, we're + // responsible for destroying it. + + /** + * Annotations on the base type + */ + AST_Annotation_Appls base_type_annotations_; +}; + +#endif // _AST_MAP_AST_MAP_HH From 1ff3a9307721e6c453421a87802a718e7be762a1 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:47:03 -0400 Subject: [PATCH 008/445] Updated flex and bison --- TAO/TAO_IDL/fe/idl.ll | 9 + TAO/TAO_IDL/fe/idl.tab.cpp | 5593 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.tab.hpp | 151 +- TAO/TAO_IDL/fe/idl.ypp | 87 +- TAO/TAO_IDL/fe/idl.yy.cpp | 1543 +++++----- 5 files changed, 3813 insertions(+), 3570 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ll b/TAO/TAO_IDL/fe/idl.ll index 7b3dbdfa9fbd6..7e15607d42b22 100644 --- a/TAO/TAO_IDL/fe/idl.ll +++ b/TAO/TAO_IDL/fe/idl.ll @@ -138,6 +138,7 @@ enum return IDL_ENUM; string return IDL_STRING; wstring return IDL_WSTRING; sequence return IDL_SEQUENCE; +map return IDL_MAP; union return IDL_UNION; fixed return IDL_FIXED; switch return IDL_SWITCH; @@ -221,6 +222,14 @@ uint64 { REJECT; } } +map { + if (idl_global->idl_version_ >= IDL_VERSION_4) + return IDL_MAP; + else + { + REJECT; + } +} custom return IDL_CUSTOM; factory return IDL_FACTORY; diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index d22f815b46679..056f22cb8bacc 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.6. */ +/* A Bison parser, made by GNU Bison 3.7.5. */ /* Bison implementation for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -46,10 +46,10 @@ USER NAME SPACE" below. */ /* Identify Bison output, and Bison version. */ -#define YYBISON 30706 +#define YYBISON 30705 /* Bison version string. */ -#define YYBISON_VERSION "3.7.6" +#define YYBISON_VERSION "3.7.5" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -137,6 +137,7 @@ #include #include #include +#include #include #include @@ -161,7 +162,7 @@ bool stack_based_lookup_for_primary_expr = false; // Compile Optional Tracing Output for Parser, can be enabled with --bison-trace #define YYDEBUG 1 -#line 165 "fe/idl.tab.cpp" +#line 166 "fe/idl.tab.cpp" # ifndef YY_CAST # ifdef __cplusplus @@ -214,496 +215,503 @@ enum yysymbol_kind_t YYSYMBOL_IDL_SWITCH = 22, /* IDL_SWITCH */ YYSYMBOL_IDL_ENUM = 23, /* IDL_ENUM */ YYSYMBOL_IDL_SEQUENCE = 24, /* IDL_SEQUENCE */ - YYSYMBOL_IDL_STRING = 25, /* IDL_STRING */ - YYSYMBOL_IDL_WSTRING = 26, /* IDL_WSTRING */ - YYSYMBOL_IDL_EXCEPTION = 27, /* IDL_EXCEPTION */ - YYSYMBOL_IDL_CASE = 28, /* IDL_CASE */ - YYSYMBOL_IDL_DEFAULT = 29, /* IDL_DEFAULT */ - YYSYMBOL_IDL_READONLY = 30, /* IDL_READONLY */ - YYSYMBOL_IDL_ATTRIBUTE = 31, /* IDL_ATTRIBUTE */ - YYSYMBOL_IDL_ONEWAY = 32, /* IDL_ONEWAY */ - YYSYMBOL_IDL_IDEMPOTENT = 33, /* IDL_IDEMPOTENT */ - YYSYMBOL_IDL_VOID = 34, /* IDL_VOID */ - YYSYMBOL_IDL_IN = 35, /* IDL_IN */ - YYSYMBOL_IDL_OUT = 36, /* IDL_OUT */ - YYSYMBOL_IDL_INOUT = 37, /* IDL_INOUT */ - YYSYMBOL_IDL_RAISES = 38, /* IDL_RAISES */ - YYSYMBOL_IDL_CONTEXT = 39, /* IDL_CONTEXT */ - YYSYMBOL_IDL_NATIVE = 40, /* IDL_NATIVE */ - YYSYMBOL_IDL_LOCAL = 41, /* IDL_LOCAL */ - YYSYMBOL_IDL_ABSTRACT = 42, /* IDL_ABSTRACT */ - YYSYMBOL_IDL_CUSTOM = 43, /* IDL_CUSTOM */ - YYSYMBOL_IDL_FACTORY = 44, /* IDL_FACTORY */ - YYSYMBOL_IDL_PRIVATE = 45, /* IDL_PRIVATE */ - YYSYMBOL_IDL_PUBLIC = 46, /* IDL_PUBLIC */ - YYSYMBOL_IDL_SUPPORTS = 47, /* IDL_SUPPORTS */ - YYSYMBOL_IDL_TRUNCATABLE = 48, /* IDL_TRUNCATABLE */ - YYSYMBOL_IDL_VALUETYPE = 49, /* IDL_VALUETYPE */ - YYSYMBOL_IDL_COMPONENT = 50, /* IDL_COMPONENT */ - YYSYMBOL_IDL_CONSUMES = 51, /* IDL_CONSUMES */ - YYSYMBOL_IDL_EMITS = 52, /* IDL_EMITS */ - YYSYMBOL_IDL_EVENTTYPE = 53, /* IDL_EVENTTYPE */ - YYSYMBOL_IDL_FINDER = 54, /* IDL_FINDER */ - YYSYMBOL_IDL_GETRAISES = 55, /* IDL_GETRAISES */ - YYSYMBOL_IDL_HOME = 56, /* IDL_HOME */ - YYSYMBOL_IDL_IMPORT = 57, /* IDL_IMPORT */ - YYSYMBOL_IDL_MULTIPLE = 58, /* IDL_MULTIPLE */ - YYSYMBOL_IDL_PRIMARYKEY = 59, /* IDL_PRIMARYKEY */ - YYSYMBOL_IDL_PROVIDES = 60, /* IDL_PROVIDES */ - YYSYMBOL_IDL_PUBLISHES = 61, /* IDL_PUBLISHES */ - YYSYMBOL_IDL_SETRAISES = 62, /* IDL_SETRAISES */ - YYSYMBOL_IDL_TYPEID = 63, /* IDL_TYPEID */ - YYSYMBOL_IDL_TYPEPREFIX = 64, /* IDL_TYPEPREFIX */ - YYSYMBOL_IDL_USES = 65, /* IDL_USES */ - YYSYMBOL_IDL_MANAGES = 66, /* IDL_MANAGES */ - YYSYMBOL_IDL_TYPENAME = 67, /* IDL_TYPENAME */ - YYSYMBOL_IDL_PORT = 68, /* IDL_PORT */ - YYSYMBOL_IDL_MIRRORPORT = 69, /* IDL_MIRRORPORT */ - YYSYMBOL_IDL_PORTTYPE = 70, /* IDL_PORTTYPE */ - YYSYMBOL_IDL_CONNECTOR = 71, /* IDL_CONNECTOR */ - YYSYMBOL_IDL_ALIAS = 72, /* IDL_ALIAS */ - YYSYMBOL_IDL_INTEGER_LITERAL = 73, /* IDL_INTEGER_LITERAL */ - YYSYMBOL_IDL_UINTEGER_LITERAL = 74, /* IDL_UINTEGER_LITERAL */ - YYSYMBOL_IDL_STRING_LITERAL = 75, /* IDL_STRING_LITERAL */ - YYSYMBOL_IDL_CHARACTER_LITERAL = 76, /* IDL_CHARACTER_LITERAL */ - YYSYMBOL_IDL_FLOATING_PT_LITERAL = 77, /* IDL_FLOATING_PT_LITERAL */ - YYSYMBOL_IDL_FIXED_PT_LITERAL = 78, /* IDL_FIXED_PT_LITERAL */ - YYSYMBOL_IDL_TRUETOK = 79, /* IDL_TRUETOK */ - YYSYMBOL_IDL_FALSETOK = 80, /* IDL_FALSETOK */ - YYSYMBOL_IDL_INT8 = 81, /* IDL_INT8 */ - YYSYMBOL_IDL_UINT8 = 82, /* IDL_UINT8 */ - YYSYMBOL_IDL_INT16 = 83, /* IDL_INT16 */ - YYSYMBOL_IDL_UINT16 = 84, /* IDL_UINT16 */ - YYSYMBOL_IDL_INT32 = 85, /* IDL_INT32 */ - YYSYMBOL_IDL_UINT32 = 86, /* IDL_UINT32 */ - YYSYMBOL_IDL_INT64 = 87, /* IDL_INT64 */ - YYSYMBOL_IDL_UINT64 = 88, /* IDL_UINT64 */ - YYSYMBOL_IDL_SCOPE_DELIMITOR = 89, /* IDL_SCOPE_DELIMITOR */ - YYSYMBOL_IDL_LEFT_SHIFT = 90, /* IDL_LEFT_SHIFT */ - YYSYMBOL_IDL_RIGHT_SHIFT = 91, /* IDL_RIGHT_SHIFT */ - YYSYMBOL_IDL_WCHAR_LITERAL = 92, /* IDL_WCHAR_LITERAL */ - YYSYMBOL_IDL_WSTRING_LITERAL = 93, /* IDL_WSTRING_LITERAL */ - YYSYMBOL_IDL_ANNOTATION_DECL = 94, /* IDL_ANNOTATION_DECL */ - YYSYMBOL_IDL_ANNOTATION_SYMBOL = 95, /* IDL_ANNOTATION_SYMBOL */ - YYSYMBOL_96_ = 96, /* ';' */ - YYSYMBOL_97_ = 97, /* '{' */ - YYSYMBOL_98_ = 98, /* '}' */ - YYSYMBOL_99_ = 99, /* '<' */ - YYSYMBOL_100_ = 100, /* '>' */ - YYSYMBOL_101_ = 101, /* ':' */ - YYSYMBOL_102_ = 102, /* ',' */ - YYSYMBOL_103_ = 103, /* '=' */ - YYSYMBOL_104_ = 104, /* '|' */ - YYSYMBOL_105_ = 105, /* '^' */ - YYSYMBOL_106_ = 106, /* '&' */ - YYSYMBOL_107_ = 107, /* '+' */ - YYSYMBOL_108_ = 108, /* '-' */ - YYSYMBOL_109_ = 109, /* '*' */ - YYSYMBOL_110_ = 110, /* '/' */ - YYSYMBOL_111_ = 111, /* '%' */ - YYSYMBOL_112_ = 112, /* '~' */ - YYSYMBOL_113_ = 113, /* '(' */ - YYSYMBOL_114_ = 114, /* ')' */ - YYSYMBOL_115_ = 115, /* '[' */ - YYSYMBOL_116_ = 116, /* ']' */ - YYSYMBOL_YYACCEPT = 117, /* $accept */ - YYSYMBOL_start = 118, /* start */ - YYSYMBOL_definitions = 119, /* definitions */ - YYSYMBOL_at_least_one_definition = 120, /* at_least_one_definition */ - YYSYMBOL_definition = 121, /* definition */ - YYSYMBOL_fixed_definition = 122, /* fixed_definition */ - YYSYMBOL_123_1 = 123, /* $@1 */ - YYSYMBOL_124_2 = 124, /* $@2 */ - YYSYMBOL_125_3 = 125, /* $@3 */ - YYSYMBOL_126_4 = 126, /* $@4 */ - YYSYMBOL_127_5 = 127, /* $@5 */ - YYSYMBOL_128_6 = 128, /* $@6 */ - YYSYMBOL_129_7 = 129, /* $@7 */ - YYSYMBOL_130_8 = 130, /* $@8 */ - YYSYMBOL_131_9 = 131, /* $@9 */ - YYSYMBOL_132_10 = 132, /* $@10 */ - YYSYMBOL_133_11 = 133, /* $@11 */ - YYSYMBOL_134_12 = 134, /* $@12 */ - YYSYMBOL_135_13 = 135, /* $@13 */ - YYSYMBOL_136_14 = 136, /* $@14 */ - YYSYMBOL_137_15 = 137, /* $@15 */ - YYSYMBOL_module_header = 138, /* module_header */ - YYSYMBOL_139_16 = 139, /* $@16 */ - YYSYMBOL_module = 140, /* module */ - YYSYMBOL_141_17 = 141, /* @17 */ - YYSYMBOL_142_18 = 142, /* $@18 */ - YYSYMBOL_143_19 = 143, /* $@19 */ - YYSYMBOL_template_module_header = 144, /* template_module_header */ - YYSYMBOL_template_module = 145, /* template_module */ - YYSYMBOL_146_20 = 146, /* $@20 */ - YYSYMBOL_147_21 = 147, /* $@21 */ - YYSYMBOL_148_22 = 148, /* $@22 */ - YYSYMBOL_149_23 = 149, /* $@23 */ - YYSYMBOL_150_24 = 150, /* $@24 */ - YYSYMBOL_at_least_one_tpl_definition = 151, /* at_least_one_tpl_definition */ - YYSYMBOL_tpl_definitions = 152, /* tpl_definitions */ - YYSYMBOL_tpl_definition = 153, /* tpl_definition */ - YYSYMBOL_template_module_ref = 154, /* template_module_ref */ - YYSYMBOL_155_25 = 155, /* $@25 */ - YYSYMBOL_156_26 = 156, /* $@26 */ - YYSYMBOL_template_module_inst = 157, /* template_module_inst */ - YYSYMBOL_158_27 = 158, /* $@27 */ - YYSYMBOL_159_28 = 159, /* $@28 */ - YYSYMBOL_interface_def = 160, /* interface_def */ - YYSYMBOL_interface = 161, /* interface */ - YYSYMBOL_162_29 = 162, /* $@29 */ - YYSYMBOL_163_30 = 163, /* $@30 */ - YYSYMBOL_164_31 = 164, /* $@31 */ - YYSYMBOL_interface_decl = 165, /* interface_decl */ - YYSYMBOL_166_32 = 166, /* $@32 */ - YYSYMBOL_interface_header = 167, /* interface_header */ - YYSYMBOL_inheritance_spec = 168, /* inheritance_spec */ - YYSYMBOL_169_33 = 169, /* $@33 */ - YYSYMBOL_value_def = 170, /* value_def */ - YYSYMBOL_valuetype = 171, /* valuetype */ - YYSYMBOL_value_concrete_decl = 172, /* value_concrete_decl */ - YYSYMBOL_173_34 = 173, /* @34 */ - YYSYMBOL_174_35 = 174, /* $@35 */ - YYSYMBOL_175_36 = 175, /* $@36 */ - YYSYMBOL_value_abs_decl = 176, /* value_abs_decl */ - YYSYMBOL_177_37 = 177, /* $@37 */ - YYSYMBOL_178_38 = 178, /* $@38 */ - YYSYMBOL_179_39 = 179, /* $@39 */ - YYSYMBOL_value_header = 180, /* value_header */ - YYSYMBOL_181_40 = 181, /* $@40 */ - YYSYMBOL_value_decl = 182, /* value_decl */ - YYSYMBOL_183_41 = 183, /* $@41 */ - YYSYMBOL_opt_truncatable = 184, /* opt_truncatable */ - YYSYMBOL_supports_spec = 185, /* supports_spec */ - YYSYMBOL_value_forward_decl = 186, /* value_forward_decl */ - YYSYMBOL_value_box_decl = 187, /* value_box_decl */ - YYSYMBOL_value_elements = 188, /* value_elements */ - YYSYMBOL_value_element = 189, /* value_element */ - YYSYMBOL_190_42 = 190, /* @42 */ - YYSYMBOL_visibility = 191, /* visibility */ - YYSYMBOL_state_member = 192, /* state_member */ - YYSYMBOL_exports = 193, /* exports */ - YYSYMBOL_at_least_one_export = 194, /* at_least_one_export */ - YYSYMBOL_export = 195, /* export */ - YYSYMBOL_196_43 = 196, /* $@43 */ - YYSYMBOL_197_44 = 197, /* $@44 */ - YYSYMBOL_198_45 = 198, /* $@45 */ - YYSYMBOL_199_46 = 199, /* $@46 */ - YYSYMBOL_200_47 = 200, /* $@47 */ - YYSYMBOL_201_48 = 201, /* $@48 */ - YYSYMBOL_202_49 = 202, /* $@49 */ - YYSYMBOL_203_50 = 203, /* $@50 */ - YYSYMBOL_at_least_one_scoped_name = 204, /* at_least_one_scoped_name */ - YYSYMBOL_scoped_names = 205, /* scoped_names */ - YYSYMBOL_206_51 = 206, /* $@51 */ - YYSYMBOL_scoped_name = 207, /* scoped_name */ - YYSYMBOL_208_52 = 208, /* $@52 */ - YYSYMBOL_209_53 = 209, /* $@53 */ - YYSYMBOL_id = 210, /* id */ - YYSYMBOL_defining_id = 211, /* defining_id */ - YYSYMBOL_interface_forward = 212, /* interface_forward */ - YYSYMBOL_const_dcl = 213, /* const_dcl */ - YYSYMBOL_214_54 = 214, /* $@54 */ - YYSYMBOL_215_55 = 215, /* $@55 */ - YYSYMBOL_216_56 = 216, /* $@56 */ - YYSYMBOL_217_57 = 217, /* $@57 */ - YYSYMBOL_const_type = 218, /* const_type */ - YYSYMBOL_expression = 219, /* expression */ - YYSYMBOL_const_expr = 220, /* const_expr */ - YYSYMBOL_or_expr = 221, /* or_expr */ - YYSYMBOL_xor_expr = 222, /* xor_expr */ - YYSYMBOL_and_expr = 223, /* and_expr */ - YYSYMBOL_shift_expr = 224, /* shift_expr */ - YYSYMBOL_add_expr = 225, /* add_expr */ - YYSYMBOL_mult_expr = 226, /* mult_expr */ - YYSYMBOL_unary_expr = 227, /* unary_expr */ - YYSYMBOL_primary_expr = 228, /* primary_expr */ - YYSYMBOL_literal = 229, /* literal */ - YYSYMBOL_positive_int_expr = 230, /* positive_int_expr */ - YYSYMBOL_annotation_dcl = 231, /* annotation_dcl */ - YYSYMBOL_232_58 = 232, /* $@58 */ - YYSYMBOL_annotation_body = 233, /* annotation_body */ - YYSYMBOL_annotation_statement = 234, /* annotation_statement */ - YYSYMBOL_235_59 = 235, /* $@59 */ - YYSYMBOL_annotation_member_type = 236, /* annotation_member_type */ - YYSYMBOL_annotation_member = 237, /* annotation_member */ - YYSYMBOL_annotation_member_default = 238, /* annotation_member_default */ - YYSYMBOL_at_least_one_annotation = 239, /* at_least_one_annotation */ - YYSYMBOL_annotations_maybe = 240, /* annotations_maybe */ - YYSYMBOL_annotation_appl = 241, /* annotation_appl */ - YYSYMBOL_242_60 = 242, /* @60 */ - YYSYMBOL_annotation_appl_params_maybe = 243, /* annotation_appl_params_maybe */ - YYSYMBOL_annotation_appl_params = 244, /* annotation_appl_params */ - YYSYMBOL_named_annotation_appl_params = 245, /* named_annotation_appl_params */ - YYSYMBOL_more_named_annotation_appl_params = 246, /* more_named_annotation_appl_params */ - YYSYMBOL_named_annotation_appl_param = 247, /* named_annotation_appl_param */ - YYSYMBOL_type_dcl = 248, /* type_dcl */ - YYSYMBOL_249_61 = 249, /* $@61 */ - YYSYMBOL_type_declarator = 250, /* type_declarator */ - YYSYMBOL_251_62 = 251, /* $@62 */ - YYSYMBOL_type_spec = 252, /* type_spec */ - YYSYMBOL_simple_type_spec = 253, /* simple_type_spec */ - YYSYMBOL_base_type_spec = 254, /* base_type_spec */ - YYSYMBOL_template_type_spec = 255, /* template_type_spec */ - YYSYMBOL_constructed_type_spec = 256, /* constructed_type_spec */ - YYSYMBOL_constructed_forward_type_spec = 257, /* constructed_forward_type_spec */ - YYSYMBOL_at_least_one_declarator = 258, /* at_least_one_declarator */ - YYSYMBOL_declarators = 259, /* declarators */ - YYSYMBOL_260_63 = 260, /* $@63 */ - YYSYMBOL_declarator = 261, /* declarator */ - YYSYMBOL_at_least_one_simple_declarator = 262, /* at_least_one_simple_declarator */ - YYSYMBOL_simple_declarators = 263, /* simple_declarators */ - YYSYMBOL_264_64 = 264, /* $@64 */ - YYSYMBOL_simple_declarator = 265, /* simple_declarator */ - YYSYMBOL_complex_declarator = 266, /* complex_declarator */ - YYSYMBOL_integer_type = 267, /* integer_type */ - YYSYMBOL_signed_int = 268, /* signed_int */ - YYSYMBOL_unsigned_int = 269, /* unsigned_int */ - YYSYMBOL_floating_pt_type = 270, /* floating_pt_type */ - YYSYMBOL_fixed_type = 271, /* fixed_type */ - YYSYMBOL_char_type = 272, /* char_type */ - YYSYMBOL_octet_type = 273, /* octet_type */ - YYSYMBOL_boolean_type = 274, /* boolean_type */ - YYSYMBOL_any_type = 275, /* any_type */ - YYSYMBOL_object_type = 276, /* object_type */ - YYSYMBOL_struct_decl = 277, /* struct_decl */ - YYSYMBOL_278_65 = 278, /* $@65 */ - YYSYMBOL_struct_type = 279, /* struct_type */ - YYSYMBOL_280_66 = 280, /* $@66 */ - YYSYMBOL_281_67 = 281, /* $@67 */ - YYSYMBOL_282_68 = 282, /* $@68 */ - YYSYMBOL_at_least_one_member = 283, /* at_least_one_member */ - YYSYMBOL_members = 284, /* members */ - YYSYMBOL_member = 285, /* member */ - YYSYMBOL_member_i = 286, /* member_i */ - YYSYMBOL_287_69 = 287, /* $@69 */ - YYSYMBOL_288_70 = 288, /* $@70 */ - YYSYMBOL_289_71 = 289, /* $@71 */ - YYSYMBOL_union_decl = 290, /* union_decl */ - YYSYMBOL_291_72 = 291, /* $@72 */ - YYSYMBOL_union_type = 292, /* union_type */ - YYSYMBOL_293_73 = 293, /* $@73 */ - YYSYMBOL_294_74 = 294, /* $@74 */ - YYSYMBOL_295_75 = 295, /* $@75 */ - YYSYMBOL_296_76 = 296, /* $@76 */ - YYSYMBOL_297_77 = 297, /* $@77 */ - YYSYMBOL_298_78 = 298, /* $@78 */ - YYSYMBOL_switch_type_spec = 299, /* switch_type_spec */ - YYSYMBOL_at_least_one_case_branch = 300, /* at_least_one_case_branch */ - YYSYMBOL_case_branches = 301, /* case_branches */ - YYSYMBOL_case_branch = 302, /* case_branch */ - YYSYMBOL_303_79 = 303, /* $@79 */ - YYSYMBOL_304_80 = 304, /* $@80 */ - YYSYMBOL_305_81 = 305, /* $@81 */ - YYSYMBOL_at_least_one_case_label = 306, /* at_least_one_case_label */ - YYSYMBOL_case_labels = 307, /* case_labels */ - YYSYMBOL_case_label = 308, /* case_label */ - YYSYMBOL_309_82 = 309, /* $@82 */ - YYSYMBOL_310_83 = 310, /* $@83 */ - YYSYMBOL_311_84 = 311, /* $@84 */ - YYSYMBOL_element_spec = 312, /* element_spec */ - YYSYMBOL_313_85 = 313, /* $@85 */ - YYSYMBOL_struct_forward_type = 314, /* struct_forward_type */ - YYSYMBOL_union_forward_type = 315, /* union_forward_type */ - YYSYMBOL_enum_type = 316, /* enum_type */ - YYSYMBOL_317_86 = 317, /* $@86 */ - YYSYMBOL_318_87 = 318, /* $@87 */ - YYSYMBOL_319_88 = 319, /* $@88 */ - YYSYMBOL_320_89 = 320, /* $@89 */ - YYSYMBOL_at_least_one_enumerator = 321, /* at_least_one_enumerator */ - YYSYMBOL_enumerators = 322, /* enumerators */ - YYSYMBOL_323_90 = 323, /* $@90 */ - YYSYMBOL_enumerator = 324, /* enumerator */ - YYSYMBOL_sequence_type_spec = 325, /* sequence_type_spec */ - YYSYMBOL_326_91 = 326, /* $@91 */ - YYSYMBOL_327_92 = 327, /* $@92 */ - YYSYMBOL_seq_head = 328, /* seq_head */ + YYSYMBOL_IDL_MAP = 25, /* IDL_MAP */ + YYSYMBOL_IDL_STRING = 26, /* IDL_STRING */ + YYSYMBOL_IDL_WSTRING = 27, /* IDL_WSTRING */ + YYSYMBOL_IDL_EXCEPTION = 28, /* IDL_EXCEPTION */ + YYSYMBOL_IDL_CASE = 29, /* IDL_CASE */ + YYSYMBOL_IDL_DEFAULT = 30, /* IDL_DEFAULT */ + YYSYMBOL_IDL_READONLY = 31, /* IDL_READONLY */ + YYSYMBOL_IDL_ATTRIBUTE = 32, /* IDL_ATTRIBUTE */ + YYSYMBOL_IDL_ONEWAY = 33, /* IDL_ONEWAY */ + YYSYMBOL_IDL_IDEMPOTENT = 34, /* IDL_IDEMPOTENT */ + YYSYMBOL_IDL_VOID = 35, /* IDL_VOID */ + YYSYMBOL_IDL_IN = 36, /* IDL_IN */ + YYSYMBOL_IDL_OUT = 37, /* IDL_OUT */ + YYSYMBOL_IDL_INOUT = 38, /* IDL_INOUT */ + YYSYMBOL_IDL_RAISES = 39, /* IDL_RAISES */ + YYSYMBOL_IDL_CONTEXT = 40, /* IDL_CONTEXT */ + YYSYMBOL_IDL_NATIVE = 41, /* IDL_NATIVE */ + YYSYMBOL_IDL_LOCAL = 42, /* IDL_LOCAL */ + YYSYMBOL_IDL_ABSTRACT = 43, /* IDL_ABSTRACT */ + YYSYMBOL_IDL_CUSTOM = 44, /* IDL_CUSTOM */ + YYSYMBOL_IDL_FACTORY = 45, /* IDL_FACTORY */ + YYSYMBOL_IDL_PRIVATE = 46, /* IDL_PRIVATE */ + YYSYMBOL_IDL_PUBLIC = 47, /* IDL_PUBLIC */ + YYSYMBOL_IDL_SUPPORTS = 48, /* IDL_SUPPORTS */ + YYSYMBOL_IDL_TRUNCATABLE = 49, /* IDL_TRUNCATABLE */ + YYSYMBOL_IDL_VALUETYPE = 50, /* IDL_VALUETYPE */ + YYSYMBOL_IDL_COMPONENT = 51, /* IDL_COMPONENT */ + YYSYMBOL_IDL_CONSUMES = 52, /* IDL_CONSUMES */ + YYSYMBOL_IDL_EMITS = 53, /* IDL_EMITS */ + YYSYMBOL_IDL_EVENTTYPE = 54, /* IDL_EVENTTYPE */ + YYSYMBOL_IDL_FINDER = 55, /* IDL_FINDER */ + YYSYMBOL_IDL_GETRAISES = 56, /* IDL_GETRAISES */ + YYSYMBOL_IDL_HOME = 57, /* IDL_HOME */ + YYSYMBOL_IDL_IMPORT = 58, /* IDL_IMPORT */ + YYSYMBOL_IDL_MULTIPLE = 59, /* IDL_MULTIPLE */ + YYSYMBOL_IDL_PRIMARYKEY = 60, /* IDL_PRIMARYKEY */ + YYSYMBOL_IDL_PROVIDES = 61, /* IDL_PROVIDES */ + YYSYMBOL_IDL_PUBLISHES = 62, /* IDL_PUBLISHES */ + YYSYMBOL_IDL_SETRAISES = 63, /* IDL_SETRAISES */ + YYSYMBOL_IDL_TYPEID = 64, /* IDL_TYPEID */ + YYSYMBOL_IDL_TYPEPREFIX = 65, /* IDL_TYPEPREFIX */ + YYSYMBOL_IDL_USES = 66, /* IDL_USES */ + YYSYMBOL_IDL_MANAGES = 67, /* IDL_MANAGES */ + YYSYMBOL_IDL_TYPENAME = 68, /* IDL_TYPENAME */ + YYSYMBOL_IDL_PORT = 69, /* IDL_PORT */ + YYSYMBOL_IDL_MIRRORPORT = 70, /* IDL_MIRRORPORT */ + YYSYMBOL_IDL_PORTTYPE = 71, /* IDL_PORTTYPE */ + YYSYMBOL_IDL_CONNECTOR = 72, /* IDL_CONNECTOR */ + YYSYMBOL_IDL_ALIAS = 73, /* IDL_ALIAS */ + YYSYMBOL_IDL_INTEGER_LITERAL = 74, /* IDL_INTEGER_LITERAL */ + YYSYMBOL_IDL_UINTEGER_LITERAL = 75, /* IDL_UINTEGER_LITERAL */ + YYSYMBOL_IDL_STRING_LITERAL = 76, /* IDL_STRING_LITERAL */ + YYSYMBOL_IDL_CHARACTER_LITERAL = 77, /* IDL_CHARACTER_LITERAL */ + YYSYMBOL_IDL_FLOATING_PT_LITERAL = 78, /* IDL_FLOATING_PT_LITERAL */ + YYSYMBOL_IDL_FIXED_PT_LITERAL = 79, /* IDL_FIXED_PT_LITERAL */ + YYSYMBOL_IDL_TRUETOK = 80, /* IDL_TRUETOK */ + YYSYMBOL_IDL_FALSETOK = 81, /* IDL_FALSETOK */ + YYSYMBOL_IDL_INT8 = 82, /* IDL_INT8 */ + YYSYMBOL_IDL_UINT8 = 83, /* IDL_UINT8 */ + YYSYMBOL_IDL_INT16 = 84, /* IDL_INT16 */ + YYSYMBOL_IDL_UINT16 = 85, /* IDL_UINT16 */ + YYSYMBOL_IDL_INT32 = 86, /* IDL_INT32 */ + YYSYMBOL_IDL_UINT32 = 87, /* IDL_UINT32 */ + YYSYMBOL_IDL_INT64 = 88, /* IDL_INT64 */ + YYSYMBOL_IDL_UINT64 = 89, /* IDL_UINT64 */ + YYSYMBOL_IDL_SCOPE_DELIMITOR = 90, /* IDL_SCOPE_DELIMITOR */ + YYSYMBOL_IDL_LEFT_SHIFT = 91, /* IDL_LEFT_SHIFT */ + YYSYMBOL_IDL_RIGHT_SHIFT = 92, /* IDL_RIGHT_SHIFT */ + YYSYMBOL_IDL_WCHAR_LITERAL = 93, /* IDL_WCHAR_LITERAL */ + YYSYMBOL_IDL_WSTRING_LITERAL = 94, /* IDL_WSTRING_LITERAL */ + YYSYMBOL_IDL_ANNOTATION_DECL = 95, /* IDL_ANNOTATION_DECL */ + YYSYMBOL_IDL_ANNOTATION_SYMBOL = 96, /* IDL_ANNOTATION_SYMBOL */ + YYSYMBOL_97_ = 97, /* ';' */ + YYSYMBOL_98_ = 98, /* '{' */ + YYSYMBOL_99_ = 99, /* '}' */ + YYSYMBOL_100_ = 100, /* '<' */ + YYSYMBOL_101_ = 101, /* '>' */ + YYSYMBOL_102_ = 102, /* ':' */ + YYSYMBOL_103_ = 103, /* ',' */ + YYSYMBOL_104_ = 104, /* '=' */ + YYSYMBOL_105_ = 105, /* '|' */ + YYSYMBOL_106_ = 106, /* '^' */ + YYSYMBOL_107_ = 107, /* '&' */ + YYSYMBOL_108_ = 108, /* '+' */ + YYSYMBOL_109_ = 109, /* '-' */ + YYSYMBOL_110_ = 110, /* '*' */ + YYSYMBOL_111_ = 111, /* '/' */ + YYSYMBOL_112_ = 112, /* '%' */ + YYSYMBOL_113_ = 113, /* '~' */ + YYSYMBOL_114_ = 114, /* '(' */ + YYSYMBOL_115_ = 115, /* ')' */ + YYSYMBOL_116_ = 116, /* '[' */ + YYSYMBOL_117_ = 117, /* ']' */ + YYSYMBOL_YYACCEPT = 118, /* $accept */ + YYSYMBOL_start = 119, /* start */ + YYSYMBOL_definitions = 120, /* definitions */ + YYSYMBOL_at_least_one_definition = 121, /* at_least_one_definition */ + YYSYMBOL_definition = 122, /* definition */ + YYSYMBOL_fixed_definition = 123, /* fixed_definition */ + YYSYMBOL_124_1 = 124, /* $@1 */ + YYSYMBOL_125_2 = 125, /* $@2 */ + YYSYMBOL_126_3 = 126, /* $@3 */ + YYSYMBOL_127_4 = 127, /* $@4 */ + YYSYMBOL_128_5 = 128, /* $@5 */ + YYSYMBOL_129_6 = 129, /* $@6 */ + YYSYMBOL_130_7 = 130, /* $@7 */ + YYSYMBOL_131_8 = 131, /* $@8 */ + YYSYMBOL_132_9 = 132, /* $@9 */ + YYSYMBOL_133_10 = 133, /* $@10 */ + YYSYMBOL_134_11 = 134, /* $@11 */ + YYSYMBOL_135_12 = 135, /* $@12 */ + YYSYMBOL_136_13 = 136, /* $@13 */ + YYSYMBOL_137_14 = 137, /* $@14 */ + YYSYMBOL_138_15 = 138, /* $@15 */ + YYSYMBOL_module_header = 139, /* module_header */ + YYSYMBOL_140_16 = 140, /* $@16 */ + YYSYMBOL_module = 141, /* module */ + YYSYMBOL_142_17 = 142, /* @17 */ + YYSYMBOL_143_18 = 143, /* $@18 */ + YYSYMBOL_144_19 = 144, /* $@19 */ + YYSYMBOL_template_module_header = 145, /* template_module_header */ + YYSYMBOL_template_module = 146, /* template_module */ + YYSYMBOL_147_20 = 147, /* $@20 */ + YYSYMBOL_148_21 = 148, /* $@21 */ + YYSYMBOL_149_22 = 149, /* $@22 */ + YYSYMBOL_150_23 = 150, /* $@23 */ + YYSYMBOL_151_24 = 151, /* $@24 */ + YYSYMBOL_at_least_one_tpl_definition = 152, /* at_least_one_tpl_definition */ + YYSYMBOL_tpl_definitions = 153, /* tpl_definitions */ + YYSYMBOL_tpl_definition = 154, /* tpl_definition */ + YYSYMBOL_template_module_ref = 155, /* template_module_ref */ + YYSYMBOL_156_25 = 156, /* $@25 */ + YYSYMBOL_157_26 = 157, /* $@26 */ + YYSYMBOL_template_module_inst = 158, /* template_module_inst */ + YYSYMBOL_159_27 = 159, /* $@27 */ + YYSYMBOL_160_28 = 160, /* $@28 */ + YYSYMBOL_interface_def = 161, /* interface_def */ + YYSYMBOL_interface = 162, /* interface */ + YYSYMBOL_163_29 = 163, /* $@29 */ + YYSYMBOL_164_30 = 164, /* $@30 */ + YYSYMBOL_165_31 = 165, /* $@31 */ + YYSYMBOL_interface_decl = 166, /* interface_decl */ + YYSYMBOL_167_32 = 167, /* $@32 */ + YYSYMBOL_interface_header = 168, /* interface_header */ + YYSYMBOL_inheritance_spec = 169, /* inheritance_spec */ + YYSYMBOL_170_33 = 170, /* $@33 */ + YYSYMBOL_value_def = 171, /* value_def */ + YYSYMBOL_valuetype = 172, /* valuetype */ + YYSYMBOL_value_concrete_decl = 173, /* value_concrete_decl */ + YYSYMBOL_174_34 = 174, /* @34 */ + YYSYMBOL_175_35 = 175, /* $@35 */ + YYSYMBOL_176_36 = 176, /* $@36 */ + YYSYMBOL_value_abs_decl = 177, /* value_abs_decl */ + YYSYMBOL_178_37 = 178, /* $@37 */ + YYSYMBOL_179_38 = 179, /* $@38 */ + YYSYMBOL_180_39 = 180, /* $@39 */ + YYSYMBOL_value_header = 181, /* value_header */ + YYSYMBOL_182_40 = 182, /* $@40 */ + YYSYMBOL_value_decl = 183, /* value_decl */ + YYSYMBOL_184_41 = 184, /* $@41 */ + YYSYMBOL_opt_truncatable = 185, /* opt_truncatable */ + YYSYMBOL_supports_spec = 186, /* supports_spec */ + YYSYMBOL_value_forward_decl = 187, /* value_forward_decl */ + YYSYMBOL_value_box_decl = 188, /* value_box_decl */ + YYSYMBOL_value_elements = 189, /* value_elements */ + YYSYMBOL_value_element = 190, /* value_element */ + YYSYMBOL_191_42 = 191, /* @42 */ + YYSYMBOL_visibility = 192, /* visibility */ + YYSYMBOL_state_member = 193, /* state_member */ + YYSYMBOL_exports = 194, /* exports */ + YYSYMBOL_at_least_one_export = 195, /* at_least_one_export */ + YYSYMBOL_export = 196, /* export */ + YYSYMBOL_197_43 = 197, /* $@43 */ + YYSYMBOL_198_44 = 198, /* $@44 */ + YYSYMBOL_199_45 = 199, /* $@45 */ + YYSYMBOL_200_46 = 200, /* $@46 */ + YYSYMBOL_201_47 = 201, /* $@47 */ + YYSYMBOL_202_48 = 202, /* $@48 */ + YYSYMBOL_203_49 = 203, /* $@49 */ + YYSYMBOL_204_50 = 204, /* $@50 */ + YYSYMBOL_at_least_one_scoped_name = 205, /* at_least_one_scoped_name */ + YYSYMBOL_scoped_names = 206, /* scoped_names */ + YYSYMBOL_207_51 = 207, /* $@51 */ + YYSYMBOL_scoped_name = 208, /* scoped_name */ + YYSYMBOL_209_52 = 209, /* $@52 */ + YYSYMBOL_210_53 = 210, /* $@53 */ + YYSYMBOL_id = 211, /* id */ + YYSYMBOL_defining_id = 212, /* defining_id */ + YYSYMBOL_interface_forward = 213, /* interface_forward */ + YYSYMBOL_const_dcl = 214, /* const_dcl */ + YYSYMBOL_215_54 = 215, /* $@54 */ + YYSYMBOL_216_55 = 216, /* $@55 */ + YYSYMBOL_217_56 = 217, /* $@56 */ + YYSYMBOL_218_57 = 218, /* $@57 */ + YYSYMBOL_const_type = 219, /* const_type */ + YYSYMBOL_expression = 220, /* expression */ + YYSYMBOL_const_expr = 221, /* const_expr */ + YYSYMBOL_or_expr = 222, /* or_expr */ + YYSYMBOL_xor_expr = 223, /* xor_expr */ + YYSYMBOL_and_expr = 224, /* and_expr */ + YYSYMBOL_shift_expr = 225, /* shift_expr */ + YYSYMBOL_add_expr = 226, /* add_expr */ + YYSYMBOL_mult_expr = 227, /* mult_expr */ + YYSYMBOL_unary_expr = 228, /* unary_expr */ + YYSYMBOL_primary_expr = 229, /* primary_expr */ + YYSYMBOL_literal = 230, /* literal */ + YYSYMBOL_positive_int_expr = 231, /* positive_int_expr */ + YYSYMBOL_annotation_dcl = 232, /* annotation_dcl */ + YYSYMBOL_233_58 = 233, /* $@58 */ + YYSYMBOL_annotation_body = 234, /* annotation_body */ + YYSYMBOL_annotation_statement = 235, /* annotation_statement */ + YYSYMBOL_236_59 = 236, /* $@59 */ + YYSYMBOL_annotation_member_type = 237, /* annotation_member_type */ + YYSYMBOL_annotation_member = 238, /* annotation_member */ + YYSYMBOL_annotation_member_default = 239, /* annotation_member_default */ + YYSYMBOL_at_least_one_annotation = 240, /* at_least_one_annotation */ + YYSYMBOL_annotations_maybe = 241, /* annotations_maybe */ + YYSYMBOL_annotation_appl = 242, /* annotation_appl */ + YYSYMBOL_243_60 = 243, /* @60 */ + YYSYMBOL_annotation_appl_params_maybe = 244, /* annotation_appl_params_maybe */ + YYSYMBOL_annotation_appl_params = 245, /* annotation_appl_params */ + YYSYMBOL_named_annotation_appl_params = 246, /* named_annotation_appl_params */ + YYSYMBOL_more_named_annotation_appl_params = 247, /* more_named_annotation_appl_params */ + YYSYMBOL_named_annotation_appl_param = 248, /* named_annotation_appl_param */ + YYSYMBOL_type_dcl = 249, /* type_dcl */ + YYSYMBOL_250_61 = 250, /* $@61 */ + YYSYMBOL_type_declarator = 251, /* type_declarator */ + YYSYMBOL_252_62 = 252, /* $@62 */ + YYSYMBOL_type_spec = 253, /* type_spec */ + YYSYMBOL_simple_type_spec = 254, /* simple_type_spec */ + YYSYMBOL_base_type_spec = 255, /* base_type_spec */ + YYSYMBOL_template_type_spec = 256, /* template_type_spec */ + YYSYMBOL_constructed_type_spec = 257, /* constructed_type_spec */ + YYSYMBOL_constructed_forward_type_spec = 258, /* constructed_forward_type_spec */ + YYSYMBOL_at_least_one_declarator = 259, /* at_least_one_declarator */ + YYSYMBOL_declarators = 260, /* declarators */ + YYSYMBOL_261_63 = 261, /* $@63 */ + YYSYMBOL_declarator = 262, /* declarator */ + YYSYMBOL_at_least_one_simple_declarator = 263, /* at_least_one_simple_declarator */ + YYSYMBOL_simple_declarators = 264, /* simple_declarators */ + YYSYMBOL_265_64 = 265, /* $@64 */ + YYSYMBOL_simple_declarator = 266, /* simple_declarator */ + YYSYMBOL_complex_declarator = 267, /* complex_declarator */ + YYSYMBOL_integer_type = 268, /* integer_type */ + YYSYMBOL_signed_int = 269, /* signed_int */ + YYSYMBOL_unsigned_int = 270, /* unsigned_int */ + YYSYMBOL_floating_pt_type = 271, /* floating_pt_type */ + YYSYMBOL_fixed_type = 272, /* fixed_type */ + YYSYMBOL_char_type = 273, /* char_type */ + YYSYMBOL_octet_type = 274, /* octet_type */ + YYSYMBOL_boolean_type = 275, /* boolean_type */ + YYSYMBOL_any_type = 276, /* any_type */ + YYSYMBOL_object_type = 277, /* object_type */ + YYSYMBOL_struct_decl = 278, /* struct_decl */ + YYSYMBOL_279_65 = 279, /* $@65 */ + YYSYMBOL_struct_type = 280, /* struct_type */ + YYSYMBOL_281_66 = 281, /* $@66 */ + YYSYMBOL_282_67 = 282, /* $@67 */ + YYSYMBOL_283_68 = 283, /* $@68 */ + YYSYMBOL_at_least_one_member = 284, /* at_least_one_member */ + YYSYMBOL_members = 285, /* members */ + YYSYMBOL_member = 286, /* member */ + YYSYMBOL_member_i = 287, /* member_i */ + YYSYMBOL_288_69 = 288, /* $@69 */ + YYSYMBOL_289_70 = 289, /* $@70 */ + YYSYMBOL_290_71 = 290, /* $@71 */ + YYSYMBOL_union_decl = 291, /* union_decl */ + YYSYMBOL_292_72 = 292, /* $@72 */ + YYSYMBOL_union_type = 293, /* union_type */ + YYSYMBOL_294_73 = 294, /* $@73 */ + YYSYMBOL_295_74 = 295, /* $@74 */ + YYSYMBOL_296_75 = 296, /* $@75 */ + YYSYMBOL_297_76 = 297, /* $@76 */ + YYSYMBOL_298_77 = 298, /* $@77 */ + YYSYMBOL_299_78 = 299, /* $@78 */ + YYSYMBOL_switch_type_spec = 300, /* switch_type_spec */ + YYSYMBOL_at_least_one_case_branch = 301, /* at_least_one_case_branch */ + YYSYMBOL_case_branches = 302, /* case_branches */ + YYSYMBOL_case_branch = 303, /* case_branch */ + YYSYMBOL_304_79 = 304, /* $@79 */ + YYSYMBOL_305_80 = 305, /* $@80 */ + YYSYMBOL_306_81 = 306, /* $@81 */ + YYSYMBOL_at_least_one_case_label = 307, /* at_least_one_case_label */ + YYSYMBOL_case_labels = 308, /* case_labels */ + YYSYMBOL_case_label = 309, /* case_label */ + YYSYMBOL_310_82 = 310, /* $@82 */ + YYSYMBOL_311_83 = 311, /* $@83 */ + YYSYMBOL_312_84 = 312, /* $@84 */ + YYSYMBOL_element_spec = 313, /* element_spec */ + YYSYMBOL_314_85 = 314, /* $@85 */ + YYSYMBOL_struct_forward_type = 315, /* struct_forward_type */ + YYSYMBOL_union_forward_type = 316, /* union_forward_type */ + YYSYMBOL_enum_type = 317, /* enum_type */ + YYSYMBOL_318_86 = 318, /* $@86 */ + YYSYMBOL_319_87 = 319, /* $@87 */ + YYSYMBOL_320_88 = 320, /* $@88 */ + YYSYMBOL_321_89 = 321, /* $@89 */ + YYSYMBOL_at_least_one_enumerator = 322, /* at_least_one_enumerator */ + YYSYMBOL_enumerators = 323, /* enumerators */ + YYSYMBOL_324_90 = 324, /* $@90 */ + YYSYMBOL_enumerator = 325, /* enumerator */ + YYSYMBOL_map_type_spec = 326, /* map_type_spec */ + YYSYMBOL_327_91 = 327, /* $@91 */ + YYSYMBOL_328_92 = 328, /* $@92 */ YYSYMBOL_329_93 = 329, /* $@93 */ YYSYMBOL_330_94 = 330, /* $@94 */ - YYSYMBOL_fixed_type_spec = 331, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 332, /* string_type_spec */ - YYSYMBOL_333_95 = 333, /* $@95 */ - YYSYMBOL_334_96 = 334, /* $@96 */ - YYSYMBOL_string_head = 335, /* string_head */ - YYSYMBOL_wstring_type_spec = 336, /* wstring_type_spec */ - YYSYMBOL_337_97 = 337, /* $@97 */ - YYSYMBOL_338_98 = 338, /* $@98 */ - YYSYMBOL_wstring_head = 339, /* wstring_head */ - YYSYMBOL_array_declarator = 340, /* array_declarator */ - YYSYMBOL_341_99 = 341, /* $@99 */ - YYSYMBOL_at_least_one_array_dim = 342, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 343, /* array_dims */ - YYSYMBOL_array_dim = 344, /* array_dim */ - YYSYMBOL_345_100 = 345, /* $@100 */ - YYSYMBOL_346_101 = 346, /* $@101 */ - YYSYMBOL_attribute = 347, /* attribute */ - YYSYMBOL_attribute_readonly = 348, /* attribute_readonly */ - YYSYMBOL_349_102 = 349, /* $@102 */ - YYSYMBOL_350_103 = 350, /* $@103 */ - YYSYMBOL_351_104 = 351, /* $@104 */ + YYSYMBOL_331_95 = 331, /* $@95 */ + YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ + YYSYMBOL_333_96 = 333, /* $@96 */ + YYSYMBOL_334_97 = 334, /* $@97 */ + YYSYMBOL_seq_head = 335, /* seq_head */ + YYSYMBOL_336_98 = 336, /* $@98 */ + YYSYMBOL_337_99 = 337, /* $@99 */ + YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 339, /* string_type_spec */ + YYSYMBOL_340_100 = 340, /* $@100 */ + YYSYMBOL_341_101 = 341, /* $@101 */ + YYSYMBOL_string_head = 342, /* string_head */ + YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ + YYSYMBOL_344_102 = 344, /* $@102 */ + YYSYMBOL_345_103 = 345, /* $@103 */ + YYSYMBOL_wstring_head = 346, /* wstring_head */ + YYSYMBOL_array_declarator = 347, /* array_declarator */ + YYSYMBOL_348_104 = 348, /* $@104 */ + YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 350, /* array_dims */ + YYSYMBOL_array_dim = 351, /* array_dim */ YYSYMBOL_352_105 = 352, /* $@105 */ - YYSYMBOL_attribute_readwrite = 353, /* attribute_readwrite */ - YYSYMBOL_354_106 = 354, /* $@106 */ - YYSYMBOL_355_107 = 355, /* $@107 */ - YYSYMBOL_356_108 = 356, /* $@108 */ - YYSYMBOL_357_109 = 357, /* $@109 */ - YYSYMBOL_exception = 358, /* exception */ + YYSYMBOL_353_106 = 353, /* $@106 */ + YYSYMBOL_attribute = 354, /* attribute */ + YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ + YYSYMBOL_356_107 = 356, /* $@107 */ + YYSYMBOL_357_108 = 357, /* $@108 */ + YYSYMBOL_358_109 = 358, /* $@109 */ YYSYMBOL_359_110 = 359, /* $@110 */ - YYSYMBOL_360_111 = 360, /* @111 */ - YYSYMBOL_361_112 = 361, /* $@112 */ - YYSYMBOL_362_113 = 362, /* $@113 */ - YYSYMBOL_operation = 363, /* operation */ + YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ + YYSYMBOL_361_111 = 361, /* $@111 */ + YYSYMBOL_362_112 = 362, /* $@112 */ + YYSYMBOL_363_113 = 363, /* $@113 */ YYSYMBOL_364_114 = 364, /* $@114 */ - YYSYMBOL_365_115 = 365, /* $@115 */ - YYSYMBOL_366_116 = 366, /* $@116 */ - YYSYMBOL_367_117 = 367, /* $@117 */ - YYSYMBOL_opt_op_attribute = 368, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 369, /* op_type_spec */ - YYSYMBOL_init_decl = 370, /* init_decl */ - YYSYMBOL_371_118 = 371, /* $@118 */ - YYSYMBOL_372_119 = 372, /* @119 */ - YYSYMBOL_373_120 = 373, /* $@120 */ - YYSYMBOL_init_parameter_list = 374, /* init_parameter_list */ - YYSYMBOL_375_121 = 375, /* $@121 */ - YYSYMBOL_376_122 = 376, /* $@122 */ - YYSYMBOL_at_least_one_in_parameter = 377, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 378, /* in_parameters */ - YYSYMBOL_379_123 = 379, /* $@123 */ - YYSYMBOL_in_parameter = 380, /* in_parameter */ - YYSYMBOL_381_124 = 381, /* $@124 */ - YYSYMBOL_382_125 = 382, /* $@125 */ - YYSYMBOL_parameter_list = 383, /* parameter_list */ - YYSYMBOL_384_126 = 384, /* $@126 */ - YYSYMBOL_385_127 = 385, /* $@127 */ - YYSYMBOL_at_least_one_parameter = 386, /* at_least_one_parameter */ - YYSYMBOL_parameters = 387, /* parameters */ - YYSYMBOL_388_128 = 388, /* $@128 */ - YYSYMBOL_parameter = 389, /* parameter */ - YYSYMBOL_390_129 = 390, /* $@129 */ - YYSYMBOL_391_130 = 391, /* $@130 */ - YYSYMBOL_param_type_spec = 392, /* param_type_spec */ - YYSYMBOL_direction = 393, /* direction */ - YYSYMBOL_opt_raises = 394, /* opt_raises */ - YYSYMBOL_395_131 = 395, /* $@131 */ - YYSYMBOL_396_132 = 396, /* $@132 */ - YYSYMBOL_opt_getraises = 397, /* opt_getraises */ - YYSYMBOL_398_133 = 398, /* $@133 */ - YYSYMBOL_399_134 = 399, /* $@134 */ - YYSYMBOL_opt_setraises = 400, /* opt_setraises */ - YYSYMBOL_401_135 = 401, /* $@135 */ + YYSYMBOL_exception = 365, /* exception */ + YYSYMBOL_366_115 = 366, /* $@115 */ + YYSYMBOL_367_116 = 367, /* @116 */ + YYSYMBOL_368_117 = 368, /* $@117 */ + YYSYMBOL_369_118 = 369, /* $@118 */ + YYSYMBOL_operation = 370, /* operation */ + YYSYMBOL_371_119 = 371, /* $@119 */ + YYSYMBOL_372_120 = 372, /* $@120 */ + YYSYMBOL_373_121 = 373, /* $@121 */ + YYSYMBOL_374_122 = 374, /* $@122 */ + YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 376, /* op_type_spec */ + YYSYMBOL_init_decl = 377, /* init_decl */ + YYSYMBOL_378_123 = 378, /* $@123 */ + YYSYMBOL_379_124 = 379, /* @124 */ + YYSYMBOL_380_125 = 380, /* $@125 */ + YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ + YYSYMBOL_382_126 = 382, /* $@126 */ + YYSYMBOL_383_127 = 383, /* $@127 */ + YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 385, /* in_parameters */ + YYSYMBOL_386_128 = 386, /* $@128 */ + YYSYMBOL_in_parameter = 387, /* in_parameter */ + YYSYMBOL_388_129 = 388, /* $@129 */ + YYSYMBOL_389_130 = 389, /* $@130 */ + YYSYMBOL_parameter_list = 390, /* parameter_list */ + YYSYMBOL_391_131 = 391, /* $@131 */ + YYSYMBOL_392_132 = 392, /* $@132 */ + YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ + YYSYMBOL_parameters = 394, /* parameters */ + YYSYMBOL_395_133 = 395, /* $@133 */ + YYSYMBOL_parameter = 396, /* parameter */ + YYSYMBOL_397_134 = 397, /* $@134 */ + YYSYMBOL_398_135 = 398, /* $@135 */ + YYSYMBOL_param_type_spec = 399, /* param_type_spec */ + YYSYMBOL_direction = 400, /* direction */ + YYSYMBOL_opt_raises = 401, /* opt_raises */ YYSYMBOL_402_136 = 402, /* $@136 */ - YYSYMBOL_opt_context = 403, /* opt_context */ - YYSYMBOL_404_137 = 404, /* $@137 */ + YYSYMBOL_403_137 = 403, /* $@137 */ + YYSYMBOL_opt_getraises = 404, /* opt_getraises */ YYSYMBOL_405_138 = 405, /* $@138 */ - YYSYMBOL_at_least_one_string_literal = 406, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 407, /* string_literals */ - YYSYMBOL_408_139 = 408, /* $@139 */ - YYSYMBOL_typeid_dcl = 409, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 410, /* typeprefix_dcl */ - YYSYMBOL_component = 411, /* component */ - YYSYMBOL_component_forward_decl = 412, /* component_forward_decl */ - YYSYMBOL_component_decl = 413, /* component_decl */ - YYSYMBOL_414_140 = 414, /* @140 */ - YYSYMBOL_415_141 = 415, /* $@141 */ - YYSYMBOL_416_142 = 416, /* $@142 */ - YYSYMBOL_component_header = 417, /* component_header */ - YYSYMBOL_418_143 = 418, /* $@143 */ - YYSYMBOL_419_144 = 419, /* $@144 */ - YYSYMBOL_component_inheritance_spec = 420, /* component_inheritance_spec */ - YYSYMBOL_421_145 = 421, /* $@145 */ - YYSYMBOL_component_exports = 422, /* component_exports */ - YYSYMBOL_component_export = 423, /* component_export */ - YYSYMBOL_424_146 = 424, /* $@146 */ - YYSYMBOL_425_147 = 425, /* $@147 */ - YYSYMBOL_426_148 = 426, /* $@148 */ - YYSYMBOL_427_149 = 427, /* $@149 */ + YYSYMBOL_406_139 = 406, /* $@139 */ + YYSYMBOL_opt_setraises = 407, /* opt_setraises */ + YYSYMBOL_408_140 = 408, /* $@140 */ + YYSYMBOL_409_141 = 409, /* $@141 */ + YYSYMBOL_opt_context = 410, /* opt_context */ + YYSYMBOL_411_142 = 411, /* $@142 */ + YYSYMBOL_412_143 = 412, /* $@143 */ + YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 414, /* string_literals */ + YYSYMBOL_415_144 = 415, /* $@144 */ + YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ + YYSYMBOL_component = 418, /* component */ + YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ + YYSYMBOL_component_decl = 420, /* component_decl */ + YYSYMBOL_421_145 = 421, /* @145 */ + YYSYMBOL_422_146 = 422, /* $@146 */ + YYSYMBOL_423_147 = 423, /* $@147 */ + YYSYMBOL_component_header = 424, /* component_header */ + YYSYMBOL_425_148 = 425, /* $@148 */ + YYSYMBOL_426_149 = 426, /* $@149 */ + YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ YYSYMBOL_428_150 = 428, /* $@150 */ - YYSYMBOL_429_151 = 429, /* $@151 */ - YYSYMBOL_430_152 = 430, /* $@152 */ - YYSYMBOL_provides_decl = 431, /* provides_decl */ - YYSYMBOL_interface_type = 432, /* interface_type */ - YYSYMBOL_uses_decl = 433, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 434, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 435, /* opt_multiple */ - YYSYMBOL_emits_decl = 436, /* emits_decl */ - YYSYMBOL_publishes_decl = 437, /* publishes_decl */ - YYSYMBOL_consumes_decl = 438, /* consumes_decl */ - YYSYMBOL_home_decl = 439, /* home_decl */ - YYSYMBOL_440_153 = 440, /* $@153 */ - YYSYMBOL_home_header = 441, /* home_header */ - YYSYMBOL_442_154 = 442, /* $@154 */ - YYSYMBOL_443_155 = 443, /* $@155 */ - YYSYMBOL_444_156 = 444, /* $@156 */ - YYSYMBOL_445_157 = 445, /* $@157 */ - YYSYMBOL_446_158 = 446, /* $@158 */ - YYSYMBOL_447_159 = 447, /* $@159 */ - YYSYMBOL_home_inheritance_spec = 448, /* home_inheritance_spec */ - YYSYMBOL_449_160 = 449, /* $@160 */ - YYSYMBOL_primary_key_spec = 450, /* primary_key_spec */ - YYSYMBOL_home_body = 451, /* home_body */ - YYSYMBOL_452_161 = 452, /* $@161 */ - YYSYMBOL_453_162 = 453, /* $@162 */ - YYSYMBOL_home_exports = 454, /* home_exports */ - YYSYMBOL_home_export = 455, /* home_export */ - YYSYMBOL_456_163 = 456, /* $@163 */ - YYSYMBOL_457_164 = 457, /* $@164 */ - YYSYMBOL_factory_decl = 458, /* factory_decl */ - YYSYMBOL_459_165 = 459, /* $@165 */ - YYSYMBOL_460_166 = 460, /* $@166 */ - YYSYMBOL_finder_decl = 461, /* finder_decl */ - YYSYMBOL_462_167 = 462, /* $@167 */ + YYSYMBOL_component_exports = 429, /* component_exports */ + YYSYMBOL_component_export = 430, /* component_export */ + YYSYMBOL_431_151 = 431, /* $@151 */ + YYSYMBOL_432_152 = 432, /* $@152 */ + YYSYMBOL_433_153 = 433, /* $@153 */ + YYSYMBOL_434_154 = 434, /* $@154 */ + YYSYMBOL_435_155 = 435, /* $@155 */ + YYSYMBOL_436_156 = 436, /* $@156 */ + YYSYMBOL_437_157 = 437, /* $@157 */ + YYSYMBOL_provides_decl = 438, /* provides_decl */ + YYSYMBOL_interface_type = 439, /* interface_type */ + YYSYMBOL_uses_decl = 440, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 442, /* opt_multiple */ + YYSYMBOL_emits_decl = 443, /* emits_decl */ + YYSYMBOL_publishes_decl = 444, /* publishes_decl */ + YYSYMBOL_consumes_decl = 445, /* consumes_decl */ + YYSYMBOL_home_decl = 446, /* home_decl */ + YYSYMBOL_447_158 = 447, /* $@158 */ + YYSYMBOL_home_header = 448, /* home_header */ + YYSYMBOL_449_159 = 449, /* $@159 */ + YYSYMBOL_450_160 = 450, /* $@160 */ + YYSYMBOL_451_161 = 451, /* $@161 */ + YYSYMBOL_452_162 = 452, /* $@162 */ + YYSYMBOL_453_163 = 453, /* $@163 */ + YYSYMBOL_454_164 = 454, /* $@164 */ + YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ + YYSYMBOL_456_165 = 456, /* $@165 */ + YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ + YYSYMBOL_home_body = 458, /* home_body */ + YYSYMBOL_459_166 = 459, /* $@166 */ + YYSYMBOL_460_167 = 460, /* $@167 */ + YYSYMBOL_home_exports = 461, /* home_exports */ + YYSYMBOL_home_export = 462, /* home_export */ YYSYMBOL_463_168 = 463, /* $@168 */ - YYSYMBOL_event = 464, /* event */ - YYSYMBOL_event_forward_decl = 465, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 466, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 467, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 468, /* event_abs_decl */ - YYSYMBOL_469_169 = 469, /* $@169 */ - YYSYMBOL_470_170 = 470, /* $@170 */ - YYSYMBOL_471_171 = 471, /* $@171 */ - YYSYMBOL_event_abs_header = 472, /* event_abs_header */ - YYSYMBOL_event_custom_header = 473, /* event_custom_header */ - YYSYMBOL_event_plain_header = 474, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 475, /* event_rest_of_header */ - YYSYMBOL_476_172 = 476, /* $@172 */ - YYSYMBOL_event_decl = 477, /* event_decl */ - YYSYMBOL_478_173 = 478, /* @173 */ - YYSYMBOL_479_174 = 479, /* $@174 */ - YYSYMBOL_480_175 = 480, /* $@175 */ - YYSYMBOL_event_header = 481, /* event_header */ - YYSYMBOL_formal_parameter_type = 482, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 483, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 484, /* formal_parameters */ - YYSYMBOL_formal_parameter = 485, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 486, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 487, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 488, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 489, /* porttype_decl */ - YYSYMBOL_490_176 = 490, /* $@176 */ - YYSYMBOL_491_177 = 491, /* @177 */ - YYSYMBOL_492_178 = 492, /* $@178 */ - YYSYMBOL_493_179 = 493, /* $@179 */ - YYSYMBOL_at_least_one_port_export = 494, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 495, /* port_exports */ - YYSYMBOL_port_export = 496, /* port_export */ - YYSYMBOL_497_180 = 497, /* $@180 */ - YYSYMBOL_extended_port_decl = 498, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 499, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 500, /* actual_parameters */ - YYSYMBOL_actual_parameter = 501, /* actual_parameter */ - YYSYMBOL_connector_decl = 502, /* connector_decl */ - YYSYMBOL_connector_header = 503, /* connector_header */ - YYSYMBOL_504_181 = 504, /* $@181 */ - YYSYMBOL_505_182 = 505, /* $@182 */ - YYSYMBOL_connector_body = 506, /* connector_body */ - YYSYMBOL_507_183 = 507, /* $@183 */ - YYSYMBOL_508_184 = 508, /* $@184 */ - YYSYMBOL_connector_exports = 509, /* connector_exports */ - YYSYMBOL_connector_export = 510, /* connector_export */ - YYSYMBOL_511_185 = 511, /* $@185 */ - YYSYMBOL_512_186 = 512, /* $@186 */ - YYSYMBOL_513_187 = 513, /* $@187 */ - YYSYMBOL_514_188 = 514 /* $@188 */ + YYSYMBOL_464_169 = 464, /* $@169 */ + YYSYMBOL_factory_decl = 465, /* factory_decl */ + YYSYMBOL_466_170 = 466, /* $@170 */ + YYSYMBOL_467_171 = 467, /* $@171 */ + YYSYMBOL_finder_decl = 468, /* finder_decl */ + YYSYMBOL_469_172 = 469, /* $@172 */ + YYSYMBOL_470_173 = 470, /* $@173 */ + YYSYMBOL_event = 471, /* event */ + YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ + YYSYMBOL_476_174 = 476, /* $@174 */ + YYSYMBOL_477_175 = 477, /* $@175 */ + YYSYMBOL_478_176 = 478, /* $@176 */ + YYSYMBOL_event_abs_header = 479, /* event_abs_header */ + YYSYMBOL_event_custom_header = 480, /* event_custom_header */ + YYSYMBOL_event_plain_header = 481, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ + YYSYMBOL_483_177 = 483, /* $@177 */ + YYSYMBOL_event_decl = 484, /* event_decl */ + YYSYMBOL_485_178 = 485, /* @178 */ + YYSYMBOL_486_179 = 486, /* $@179 */ + YYSYMBOL_487_180 = 487, /* $@180 */ + YYSYMBOL_event_header = 488, /* event_header */ + YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 491, /* formal_parameters */ + YYSYMBOL_formal_parameter = 492, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 496, /* porttype_decl */ + YYSYMBOL_497_181 = 497, /* $@181 */ + YYSYMBOL_498_182 = 498, /* @182 */ + YYSYMBOL_499_183 = 499, /* $@183 */ + YYSYMBOL_500_184 = 500, /* $@184 */ + YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 502, /* port_exports */ + YYSYMBOL_port_export = 503, /* port_export */ + YYSYMBOL_504_185 = 504, /* $@185 */ + YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 507, /* actual_parameters */ + YYSYMBOL_actual_parameter = 508, /* actual_parameter */ + YYSYMBOL_connector_decl = 509, /* connector_decl */ + YYSYMBOL_connector_header = 510, /* connector_header */ + YYSYMBOL_511_186 = 511, /* $@186 */ + YYSYMBOL_512_187 = 512, /* $@187 */ + YYSYMBOL_connector_body = 513, /* connector_body */ + YYSYMBOL_514_188 = 514, /* $@188 */ + YYSYMBOL_515_189 = 515, /* $@189 */ + YYSYMBOL_connector_exports = 516, /* connector_exports */ + YYSYMBOL_connector_export = 517, /* connector_export */ + YYSYMBOL_518_190 = 518, /* $@190 */ + YYSYMBOL_519_191 = 519, /* $@191 */ + YYSYMBOL_520_192 = 520, /* $@192 */ + YYSYMBOL_521_193 = 521 /* $@193 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1025,19 +1033,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2102 +#define YYLAST 2150 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 117 +#define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 398 +#define YYNNTS 404 /* YYNRULES -- Number of rules. */ -#define YYNRULES 607 +#define YYNRULES 614 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 888 +#define YYNSTATES 900 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 350 +#define YYMAXUTOK 351 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -1054,16 +1062,16 @@ static const yytype_int8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 111, 106, 2, - 113, 114, 109, 107, 102, 108, 2, 110, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 101, 96, - 99, 103, 100, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 112, 107, 2, + 114, 115, 110, 108, 103, 109, 2, 111, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 102, 97, + 100, 104, 101, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 115, 2, 116, 105, 2, 2, 2, 2, 2, + 2, 116, 2, 117, 106, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 97, 104, 98, 112, 2, 2, 2, + 2, 2, 2, 98, 105, 99, 113, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1086,74 +1094,75 @@ static const yytype_int8 yytranslate[] = 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95 + 95, 96 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 414, 414, 417, 418, 426, 441, 445, 446, 447, - 452, 451, 460, 459, 468, 467, 476, 475, 484, 483, - 492, 491, 500, 499, 508, 507, 516, 515, 524, 523, - 532, 531, 540, 539, 548, 547, 556, 555, 564, 563, - 577, 576, 588, 627, 631, 587, 647, 655, 669, 679, - 709, 713, 654, 738, 742, 743, 747, 748, 753, 758, - 752, 844, 849, 843, 920, 921, 926, 964, 968, 925, - 985, 984, 996, 1033, 1063, 1096, 1095, 1104, 1111, 1112, - 1113, 1114, 1118, 1123, 1128, 1175, 1179, 1127, 1208, 1251, - 1255, 1206, 1274, 1272, 1312, 1311, 1323, 1327, 1334, 1339, - 1346, 1371, 1399, 1465, 1484, 1488, 1492, 1493, 1505, 1504, - 1522, 1526, 1533, 1554, 1555, 1559, 1574, 1579, 1578, 1587, - 1586, 1595, 1594, 1603, 1602, 1611, 1610, 1619, 1618, 1627, - 1626, 1635, 1634, 1647, 1659, 1657, 1682, 1689, 1699, 1698, - 1724, 1722, 1747, 1757, 1768, 1812, 1839, 1871, 1875, 1879, - 1883, 1870, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1955, - 1959, 2027, 2029, 2031, 2032, 2044, 2045, 2057, 2058, 2070, - 2071, 2080, 2092, 2093, 2102, 2114, 2115, 2124, 2133, 2145, - 2146, 2155, 2164, 2176, 2233, 2234, 2241, 2245, 2250, 2257, - 2264, 2268, 2273, 2277, 2281, 2285, 2292, 2361, 2360, 2389, - 2390, 2394, 2395, 2396, 2398, 2397, 2406, 2407, 2411, 2467, - 2471, 2478, 2491, 2501, 2509, 2508, 2596, 2600, 2607, 2616, - 2623, 2631, 2637, 2644, 2657, 2656, 2665, 2669, 2673, 2677, - 2705, 2713, 2712, 2783, 2784, 2788, 2795, 2796, 2822, 2823, - 2824, 2825, 2826, 2827, 2828, 2829, 2833, 2834, 2835, 2836, - 2840, 2841, 2842, 2846, 2847, 2851, 2863, 2861, 2886, 2893, - 2894, 2898, 2910, 2908, 2933, 2940, 2956, 2974, 2975, 2979, - 2983, 2987, 2991, 2995, 2999, 3003, 3010, 3014, 3018, 3022, - 3026, 3030, 3034, 3041, 3045, 3049, 3056, 3063, 3067, 3074, - 3081, 3088, 3095, 3103, 3102, 3116, 3147, 3151, 3115, 3168, - 3171, 3172, 3176, 3194, 3198, 3193, 3256, 3255, 3268, 3267, - 3280, 3284, 3317, 3321, 3380, 3384, 3279, 3406, 3413, 3426, - 3435, 3442, 3443, 3552, 3555, 3556, 3561, 3565, 3560, 3601, - 3600, 3612, 3622, 3640, 3648, 3647, 3661, 3665, 3660, 3681, - 3680, 3730, 3755, 3779, 3783, 3814, 3818, 3778, 3842, 3847, - 3845, 3851, 3855, 3895, 3899, 3893, 3983, 4050, 4059, 4049, - 4073, 4083, 4087, 4081, 4129, 4155, 4164, 4168, 4162, 4210, - 4236, 4244, 4243, 4286, 4296, 4314, 4322, 4326, 4321, 4386, - 4387, 4392, 4396, 4400, 4404, 4391, 4463, 4467, 4471, 4475, - 4462, 4543, 4547, 4579, 4583, 4542, 4600, 4604, 4665, 4669, - 4599, 4706, 4711, 4716, 4723, 4724, 4735, 4740, 4783, 4734, - 4805, 4804, 4813, 4812, 4823, 4828, 4826, 4832, 4837, 4841, - 4836, 4880, 4879, 4888, 4887, 4898, 4903, 4901, 4907, 4912, - 4916, 4911, 4961, 4968, 4969, 4970, 5077, 5081, 5085, 5093, - 5097, 5092, 5106, 5114, 5118, 5113, 5127, 5135, 5139, 5134, - 5148, 5156, 5160, 5155, 5169, 5176, 5188, 5186, 5209, 5216, - 5246, 5285, 5286, 5290, 5321, 5363, 5367, 5320, 5386, 5390, - 5384, 5431, 5430, 5438, 5445, 5460, 5461, 5466, 5465, 5475, - 5474, 5484, 5483, 5493, 5492, 5502, 5501, 5511, 5510, 5520, - 5519, 5530, 5623, 5629, 5654, 5761, 5770, 5774, 5781, 5856, - 5928, 6004, 6003, 6053, 6057, 6061, 6065, 6069, 6073, 6052, - 6126, 6125, 6133, 6140, 6145, 6153, 6157, 6152, 6167, 6168, - 6172, 6174, 6173, 6182, 6181, 6194, 6217, 6192, 6243, 6270, - 6241, 6294, 6295, 6296, 6300, 6301, 6305, 6334, 6366, 6410, - 6414, 6364, 6431, 6440, 6458, 6469, 6468, 6506, 6557, 6561, - 6504, 6578, 6582, 6589, 6593, 6597, 6601, 6605, 6609, 6613, - 6617, 6621, 6625, 6633, 6664, 6677, 6684, 6709, 6727, 6734, - 6749, 6756, 6766, 6770, 6789, 6797, 6765, 6812, 6827, 6831, - 6832, 6836, 6837, 6839, 6838, 6849, 6916, 6964, 6980, 6993, - 7000, 7059, 7067, 7071, 7066, 7132, 7136, 7131, 7149, 7150, - 7155, 7154, 7163, 7162, 7171, 7170, 7179, 7178 + 0, 416, 416, 419, 420, 428, 443, 447, 448, 449, + 454, 453, 462, 461, 470, 469, 478, 477, 486, 485, + 494, 493, 502, 501, 510, 509, 518, 517, 526, 525, + 534, 533, 542, 541, 550, 549, 558, 557, 566, 565, + 579, 578, 590, 629, 633, 589, 649, 657, 671, 681, + 711, 715, 656, 740, 744, 745, 749, 750, 755, 760, + 754, 846, 851, 845, 922, 923, 928, 966, 970, 927, + 987, 986, 998, 1035, 1065, 1098, 1097, 1106, 1113, 1114, + 1115, 1116, 1120, 1125, 1130, 1177, 1181, 1129, 1210, 1253, + 1257, 1208, 1276, 1274, 1314, 1313, 1325, 1329, 1336, 1341, + 1348, 1373, 1401, 1467, 1486, 1490, 1494, 1495, 1507, 1506, + 1524, 1528, 1535, 1556, 1557, 1561, 1576, 1581, 1580, 1589, + 1588, 1597, 1596, 1605, 1604, 1613, 1612, 1621, 1620, 1629, + 1628, 1637, 1636, 1649, 1661, 1659, 1684, 1691, 1701, 1700, + 1726, 1724, 1749, 1759, 1770, 1814, 1841, 1873, 1877, 1881, + 1885, 1872, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1957, + 1961, 2029, 2031, 2033, 2034, 2046, 2047, 2059, 2060, 2072, + 2073, 2082, 2094, 2095, 2104, 2116, 2117, 2126, 2135, 2147, + 2148, 2157, 2166, 2178, 2235, 2236, 2243, 2247, 2252, 2259, + 2266, 2270, 2275, 2279, 2283, 2287, 2294, 2363, 2362, 2391, + 2392, 2396, 2397, 2398, 2400, 2399, 2408, 2409, 2413, 2469, + 2473, 2480, 2493, 2503, 2511, 2510, 2598, 2602, 2609, 2618, + 2625, 2633, 2639, 2646, 2659, 2658, 2667, 2671, 2675, 2679, + 2707, 2715, 2714, 2785, 2786, 2790, 2797, 2798, 2824, 2825, + 2826, 2827, 2828, 2829, 2830, 2831, 2835, 2836, 2837, 2838, + 2839, 2843, 2844, 2845, 2849, 2850, 2854, 2866, 2864, 2889, + 2896, 2897, 2901, 2913, 2911, 2936, 2943, 2959, 2977, 2978, + 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3013, 3017, 3021, + 3025, 3029, 3033, 3037, 3044, 3048, 3052, 3059, 3066, 3070, + 3077, 3084, 3091, 3098, 3106, 3105, 3119, 3150, 3154, 3118, + 3171, 3174, 3175, 3179, 3197, 3201, 3196, 3259, 3258, 3271, + 3270, 3283, 3287, 3320, 3324, 3383, 3387, 3282, 3409, 3416, + 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, + 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, + 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, + 3850, 3848, 3854, 3858, 3897, 3902, 3906, 3910, 3914, 3896, + 3980, 3984, 3978, 4068, 4135, 4144, 4134, 4158, 4168, 4172, + 4166, 4214, 4240, 4249, 4253, 4247, 4295, 4321, 4329, 4328, + 4371, 4381, 4399, 4407, 4411, 4406, 4471, 4472, 4477, 4481, + 4485, 4489, 4476, 4548, 4552, 4556, 4560, 4547, 4628, 4632, + 4664, 4668, 4627, 4685, 4689, 4750, 4754, 4684, 4791, 4796, + 4801, 4808, 4809, 4820, 4825, 4868, 4819, 4890, 4889, 4898, + 4897, 4908, 4913, 4911, 4917, 4922, 4926, 4921, 4965, 4964, + 4973, 4972, 4983, 4988, 4986, 4992, 4997, 5001, 4996, 5046, + 5053, 5054, 5055, 5162, 5166, 5170, 5178, 5182, 5177, 5191, + 5199, 5203, 5198, 5212, 5220, 5224, 5219, 5233, 5241, 5245, + 5240, 5254, 5261, 5273, 5271, 5294, 5301, 5331, 5370, 5371, + 5375, 5406, 5448, 5452, 5405, 5471, 5475, 5469, 5516, 5515, + 5523, 5530, 5545, 5546, 5551, 5550, 5560, 5559, 5569, 5568, + 5578, 5577, 5587, 5586, 5596, 5595, 5605, 5604, 5615, 5708, + 5714, 5739, 5846, 5855, 5859, 5866, 5941, 6013, 6089, 6088, + 6138, 6142, 6146, 6150, 6154, 6158, 6137, 6211, 6210, 6218, + 6225, 6230, 6238, 6242, 6237, 6252, 6253, 6257, 6259, 6258, + 6267, 6266, 6279, 6302, 6277, 6328, 6355, 6326, 6379, 6380, + 6381, 6385, 6386, 6390, 6419, 6451, 6495, 6499, 6449, 6516, + 6525, 6543, 6554, 6553, 6591, 6642, 6646, 6589, 6663, 6667, + 6674, 6678, 6682, 6686, 6690, 6694, 6698, 6702, 6706, 6710, + 6718, 6749, 6762, 6769, 6794, 6812, 6819, 6834, 6841, 6851, + 6855, 6874, 6882, 6850, 6897, 6912, 6916, 6917, 6921, 6922, + 6924, 6923, 6934, 7001, 7049, 7065, 7078, 7085, 7144, 7152, + 7156, 7151, 7217, 7221, 7216, 7234, 7235, 7240, 7239, 7248, + 7247, 7256, 7255, 7264, 7263 }; #endif @@ -1174,8 +1183,8 @@ static const char *const yytname[] = "IDL_SHORT", "IDL_UNSIGNED", "IDL_DOUBLE", "IDL_FLOAT", "IDL_CHAR", "IDL_WCHAR", "IDL_OCTET", "IDL_BOOLEAN", "IDL_FIXED", "IDL_ANY", "IDL_OBJECT", "IDL_STRUCT", "IDL_UNION", "IDL_SWITCH", "IDL_ENUM", - "IDL_SEQUENCE", "IDL_STRING", "IDL_WSTRING", "IDL_EXCEPTION", "IDL_CASE", - "IDL_DEFAULT", "IDL_READONLY", "IDL_ATTRIBUTE", "IDL_ONEWAY", + "IDL_SEQUENCE", "IDL_MAP", "IDL_STRING", "IDL_WSTRING", "IDL_EXCEPTION", + "IDL_CASE", "IDL_DEFAULT", "IDL_READONLY", "IDL_ATTRIBUTE", "IDL_ONEWAY", "IDL_IDEMPOTENT", "IDL_VOID", "IDL_IN", "IDL_OUT", "IDL_INOUT", "IDL_RAISES", "IDL_CONTEXT", "IDL_NATIVE", "IDL_LOCAL", "IDL_ABSTRACT", "IDL_CUSTOM", "IDL_FACTORY", "IDL_PRIVATE", "IDL_PUBLIC", "IDL_SUPPORTS", @@ -1237,46 +1246,48 @@ static const char *const yytname[] = "$@82", "$@83", "$@84", "element_spec", "$@85", "struct_forward_type", "union_forward_type", "enum_type", "$@86", "$@87", "$@88", "$@89", "at_least_one_enumerator", "enumerators", "$@90", "enumerator", - "sequence_type_spec", "$@91", "$@92", "seq_head", "$@93", "$@94", - "fixed_type_spec", "string_type_spec", "$@95", "$@96", "string_head", - "wstring_type_spec", "$@97", "$@98", "wstring_head", "array_declarator", - "$@99", "at_least_one_array_dim", "array_dims", "array_dim", "$@100", - "$@101", "attribute", "attribute_readonly", "$@102", "$@103", "$@104", - "$@105", "attribute_readwrite", "$@106", "$@107", "$@108", "$@109", - "exception", "$@110", "@111", "$@112", "$@113", "operation", "$@114", - "$@115", "$@116", "$@117", "opt_op_attribute", "op_type_spec", - "init_decl", "$@118", "@119", "$@120", "init_parameter_list", "$@121", - "$@122", "at_least_one_in_parameter", "in_parameters", "$@123", - "in_parameter", "$@124", "$@125", "parameter_list", "$@126", "$@127", - "at_least_one_parameter", "parameters", "$@128", "parameter", "$@129", - "$@130", "param_type_spec", "direction", "opt_raises", "$@131", "$@132", - "opt_getraises", "$@133", "$@134", "opt_setraises", "$@135", "$@136", - "opt_context", "$@137", "$@138", "at_least_one_string_literal", - "string_literals", "$@139", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@140", "$@141", "$@142", - "component_header", "$@143", "$@144", "component_inheritance_spec", - "$@145", "component_exports", "component_export", "$@146", "$@147", - "$@148", "$@149", "$@150", "$@151", "$@152", "provides_decl", + "map_type_spec", "$@91", "$@92", "$@93", "$@94", "$@95", + "sequence_type_spec", "$@96", "$@97", "seq_head", "$@98", "$@99", + "fixed_type_spec", "string_type_spec", "$@100", "$@101", "string_head", + "wstring_type_spec", "$@102", "$@103", "wstring_head", + "array_declarator", "$@104", "at_least_one_array_dim", "array_dims", + "array_dim", "$@105", "$@106", "attribute", "attribute_readonly", + "$@107", "$@108", "$@109", "$@110", "attribute_readwrite", "$@111", + "$@112", "$@113", "$@114", "exception", "$@115", "@116", "$@117", + "$@118", "operation", "$@119", "$@120", "$@121", "$@122", + "opt_op_attribute", "op_type_spec", "init_decl", "$@123", "@124", + "$@125", "init_parameter_list", "$@126", "$@127", + "at_least_one_in_parameter", "in_parameters", "$@128", "in_parameter", + "$@129", "$@130", "parameter_list", "$@131", "$@132", + "at_least_one_parameter", "parameters", "$@133", "parameter", "$@134", + "$@135", "param_type_spec", "direction", "opt_raises", "$@136", "$@137", + "opt_getraises", "$@138", "$@139", "opt_setraises", "$@140", "$@141", + "opt_context", "$@142", "$@143", "at_least_one_string_literal", + "string_literals", "$@144", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@145", "$@146", "$@147", + "component_header", "$@148", "$@149", "component_inheritance_spec", + "$@150", "component_exports", "component_export", "$@151", "$@152", + "$@153", "$@154", "$@155", "$@156", "$@157", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@153", - "home_header", "$@154", "$@155", "$@156", "$@157", "$@158", "$@159", - "home_inheritance_spec", "$@160", "primary_key_spec", "home_body", - "$@161", "$@162", "home_exports", "home_export", "$@163", "$@164", - "factory_decl", "$@165", "$@166", "finder_decl", "$@167", "$@168", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@158", + "home_header", "$@159", "$@160", "$@161", "$@162", "$@163", "$@164", + "home_inheritance_spec", "$@165", "primary_key_spec", "home_body", + "$@166", "$@167", "home_exports", "home_export", "$@168", "$@169", + "factory_decl", "$@170", "$@171", "finder_decl", "$@172", "$@173", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@169", "$@170", "$@171", + "event_abs_forward_decl", "event_abs_decl", "$@174", "$@175", "$@176", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@172", "event_decl", "@173", "$@174", "$@175", + "event_rest_of_header", "$@177", "event_decl", "@178", "$@179", "$@180", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@176", "@177", "$@178", - "$@179", "at_least_one_port_export", "port_exports", "port_export", - "$@180", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@181", "@182", "$@183", + "$@184", "at_least_one_port_export", "port_exports", "port_export", + "$@185", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@181", "$@182", "connector_body", "$@183", "$@184", - "connector_exports", "connector_export", "$@185", "$@186", "$@187", - "$@188", YY_NULLPTR + "connector_header", "$@186", "$@187", "connector_body", "$@188", "$@189", + "connector_exports", "connector_export", "$@190", "$@191", "$@192", + "$@193", YY_NULLPTR }; static const char * @@ -1300,18 +1311,18 @@ static const yytype_int16 yytoknum[] = 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 59, 123, 125, 60, - 62, 58, 44, 61, 124, 94, 38, 43, 45, 42, - 47, 37, 126, 40, 41, 91, 93 + 345, 346, 347, 348, 349, 350, 351, 59, 123, 125, + 60, 62, 58, 44, 61, 124, 94, 38, 43, 45, + 42, 47, 37, 126, 40, 41, 91, 93 }; #endif -#define YYPACT_NINF (-672) +#define YYPACT_NINF (-668) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-576) +#define YYTABLE_NINF (-583) #define yytable_value_is_error(Yyn) \ 0 @@ -1320,95 +1331,96 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -672, 90, 1339, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, 141, 144, 57, 58, -672, 141, - 141, -672, 56, 56, -672, -672, 141, -672, -672, 60, - -672, 461, 79, 81, -672, -672, -8, -672, -672, -672, - -672, -672, -672, 537, -672, -672, -672, -672, -672, 1539, - 61, -672, -672, 85, -672, 146, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, 70, -672, -672, -672, 70, -672, - -672, 119, 139, 2013, 56, 141, 1892, 141, 141, 141, - 141, -672, -672, -672, 13, 141, 39, -672, 40, 141, - -672, 70, 141, 149, 150, 141, -672, -672, 26, -672, - 33, 233, -672, 153, -672, 154, 157, 1651, -672, -672, - -672, 158, 207, -672, 168, 170, 172, 140, -672, 198, - -672, -672, -672, -672, -672, -672, 171, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, 184, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, 146, - -672, -672, -672, 72, -672, -672, 175, -672, 178, 182, - 185, -672, 56, 188, 190, 187, -672, 191, 194, 195, - 196, 197, 199, 202, 204, -672, -672, -672, 205, 208, - -672, -672, -672, -672, 184, -672, -672, -672, -672, -672, - -672, -672, -672, -672, 184, -672, -672, -672, -672, -672, - -672, -672, -672, 211, -672, 206, -672, -672, 148, -672, - 276, -672, -672, -672, -672, 44, -672, -672, -672, 2013, - -672, -672, -672, -672, 181, -672, -672, -672, -672, 290, - -672, -672, 54, 210, -672, -672, -672, -672, -672, -672, - -672, -672, 303, -672, 135, 214, 267, -672, -672, -672, - -672, -672, -672, 184, -672, -672, 203, -672, -672, -672, - -672, -672, -672, -672, -672, -672, 267, 218, 223, -672, - -672, -672, 141, 141, 224, 230, -672, -672, -672, 227, - -672, 276, 236, -672, -672, -672, -672, -672, 327, -672, - 238, 239, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 183, 183, 183, 135, 184, -672, -672, 235, - 241, 234, 128, 114, 14, -672, -672, -672, -672, -672, - 56, -672, -672, -672, -672, 240, -672, 56, -672, 135, - 135, 135, 231, -672, -672, -672, -672, -672, -672, -672, - 133, -672, 1, -672, -672, -672, -672, -672, -672, -672, - -672, 56, 267, -672, -672, -672, -672, 148, 565, 1453, - 245, 247, -672, 1651, -672, -672, -672, 244, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 246, 141, - -672, 184, 1103, -672, 825, 135, -672, -672, -672, -672, - -672, 135, -672, 1403, -672, -672, -672, 381, 1011, -672, - -672, -672, -672, 68, 292, 56, 56, -672, -672, -672, - -672, -672, 68, -672, 253, -672, 249, -672, 252, -672, - -672, 1196, 184, -672, 56, 267, -672, -672, -672, -672, - 263, -672, -672, 141, -672, -672, 264, 265, 359, 268, - -672, -672, 241, 234, 128, 114, 114, 14, 14, -672, - -672, -672, -672, -672, 262, -672, -672, -672, 269, -672, - -672, 1805, -672, -672, -672, -672, 1926, -672, -672, -672, - -672, -672, 270, -672, 1839, -672, -672, 1716, -672, 266, - 1627, 271, 277, 278, 280, -672, 255, -672, 285, -672, - -672, -672, 281, 282, 711, 56, 56, 56, 237, -672, - 294, -672, -672, -672, -672, -672, -672, -672, 141, 141, - -672, 295, -672, -672, -672, 1289, 918, 357, 1979, -672, - 184, 276, -672, -672, 65, 66, 298, 302, 309, 276, - 310, -672, -672, 2, -672, 47, -672, -672, 301, 311, - 184, -672, 315, 160, 1892, -672, 378, -672, -672, -672, - -672, 54, -672, 312, -672, 319, -672, 322, 324, 325, - 328, -672, 184, -672, -672, -672, -672, -672, 329, 330, - 420, -672, -672, -672, 338, -672, -672, -672, -672, -672, - 135, -672, 276, -672, 339, 141, -672, -672, 428, 184, - -672, -672, -672, -672, -672, -672, 69, 69, 69, -672, - 342, -672, 343, 348, 349, 351, 355, 356, -672, -672, - -672, 364, 365, 368, 372, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, 135, -672, -672, -672, 141, - -672, 373, 375, 376, -672, 409, 382, 160, -672, 387, - 390, -672, 391, 135, 393, 1514, -672, 56, -672, -672, - -672, -672, -672, -672, 487, -672, -672, -672, -672, -672, - 280, 285, -672, -672, 377, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, 383, 383, -672, -672, -672, - -672, 1979, 141, -672, 135, 384, -672, -672, -672, -672, - -672, -672, -672, 401, -672, -672, -672, -672, -672, 56, - -672, -672, -672, -672, 402, 184, -672, 383, -672, 404, - -672, 466, -672, -672, -672, -672, -672, -672, -672, -672, - 56, -672, 184, 405, 635, -672, 389, -672, -672, 407, - 394, 470, 471, 471, 141, 456, 410, 397, -672, 184, - 416, -672, -672, 403, -672, 471, -672, -672, -672, 406, - -672, -672, -672, -672, -672, -672, -672, -672, -672, 462, - 519, 411, 152, 471, -672, 75, 1979, -672, 427, 417, - 471, 418, 472, 141, 56, -672, -672, 433, -672, -672, - -672, -672, -672, 421, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 184, -672, 434, -672, 436, 1979, 500, 445, - 135, 442, 446, 55, -672, 201, 141, 470, 56, 56, - 451, 141, 519, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 1603, -672, -672, -672, 452, 453, -672, -672, - -672, 152, 141, 457, 464, -672, -672, -672, -672, 56, - -672, -672, -672, -672, 141, 475, 473, 509, -672, -672, - -672, -672, 478, 483, -672, -672, 514, -672 + -668, 76, 739, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 94, 120, 51, 97, -668, 94, + 94, -668, 48, 48, -668, -668, 94, -668, -668, 54, + -668, 630, 39, 67, -668, -668, 2, -668, -668, -668, + -668, -668, -668, 577, -668, -668, -668, -668, -668, 1613, + 64, -668, -668, 70, -668, 154, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 80, -668, -668, -668, 80, -668, + -668, 86, 92, 2060, 48, 94, 1884, 94, 94, 94, + 94, -668, -668, -668, 32, 94, 68, -668, 78, 94, + -668, 80, 94, 104, 113, 94, -668, -668, 10, -668, + 26, 196, -668, 106, -668, 146, 151, 698, -668, -668, + -668, 166, 202, -668, 179, 181, 182, 107, -668, 98, + -668, -668, -668, -668, -668, -668, 176, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, 189, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + 154, -668, -668, -668, -668, 16, -668, -668, 184, -668, + 188, 185, 193, -668, 48, 197, 201, 183, -668, 206, + 207, 208, 209, 199, 211, 212, 214, -668, -668, -668, + 217, 218, -668, -668, -668, -668, 189, -668, -668, -668, + -668, -668, -668, -668, -668, -668, 189, -668, -668, -668, + -668, -668, -668, -668, -668, 219, -668, 220, -668, -668, + 221, -668, 316, -668, -668, -668, -668, 52, -668, -668, + -668, 2060, -668, -668, -668, -668, 222, -668, -668, -668, + -668, 317, -668, -668, 65, 224, -668, -668, -668, -668, + -668, -668, -668, -668, 323, -668, 178, 233, 235, 288, + -668, -668, -668, -668, -668, -668, 189, -668, -668, 223, + -668, -668, -668, -668, -668, -668, -668, -668, -668, 288, + 241, 246, -668, -668, -668, 94, 94, 247, 249, -668, + -668, -668, 240, -668, 316, 250, -668, -668, -668, -668, + -668, 347, -668, 254, 253, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, 153, 153, 153, 178, 189, + -668, -668, 252, 255, 256, 101, 87, 102, -668, -668, + -668, -668, -668, 48, -668, -668, -668, -668, 261, -668, + -668, 48, -668, 178, 178, 178, 245, -668, -668, -668, + -668, -668, -668, -668, 137, -668, -13, -668, -668, -668, + -668, -668, -668, -668, -668, 48, 288, -668, -668, -668, + -668, 221, 1427, 1526, 266, 265, -668, 698, -668, -668, + -668, 268, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 264, 94, -668, 189, 1118, -668, 837, 178, + -668, 1919, -668, -668, -668, -668, 178, -668, 1455, -668, + -668, -668, 576, 1025, -668, -668, -668, -668, 41, 326, + 48, 48, -668, -668, -668, -668, -668, 41, -668, 291, + -668, 287, -668, 289, -668, -668, 1212, 189, -668, 48, + 288, -668, -668, -668, -668, 297, -668, -668, 94, -668, + -668, 300, 303, 396, 312, -668, -668, 255, 256, 101, + 87, 87, 102, 102, -668, -668, -668, -668, -668, 308, + -668, -668, -668, 313, -668, -668, 1796, -668, -668, -668, + -668, 2007, -668, -668, -668, -668, -668, 314, -668, 1831, + -668, -668, 1706, -668, 318, 478, -668, 319, 324, 327, + 310, -668, 302, -668, 315, -668, -668, -668, 325, 330, + 286, 48, 48, 48, 156, -668, 335, -668, -668, -668, + -668, -668, -668, -668, 94, 94, -668, 336, -668, -668, + -668, 1306, 931, 404, 1972, -668, 189, 316, -668, -668, + 60, 62, 341, 342, 343, 316, 344, -668, -668, -3, + -668, 53, -668, -668, 345, 348, 189, -668, 350, 59, + 1884, -668, 412, -668, -668, -668, -668, 65, -668, 346, + -668, 349, -668, 353, 355, 356, 357, -668, 189, -668, + -668, -668, -668, -668, 358, 359, 454, -668, -668, -668, + 363, -668, -668, 360, -668, -668, -668, 178, -668, 316, + -668, 369, 94, -668, -668, 464, 189, -668, -668, -668, + -668, -668, -668, 63, 63, 63, -668, 376, -668, 379, + 381, 383, 385, 387, 388, -668, -668, -668, 409, 410, + 411, 413, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, 178, -668, -668, -668, 94, -668, 414, 405, + 417, -668, 442, 418, 59, -668, 421, 422, -668, 423, + 178, 424, 1588, -668, 48, -668, -668, -668, -668, -668, + -668, 508, -668, -668, -668, -668, -668, -668, 310, 315, + -668, -668, 408, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, 420, 420, -668, -668, -668, -668, 1972, + 94, -668, 178, 415, -668, -668, -668, -668, -668, -668, + -668, 429, -668, -668, -668, -668, -668, 48, -668, -668, + -668, -668, 430, 189, -668, 420, 1919, -668, 431, -668, + 499, -668, -668, -668, -668, -668, -668, -668, -668, 48, + -668, 189, 437, 1356, -668, 425, -668, -668, -668, 439, + 426, 504, 503, 503, 94, 487, 441, 432, -668, 189, + 446, -668, -668, 435, -668, 503, 450, -668, -668, -668, + 438, -668, -668, -668, -668, -668, -668, -668, -668, -668, + 492, 544, 440, 200, 503, -668, -668, 93, 1972, -668, + 451, 444, 503, 445, 493, 94, 48, -668, -668, 468, + -668, -668, -668, -668, -668, 455, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 189, -668, 469, -668, 470, 1972, + 531, 479, 178, 473, 480, 58, -668, 186, 94, 504, + 48, 48, 463, 94, 544, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 1678, -668, -668, -668, 466, 467, + -668, -668, -668, 200, 94, 485, 476, -668, -668, -668, + -668, 48, -668, -668, -668, -668, 94, 486, 490, 530, + -668, -668, -668, -668, 494, 507, -668, -668, 535, -668 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1417,184 +1429,187 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 293, 308, 343, 391, 0, 0, 0, 0, 94, 0, - 0, 503, 0, 0, 572, 592, 0, 6, 7, 42, + 294, 309, 344, 398, 0, 0, 0, 0, 94, 0, + 0, 510, 0, 0, 579, 599, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, - 0, 12, 230, 295, 226, 342, 227, 253, 254, 228, - 20, 14, 16, 28, 462, 461, 464, 30, 501, 32, - 533, 535, 534, 532, 77, 551, 552, 531, 77, 34, + 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, + 20, 14, 16, 28, 469, 468, 471, 30, 508, 32, + 540, 542, 541, 539, 77, 558, 559, 538, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 265, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 468, 544, 0, 142, 138, 0, 137, + 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, + 82, 77, 0, 475, 551, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, - 9, 0, 97, 72, 0, 0, 0, 269, 271, 0, - 283, 284, 287, 288, 289, 290, 286, 291, 292, 357, - 365, 370, 272, 279, 273, 280, 274, 281, 275, 282, - 92, 237, 102, 233, 235, 236, 234, 238, 267, 268, - 239, 243, 240, 242, 241, 244, 245, 295, 250, 0, - 251, 252, 246, 0, 249, 247, 364, 248, 369, 0, - 0, 5, 0, 211, 0, 0, 310, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 538, 547, 0, 0, - 595, 591, 39, 286, 160, 148, 152, 156, 157, 153, - 154, 155, 158, 159, 41, 71, 225, 231, 294, 309, - 344, 392, 73, 542, 74, 0, 543, 95, 473, 504, - 0, 459, 140, 460, 573, 0, 197, 43, 25, 0, - 558, 554, 555, 560, 557, 561, 559, 556, 553, 0, - 48, 565, 0, 0, 23, 96, 75, 67, 27, 85, - 270, 285, 276, 278, 0, 0, 99, 356, 353, 361, - 366, 19, 11, 214, 13, 296, 0, 21, 15, 17, - 29, 465, 31, 515, 502, 33, 99, 0, 0, 35, - 37, 599, 0, 0, 0, 0, 89, 471, 469, 512, - 139, 0, 0, 593, 212, 200, 4, 562, 0, 566, - 0, 563, 186, 187, 188, 190, 193, 192, 194, 195, - 191, 189, 0, 0, 0, 0, 183, 590, 161, 162, - 163, 165, 167, 169, 172, 175, 179, 184, 589, 62, - 0, 114, 105, 277, 196, 0, 358, 0, 93, 0, - 0, 0, 217, 213, 311, 476, 519, 546, 539, 548, - 596, 149, 265, 232, 258, 259, 260, 266, 345, 393, - 114, 0, 99, 510, 505, 141, 574, 473, 0, 0, - 3, 0, 49, 0, 180, 181, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, - 76, 136, 0, 113, 0, 0, 213, 98, 354, 362, - 367, 0, 215, 0, 297, 301, 213, 213, 0, 114, - 105, 381, 386, 0, 497, 0, 0, 604, 379, 380, - 600, 602, 0, 606, 0, 598, 0, 213, 255, 213, - 301, 0, 472, 470, 0, 99, 580, 594, 204, 198, - 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 564, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 401, 402, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 406, - 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 0, 0, 0, 137, 218, 0, 219, 222, 306, - 303, 302, 0, 213, 0, 0, 0, 0, 0, 487, - 0, 475, 477, 479, 481, 483, 485, 489, 0, 0, - 520, 0, 518, 521, 523, 0, 0, 0, 0, 493, - 492, 0, 496, 495, 0, 0, 0, 0, 0, 0, - 0, 597, 150, 0, 256, 0, 346, 351, 213, 0, - 511, 506, 579, 213, 0, 202, 210, 203, 45, 567, - 50, 0, 134, 0, 69, 0, 115, 0, 0, 0, - 0, 405, 435, 432, 433, 434, 396, 404, 0, 0, - 0, 87, 112, 103, 0, 360, 359, 355, 363, 368, - 0, 216, 0, 220, 0, 0, 298, 300, 269, 322, - 317, 318, 319, 320, 312, 321, 0, 0, 0, 474, - 0, 467, 0, 0, 0, 0, 0, 0, 525, 528, - 517, 0, 0, 0, 0, 382, 387, 491, 585, 586, - 605, 601, 603, 494, 607, 0, 376, 372, 375, 0, - 352, 0, 348, 0, 91, 0, 0, 0, 583, 0, - 0, 578, 0, 0, 0, 0, 588, 0, 132, 124, - 118, 128, 126, 130, 0, 120, 122, 407, 109, 223, - 0, 222, 307, 304, 0, 500, 498, 499, 488, 478, - 480, 482, 484, 486, 490, 0, 0, 522, 524, 541, - 550, 0, 0, 151, 0, 373, 257, 347, 349, 395, - 507, 576, 577, 0, 581, 582, 205, 209, 208, 0, - 56, 42, 51, 55, 0, 135, 397, 0, 221, 0, - 313, 410, 526, 529, 383, 388, 264, 377, 374, 213, - 0, 584, 58, 0, 0, 57, 0, 408, 305, 0, - 0, 0, 442, 442, 0, 446, 261, 0, 350, 508, - 0, 52, 54, 423, 398, 442, 314, 411, 418, 0, - 417, 439, 527, 530, 384, 443, 389, 262, 378, 514, - 0, 0, 0, 442, 409, 0, 0, 413, 414, 0, - 442, 0, 450, 0, 0, 509, 571, 0, 570, 422, - 436, 437, 438, 0, 428, 429, 399, 329, 336, 334, - 315, 325, 326, 333, 419, 415, 440, 385, 444, 447, - 390, 263, 513, 59, 568, 424, 425, 0, 454, 0, - 0, 0, 0, 0, 213, 331, 0, 0, 0, 0, - 0, 0, 0, 426, 430, 451, 400, 330, 337, 335, - 316, 324, 0, 332, 420, 416, 0, 0, 448, 60, - 569, 0, 0, 0, 0, 339, 327, 441, 445, 0, - 427, 431, 452, 338, 0, 0, 0, 0, 340, 328, - 449, 458, 0, 455, 453, 456, 0, 457 + 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 364, + 354, 372, 377, 273, 280, 274, 281, 275, 282, 276, + 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, + 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, + 0, 252, 253, 250, 246, 0, 249, 247, 371, 248, + 376, 0, 0, 5, 0, 211, 0, 0, 311, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 545, 554, + 0, 0, 602, 598, 39, 287, 160, 148, 152, 156, + 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, + 295, 310, 345, 399, 73, 549, 74, 0, 550, 95, + 480, 511, 0, 466, 140, 467, 580, 0, 197, 43, + 25, 0, 565, 561, 562, 567, 564, 568, 566, 563, + 560, 0, 48, 572, 0, 0, 23, 96, 75, 67, + 27, 85, 271, 286, 277, 279, 0, 0, 0, 99, + 363, 360, 368, 373, 19, 11, 214, 13, 297, 0, + 21, 15, 17, 29, 472, 31, 522, 509, 33, 99, + 0, 0, 35, 37, 606, 0, 0, 0, 0, 89, + 478, 476, 519, 139, 0, 0, 600, 212, 200, 4, + 569, 0, 573, 0, 570, 186, 187, 188, 190, 193, + 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, + 597, 161, 162, 163, 165, 167, 169, 172, 175, 179, + 184, 596, 62, 0, 114, 105, 278, 196, 0, 365, + 355, 0, 93, 0, 0, 0, 217, 213, 312, 483, + 526, 553, 546, 555, 603, 149, 266, 232, 259, 260, + 261, 267, 346, 400, 114, 0, 99, 517, 512, 141, + 581, 480, 0, 0, 3, 0, 49, 0, 180, 181, + 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 594, 0, 76, 136, 0, 113, 0, 0, + 213, 0, 98, 361, 369, 374, 0, 215, 0, 298, + 302, 213, 213, 0, 114, 105, 388, 393, 0, 504, + 0, 0, 611, 386, 387, 607, 609, 0, 613, 0, + 605, 0, 213, 256, 213, 302, 0, 479, 477, 0, + 99, 587, 601, 204, 198, 0, 206, 199, 0, 201, + 207, 0, 0, 0, 0, 571, 185, 164, 166, 168, + 170, 171, 173, 174, 176, 177, 178, 213, 63, 133, + 131, 408, 409, 0, 116, 123, 0, 117, 127, 125, + 129, 0, 119, 121, 413, 111, 110, 0, 104, 0, + 106, 107, 0, 108, 0, 0, 356, 0, 0, 0, + 137, 218, 0, 219, 222, 307, 304, 303, 0, 213, + 0, 0, 0, 0, 0, 494, 0, 482, 484, 486, + 488, 490, 492, 496, 0, 0, 527, 0, 525, 528, + 530, 0, 0, 0, 0, 500, 499, 0, 503, 502, + 0, 0, 0, 0, 0, 0, 0, 604, 150, 0, + 257, 0, 347, 352, 213, 0, 518, 513, 586, 213, + 0, 202, 210, 203, 45, 574, 50, 0, 134, 0, + 69, 0, 115, 0, 0, 0, 0, 412, 442, 439, + 440, 441, 403, 411, 0, 0, 0, 87, 112, 103, + 0, 367, 366, 0, 362, 370, 375, 0, 216, 0, + 220, 0, 0, 299, 301, 270, 323, 318, 319, 320, + 321, 313, 322, 0, 0, 0, 481, 0, 474, 0, + 0, 0, 0, 0, 0, 532, 535, 524, 0, 0, + 0, 0, 389, 394, 498, 592, 593, 612, 608, 610, + 501, 614, 0, 383, 379, 382, 0, 353, 0, 349, + 0, 91, 0, 0, 0, 590, 0, 0, 585, 0, + 0, 0, 0, 595, 0, 132, 124, 118, 128, 126, + 130, 0, 120, 122, 414, 109, 357, 223, 0, 222, + 308, 305, 0, 507, 505, 506, 495, 485, 487, 489, + 491, 493, 497, 0, 0, 529, 531, 548, 557, 0, + 0, 151, 0, 380, 258, 348, 350, 402, 514, 583, + 584, 0, 588, 589, 205, 209, 208, 0, 56, 42, + 51, 55, 0, 135, 404, 0, 0, 221, 0, 314, + 417, 533, 536, 390, 395, 265, 384, 381, 213, 0, + 591, 58, 0, 0, 57, 0, 415, 358, 306, 0, + 0, 0, 449, 449, 0, 453, 262, 0, 351, 515, + 0, 52, 54, 430, 405, 449, 0, 315, 418, 425, + 0, 424, 446, 534, 537, 391, 450, 396, 263, 385, + 521, 0, 0, 0, 449, 416, 359, 0, 0, 420, + 421, 0, 449, 0, 457, 0, 0, 516, 578, 0, + 577, 429, 443, 444, 445, 0, 435, 436, 406, 330, + 337, 335, 316, 326, 327, 334, 426, 422, 447, 392, + 451, 454, 397, 264, 520, 59, 575, 431, 432, 0, + 461, 0, 0, 0, 0, 0, 213, 332, 0, 0, + 0, 0, 0, 0, 0, 433, 437, 458, 407, 331, + 338, 336, 317, 325, 0, 333, 427, 423, 0, 0, + 455, 60, 576, 0, 0, 0, 0, 340, 328, 448, + 452, 0, 434, 438, 459, 339, 0, 0, 0, 0, + 341, 329, 456, 465, 0, 462, 460, 463, 0, 464 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -672, -672, 287, 288, 546, -592, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -579, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -148, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, 37, -672, - -672, 24, -672, -672, -672, 580, -672, -672, -672, -672, - -672, -672, -672, 582, -672, 215, -672, -672, -246, -672, - -672, 179, 103, -672, -672, -672, -319, -672, -360, -672, - -672, -672, -672, -672, -672, -672, -672, -332, -672, -672, - -22, -672, -672, -188, -10, -672, 6, -672, -672, -672, - -672, -196, -44, -226, -672, 217, 213, 216, -158, -154, - -201, -119, -672, -318, -672, -672, -672, -672, -672, -672, - -672, -672, 23, -82, 553, -672, -672, -672, -672, -74, - 7, 16, -672, 46, -672, -31, 108, -457, -672, -672, - -672, 8, -672, -672, -610, -143, -672, -672, -7, -672, - -66, -672, -672, -61, -42, -59, -56, -55, 250, -672, - -40, -672, -38, -672, -672, -672, -672, 174, 259, 121, - -672, -672, -672, -37, -672, -32, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -217, -672, -672, -672, -672, - -672, -218, -672, -672, -672, -672, -672, -672, -672, -41, - -672, -672, -672, -672, -672, -672, -672, -112, -672, -672, - -672, -672, -672, -672, -672, -70, -672, -672, -672, -69, - -672, -672, -672, -672, -672, -672, -672, -76, -672, -672, - -326, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, 17, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -622, -672, -672, - -672, -672, -672, -207, -672, -672, -672, -672, -672, -672, - -672, -672, -227, -672, -672, -501, -672, -671, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, 18, 21, -672, -672, -672, -672, -672, -672, - -672, -672, -672, 258, -672, -672, 125, -672, -672, -672, - -672, -672, -672, -672, -325, 212, -322, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672, 559, -672, - -672, -672, -672, -672, -672, -672, -672, -672, 283, -672, - -672, -183, -672, -672, -672, -672, -672, -672, -672, 3, - -672, 304, -672, -672, 94, -672, -672, -672, -672, -672, - -672, -672, -672, -672, -672, -672, -672, -672 + -668, -668, 304, 305, 563, -620, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -590, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -138, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, 205, -668, + -668, 36, -668, -668, -668, 599, -668, -668, -668, -668, + -668, -668, -668, 601, -668, 244, -668, -668, -248, -668, + -668, 194, 116, -668, -668, -668, -300, -668, -365, -668, + -668, -668, -668, -668, -668, -668, -668, -336, -668, -668, + -22, -668, -668, -193, -10, -668, 18, -668, -668, -668, + -668, -199, -28, -219, -668, 228, 229, 227, -130, -128, + -159, -52, -668, -317, -668, -668, -668, -668, -668, -668, + -668, -668, 15, -93, 575, -668, -668, -668, -668, -63, + 23, 20, -668, 57, -668, -31, -393, -460, -668, -668, + -668, 19, -668, -668, -624, -134, -668, -668, -7, -668, + -75, -668, -668, -36, -30, -56, -55, -50, 251, -668, + -40, -668, -38, -668, -668, -668, -668, 190, 284, 144, + -668, -668, -668, -37, -668, -32, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -201, -668, -668, -668, -668, + -668, -200, -668, -668, -668, -668, -668, -668, -668, -41, + -668, -668, -668, -668, -668, -668, -668, -100, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -70, -668, -668, -668, -69, -668, -668, -668, -668, + -668, -668, -668, -64, -668, -668, -324, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, 21, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -654, -668, -668, -668, -668, -668, -192, + -668, -668, -668, -668, -668, -668, -668, -668, -217, -668, + -668, -515, -668, -667, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, 22, 24, + -668, -668, -668, -668, -668, -668, -668, -668, -668, 290, + -668, -668, 145, -668, -668, -668, -668, -668, -668, -668, + -334, 231, -330, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 592, -668, -668, -668, -668, -668, + -668, -668, -668, -668, 285, -668, -668, -181, -668, -668, + -668, -668, -668, -668, -668, 12, -668, 321, -668, -668, + 100, -668, -668, -668, -668, -668, -668, -668, -668, -668, + -668, -668, -668, -668 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 2, 3, 27, 28, 180, 184, 188, 189, - 179, 187, 121, 116, 125, 190, 192, 194, 198, 199, - 82, 29, 84, 30, 115, 306, 457, 31, 32, 117, - 310, 459, 665, 743, 722, 744, 723, 724, 760, 841, - 33, 118, 399, 34, 35, 124, 341, 478, 36, 85, - 37, 150, 340, 38, 39, 40, 126, 342, 492, 41, - 225, 370, 559, 42, 266, 43, 102, 256, 348, 44, - 45, 404, 493, 594, 494, 495, 402, 403, 479, 577, - 588, 589, 575, 579, 578, 580, 573, 400, 474, 667, - 326, 230, 301, 109, 362, 46, 480, 83, 292, 436, - 645, 205, 327, 344, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 345, 48, 305, 378, 452, 564, 453, - 454, 664, 481, 50, 304, 352, 412, 506, 507, 603, - 508, 482, 86, 216, 293, 217, 153, 154, 155, 156, - 52, 363, 438, 649, 364, 735, 756, 793, 365, 366, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 53, 87, 54, 185, 353, 512, 414, 513, 607, 511, - 605, 729, 604, 55, 88, 56, 276, 416, 684, 749, - 785, 832, 614, 810, 833, 811, 834, 875, 829, 812, - 835, 813, 831, 830, 864, 866, 874, 57, 58, 59, - 89, 294, 439, 651, 556, 652, 739, 557, 172, 349, - 501, 173, 265, 406, 174, 175, 350, 502, 176, 177, - 351, 503, 178, 367, 437, 647, 705, 648, 704, 757, - 483, 428, 537, 701, 754, 790, 429, 538, 702, 755, - 792, 484, 90, 295, 440, 653, 485, 674, 746, 783, - 828, 486, 586, 498, 590, 727, 765, 732, 750, 751, - 769, 788, 837, 770, 786, 836, 764, 781, 782, 803, - 826, 861, 804, 827, 862, 587, 805, 772, 789, 838, - 776, 791, 839, 820, 840, 869, 846, 863, 877, 882, - 883, 886, 487, 488, 63, 64, 65, 191, 355, 520, - 66, 228, 372, 298, 371, 417, 521, 622, 623, 624, - 625, 626, 620, 627, 522, 541, 523, 432, 543, 524, - 525, 526, 67, 193, 68, 105, 299, 445, 655, 740, - 779, 374, 444, 795, 284, 356, 531, 418, 532, 631, - 632, 533, 695, 752, 534, 696, 753, 69, 70, 71, - 72, 73, 287, 419, 633, 74, 75, 76, 196, 286, - 77, 288, 420, 634, 78, 249, 250, 311, 251, 797, - 824, 798, 79, 111, 302, 446, 656, 562, 563, 661, - 713, 527, 253, 398, 338, 80, 81, 112, 377, 201, - 291, 434, 360, 435, 547, 548, 546, 550 + 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, + 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, + 82, 29, 84, 30, 115, 309, 462, 31, 32, 117, + 313, 464, 672, 752, 730, 753, 731, 732, 770, 853, + 33, 118, 403, 34, 35, 124, 344, 483, 36, 85, + 37, 151, 343, 38, 39, 40, 126, 345, 497, 41, + 227, 374, 565, 42, 269, 43, 102, 258, 352, 44, + 45, 408, 498, 600, 499, 500, 406, 407, 484, 583, + 594, 595, 581, 585, 584, 586, 579, 404, 479, 674, + 329, 232, 304, 109, 366, 46, 485, 83, 295, 441, + 652, 207, 330, 347, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 348, 48, 308, 382, 457, 570, 458, + 459, 671, 486, 50, 307, 356, 417, 512, 513, 610, + 514, 487, 86, 218, 296, 219, 154, 155, 156, 157, + 52, 367, 443, 656, 368, 744, 766, 805, 369, 370, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 53, 87, 54, 187, 357, 518, 419, 519, 614, 517, + 612, 738, 611, 55, 88, 56, 279, 421, 692, 759, + 797, 844, 621, 822, 845, 823, 846, 887, 841, 824, + 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, + 89, 297, 444, 658, 562, 659, 748, 563, 173, 268, + 411, 603, 736, 776, 174, 353, 507, 175, 267, 410, + 176, 177, 354, 508, 178, 179, 355, 509, 180, 371, + 442, 654, 713, 655, 712, 767, 488, 433, 543, 709, + 764, 802, 434, 544, 710, 765, 804, 489, 90, 298, + 445, 660, 490, 681, 755, 794, 840, 491, 592, 503, + 596, 735, 775, 741, 760, 761, 780, 800, 849, 781, + 798, 848, 774, 792, 793, 815, 838, 873, 816, 839, + 874, 593, 817, 783, 801, 850, 787, 803, 851, 832, + 852, 881, 858, 875, 889, 894, 895, 898, 492, 493, + 63, 64, 65, 193, 359, 526, 66, 230, 376, 301, + 375, 422, 527, 629, 630, 631, 632, 633, 627, 634, + 528, 547, 529, 437, 549, 530, 531, 532, 67, 195, + 68, 105, 302, 450, 662, 749, 790, 378, 449, 807, + 287, 360, 537, 423, 538, 638, 639, 539, 703, 762, + 540, 704, 763, 69, 70, 71, 72, 73, 290, 424, + 640, 74, 75, 76, 198, 289, 77, 291, 425, 641, + 78, 251, 252, 314, 253, 809, 836, 810, 79, 111, + 305, 451, 663, 568, 569, 668, 721, 533, 255, 402, + 341, 80, 81, 112, 381, 203, 294, 439, 364, 440, + 553, 554, 552, 556 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1602,593 +1617,605 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 171, 167, 92, 168, 169, 93, 47, 103, - 104, 170, 152, 212, 213, 407, 113, 206, 51, 60, - 61, 151, 207, 62, 209, 49, 328, 210, 211, 583, - 235, 408, 409, 410, 427, 430, 252, 636, 431, 706, - 357, 208, 300, 307, 496, 171, 167, 303, 168, 169, - 650, 441, 94, 96, 170, 47, 807, 106, 530, 106, - 123, 204, 214, 8, 151, 51, 60, 61, 638, 639, - 62, 106, 106, 720, 733, 215, 807, 218, 219, 220, - 221, 583, 773, 808, 809, 223, 721, 539, -144, 226, - 4, 519, 227, 122, 784, 229, -371, 182, 195, 387, - 535, 231, 195, 808, 809, 747, 18, 18, 233, -145, - 95, 99, 806, 375, 122, 232, -371, 646, 222, 817, - 224, 576, 232, 395, 396, 397, 443, 312, 313, 314, - 315, 316, 317, 318, 319, -146, -100, 496, 106, 182, - 122, 122, 182, 107, 91, 107, 320, 321, 260, 182, - 8, 261, 720, -323, 232, 232, 182, 107, 232, 114, - 273, 322, 323, 421, 422, 721, 324, 325, 186, 212, - 213, 122, 267, 206, 268, 119, 496, 120, 207, 499, - 209, -341, 451, 210, 211, 505, 106, 800, 801, 802, - 421, 422, 519, 423, 469, 470, 471, 208, 424, 561, - 734, 425, 426, 384, 385, 386, 262, 263, 312, 313, - 314, 315, 316, 317, 318, 319, 200, 204, 391, 392, - 423, 393, 394, 504, 107, 424, 854, 320, 321, 808, - 809, 98, 101, 465, 466, 202, 234, 658, 659, 467, - 468, 660, 322, 323, 583, -463, -536, 324, 325, 297, - 236, 237, 871, 238, 254, 255, 312, 313, 314, 315, - 316, 317, 318, 319, 878, 257, 258, 421, 422, 259, - 264, 413, 107, 232, 269, 320, 321, 270, 271, 106, - 308, 272, 361, -212, 275, 814, 274, 277, 515, 516, - 278, 279, 280, 309, 281, 282, 325, 423, 517, 283, - 285, 289, 424, 296, 290, 425, 426, -537, 212, 213, - 339, 343, 206, 346, 347, 358, 354, 207, 401, 209, - 359, 368, 210, 211, 500, 401, 844, 369, 373, 583, - 381, 658, 659, 376, 514, 660, 208, 456, 382, 388, - 390, 383, 405, -44, 411, 328, 389, 458, 472, 442, - 542, 551, 552, 637, 554, 553, 204, 555, 461, 565, - 567, 643, 569, 568, 572, 570, 595, 574, 591, 601, - 583, 597, 171, 167, 679, 168, 169, 598, 599, 606, - -299, 170, 510, 600, 450, 47, 737, 602, 635, 473, - 571, 151, 621, 630, 640, 51, 60, 61, 641, -394, - 62, 540, 49, 544, 545, 642, 644, 663, 668, 654, - 540, 421, 422, -575, 680, 669, 584, 585, 670, 328, - 671, 672, 560, 677, 673, 675, 676, 497, 685, 686, - 687, 413, 515, 516, 678, 682, 260, 717, 688, 689, - 518, 423, 517, 566, 690, 691, 424, 692, 610, 425, - 426, 693, 694, 171, 167, 611, 168, 169, 612, 613, - 697, 698, 170, 510, 582, -47, 699, -47, 584, 585, - 700, 707, 151, 615, 709, 710, 413, 708, 151, -466, - 711, -47, -47, 714, -47, -47, 715, 716, -47, 718, - 726, 730, 609, 616, 617, 618, 731, 741, 745, 646, - 748, -412, 763, 761, 766, 768, 856, 857, 767, 771, - -47, 775, 777, 778, -47, 780, 582, -421, 628, 629, - 787, 794, 796, 171, 167, 799, 168, 169, -47, 815, - 816, 818, 170, 823, 819, 825, 842, 876, 843, 845, - 106, 847, 151, 849, 850, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 10, 11, 497, - 12, 139, 140, 141, 858, 873, 867, 868, 106, 6, - 872, 879, 448, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 203, 137, 881, 885, 657, 880, 12, 887, - 140, 141, 884, 379, 380, 181, 762, 100, 97, 536, - 593, 703, 463, 183, 848, 462, 464, 728, 596, 681, - 662, 774, 415, 683, 558, 592, 851, 853, 142, 143, - 144, 145, 146, 147, 148, 149, 107, 758, 455, 738, - 855, 584, 585, -101, 870, 447, 5, 197, 122, 6, - 7, 8, 9, 619, 549, 725, 142, 143, 144, 145, - 146, 147, 148, 149, 107, 10, 11, 555, 12, 860, - 712, 0, 13, 449, 433, 666, 460, 0, 0, 0, - 0, 47, 0, 0, 0, 14, 15, 16, 17, 582, - 0, 51, 60, 61, 18, 19, 62, 0, 20, 0, - 0, 21, 92, 0, 0, 736, 0, 742, 22, 23, - 0, 0, 0, 0, 0, 24, 25, 719, 0, 0, - 0, 0, 0, 0, 106, 0, 584, 585, 759, 608, - 128, 129, 0, 0, 132, 133, 134, 135, 0, 26, - 0, 0, 0, -53, 12, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 736, 0, 0, - 47, 0, 852, 0, 0, 0, 0, 584, 585, 0, - 51, 60, 61, 0, 582, 62, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 821, 0, 0, 0, - 0, 0, 142, 143, 144, 145, 146, 147, 148, 149, - 107, 0, 0, 0, 0, 582, 182, 0, 0, 0, - 0, 171, 167, 0, 168, 169, 401, 401, 0, 0, - 170, 865, 0, 0, 0, 0, 475, 0, -403, 6, - 151, 859, 9, -403, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 10, 11, 401, 12, 0, - -403, -403, 13, 0, 0, 421, 422, 476, 477, -403, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 489, - 490, 491, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 0, 0, 0, 0, 475, - -213, -403, 6, -86, 0, 9, -403, -403, -403, -403, - -403, -403, -403, -403, -403, -403, -403, -403, 10, 11, - 0, 12, 0, -403, -403, 13, 0, 0, 421, 422, - 476, 477, -403, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 489, 490, 491, 0, 0, 0, 0, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 208, 103, + 104, 171, 153, 214, 215, 412, 113, 49, 506, 237, + 47, 152, 51, 60, 61, 254, 62, 211, 212, 643, + 435, 589, 714, 213, 436, 331, 413, 414, 415, 303, + 432, 361, 310, 501, 106, 172, 168, 209, 169, 170, + 742, 106, 728, 210, 171, 306, 657, 8, 536, 819, + 545, 206, 216, 645, 152, 646, 106, 47, 106, 51, + 60, 61, 123, 62, 446, 217, 4, 220, 221, 222, + 223, 756, 729, -378, 589, 225, 233, 820, 821, 228, + 426, 427, 229, 184, 819, 231, 784, 91, 525, -144, + 234, 18, 235, -378, 122, 95, 264, 265, 795, 391, + 197, 379, 602, 653, 197, 262, 234, 270, 263, 271, + 428, 582, 820, 821, 541, 429, 8, 818, 448, -145, + 224, 107, 226, 728, 122, 829, 119, 501, 107, 315, + 316, 317, 318, 319, 320, 321, 322, 18, 184, 184, + 234, 99, 234, 234, 114, 107, 106, -324, 323, 324, + 184, 184, 276, 729, 120, -146, 208, -342, 426, 427, + 122, 214, 215, 325, 326, -100, 188, 501, 327, 328, + 122, 106, 122, 456, 202, 211, 212, 426, 427, 204, + 504, 213, 395, 396, 743, 397, 398, 511, 428, 236, + 525, -470, 567, 429, 238, 209, 430, 431, 521, 522, + -543, 210, 399, 400, 401, 820, 821, 428, 523, 206, + 94, 96, 429, 510, 866, 430, 431, 315, 316, 317, + 318, 319, 320, 321, 322, 666, 812, 813, 814, 667, + 474, 475, 476, 107, 239, 665, 323, 324, 240, 589, + 883, 257, 315, 316, 317, 318, 319, 320, 321, 322, + 98, 101, 890, 256, 418, 470, 471, 328, 107, 472, + 473, 323, 324, 388, 389, 390, 266, 259, 260, 234, + 261, 278, 274, 826, 272, 365, 325, 326, 273, 106, + 275, 327, 328, -212, 615, 128, 129, 284, 277, 132, + 133, 134, 135, 280, 281, 282, 283, 208, 285, 12, + 286, 288, 214, 215, 292, 293, -544, 505, 299, 106, + 312, 405, 311, 300, 856, 342, 211, 212, 520, 405, + 666, 346, 213, 349, 667, 350, 351, 358, 589, 362, + 665, 461, 377, 757, 363, 372, 209, 373, 380, 559, + 385, 561, 210, 447, 644, 386, 387, 392, 331, 416, + 206, 393, 650, 394, 409, -44, 463, 477, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 172, 168, 589, + 169, 170, 184, 466, 577, 548, 171, 516, 687, 152, + 557, 558, 560, 478, 571, 746, 152, 573, 49, 575, + 455, 47, 574, 51, 60, 61, 546, 62, 550, 551, + 576, 578, 580, 597, 607, 546, 688, 608, 609, 601, + 604, 590, 591, 502, 613, 605, 418, 566, 606, -300, + 693, 694, 695, 331, 628, 637, 642, 524, 647, 648, + 649, 651, 670, 675, -401, 617, 676, 661, 572, -582, + 677, 725, 678, 679, 680, 682, 683, 684, 172, 168, + 685, 169, 170, 686, 618, 619, 690, 171, 516, 588, + 620, 418, 262, 696, 590, 591, 697, 152, 698, 622, + 699, 106, 700, 152, 701, 702, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 616, 623, + 624, 625, 139, 140, 141, 142, 705, 706, 716, 718, + 707, 734, 708, 715, 868, 869, 717, 719, 722, 723, + 724, 726, 588, 739, 635, 636, 750, 754, 758, 172, + 168, 653, 169, 170, 740, -419, 771, 777, 171, 773, + 779, 778, 782, 786, 788, 888, 791, 808, 152, 789, + -428, 796, 806, 799, 827, 811, 831, 502, 828, 830, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 835, + 837, 857, 854, 855, 184, 861, 859, 870, 885, 862, + 106, 879, 880, 891, 664, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 10, 11, 884, + 12, 139, 140, 141, 142, 892, 893, 426, 427, 896, + 897, 899, 183, 383, 384, 772, 100, 97, 599, 542, + 467, 469, 468, 860, 711, 185, 737, 669, 521, 522, + 785, 691, 689, 460, -47, 564, -47, 428, 523, 590, + 591, 420, 429, 598, 863, 430, 431, 865, 768, 747, + -47, -47, 733, -47, -47, 561, 882, 867, -47, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 555, 626, + 199, 452, 465, 872, -101, -473, 720, 673, 0, 122, + -47, 0, 0, 0, -47, 438, 0, 588, 0, 0, + 47, 0, 51, 60, 61, 0, 62, 0, -47, 0, + 92, 0, 241, 745, 242, 751, 0, 0, 0, 0, + 0, 0, 0, 0, 152, 0, 0, 0, 243, 244, + 0, 245, 246, 0, 0, 0, 247, 769, 590, 591, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, + 5, 0, 0, 6, 7, 8, 9, 0, 248, 0, + 0, 0, 249, 864, 92, 0, 0, 745, 0, 10, + 11, 0, 12, 0, 0, 0, 250, 13, 0, 590, + 591, 47, 0, 51, 60, 61, 588, 62, 0, 0, + 14, 15, 16, 17, 834, 0, 0, 0, 0, 18, + 19, 0, 0, 20, 0, 92, 21, 0, 833, 0, + 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, + 24, 25, 0, 0, 0, 0, 0, 588, 0, 0, + 0, 0, 0, 172, 168, 0, 169, 170, 405, 405, + 0, 0, 171, 877, 26, -213, 0, 0, 480, 0, + -410, 6, 152, 871, 9, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 10, 11, 405, + 12, 0, 0, -410, -410, 13, 0, 0, 426, 427, + 481, 482, -410, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -403, - -403, -403, -403, -403, -403, -403, -403, -403, 0, 0, - 0, 0, 475, -213, -403, 6, -549, 0, 9, -403, - -403, -403, -403, -403, -403, -403, -403, -403, -403, -403, - -403, 10, 11, 0, 12, 0, -403, -403, 13, 0, - 0, 421, 422, 476, 477, -403, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 528, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, + -410, -410, -410, -410, -410, -410, -410, -410, 0, 0, + 0, 0, 480, -213, -410, 6, -86, 0, 9, -410, + -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, + -410, 10, 11, 0, 12, 0, 0, -410, -410, 13, + 0, 0, 426, 427, 481, 482, -410, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -403, -403, -403, -403, -403, -403, -403, -403, - -403, 0, 0, 0, 475, 0, -403, 6, 0, -516, - 9, -403, -403, -403, -403, -403, -403, -403, -403, -403, - -403, -403, -403, 10, 11, 0, 12, 0, -403, -403, - 13, 0, 0, 421, 422, 476, 477, -403, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 0, -410, -410, -410, -410, -410, -410, -410, + -410, -410, 0, 0, 0, 0, 480, -213, -410, 6, + -556, 0, 9, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 10, 11, 0, 12, 0, + 0, -410, -410, 13, 0, 0, 426, 427, 481, 482, + -410, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 0, 0, 0, 480, + 0, -410, 6, 0, -523, 9, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, + 0, 12, 0, 0, -410, -410, 13, 0, 0, 426, + 427, 481, 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -403, -403, -403, -403, -403, -403, - -403, -403, -403, 0, 0, 0, 0, 475, -213, -403, - 6, -68, 0, 9, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 10, 11, 0, 12, - 0, -403, -403, 13, 0, 0, 421, 422, 476, 477, - -403, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 0, 0, 0, 0, - 475, -213, -403, 6, -90, 0, 9, -403, -403, -403, - -403, -403, -403, -403, -403, -403, -403, -403, -403, 10, - 11, 0, 12, 0, -403, -403, 13, 0, 0, 421, - 422, 476, 477, -403, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, - 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 10, - 11, 0, 12, 0, 0, 0, 13, 0, 0, 0, - -403, -403, -403, -403, -403, -403, -403, -403, -403, 14, - 15, 16, 17, 0, -213, 0, 0, -540, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 0, 22, 23, 509, 0, 106, 0, 0, 24, - 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 0, 0, 0, 26, -213, 0, 0, 0, 0, 0, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 0, 0, 6, 7, 8, - 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, - 13, 0, 0, 0, 142, 143, 144, 145, 146, 147, - 148, 149, 107, 14, 15, 16, 17, 0, 182, 0, - 0, 0, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 5, 22, 23, 6, 7, - 8, 9, 0, 24, 25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, - 5, 13, 0, 6, 7, 8, 9, 26, -213, 0, - 0, 0, 0, 0, 14, 15, 16, 17, 0, 10, - 11, 0, 12, 18, 19, 0, 13, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 14, - 15, 16, 17, 0, 24, 25, 719, 0, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 106, 0, 26, 24, - 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 106, 0, 0, 26, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 0, 0, 0, - 0, 139, 140, 141, 0, 239, 0, 240, 0, 0, + -410, -410, -410, -410, -410, -410, -410, -410, -410, 0, + 0, 0, 0, 480, -213, -410, 6, -68, 0, 9, + -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, 10, 11, 0, 12, 0, 0, -410, -410, + 13, 0, 0, 426, 427, 481, 482, -410, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 241, 242, 0, 243, 244, 0, 0, 245, 0, - 0, 0, 0, 0, 142, 143, 144, 145, 146, 147, - 148, 149, 107, 0, 0, 0, 0, 0, 182, 0, - 246, 0, 0, 0, 247, 0, 0, 0, 142, 143, - 144, 145, 146, 147, 148, 149, 107, 475, 248, -403, - 6, 0, 182, 9, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 10, 11, 0, 12, - 0, -403, -403, 13, 0, 0, 421, 422, 476, 477, - -403, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 489, 490, 491, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -403, -403, -403, - -403, -403, -403, -403, -403, -403, 475, 0, -403, 6, - 0, 0, 9, -403, -403, -403, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 10, 11, 0, 12, 0, - -403, -403, 13, 0, 0, 421, 422, 476, 477, -403, - 509, 0, 106, 0, 0, 14, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -410, -410, -410, -410, -410, -410, + -410, -410, -410, 0, 0, 0, 0, 480, -213, -410, + 6, -90, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, + 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, + 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 10, 11, 0, 12, + 0, 0, 0, 0, 13, 0, 0, 0, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 14, 15, 16, + 17, 0, -213, 0, 0, -547, 18, 19, 0, 0, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 24, 25, 727, + 106, 6, 0, 0, 453, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 205, 137, 0, 0, 0, 0, + 12, 26, 0, 141, 142, -53, 515, 0, 106, 0, + 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, + 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, + 0, 0, 0, 0, 0, 0, 454, 5, 0, 0, + 6, 7, 8, 9, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 10, 11, 0, 12, + 0, 184, 0, 0, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, + 17, 0, 0, 0, 0, 0, 18, 19, 0, 0, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 5, + 22, 23, 6, 7, 8, 9, 0, 24, 25, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 0, 12, 0, 0, 5, 0, 13, 6, 7, 8, + 9, 26, -213, 0, 0, 0, 0, 0, 0, 14, + 15, 16, 17, 10, 11, 0, 12, 0, 18, 19, + 0, 13, 20, 0, 0, 21, 0, 0, 0, 0, + 0, 0, 22, 23, 14, 15, 16, 17, 0, 24, + 25, 727, 0, 18, 19, 0, 0, 20, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 106, 0, 26, 24, 25, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 480, 26, -410, + 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, + 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, + 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, + 22, 23, 0, 0, 184, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 480, 0, -410, + 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, + 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, + 482, -410, 515, 0, 106, 0, 0, 14, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 106, 0, 0, + 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, + 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, + 0, 0, 0, 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -403, -403, -403, -403, - -403, -403, -403, -403, -403, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 10, 11, 0, 12, 139, 140, 141, 0, - 142, 143, 144, 145, 146, 147, 148, 149, 107, 106, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 203, 137, 138, 0, 0, 0, 0, - 0, 140, 141, 0, 0, 0, 0, 0, 0, 0, - 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 142, 143, 144, 145, 146, 147, 148, - 149, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 203, 137, 138, 0, - 0, 0, 0, 0, 140, 141, 0, 142, 143, 144, - 145, 146, 147, 148, 149, 107, 106, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 203, 0, 0, 0, 0, 0, 0, 0, 140, 141, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, + 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, + 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, + 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 205, 0, 0, + 0, 0, 0, 0, 0, 0, 141, 142, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 142, 143, 144, 145, 146, 147, 148, 149, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 143, 144, 145, 146, 147, - 148, 149, 107 + 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107 }; static const yytype_int16 yycheck[] = { - 22, 23, 43, 43, 14, 43, 43, 14, 2, 19, - 20, 43, 43, 83, 83, 347, 26, 83, 2, 2, - 2, 43, 83, 2, 83, 2, 252, 83, 83, 486, - 112, 349, 350, 351, 360, 360, 118, 538, 360, 649, - 286, 83, 230, 239, 404, 86, 86, 3, 86, 86, - 3, 370, 15, 16, 86, 49, 1, 3, 418, 3, - 36, 83, 84, 6, 86, 49, 49, 49, 3, 3, - 49, 3, 3, 665, 696, 85, 1, 87, 88, 89, - 90, 538, 753, 28, 29, 95, 665, 19, 96, 99, - 0, 417, 102, 101, 765, 105, 95, 95, 74, 325, - 419, 75, 78, 28, 29, 727, 49, 49, 75, 96, - 53, 53, 783, 301, 101, 89, 115, 115, 94, 790, - 96, 481, 89, 109, 110, 111, 372, 73, 74, 75, - 76, 77, 78, 79, 80, 96, 96, 497, 3, 95, - 101, 101, 95, 89, 3, 89, 92, 93, 8, 95, - 6, 11, 744, 98, 89, 89, 95, 89, 89, 99, - 182, 107, 108, 30, 31, 744, 112, 113, 22, 239, - 239, 101, 100, 239, 102, 96, 536, 96, 239, 405, - 239, 96, 378, 239, 239, 411, 3, 35, 36, 37, - 30, 31, 518, 60, 395, 396, 397, 239, 65, 445, - 701, 68, 69, 322, 323, 324, 8, 9, 73, 74, - 75, 76, 77, 78, 79, 80, 97, 239, 90, 91, - 60, 107, 108, 411, 89, 65, 836, 92, 93, 28, - 29, 16, 17, 391, 392, 96, 3, 563, 563, 393, - 394, 563, 107, 108, 701, 96, 96, 112, 113, 101, - 97, 97, 862, 96, 96, 48, 73, 74, 75, 76, - 77, 78, 79, 80, 874, 97, 96, 30, 31, 97, - 99, 353, 89, 89, 99, 92, 93, 99, 96, 3, - 99, 96, 292, 95, 97, 786, 96, 96, 51, 52, - 96, 96, 96, 3, 97, 96, 113, 60, 61, 97, - 96, 96, 65, 97, 96, 68, 69, 96, 378, 378, - 100, 8, 378, 99, 47, 97, 113, 378, 340, 378, - 97, 97, 378, 378, 406, 347, 827, 97, 101, 786, - 3, 657, 657, 97, 416, 657, 378, 378, 100, 104, - 106, 102, 102, 98, 113, 571, 105, 100, 102, 371, - 58, 98, 103, 541, 102, 437, 378, 439, 114, 96, - 96, 549, 3, 98, 102, 97, 100, 98, 98, 114, - 827, 100, 413, 413, 600, 413, 413, 100, 100, 98, - 98, 413, 413, 103, 378, 379, 704, 102, 31, 399, - 472, 413, 98, 98, 96, 379, 379, 379, 96, 98, - 379, 423, 379, 425, 426, 96, 96, 29, 96, 98, - 432, 30, 31, 98, 602, 96, 486, 486, 96, 645, - 96, 96, 444, 3, 96, 96, 96, 404, 616, 617, - 618, 513, 51, 52, 96, 96, 8, 663, 96, 96, - 417, 60, 61, 453, 96, 96, 65, 96, 514, 68, - 69, 96, 96, 494, 494, 514, 494, 494, 514, 514, - 96, 96, 494, 494, 486, 4, 98, 6, 538, 538, - 98, 98, 494, 514, 98, 66, 558, 102, 500, 98, - 98, 20, 21, 96, 23, 24, 96, 96, 27, 96, - 3, 114, 514, 515, 516, 517, 113, 96, 96, 115, - 96, 35, 113, 98, 97, 35, 838, 839, 114, 38, - 49, 55, 102, 116, 53, 99, 538, 114, 528, 529, - 114, 59, 3, 564, 564, 114, 564, 564, 67, 102, - 113, 113, 564, 100, 62, 114, 102, 869, 102, 39, - 3, 96, 564, 101, 98, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 536, - 23, 24, 25, 26, 113, 101, 114, 114, 3, 4, - 113, 96, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 75, 102, 563, 114, 23, 75, - 25, 26, 114, 306, 306, 49, 744, 17, 16, 420, - 497, 645, 389, 50, 830, 388, 390, 681, 500, 602, - 564, 754, 353, 605, 440, 494, 833, 835, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 739, 378, 705, - 837, 701, 701, 96, 861, 377, 1, 78, 101, 4, - 5, 6, 7, 518, 432, 667, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 20, 21, 739, 23, 842, - 657, -1, 27, 98, 360, 571, 383, -1, -1, -1, - -1, 665, -1, -1, -1, 40, 41, 42, 43, 701, - -1, 665, 665, 665, 49, 50, 665, -1, 53, -1, - -1, 56, 702, -1, -1, 702, -1, 719, 63, 64, - -1, -1, -1, -1, -1, 70, 71, 72, -1, -1, - -1, -1, -1, -1, 3, -1, 786, 786, 740, 8, - 9, 10, -1, -1, 13, 14, 15, 16, -1, 94, - -1, -1, -1, 98, 23, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 754, -1, -1, 754, -1, -1, - 744, -1, 834, -1, -1, -1, -1, 827, 827, -1, - 744, 744, 744, -1, 786, 744, -1, -1, -1, -1, - -1, -1, 794, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 793, -1, -1, 793, -1, -1, -1, - -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, - 89, -1, -1, -1, -1, 827, 95, -1, -1, -1, - -1, 852, 852, -1, 852, 852, 838, 839, -1, -1, - 852, 852, -1, -1, -1, -1, 1, -1, 3, 4, - 852, 841, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 869, 23, -1, - 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, - -1, -1, -1, -1, -1, 40, -1, -1, -1, 44, - 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, 64, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, 82, 83, 84, - 85, 86, 87, 88, 89, -1, -1, -1, -1, 1, - 95, 3, 4, 98, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, 25, 26, 27, -1, -1, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, 44, 45, 46, -1, -1, -1, -1, -1, + 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, + 20, 43, 43, 83, 83, 351, 26, 2, 411, 112, + 2, 43, 2, 2, 2, 118, 2, 83, 83, 544, + 364, 491, 656, 83, 364, 254, 353, 354, 355, 232, + 364, 289, 241, 408, 3, 86, 86, 83, 86, 86, + 704, 3, 672, 83, 86, 3, 3, 6, 423, 1, + 19, 83, 84, 3, 86, 3, 3, 49, 3, 49, + 49, 49, 36, 49, 374, 85, 0, 87, 88, 89, + 90, 735, 672, 96, 544, 95, 76, 29, 30, 99, + 31, 32, 102, 96, 1, 105, 763, 3, 422, 97, + 90, 50, 76, 116, 102, 54, 8, 9, 775, 328, + 74, 304, 505, 116, 78, 8, 90, 101, 11, 103, + 61, 486, 29, 30, 424, 66, 6, 794, 376, 97, + 94, 90, 96, 753, 102, 802, 97, 502, 90, 74, + 75, 76, 77, 78, 79, 80, 81, 50, 96, 96, + 90, 54, 90, 90, 100, 90, 3, 99, 93, 94, + 96, 96, 184, 753, 97, 97, 241, 97, 31, 32, + 102, 241, 241, 108, 109, 97, 22, 542, 113, 114, + 102, 3, 102, 382, 98, 241, 241, 31, 32, 97, + 409, 241, 91, 92, 709, 108, 109, 416, 61, 3, + 524, 97, 450, 66, 98, 241, 69, 70, 52, 53, + 97, 241, 110, 111, 112, 29, 30, 61, 62, 241, + 15, 16, 66, 416, 848, 69, 70, 74, 75, 76, + 77, 78, 79, 80, 81, 569, 36, 37, 38, 569, + 399, 400, 401, 90, 98, 569, 93, 94, 97, 709, + 874, 49, 74, 75, 76, 77, 78, 79, 80, 81, + 16, 17, 886, 97, 357, 395, 396, 114, 90, 397, + 398, 93, 94, 325, 326, 327, 100, 98, 97, 90, + 98, 98, 97, 798, 100, 295, 108, 109, 100, 3, + 97, 113, 114, 96, 8, 9, 10, 98, 97, 13, + 14, 15, 16, 97, 97, 97, 97, 382, 97, 23, + 98, 97, 382, 382, 97, 97, 97, 410, 98, 3, + 3, 343, 100, 102, 839, 101, 382, 382, 421, 351, + 664, 8, 382, 100, 664, 100, 48, 114, 798, 98, + 664, 382, 102, 736, 98, 98, 382, 98, 98, 442, + 3, 444, 382, 375, 547, 101, 103, 105, 577, 114, + 382, 106, 555, 107, 103, 99, 101, 103, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 418, 418, 839, + 418, 418, 96, 115, 477, 59, 418, 418, 607, 411, + 99, 104, 103, 403, 97, 712, 418, 97, 383, 3, + 382, 383, 99, 383, 383, 383, 428, 383, 430, 431, + 98, 103, 99, 99, 104, 437, 609, 115, 103, 101, + 101, 491, 491, 408, 99, 101, 519, 449, 101, 99, + 623, 624, 625, 652, 99, 99, 32, 422, 97, 97, + 97, 97, 30, 97, 99, 520, 97, 99, 458, 99, + 97, 670, 97, 97, 97, 97, 97, 3, 499, 499, + 97, 499, 499, 103, 520, 520, 97, 499, 499, 491, + 520, 564, 8, 97, 544, 544, 97, 499, 97, 520, + 97, 3, 97, 505, 97, 97, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 520, 521, + 522, 523, 24, 25, 26, 27, 97, 97, 103, 67, + 99, 3, 99, 99, 850, 851, 99, 99, 97, 97, + 97, 97, 544, 115, 534, 535, 97, 97, 97, 570, + 570, 116, 570, 570, 114, 36, 99, 98, 570, 114, + 36, 115, 39, 56, 103, 881, 100, 3, 570, 117, + 115, 101, 60, 115, 103, 115, 63, 542, 114, 114, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 101, + 115, 40, 103, 103, 96, 102, 97, 114, 102, 99, + 3, 115, 115, 97, 569, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 114, + 23, 24, 25, 26, 27, 115, 76, 31, 32, 115, + 103, 76, 49, 309, 309, 753, 17, 16, 502, 425, + 392, 394, 393, 842, 652, 50, 689, 570, 52, 53, + 764, 612, 609, 382, 4, 445, 6, 61, 62, 709, + 709, 357, 66, 499, 845, 69, 70, 847, 748, 713, + 20, 21, 674, 23, 24, 748, 873, 849, 28, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 437, 524, + 78, 381, 387, 854, 97, 99, 664, 577, -1, 102, + 50, -1, -1, -1, 54, 364, -1, 709, -1, -1, + 672, -1, 672, 672, 672, -1, 672, -1, 68, -1, + 710, -1, 4, 710, 6, 727, -1, -1, -1, -1, + -1, -1, -1, -1, 736, -1, -1, -1, 20, 21, + -1, 23, 24, -1, -1, -1, 28, 749, 798, 798, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, + 1, -1, -1, 4, 5, 6, 7, -1, 50, -1, + -1, -1, 54, 846, 764, -1, -1, 764, -1, 20, + 21, -1, 23, -1, -1, -1, 68, 28, -1, 839, + 839, 753, -1, 753, 753, 753, 798, 753, -1, -1, + 41, 42, 43, 44, 806, -1, -1, -1, -1, 50, + 51, -1, -1, 54, -1, 805, 57, -1, 805, -1, + -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, + 71, 72, -1, -1, -1, -1, -1, 839, -1, -1, + -1, -1, -1, 864, 864, -1, 864, 864, 850, 851, + -1, -1, 864, 864, 95, 96, -1, -1, 1, -1, + 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, + 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, + 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, + -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, - 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, - -1, -1, 1, 95, 3, 4, 98, -1, 7, 8, + -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, 25, 26, 27, -1, - -1, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, -1, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 54, -1, -1, -1, -1, - -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, - 89, -1, -1, -1, 1, -1, 3, 4, -1, 98, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, -1, 25, 26, - 27, -1, -1, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, + 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, + 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, + -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, -1, -1, -1, -1, 1, 95, 3, - 4, 98, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, -1, -1, -1, -1, - 1, 95, 3, 4, 98, -1, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, -1, 25, 26, 27, -1, -1, 30, - 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, - 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, - -1, -1, 63, 64, -1, -1, -1, -1, -1, 20, - 21, -1, 23, -1, -1, -1, 27, -1, -1, -1, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 40, - 41, 42, 43, -1, 95, -1, -1, 98, 49, 50, - -1, -1, 53, -1, -1, 56, -1, -1, -1, -1, - -1, -1, 63, 64, 1, -1, 3, -1, -1, 70, - 71, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - -1, -1, -1, 94, 95, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, -1, 4, 5, 6, - 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, - 27, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 40, 41, 42, 43, -1, 95, -1, - -1, -1, 49, 50, -1, -1, 53, -1, -1, 56, - -1, -1, -1, -1, -1, 1, 63, 64, 4, 5, - 6, 7, -1, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, - 1, 27, -1, 4, 5, 6, 7, 94, 95, -1, - -1, -1, -1, -1, 40, 41, 42, 43, -1, 20, - 21, -1, 23, 49, 50, -1, 27, 53, -1, -1, - 56, -1, -1, -1, -1, -1, -1, 63, 64, 40, - 41, 42, 43, -1, 70, 71, 72, -1, 49, 50, - -1, -1, 53, -1, -1, 56, -1, -1, -1, -1, - -1, -1, 63, 64, -1, -1, 3, -1, 94, 70, - 71, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 3, -1, -1, 94, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - -1, 24, 25, 26, -1, 4, -1, 6, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 20, 21, -1, 23, 24, -1, -1, 27, -1, - -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, -1, -1, -1, -1, -1, 95, -1, - 49, -1, -1, -1, 53, -1, -1, -1, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 1, 67, 3, - 4, -1, 95, 7, 8, 9, 10, 11, 12, 13, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, + 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, - 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, - 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 1, -1, 3, 4, - -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, - 1, -1, 3, -1, -1, 40, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, -1, -1, 63, 64, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, 20, 21, -1, 23, + -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 41, 42, 43, + 44, -1, 96, -1, -1, 99, 50, 51, -1, -1, + 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, 71, 72, 73, + 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, -1, -1, -1, -1, + 23, 95, -1, 26, 27, 99, 1, -1, 3, -1, + -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, + 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 3, -1, -1, -1, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, 24, 25, 26, -1, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 3, - -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, - -1, 25, 26, -1, -1, -1, -1, -1, -1, -1, - 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 3, -1, -1, -1, -1, 8, 9, 10, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, -1, -1, -1, -1, 99, 1, -1, -1, + 4, 5, 6, 7, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 20, 21, -1, 23, + -1, 96, -1, -1, 28, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, + 44, -1, -1, -1, -1, -1, 50, 51, -1, -1, + 54, -1, -1, 57, -1, -1, -1, -1, -1, 1, + 64, 65, 4, 5, 6, 7, -1, 71, 72, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, -1, -1, 1, -1, 28, 4, 5, 6, + 7, 95, 96, -1, -1, -1, -1, -1, -1, 41, + 42, 43, 44, 20, 21, -1, 23, -1, 50, 51, + -1, 28, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, 64, 65, 41, 42, 43, 44, -1, 71, + 72, 73, -1, 50, 51, -1, -1, 54, -1, -1, + 57, -1, -1, -1, -1, -1, -1, 64, 65, -1, + -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, 1, 95, 3, + 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, + 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, + 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, -1, -1, 25, 26, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 3, -1, -1, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, -1, -1, -1, -1, -1, -1, 25, 26, + -1, -1, -1, 24, 25, 26, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, + -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, + -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, + -1, -1, -1, -1, -1, -1, 26, 27, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 81, 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89 + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 118, 119, 120, 0, 1, 4, 5, 6, 7, - 20, 21, 23, 27, 40, 41, 42, 43, 49, 50, - 53, 56, 63, 64, 70, 71, 94, 121, 122, 138, - 140, 144, 145, 157, 160, 161, 165, 167, 170, 171, - 172, 176, 180, 182, 186, 187, 212, 213, 231, 239, - 240, 248, 257, 277, 279, 290, 292, 314, 315, 316, - 358, 409, 410, 411, 412, 413, 417, 439, 441, 464, - 465, 466, 467, 468, 472, 473, 474, 477, 481, 489, - 502, 503, 137, 214, 139, 166, 249, 278, 291, 317, - 359, 3, 211, 265, 165, 53, 165, 180, 182, 53, - 172, 182, 183, 211, 211, 442, 3, 89, 207, 210, - 207, 490, 504, 211, 99, 141, 130, 146, 158, 96, - 96, 129, 101, 168, 162, 131, 173, 8, 9, 10, + 0, 119, 120, 121, 0, 1, 4, 5, 6, 7, + 20, 21, 23, 28, 41, 42, 43, 44, 50, 51, + 54, 57, 64, 65, 71, 72, 95, 122, 123, 139, + 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, + 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, + 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, + 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, + 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, + 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, + 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, + 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, + 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, - 25, 26, 81, 82, 83, 84, 85, 86, 87, 88, - 168, 207, 252, 253, 254, 255, 256, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 279, 290, - 292, 316, 325, 328, 331, 332, 335, 336, 339, 127, - 123, 121, 95, 241, 124, 280, 22, 128, 125, 126, - 132, 414, 133, 440, 134, 168, 475, 475, 135, 136, - 97, 506, 96, 17, 207, 218, 267, 270, 271, 272, - 273, 274, 332, 336, 207, 211, 250, 252, 211, 211, - 211, 211, 168, 211, 168, 177, 211, 211, 418, 211, - 208, 75, 89, 75, 3, 240, 97, 97, 96, 4, - 6, 20, 21, 23, 24, 27, 49, 53, 67, 482, - 483, 485, 240, 499, 96, 48, 184, 97, 96, 97, - 8, 11, 8, 9, 99, 329, 181, 100, 102, 99, - 99, 96, 96, 207, 96, 97, 293, 96, 96, 96, - 96, 97, 96, 97, 451, 96, 476, 469, 478, 96, - 96, 507, 215, 251, 318, 360, 97, 101, 420, 443, - 210, 209, 491, 3, 241, 232, 142, 218, 99, 3, - 147, 484, 73, 74, 75, 76, 77, 78, 79, 80, - 92, 93, 107, 108, 112, 113, 207, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 501, 100, - 169, 163, 174, 8, 220, 230, 99, 47, 185, 326, - 333, 337, 242, 281, 113, 415, 452, 185, 97, 97, - 509, 211, 211, 258, 261, 265, 266, 340, 97, 97, - 178, 421, 419, 101, 448, 210, 97, 505, 233, 119, - 120, 3, 100, 102, 228, 228, 228, 220, 104, 105, - 106, 90, 91, 107, 108, 109, 110, 111, 500, 159, - 204, 207, 193, 194, 188, 102, 330, 204, 230, 230, - 230, 113, 243, 240, 283, 285, 294, 422, 454, 470, - 479, 30, 31, 60, 65, 68, 69, 347, 348, 353, - 431, 433, 434, 498, 508, 510, 216, 341, 259, 319, - 361, 193, 207, 185, 449, 444, 492, 420, 7, 98, - 213, 218, 234, 236, 237, 275, 316, 143, 100, 148, - 485, 114, 222, 223, 224, 225, 225, 226, 226, 227, - 227, 227, 102, 211, 205, 1, 32, 33, 164, 195, - 213, 239, 248, 347, 358, 363, 368, 409, 410, 44, - 45, 46, 175, 189, 191, 192, 195, 239, 370, 220, - 240, 327, 334, 338, 210, 220, 244, 245, 247, 1, - 252, 286, 282, 284, 240, 51, 52, 61, 239, 347, - 416, 423, 431, 433, 436, 437, 438, 498, 44, 54, - 195, 453, 455, 458, 461, 193, 188, 349, 354, 19, - 207, 432, 58, 435, 207, 207, 513, 511, 512, 432, - 514, 98, 103, 240, 102, 240, 321, 324, 284, 179, - 207, 185, 494, 495, 235, 96, 211, 96, 98, 3, - 97, 240, 102, 203, 98, 199, 195, 196, 201, 200, - 202, 34, 207, 254, 332, 336, 369, 392, 197, 198, - 371, 98, 286, 189, 190, 100, 253, 100, 100, 100, - 103, 114, 102, 246, 289, 287, 98, 285, 8, 207, - 267, 272, 273, 274, 299, 316, 207, 207, 207, 423, - 429, 98, 424, 425, 426, 427, 428, 430, 211, 211, - 98, 456, 457, 471, 480, 31, 392, 210, 3, 3, - 96, 96, 96, 210, 96, 217, 115, 342, 344, 260, - 3, 320, 322, 362, 98, 445, 493, 239, 347, 431, - 433, 496, 250, 29, 238, 149, 501, 206, 96, 96, - 96, 96, 96, 96, 364, 96, 96, 3, 96, 220, - 210, 247, 96, 258, 295, 210, 210, 210, 96, 96, - 96, 96, 96, 96, 96, 459, 462, 96, 96, 98, - 98, 350, 355, 219, 345, 343, 261, 98, 102, 98, - 66, 98, 496, 497, 96, 96, 96, 220, 96, 72, - 122, 138, 151, 153, 154, 207, 3, 372, 246, 288, - 114, 113, 374, 374, 392, 262, 265, 230, 344, 323, - 446, 96, 207, 150, 152, 96, 365, 374, 96, 296, - 375, 376, 460, 463, 351, 356, 263, 346, 324, 207, - 155, 98, 153, 113, 383, 373, 97, 114, 35, 377, - 380, 38, 394, 394, 262, 55, 397, 102, 116, 447, - 99, 384, 385, 366, 394, 297, 381, 114, 378, 395, - 352, 398, 357, 264, 59, 450, 3, 486, 488, 114, - 35, 36, 37, 386, 389, 393, 394, 1, 28, 29, - 300, 302, 306, 308, 392, 102, 113, 394, 113, 62, - 400, 265, 207, 100, 487, 114, 387, 390, 367, 305, - 310, 309, 298, 301, 303, 307, 382, 379, 396, 399, - 401, 156, 102, 102, 392, 39, 403, 96, 220, 101, - 98, 302, 240, 308, 261, 380, 204, 204, 113, 211, - 488, 388, 391, 404, 311, 252, 312, 114, 114, 402, - 389, 261, 113, 101, 313, 304, 204, 405, 261, 96, - 114, 75, 406, 407, 114, 102, 408, 75 + 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, + 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, + 291, 293, 317, 326, 332, 335, 338, 339, 342, 343, + 346, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 421, 134, 447, 135, 169, 482, 482, + 136, 137, 98, 513, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 339, 343, 208, 212, 251, 253, + 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, + 425, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, + 68, 489, 490, 492, 241, 506, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 336, 327, 182, + 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, + 97, 97, 97, 97, 98, 97, 98, 458, 97, 483, + 476, 485, 97, 97, 514, 216, 252, 319, 367, 98, + 102, 427, 450, 211, 210, 498, 3, 242, 233, 143, + 219, 100, 3, 148, 491, 74, 75, 76, 77, 78, + 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 508, 101, 170, 164, 175, 8, 221, 231, 100, + 100, 48, 186, 333, 340, 344, 243, 282, 114, 422, + 459, 186, 98, 98, 516, 212, 212, 259, 262, 266, + 267, 347, 98, 98, 179, 428, 426, 102, 455, 211, + 98, 512, 234, 120, 121, 3, 101, 103, 229, 229, + 229, 221, 105, 106, 107, 91, 92, 108, 109, 110, + 111, 112, 507, 160, 205, 208, 194, 195, 189, 103, + 337, 328, 205, 231, 231, 231, 114, 244, 241, 284, + 286, 295, 429, 461, 477, 486, 31, 32, 61, 66, + 69, 70, 354, 355, 360, 438, 440, 441, 505, 515, + 517, 217, 348, 260, 320, 368, 194, 208, 186, 456, + 451, 499, 427, 7, 99, 214, 219, 235, 237, 238, + 276, 317, 144, 101, 149, 492, 115, 223, 224, 225, + 226, 226, 227, 227, 228, 228, 228, 103, 212, 206, + 1, 33, 34, 165, 196, 214, 240, 249, 354, 365, + 370, 375, 416, 417, 45, 46, 47, 176, 190, 192, + 193, 196, 240, 377, 221, 241, 254, 334, 341, 345, + 211, 221, 245, 246, 248, 1, 253, 287, 283, 285, + 241, 52, 53, 62, 240, 354, 423, 430, 438, 440, + 443, 444, 445, 505, 45, 55, 196, 460, 462, 465, + 468, 194, 189, 356, 361, 19, 208, 439, 59, 442, + 208, 208, 520, 518, 519, 439, 521, 99, 104, 241, + 103, 241, 322, 325, 285, 180, 208, 186, 501, 502, + 236, 97, 212, 97, 99, 3, 98, 241, 103, 204, + 99, 200, 196, 197, 202, 201, 203, 35, 208, 255, + 339, 343, 376, 399, 198, 199, 378, 99, 287, 190, + 191, 101, 254, 329, 101, 101, 101, 104, 115, 103, + 247, 290, 288, 99, 286, 8, 208, 268, 273, 274, + 275, 300, 317, 208, 208, 208, 430, 436, 99, 431, + 432, 433, 434, 435, 437, 212, 212, 99, 463, 464, + 478, 487, 32, 399, 211, 3, 3, 97, 97, 97, + 211, 97, 218, 116, 349, 351, 261, 3, 321, 323, + 369, 99, 452, 500, 240, 354, 438, 440, 503, 251, + 30, 239, 150, 508, 207, 97, 97, 97, 97, 97, + 97, 371, 97, 97, 3, 97, 103, 221, 211, 248, + 97, 259, 296, 211, 211, 211, 97, 97, 97, 97, + 97, 97, 97, 466, 469, 97, 97, 99, 99, 357, + 362, 220, 352, 350, 262, 99, 103, 99, 67, 99, + 503, 504, 97, 97, 97, 221, 97, 73, 123, 139, + 152, 154, 155, 208, 3, 379, 330, 247, 289, 115, + 114, 381, 381, 399, 263, 266, 231, 351, 324, 453, + 97, 208, 151, 153, 97, 372, 381, 254, 97, 297, + 382, 383, 467, 470, 358, 363, 264, 353, 325, 208, + 156, 99, 154, 114, 390, 380, 331, 98, 115, 36, + 384, 387, 39, 401, 401, 263, 56, 404, 103, 117, + 454, 100, 391, 392, 373, 401, 101, 298, 388, 115, + 385, 402, 359, 405, 364, 265, 60, 457, 3, 493, + 495, 115, 36, 37, 38, 393, 396, 400, 401, 1, + 29, 30, 301, 303, 307, 309, 399, 103, 114, 401, + 114, 63, 407, 266, 208, 101, 494, 115, 394, 397, + 374, 306, 311, 310, 299, 302, 304, 308, 389, 386, + 403, 406, 408, 157, 103, 103, 399, 40, 410, 97, + 221, 102, 99, 303, 241, 309, 262, 387, 205, 205, + 114, 212, 495, 395, 398, 411, 312, 253, 313, 115, + 115, 409, 396, 262, 114, 102, 314, 305, 205, 412, + 262, 97, 115, 76, 413, 414, 115, 103, 415, 76 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_int16 yyr1[] = { - 0, 117, 118, 119, 119, 120, 120, 121, 121, 121, - 123, 122, 124, 122, 125, 122, 126, 122, 127, 122, - 128, 122, 129, 122, 130, 122, 131, 122, 132, 122, - 133, 122, 134, 122, 135, 122, 136, 122, 137, 122, - 139, 138, 141, 142, 143, 140, 144, 146, 147, 148, - 149, 150, 145, 151, 152, 152, 153, 153, 155, 156, - 154, 158, 159, 157, 160, 160, 162, 163, 164, 161, - 166, 165, 167, 167, 167, 169, 168, 168, 170, 170, - 170, 170, 171, 171, 173, 174, 175, 172, 177, 178, - 179, 176, 181, 180, 183, 182, 184, 184, 185, 185, - 186, 186, 187, 188, 188, 188, 189, 189, 190, 189, - 191, 191, 192, 193, 193, 194, 194, 196, 195, 197, - 195, 198, 195, 199, 195, 200, 195, 201, 195, 202, - 195, 203, 195, 204, 206, 205, 205, 207, 208, 207, - 209, 207, 210, 211, 212, 212, 212, 214, 215, 216, - 217, 213, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 219, 220, 221, 221, 222, 222, 223, 223, 224, - 224, 224, 225, 225, 225, 226, 226, 226, 226, 227, - 227, 227, 227, 228, 228, 228, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 230, 232, 231, 233, - 233, 234, 234, 234, 235, 234, 236, 236, 237, 238, - 238, 239, 240, 240, 242, 241, 243, 243, 244, 244, - 245, 246, 246, 247, 249, 248, 248, 248, 248, 248, - 248, 251, 250, 252, 252, 253, 253, 253, 254, 254, - 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, - 256, 256, 256, 257, 257, 258, 260, 259, 259, 261, - 261, 262, 264, 263, 263, 265, 266, 267, 267, 268, - 268, 268, 268, 268, 268, 268, 269, 269, 269, 269, - 269, 269, 269, 270, 270, 270, 271, 272, 272, 273, - 274, 275, 276, 278, 277, 280, 281, 282, 279, 283, - 284, 284, 285, 287, 288, 286, 289, 286, 291, 290, - 293, 294, 295, 296, 297, 298, 292, 299, 299, 299, - 299, 299, 299, 300, 301, 301, 303, 304, 302, 305, - 302, 306, 307, 307, 309, 308, 310, 311, 308, 313, - 312, 314, 315, 317, 318, 319, 320, 316, 321, 323, - 322, 322, 324, 326, 327, 325, 325, 329, 330, 328, - 331, 333, 334, 332, 332, 335, 337, 338, 336, 336, - 339, 341, 340, 342, 343, 343, 345, 346, 344, 347, - 347, 349, 350, 351, 352, 348, 354, 355, 356, 357, - 353, 359, 360, 361, 362, 358, 364, 365, 366, 367, - 363, 368, 368, 368, 369, 369, 371, 372, 373, 370, - 375, 374, 376, 374, 377, 379, 378, 378, 381, 382, - 380, 384, 383, 385, 383, 386, 388, 387, 387, 390, - 391, 389, 392, 392, 392, 392, 393, 393, 393, 395, - 396, 394, 394, 398, 399, 397, 397, 401, 402, 400, - 400, 404, 405, 403, 403, 406, 408, 407, 407, 409, - 410, 411, 411, 412, 414, 415, 416, 413, 418, 419, - 417, 421, 420, 420, 422, 422, 422, 424, 423, 425, - 423, 426, 423, 427, 423, 428, 423, 429, 423, 430, - 423, 431, 432, 432, 433, 434, 435, 435, 436, 437, - 438, 440, 439, 442, 443, 444, 445, 446, 447, 441, - 449, 448, 448, 450, 450, 452, 453, 451, 454, 454, - 455, 456, 455, 457, 455, 459, 460, 458, 462, 463, - 461, 464, 464, 464, 465, 465, 466, 467, 469, 470, - 471, 468, 472, 473, 474, 476, 475, 478, 479, 480, - 477, 481, 481, 482, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 483, 484, 484, 485, 485, 486, 487, - 487, 488, 490, 491, 492, 493, 489, 494, 494, 495, - 495, 496, 496, 497, 496, 498, 498, 499, 500, 500, - 501, 502, 504, 505, 503, 507, 508, 506, 509, 509, - 511, 510, 512, 510, 513, 510, 514, 510 + 0, 118, 119, 120, 120, 121, 121, 122, 122, 122, + 124, 123, 125, 123, 126, 123, 127, 123, 128, 123, + 129, 123, 130, 123, 131, 123, 132, 123, 133, 123, + 134, 123, 135, 123, 136, 123, 137, 123, 138, 123, + 140, 139, 142, 143, 144, 141, 145, 147, 148, 149, + 150, 151, 146, 152, 153, 153, 154, 154, 156, 157, + 155, 159, 160, 158, 161, 161, 163, 164, 165, 162, + 167, 166, 168, 168, 168, 170, 169, 169, 171, 171, + 171, 171, 172, 172, 174, 175, 176, 173, 178, 179, + 180, 177, 182, 181, 184, 183, 185, 185, 186, 186, + 187, 187, 188, 189, 189, 189, 190, 190, 191, 190, + 192, 192, 193, 194, 194, 195, 195, 197, 196, 198, + 196, 199, 196, 200, 196, 201, 196, 202, 196, 203, + 196, 204, 196, 205, 207, 206, 206, 208, 209, 208, + 210, 208, 211, 212, 213, 213, 213, 215, 216, 217, + 218, 214, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 220, 221, 222, 222, 223, 223, 224, 224, 225, + 225, 225, 226, 226, 226, 227, 227, 227, 227, 228, + 228, 228, 228, 229, 229, 229, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 231, 233, 232, 234, + 234, 235, 235, 235, 236, 235, 237, 237, 238, 239, + 239, 240, 241, 241, 243, 242, 244, 244, 245, 245, + 246, 247, 247, 248, 250, 249, 249, 249, 249, 249, + 249, 252, 251, 253, 253, 254, 254, 254, 255, 255, + 255, 255, 255, 255, 255, 255, 256, 256, 256, 256, + 256, 257, 257, 257, 258, 258, 259, 261, 260, 260, + 262, 262, 263, 265, 264, 264, 266, 267, 268, 268, + 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, + 270, 270, 270, 270, 271, 271, 271, 272, 273, 273, + 274, 275, 276, 277, 279, 278, 281, 282, 283, 280, + 284, 285, 285, 286, 288, 289, 287, 290, 287, 292, + 291, 294, 295, 296, 297, 298, 299, 293, 300, 300, + 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, + 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, + 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, + 324, 323, 323, 325, 327, 328, 329, 330, 331, 326, + 333, 334, 332, 332, 336, 337, 335, 338, 340, 341, + 339, 339, 342, 344, 345, 343, 343, 346, 348, 347, + 349, 350, 350, 352, 353, 351, 354, 354, 356, 357, + 358, 359, 355, 361, 362, 363, 364, 360, 366, 367, + 368, 369, 365, 371, 372, 373, 374, 370, 375, 375, + 375, 376, 376, 378, 379, 380, 377, 382, 381, 383, + 381, 384, 386, 385, 385, 388, 389, 387, 391, 390, + 392, 390, 393, 395, 394, 394, 397, 398, 396, 399, + 399, 399, 399, 400, 400, 400, 402, 403, 401, 401, + 405, 406, 404, 404, 408, 409, 407, 407, 411, 412, + 410, 410, 413, 415, 414, 414, 416, 417, 418, 418, + 419, 421, 422, 423, 420, 425, 426, 424, 428, 427, + 427, 429, 429, 429, 431, 430, 432, 430, 433, 430, + 434, 430, 435, 430, 436, 430, 437, 430, 438, 439, + 439, 440, 441, 442, 442, 443, 444, 445, 447, 446, + 449, 450, 451, 452, 453, 454, 448, 456, 455, 455, + 457, 457, 459, 460, 458, 461, 461, 462, 463, 462, + 464, 462, 466, 467, 465, 469, 470, 468, 471, 471, + 471, 472, 472, 473, 474, 476, 477, 478, 475, 479, + 480, 481, 483, 482, 485, 486, 487, 484, 488, 488, + 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, + 490, 491, 491, 492, 492, 493, 494, 494, 495, 497, + 498, 499, 500, 496, 501, 501, 502, 502, 503, 503, + 504, 503, 505, 505, 506, 507, 507, 508, 509, 511, + 512, 510, 514, 515, 513, 516, 516, 518, 517, 519, + 517, 520, 517, 521, 517 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2219,42 +2246,43 @@ static const yytype_int8 yyr2[] = 2, 3, 0, 3, 0, 3, 1, 1, 1, 2, 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 0, 4, 0, 1, - 1, 2, 0, 4, 0, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 2, 3, 2, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 0, 3, 0, 0, 0, 7, 2, - 2, 0, 2, 0, 0, 5, 0, 3, 0, 3, - 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, - 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, - 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, - 3, 1, 1, 0, 0, 0, 0, 9, 2, 0, - 4, 0, 2, 0, 0, 6, 2, 0, 0, 6, - 6, 0, 0, 6, 1, 1, 0, 0, 6, 1, - 1, 0, 4, 2, 2, 0, 0, 0, 5, 1, - 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, - 10, 1, 1, 0, 1, 1, 0, 0, 0, 7, - 0, 3, 0, 4, 2, 0, 4, 0, 0, 0, - 5, 0, 3, 0, 4, 2, 0, 4, 0, 0, - 0, 5, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 6, 0, 0, 0, 6, 0, 0, 0, 6, - 0, 0, 0, 6, 0, 2, 0, 4, 0, 3, - 3, 1, 1, 2, 0, 0, 0, 7, 0, 0, - 6, 0, 3, 0, 3, 2, 0, 0, 3, 0, - 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, - 3, 3, 1, 1, 3, 2, 1, 0, 3, 3, - 3, 0, 3, 0, 0, 0, 0, 0, 0, 13, - 0, 3, 0, 2, 0, 0, 0, 5, 2, 0, - 1, 0, 3, 0, 3, 0, 0, 6, 0, 0, - 6, 1, 1, 1, 1, 1, 2, 3, 0, 0, - 0, 8, 3, 3, 2, 0, 3, 0, 0, 0, - 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 3, 0, 2, 5, 2, 3, - 0, 1, 0, 0, 0, 0, 9, 3, 2, 1, - 0, 2, 2, 0, 3, 3, 3, 3, 4, 0, - 1, 2, 0, 0, 6, 0, 0, 5, 2, 0, - 0, 3, 0, 3, 0, 3, 0, 3 + 1, 1, 1, 1, 1, 1, 2, 0, 4, 0, + 1, 1, 2, 0, 4, 0, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 2, 3, 2, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 0, 3, 0, 0, 0, 7, + 2, 2, 0, 2, 0, 0, 5, 0, 3, 0, + 3, 0, 0, 0, 0, 0, 0, 15, 1, 1, + 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, + 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, + 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, + 0, 4, 0, 2, 0, 0, 0, 0, 0, 11, + 0, 0, 6, 2, 0, 0, 6, 6, 0, 0, + 6, 1, 1, 0, 0, 6, 1, 1, 0, 4, + 2, 2, 0, 0, 0, 5, 1, 1, 0, 0, + 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, + 0, 0, 9, 0, 0, 0, 0, 10, 1, 1, + 0, 1, 1, 0, 0, 0, 7, 0, 3, 0, + 4, 2, 0, 4, 0, 0, 0, 5, 0, 3, + 0, 4, 2, 0, 4, 0, 0, 0, 5, 1, + 1, 1, 1, 1, 1, 1, 0, 0, 6, 0, + 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, + 6, 0, 2, 0, 4, 0, 3, 3, 1, 1, + 2, 0, 0, 0, 7, 0, 0, 6, 0, 3, + 0, 3, 2, 0, 0, 3, 0, 3, 0, 3, + 0, 3, 0, 3, 0, 3, 0, 3, 3, 1, + 1, 3, 2, 1, 0, 3, 3, 3, 0, 3, + 0, 0, 0, 0, 0, 0, 13, 0, 3, 0, + 2, 0, 0, 0, 5, 2, 0, 1, 0, 3, + 0, 3, 0, 0, 6, 0, 0, 6, 1, 1, + 1, 1, 1, 2, 3, 0, 0, 0, 8, 3, + 3, 2, 0, 3, 0, 0, 0, 8, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 3, 0, 2, 5, 2, 3, 0, 1, 0, + 0, 0, 0, 9, 3, 2, 1, 0, 2, 2, + 0, 3, 3, 3, 3, 4, 0, 1, 2, 0, + 0, 6, 0, 0, 5, 2, 0, 0, 3, 0, + 3, 0, 3, 0, 3 }; @@ -2722,7 +2750,7 @@ yyparse (void) switch (yyn) { case 5: /* at_least_one_definition: definitions at_least_one_annotation definition */ -#line 427 "fe/idl.ypp" +#line 429 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -2737,269 +2765,269 @@ yyparse (void) } delete annotations; } -#line 2741 "fe/idl.tab.cpp" +#line 2769 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ -#line 452 "fe/idl.ypp" +#line 454 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2749 "fe/idl.tab.cpp" +#line 2777 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ -#line 456 "fe/idl.ypp" +#line 458 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2757 "fe/idl.tab.cpp" +#line 2785 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ -#line 460 "fe/idl.ypp" +#line 462 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2765 "fe/idl.tab.cpp" +#line 2793 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ -#line 464 "fe/idl.ypp" +#line 466 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2773 "fe/idl.tab.cpp" +#line 2801 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ -#line 468 "fe/idl.ypp" +#line 470 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2781 "fe/idl.tab.cpp" +#line 2809 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ -#line 472 "fe/idl.ypp" +#line 474 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2789 "fe/idl.tab.cpp" +#line 2817 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ -#line 476 "fe/idl.ypp" +#line 478 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2797 "fe/idl.tab.cpp" +#line 2825 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ -#line 480 "fe/idl.ypp" +#line 482 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2805 "fe/idl.tab.cpp" +#line 2833 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ -#line 484 "fe/idl.ypp" +#line 486 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2813 "fe/idl.tab.cpp" +#line 2841 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ -#line 488 "fe/idl.ypp" +#line 490 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2821 "fe/idl.tab.cpp" +#line 2849 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ -#line 492 "fe/idl.ypp" +#line 494 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2829 "fe/idl.tab.cpp" +#line 2857 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ -#line 496 "fe/idl.ypp" +#line 498 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2837 "fe/idl.tab.cpp" +#line 2865 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ -#line 500 "fe/idl.ypp" +#line 502 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2845 "fe/idl.tab.cpp" +#line 2873 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ -#line 504 "fe/idl.ypp" +#line 506 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2853 "fe/idl.tab.cpp" +#line 2881 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ -#line 508 "fe/idl.ypp" +#line 510 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2861 "fe/idl.tab.cpp" +#line 2889 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ -#line 512 "fe/idl.ypp" +#line 514 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2869 "fe/idl.tab.cpp" +#line 2897 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ -#line 516 "fe/idl.ypp" +#line 518 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2877 "fe/idl.tab.cpp" +#line 2905 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ -#line 520 "fe/idl.ypp" +#line 522 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2885 "fe/idl.tab.cpp" +#line 2913 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ -#line 524 "fe/idl.ypp" +#line 526 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2893 "fe/idl.tab.cpp" +#line 2921 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ -#line 528 "fe/idl.ypp" +#line 530 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2901 "fe/idl.tab.cpp" +#line 2929 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ -#line 532 "fe/idl.ypp" +#line 534 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2909 "fe/idl.tab.cpp" +#line 2937 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ -#line 536 "fe/idl.ypp" +#line 538 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2917 "fe/idl.tab.cpp" +#line 2945 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ -#line 540 "fe/idl.ypp" +#line 542 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2925 "fe/idl.tab.cpp" +#line 2953 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ -#line 544 "fe/idl.ypp" +#line 546 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2933 "fe/idl.tab.cpp" +#line 2961 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ -#line 548 "fe/idl.ypp" +#line 550 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2941 "fe/idl.tab.cpp" +#line 2969 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ -#line 552 "fe/idl.ypp" +#line 554 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2949 "fe/idl.tab.cpp" +#line 2977 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ -#line 556 "fe/idl.ypp" +#line 558 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2957 "fe/idl.tab.cpp" +#line 2985 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ -#line 560 "fe/idl.ypp" +#line 562 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2965 "fe/idl.tab.cpp" +#line 2993 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ -#line 564 "fe/idl.ypp" +#line 566 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2973 "fe/idl.tab.cpp" +#line 3001 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ -#line 568 "fe/idl.ypp" +#line 570 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 2983 "fe/idl.tab.cpp" +#line 3011 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ -#line 577 "fe/idl.ypp" +#line 579 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2991 "fe/idl.tab.cpp" +#line 3019 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ -#line 581 "fe/idl.ypp" +#line 583 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 2999 "fe/idl.tab.cpp" +#line 3027 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ -#line 588 "fe/idl.ypp" +#line 590 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -3038,27 +3066,27 @@ yyparse (void) (yyval.dcval) = m; } -#line 3042 "fe/idl.tab.cpp" +#line 3070 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ -#line 627 "fe/idl.ypp" +#line 629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3050 "fe/idl.tab.cpp" +#line 3078 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ -#line 631 "fe/idl.ypp" +#line 633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3058 "fe/idl.tab.cpp" +#line 3086 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ -#line 635 "fe/idl.ypp" +#line 637 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); /* @@ -3068,19 +3096,19 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3072 "fe/idl.tab.cpp" +#line 3100 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ -#line 648 "fe/idl.ypp" +#line 650 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3080 "fe/idl.tab.cpp" +#line 3108 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ -#line 655 "fe/idl.ypp" +#line 657 "fe/idl.ypp" { // The module_header rule is common to template module, fixed // module and instantiated template module. In the last @@ -3094,11 +3122,11 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3098 "fe/idl.tab.cpp" +#line 3126 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ -#line 669 "fe/idl.ypp" +#line 671 "fe/idl.ypp" { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -3108,11 +3136,11 @@ yyparse (void) return 1; } } -#line 3112 "fe/idl.tab.cpp" +#line 3140 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ -#line 679 "fe/idl.ypp" +#line 681 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -3142,27 +3170,27 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3146 "fe/idl.tab.cpp" +#line 3174 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ -#line 709 "fe/idl.ypp" +#line 711 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3154 "fe/idl.tab.cpp" +#line 3182 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ -#line 713 "fe/idl.ypp" +#line 715 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3162 "fe/idl.tab.cpp" +#line 3190 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ -#line 717 "fe/idl.ypp" +#line 719 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -3181,29 +3209,29 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3185 "fe/idl.tab.cpp" +#line 3213 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ -#line 753 "fe/idl.ypp" +#line 755 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3194 "fe/idl.tab.cpp" +#line 3222 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ -#line 758 "fe/idl.ypp" +#line 760 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3203 "fe/idl.tab.cpp" +#line 3231 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ -#line 763 "fe/idl.ypp" +#line 765 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -3281,29 +3309,29 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3285 "fe/idl.tab.cpp" +#line 3313 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ -#line 844 "fe/idl.ypp" +#line 846 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3294 "fe/idl.tab.cpp" +#line 3322 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ -#line 849 "fe/idl.ypp" +#line 851 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3303 "fe/idl.tab.cpp" +#line 3331 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ -#line 854 "fe/idl.ypp" +#line 856 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -3367,11 +3395,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3371 "fe/idl.tab.cpp" +#line 3399 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ -#line 926 "fe/idl.ypp" +#line 928 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Interface *i = 0; @@ -3409,27 +3437,27 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3413 "fe/idl.tab.cpp" +#line 3441 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ -#line 964 "fe/idl.ypp" +#line 966 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3421 "fe/idl.tab.cpp" +#line 3449 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ -#line 968 "fe/idl.ypp" +#line 970 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3429 "fe/idl.tab.cpp" +#line 3457 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ -#line 972 "fe/idl.ypp" +#line 974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -3439,28 +3467,28 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3443 "fe/idl.tab.cpp" +#line 3471 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ -#line 985 "fe/idl.ypp" +#line 987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3451 "fe/idl.tab.cpp" +#line 3479 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ -#line 989 "fe/idl.ypp" +#line 991 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3460 "fe/idl.tab.cpp" +#line 3488 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ -#line 997 "fe/idl.ypp" +#line 999 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3496,11 +3524,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3500 "fe/idl.tab.cpp" +#line 3528 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ -#line 1034 "fe/idl.ypp" +#line 1036 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3529,11 +3557,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3533 "fe/idl.tab.cpp" +#line 3561 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ -#line 1064 "fe/idl.ypp" +#line 1066 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3562,45 +3590,45 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3566 "fe/idl.tab.cpp" +#line 3594 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ -#line 1096 "fe/idl.ypp" +#line 1098 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3574 "fe/idl.tab.cpp" +#line 3602 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ -#line 1100 "fe/idl.ypp" +#line 1102 "fe/idl.ypp" { (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3583 "fe/idl.tab.cpp" +#line 3611 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ -#line 1105 "fe/idl.ypp" +#line 1107 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3591 "fe/idl.tab.cpp" +#line 3619 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ -#line 1119 "fe/idl.ypp" +#line 1121 "fe/idl.ypp" { idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3600 "fe/idl.tab.cpp" +#line 3628 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ -#line 1128 "fe/idl.ypp" +#line 1130 "fe/idl.ypp" { FE_OBVHeader *&valuetype_header = (yyvsp[0].vhval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -3647,27 +3675,27 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3651 "fe/idl.tab.cpp" +#line 3679 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ -#line 1175 "fe/idl.ypp" +#line 1177 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3659 "fe/idl.tab.cpp" +#line 3687 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ -#line 1179 "fe/idl.ypp" +#line 1181 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3667 "fe/idl.tab.cpp" +#line 3695 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ -#line 1183 "fe/idl.ypp" +#line 1185 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3688,11 +3716,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3692 "fe/idl.tab.cpp" +#line 3720 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ -#line 1208 "fe/idl.ypp" +#line 1210 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_ValueType *v = 0; @@ -3735,27 +3763,27 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3739 "fe/idl.tab.cpp" +#line 3767 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ -#line 1251 "fe/idl.ypp" +#line 1253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3747 "fe/idl.tab.cpp" +#line 3775 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ -#line 1255 "fe/idl.ypp" +#line 1257 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3755 "fe/idl.tab.cpp" +#line 3783 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ -#line 1259 "fe/idl.ypp" +#line 1261 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3766,19 +3794,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3770 "fe/idl.tab.cpp" +#line 3798 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ -#line 1274 "fe/idl.ypp" +#line 1276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3778 "fe/idl.tab.cpp" +#line 3806 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ -#line 1278 "fe/idl.ypp" +#line 1280 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3809,60 +3837,60 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3813 "fe/idl.tab.cpp" +#line 3841 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ -#line 1312 "fe/idl.ypp" +#line 1314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3821 "fe/idl.tab.cpp" +#line 3849 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ -#line 1316 "fe/idl.ypp" +#line 1318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3830 "fe/idl.tab.cpp" +#line 3858 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ -#line 1324 "fe/idl.ypp" +#line 1326 "fe/idl.ypp" { (yyval.bval) = true; } -#line 3838 "fe/idl.tab.cpp" +#line 3866 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ -#line 1328 "fe/idl.ypp" +#line 1330 "fe/idl.ypp" { (yyval.bval) = false; } -#line 3846 "fe/idl.tab.cpp" +#line 3874 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ -#line 1336 "fe/idl.ypp" +#line 1338 "fe/idl.ypp" { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3854 "fe/idl.tab.cpp" +#line 3882 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ -#line 1340 "fe/idl.ypp" +#line 1342 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3862 "fe/idl.tab.cpp" +#line 3890 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ -#line 1348 "fe/idl.ypp" +#line 1350 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3885,11 +3913,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3889 "fe/idl.tab.cpp" +#line 3917 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ -#line 1372 "fe/idl.ypp" +#line 1374 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3914,11 +3942,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3918 "fe/idl.tab.cpp" +#line 3946 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ -#line 1400 "fe/idl.ypp" +#line 1402 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -3981,11 +4009,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3985 "fe/idl.tab.cpp" +#line 4013 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ -#line 1466 "fe/idl.ypp" +#line 1468 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decls *&decls = (yyvsp[0].decls_val); @@ -4004,19 +4032,19 @@ yyparse (void) delete annotations; delete decls; } -#line 4008 "fe/idl.tab.cpp" +#line 4036 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ -#line 1485 "fe/idl.ypp" +#line 1487 "fe/idl.ypp" { delete (yyvsp[0].decls_val); } -#line 4016 "fe/idl.tab.cpp" +#line 4044 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ -#line 1494 "fe/idl.ypp" +#line 1496 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4027,11 +4055,11 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4031 "fe/idl.tab.cpp" +#line 4059 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ -#line 1505 "fe/idl.ypp" +#line 1507 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4042,35 +4070,35 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4046 "fe/idl.tab.cpp" +#line 4074 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ -#line 1516 "fe/idl.ypp" +#line 1518 "fe/idl.ypp" { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4054 "fe/idl.tab.cpp" +#line 4082 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ -#line 1523 "fe/idl.ypp" +#line 1525 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4062 "fe/idl.tab.cpp" +#line 4090 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ -#line 1527 "fe/idl.ypp" +#line 1529 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4070 "fe/idl.tab.cpp" +#line 4098 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ -#line 1534 "fe/idl.ypp" +#line 1536 "fe/idl.ypp" { AST_Field::Visibility &visibility = (yyvsp[-1].vival); AST_Decls *&decls_ptr = (yyvsp[0].decls_val); @@ -4088,11 +4116,11 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4092 "fe/idl.tab.cpp" +#line 4120 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ -#line 1560 "fe/idl.ypp" +#line 1562 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decl *d = (yyvsp[0].dcval); @@ -4107,160 +4135,160 @@ yyparse (void) } delete annotations; } -#line 4111 "fe/idl.tab.cpp" +#line 4139 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ -#line 1579 "fe/idl.ypp" +#line 1581 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4119 "fe/idl.tab.cpp" +#line 4147 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ -#line 1583 "fe/idl.ypp" +#line 1585 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4127 "fe/idl.tab.cpp" +#line 4155 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ -#line 1587 "fe/idl.ypp" +#line 1589 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4135 "fe/idl.tab.cpp" +#line 4163 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ -#line 1591 "fe/idl.ypp" +#line 1593 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4143 "fe/idl.tab.cpp" +#line 4171 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ -#line 1595 "fe/idl.ypp" +#line 1597 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4151 "fe/idl.tab.cpp" +#line 4179 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ -#line 1599 "fe/idl.ypp" +#line 1601 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4159 "fe/idl.tab.cpp" +#line 4187 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ -#line 1603 "fe/idl.ypp" +#line 1605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4167 "fe/idl.tab.cpp" +#line 4195 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ -#line 1607 "fe/idl.ypp" +#line 1609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4175 "fe/idl.tab.cpp" +#line 4203 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ -#line 1611 "fe/idl.ypp" +#line 1613 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4183 "fe/idl.tab.cpp" +#line 4211 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ -#line 1615 "fe/idl.ypp" +#line 1617 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4191 "fe/idl.tab.cpp" +#line 4219 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ -#line 1619 "fe/idl.ypp" +#line 1621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4199 "fe/idl.tab.cpp" +#line 4227 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ -#line 1623 "fe/idl.ypp" +#line 1625 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4207 "fe/idl.tab.cpp" +#line 4235 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ -#line 1627 "fe/idl.ypp" +#line 1629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4215 "fe/idl.tab.cpp" +#line 4243 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ -#line 1631 "fe/idl.ypp" +#line 1633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4223 "fe/idl.tab.cpp" +#line 4251 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ -#line 1635 "fe/idl.ypp" +#line 1637 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4231 "fe/idl.tab.cpp" +#line 4259 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ -#line 1639 "fe/idl.ypp" +#line 1641 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 4241 "fe/idl.tab.cpp" +#line 4269 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ -#line 1648 "fe/idl.ypp" +#line 1650 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.nlval), UTL_NameList ((yyvsp[-1].idlist), (yyvsp[0].nlval)), 1); } -#line 4252 "fe/idl.tab.cpp" +#line 4280 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ -#line 1659 "fe/idl.ypp" +#line 1661 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4260 "fe/idl.tab.cpp" +#line 4288 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ -#line 1663 "fe/idl.ypp" +#line 1665 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -4280,19 +4308,19 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4284 "fe/idl.tab.cpp" +#line 4312 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ -#line 1683 "fe/idl.ypp" +#line 1685 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 4292 "fe/idl.tab.cpp" +#line 4320 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ -#line 1690 "fe/idl.ypp" +#line 1692 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4301,19 +4329,19 @@ yyparse (void) 0), 1); } -#line 4305 "fe/idl.tab.cpp" +#line 4333 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ -#line 1699 "fe/idl.ypp" +#line 1701 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4313 "fe/idl.tab.cpp" +#line 4341 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ -#line 1703 "fe/idl.ypp" +#line 1705 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4333,11 +4361,11 @@ yyparse (void) sn), 1); } -#line 4337 "fe/idl.tab.cpp" +#line 4365 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ -#line 1724 "fe/idl.ypp" +#line 1726 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -4347,11 +4375,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4351 "fe/idl.tab.cpp" +#line 4379 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ -#line 1734 "fe/idl.ypp" +#line 1736 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4363,11 +4391,11 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4367 "fe/idl.tab.cpp" +#line 4395 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ -#line 1748 "fe/idl.ypp" +#line 1750 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.idval), Identifier ((yyvsp[0].strval)), @@ -4375,11 +4403,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4379 "fe/idl.tab.cpp" +#line 4407 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ -#line 1758 "fe/idl.ypp" +#line 1760 "fe/idl.ypp" { /* defining_id is a defining identifier whereas id is usually a reference to a defining identifier */ @@ -4387,11 +4415,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4391 "fe/idl.tab.cpp" +#line 4419 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ -#line 1769 "fe/idl.ypp" +#line 1771 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -4434,11 +4462,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4438 "fe/idl.tab.cpp" +#line 4466 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ -#line 1813 "fe/idl.ypp" +#line 1815 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4464,11 +4492,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4468 "fe/idl.tab.cpp" +#line 4496 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ -#line 1840 "fe/idl.ypp" +#line 1842 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4496,43 +4524,43 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4500 "fe/idl.tab.cpp" +#line 4528 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ -#line 1871 "fe/idl.ypp" +#line 1873 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4508 "fe/idl.tab.cpp" +#line 4536 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ -#line 1875 "fe/idl.ypp" +#line 1877 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4516 "fe/idl.tab.cpp" +#line 4544 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ -#line 1879 "fe/idl.ypp" +#line 1881 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4524 "fe/idl.tab.cpp" +#line 4552 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ -#line 1883 "fe/idl.ypp" +#line 1885 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4532 "fe/idl.tab.cpp" +#line 4560 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ -#line 1887 "fe/idl.ypp" +#line 1889 "fe/idl.ypp" { (yyval.dcval) = 0; UTL_ScopedName n ((yyvsp[-4].idval), 0); @@ -4588,27 +4616,27 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4592 "fe/idl.tab.cpp" +#line 4620 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ -#line 1952 "fe/idl.ypp" +#line 1954 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_string; } -#line 4600 "fe/idl.tab.cpp" +#line 4628 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ -#line 1956 "fe/idl.ypp" +#line 1958 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4608 "fe/idl.tab.cpp" +#line 4636 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ -#line 1960 "fe/idl.ypp" +#line 1962 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_PredefinedType *c = 0; @@ -4674,11 +4702,11 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4678 "fe/idl.tab.cpp" +#line 4706 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ -#line 2033 "fe/idl.ypp" +#line 2035 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4687,11 +4715,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4691 "fe/idl.tab.cpp" +#line 4719 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ -#line 2046 "fe/idl.ypp" +#line 2048 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4700,11 +4728,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4704 "fe/idl.tab.cpp" +#line 4732 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ -#line 2059 "fe/idl.ypp" +#line 2061 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4713,11 +4741,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4717 "fe/idl.tab.cpp" +#line 4745 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ -#line 2072 "fe/idl.ypp" +#line 2074 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4726,11 +4754,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4730 "fe/idl.tab.cpp" +#line 4758 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ -#line 2081 "fe/idl.ypp" +#line 2083 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4739,11 +4767,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4743 "fe/idl.tab.cpp" +#line 4771 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ -#line 2094 "fe/idl.ypp" +#line 2096 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4752,11 +4780,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4756 "fe/idl.tab.cpp" +#line 4784 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ -#line 2103 "fe/idl.ypp" +#line 2105 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4765,11 +4793,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4769 "fe/idl.tab.cpp" +#line 4797 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ -#line 2116 "fe/idl.ypp" +#line 2118 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4778,11 +4806,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4782 "fe/idl.tab.cpp" +#line 4810 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ -#line 2125 "fe/idl.ypp" +#line 2127 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4791,11 +4819,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4795 "fe/idl.tab.cpp" +#line 4823 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ -#line 2134 "fe/idl.ypp" +#line 2136 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4804,11 +4832,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4808 "fe/idl.tab.cpp" +#line 4836 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ -#line 2147 "fe/idl.ypp" +#line 2149 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4817,11 +4845,11 @@ yyparse (void) 0 ); } -#line 4821 "fe/idl.tab.cpp" +#line 4849 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ -#line 2156 "fe/idl.ypp" +#line 2158 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4830,11 +4858,11 @@ yyparse (void) 0 ); } -#line 4834 "fe/idl.tab.cpp" +#line 4862 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ -#line 2165 "fe/idl.ypp" +#line 2167 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4843,11 +4871,11 @@ yyparse (void) 0 ); } -#line 4847 "fe/idl.tab.cpp" +#line 4875 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ -#line 2177 "fe/idl.ypp" +#line 2179 "fe/idl.ypp" { UTL_ScopedName *name = (yyvsp[0].idlist); @@ -4904,107 +4932,107 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4908 "fe/idl.tab.cpp" +#line 4936 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ -#line 2235 "fe/idl.ypp" +#line 2237 "fe/idl.ypp" { (yyval.exval) = (yyvsp[-1].exval); } -#line 4916 "fe/idl.tab.cpp" +#line 4944 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ -#line 2242 "fe/idl.ypp" +#line 2244 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4924 "fe/idl.tab.cpp" +#line 4952 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ -#line 2246 "fe/idl.ypp" +#line 2248 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4933 "fe/idl.tab.cpp" +#line 4961 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ -#line 2251 "fe/idl.ypp" +#line 2253 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); (yyvsp[0].sval)->destroy (); delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4944 "fe/idl.tab.cpp" +#line 4972 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ -#line 2258 "fe/idl.ypp" +#line 2260 "fe/idl.ypp" { char *wide_string = (yyvsp[0].wsval); (yyval.exval) = idl_global->gen ()->create_expr (wide_string); ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4955 "fe/idl.tab.cpp" +#line 4983 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ -#line 2265 "fe/idl.ypp" +#line 2267 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4963 "fe/idl.tab.cpp" +#line 4991 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ -#line 2269 "fe/idl.ypp" +#line 2271 "fe/idl.ypp" { ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4972 "fe/idl.tab.cpp" +#line 5000 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ -#line 2274 "fe/idl.ypp" +#line 2276 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4980 "fe/idl.tab.cpp" +#line 5008 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ -#line 2278 "fe/idl.ypp" +#line 2280 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4988 "fe/idl.tab.cpp" +#line 5016 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ -#line 2282 "fe/idl.ypp" +#line 2284 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 4996 "fe/idl.tab.cpp" +#line 5024 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ -#line 2286 "fe/idl.ypp" +#line 2288 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5004 "fe/idl.tab.cpp" +#line 5032 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ -#line 2293 "fe/idl.ypp" +#line 2295 "fe/idl.ypp" { int good_expression = 1; (yyvsp[0].exval)->evaluate (AST_Expression::EK_positive_int); @@ -5069,11 +5097,11 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5073 "fe/idl.tab.cpp" +#line 5101 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ -#line 2361 "fe/idl.ypp" +#line 2363 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5090,11 +5118,11 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5094 "fe/idl.tab.cpp" +#line 5122 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ -#line 2378 "fe/idl.ypp" +#line 2380 "fe/idl.ypp" { Identifier *id = (yyvsp[-4].idval); idl_global->scopes ().pop (); @@ -5103,20 +5131,20 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5107 "fe/idl.tab.cpp" +#line 5135 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ -#line 2398 "fe/idl.ypp" +#line 2400 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5116 "fe/idl.tab.cpp" +#line 5144 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ -#line 2412 "fe/idl.ypp" +#line 2414 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); UTL_Scope *root = idl_global->scopes ().bottom (); @@ -5169,27 +5197,27 @@ yyparse (void) delete result; } } -#line 5173 "fe/idl.tab.cpp" +#line 5201 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ -#line 2468 "fe/idl.ypp" +#line 2470 "fe/idl.ypp" { (yyval.exval) = (yyvsp[0].exval); } -#line 5181 "fe/idl.tab.cpp" +#line 5209 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ -#line 2472 "fe/idl.ypp" +#line 2474 "fe/idl.ypp" { (yyval.exval) = 0; } -#line 5189 "fe/idl.tab.cpp" +#line 5217 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ -#line 2479 "fe/idl.ypp" +#line 2481 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5199,11 +5227,11 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5203 "fe/idl.tab.cpp" +#line 5231 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ -#line 2492 "fe/idl.ypp" +#line 2494 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5213,19 +5241,19 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5217 "fe/idl.tab.cpp" +#line 5245 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ -#line 2502 "fe/idl.ypp" +#line 2504 "fe/idl.ypp" { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5225 "fe/idl.tab.cpp" +#line 5253 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ -#line 2509 "fe/idl.ypp" +#line 2511 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5282,11 +5310,11 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5286 "fe/idl.tab.cpp" +#line 5314 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ -#line 2566 "fe/idl.ypp" +#line 2568 "fe/idl.ypp" { idl_global->ignore_lookup_errors_ = false; stack_based_lookup_for_primary_expr = false; @@ -5314,27 +5342,27 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5318 "fe/idl.tab.cpp" +#line 5346 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ -#line 2597 "fe/idl.ypp" +#line 2599 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5326 "fe/idl.tab.cpp" +#line 5354 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ -#line 2601 "fe/idl.ypp" +#line 2603 "fe/idl.ypp" { (yyval.annotation_params_val) = 0; } -#line 5334 "fe/idl.tab.cpp" +#line 5362 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ -#line 2608 "fe/idl.ypp" +#line 2610 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = new AST_Annotation_Appl::Params; AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; @@ -5343,47 +5371,47 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5347 "fe/idl.tab.cpp" +#line 5375 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ -#line 2617 "fe/idl.ypp" +#line 2619 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5355 "fe/idl.tab.cpp" +#line 5383 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ -#line 2624 "fe/idl.ypp" +#line 2626 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5365 "fe/idl.tab.cpp" +#line 5393 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ -#line 2632 "fe/idl.ypp" +#line 2634 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5375 "fe/idl.tab.cpp" +#line 5403 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ -#line 2638 "fe/idl.ypp" +#line 2640 "fe/idl.ypp" { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5383 "fe/idl.tab.cpp" +#line 5411 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ -#line 2645 "fe/idl.ypp" +#line 2647 "fe/idl.ypp" { AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; param->id = (yyvsp[-2].idval); @@ -5392,52 +5420,52 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5396 "fe/idl.tab.cpp" +#line 5424 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ -#line 2657 "fe/idl.ypp" +#line 2659 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5405 "fe/idl.tab.cpp" +#line 5433 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ -#line 2662 "fe/idl.ypp" +#line 2664 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5413 "fe/idl.tab.cpp" +#line 5441 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ -#line 2666 "fe/idl.ypp" +#line 2668 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5421 "fe/idl.tab.cpp" +#line 5449 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ -#line 2670 "fe/idl.ypp" +#line 2672 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5429 "fe/idl.tab.cpp" +#line 5457 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ -#line 2674 "fe/idl.ypp" +#line 2676 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5437 "fe/idl.tab.cpp" +#line 5465 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ -#line 2678 "fe/idl.ypp" +#line 2680 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Native *node = 0; @@ -5465,27 +5493,27 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5469 "fe/idl.tab.cpp" +#line 5497 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ -#line 2706 "fe/idl.ypp" +#line 2708 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 5477 "fe/idl.tab.cpp" +#line 5505 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ -#line 2713 "fe/idl.ypp" +#line 2715 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5485 "fe/idl.tab.cpp" +#line 5513 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ -#line 2717 "fe/idl.ypp" +#line 2719 "fe/idl.ypp" { AST_Decl *type_spec = (yyvsp[-2].dcval); UTL_DeclList *decls = (yyvsp[0].dlval); @@ -5549,22 +5577,22 @@ yyparse (void) (yyval.dcval) = t; } -#line 5553 "fe/idl.tab.cpp" +#line 5581 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ -#line 2789 "fe/idl.ypp" +#line 2791 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 5564 "fe/idl.tab.cpp" +#line 5592 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ -#line 2797 "fe/idl.ypp" +#line 2799 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -5587,30 +5615,30 @@ yyparse (void) (yyval.dcval) = d; } -#line 5591 "fe/idl.tab.cpp" +#line 5619 "fe/idl.tab.cpp" break; - case 255: /* at_least_one_declarator: declarator declarators */ -#line 2852 "fe/idl.ypp" + case 256: /* at_least_one_declarator: declarator declarators */ +#line 2855 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5602 "fe/idl.tab.cpp" +#line 5630 "fe/idl.tab.cpp" break; - case 256: /* $@63: %empty */ -#line 2863 "fe/idl.ypp" + case 257: /* $@63: %empty */ +#line 2866 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5610 "fe/idl.tab.cpp" +#line 5638 "fe/idl.tab.cpp" break; - case 257: /* declarators: declarators ',' $@63 declarator */ -#line 2867 "fe/idl.ypp" + case 258: /* declarators: declarators ',' $@63 declarator */ +#line 2870 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5630,38 +5658,38 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5634 "fe/idl.tab.cpp" +#line 5662 "fe/idl.tab.cpp" break; - case 258: /* declarators: %empty */ -#line 2887 "fe/idl.ypp" + case 259: /* declarators: %empty */ +#line 2890 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5642 "fe/idl.tab.cpp" +#line 5670 "fe/idl.tab.cpp" break; - case 261: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ -#line 2899 "fe/idl.ypp" + case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ +#line 2902 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5653 "fe/idl.tab.cpp" +#line 5681 "fe/idl.tab.cpp" break; - case 262: /* $@64: %empty */ -#line 2910 "fe/idl.ypp" + case 263: /* $@64: %empty */ +#line 2913 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5661 "fe/idl.tab.cpp" +#line 5689 "fe/idl.tab.cpp" break; - case 263: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ -#line 2914 "fe/idl.ypp" + case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ +#line 2917 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5681,19 +5709,19 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5685 "fe/idl.tab.cpp" +#line 5713 "fe/idl.tab.cpp" break; - case 264: /* simple_declarators: %empty */ -#line 2934 "fe/idl.ypp" + case 265: /* simple_declarators: %empty */ +#line 2937 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5693 "fe/idl.tab.cpp" +#line 5721 "fe/idl.tab.cpp" break; - case 265: /* simple_declarator: defining_id */ -#line 2941 "fe/idl.ypp" + case 266: /* simple_declarator: defining_id */ +#line 2944 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5706,11 +5734,11 @@ yyparse (void) 0), 1); } -#line 5710 "fe/idl.tab.cpp" +#line 5738 "fe/idl.tab.cpp" break; - case 266: /* complex_declarator: array_declarator */ -#line 2957 "fe/idl.ypp" + case 267: /* complex_declarator: array_declarator */ +#line 2960 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5725,220 +5753,220 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5729 "fe/idl.tab.cpp" +#line 5757 "fe/idl.tab.cpp" break; - case 269: /* signed_int: IDL_LONG */ -#line 2980 "fe/idl.ypp" + case 270: /* signed_int: IDL_LONG */ +#line 2983 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5737 "fe/idl.tab.cpp" +#line 5765 "fe/idl.tab.cpp" break; - case 270: /* signed_int: IDL_LONG IDL_LONG */ -#line 2984 "fe/idl.ypp" + case 271: /* signed_int: IDL_LONG IDL_LONG */ +#line 2987 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5745 "fe/idl.tab.cpp" +#line 5773 "fe/idl.tab.cpp" break; - case 271: /* signed_int: IDL_SHORT */ -#line 2988 "fe/idl.ypp" + case 272: /* signed_int: IDL_SHORT */ +#line 2991 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5753 "fe/idl.tab.cpp" +#line 5781 "fe/idl.tab.cpp" break; - case 272: /* signed_int: IDL_INT8 */ -#line 2992 "fe/idl.ypp" + case 273: /* signed_int: IDL_INT8 */ +#line 2995 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_int8; } -#line 5761 "fe/idl.tab.cpp" +#line 5789 "fe/idl.tab.cpp" break; - case 273: /* signed_int: IDL_INT16 */ -#line 2996 "fe/idl.ypp" + case 274: /* signed_int: IDL_INT16 */ +#line 2999 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5769 "fe/idl.tab.cpp" +#line 5797 "fe/idl.tab.cpp" break; - case 274: /* signed_int: IDL_INT32 */ -#line 3000 "fe/idl.ypp" + case 275: /* signed_int: IDL_INT32 */ +#line 3003 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5777 "fe/idl.tab.cpp" +#line 5805 "fe/idl.tab.cpp" break; - case 275: /* signed_int: IDL_INT64 */ -#line 3004 "fe/idl.ypp" + case 276: /* signed_int: IDL_INT64 */ +#line 3007 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5785 "fe/idl.tab.cpp" +#line 5813 "fe/idl.tab.cpp" break; - case 276: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ -#line 3011 "fe/idl.ypp" + case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ +#line 3014 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5793 "fe/idl.tab.cpp" +#line 5821 "fe/idl.tab.cpp" break; - case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ -#line 3015 "fe/idl.ypp" + case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ +#line 3018 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5801 "fe/idl.tab.cpp" +#line 5829 "fe/idl.tab.cpp" break; - case 278: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ -#line 3019 "fe/idl.ypp" + case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ +#line 3022 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5809 "fe/idl.tab.cpp" +#line 5837 "fe/idl.tab.cpp" break; - case 279: /* unsigned_int: IDL_UINT8 */ -#line 3023 "fe/idl.ypp" + case 280: /* unsigned_int: IDL_UINT8 */ +#line 3026 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5817 "fe/idl.tab.cpp" +#line 5845 "fe/idl.tab.cpp" break; - case 280: /* unsigned_int: IDL_UINT16 */ -#line 3027 "fe/idl.ypp" + case 281: /* unsigned_int: IDL_UINT16 */ +#line 3030 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5825 "fe/idl.tab.cpp" +#line 5853 "fe/idl.tab.cpp" break; - case 281: /* unsigned_int: IDL_UINT32 */ -#line 3031 "fe/idl.ypp" + case 282: /* unsigned_int: IDL_UINT32 */ +#line 3034 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5833 "fe/idl.tab.cpp" +#line 5861 "fe/idl.tab.cpp" break; - case 282: /* unsigned_int: IDL_UINT64 */ -#line 3035 "fe/idl.ypp" + case 283: /* unsigned_int: IDL_UINT64 */ +#line 3038 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5841 "fe/idl.tab.cpp" +#line 5869 "fe/idl.tab.cpp" break; - case 283: /* floating_pt_type: IDL_DOUBLE */ -#line 3042 "fe/idl.ypp" + case 284: /* floating_pt_type: IDL_DOUBLE */ +#line 3045 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_double; } -#line 5849 "fe/idl.tab.cpp" +#line 5877 "fe/idl.tab.cpp" break; - case 284: /* floating_pt_type: IDL_FLOAT */ -#line 3046 "fe/idl.ypp" + case 285: /* floating_pt_type: IDL_FLOAT */ +#line 3049 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_float; } -#line 5857 "fe/idl.tab.cpp" +#line 5885 "fe/idl.tab.cpp" break; - case 285: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ -#line 3050 "fe/idl.ypp" + case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ +#line 3053 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5865 "fe/idl.tab.cpp" +#line 5893 "fe/idl.tab.cpp" break; - case 286: /* fixed_type: IDL_FIXED */ -#line 3057 "fe/idl.ypp" + case 287: /* fixed_type: IDL_FIXED */ +#line 3060 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5873 "fe/idl.tab.cpp" +#line 5901 "fe/idl.tab.cpp" break; - case 287: /* char_type: IDL_CHAR */ -#line 3064 "fe/idl.ypp" + case 288: /* char_type: IDL_CHAR */ +#line 3067 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_char; } -#line 5881 "fe/idl.tab.cpp" +#line 5909 "fe/idl.tab.cpp" break; - case 288: /* char_type: IDL_WCHAR */ -#line 3068 "fe/idl.ypp" + case 289: /* char_type: IDL_WCHAR */ +#line 3071 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5889 "fe/idl.tab.cpp" +#line 5917 "fe/idl.tab.cpp" break; - case 289: /* octet_type: IDL_OCTET */ -#line 3075 "fe/idl.ypp" + case 290: /* octet_type: IDL_OCTET */ +#line 3078 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_octet; } -#line 5897 "fe/idl.tab.cpp" +#line 5925 "fe/idl.tab.cpp" break; - case 290: /* boolean_type: IDL_BOOLEAN */ -#line 3082 "fe/idl.ypp" + case 291: /* boolean_type: IDL_BOOLEAN */ +#line 3085 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_bool; } -#line 5905 "fe/idl.tab.cpp" +#line 5933 "fe/idl.tab.cpp" break; - case 291: /* any_type: IDL_ANY */ -#line 3089 "fe/idl.ypp" + case 292: /* any_type: IDL_ANY */ +#line 3092 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_any; } -#line 5913 "fe/idl.tab.cpp" +#line 5941 "fe/idl.tab.cpp" break; - case 292: /* object_type: IDL_OBJECT */ -#line 3096 "fe/idl.ypp" + case 293: /* object_type: IDL_OBJECT */ +#line 3099 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_object; } -#line 5921 "fe/idl.tab.cpp" +#line 5949 "fe/idl.tab.cpp" break; - case 293: /* $@65: %empty */ -#line 3103 "fe/idl.ypp" + case 294: /* $@65: %empty */ +#line 3106 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5929 "fe/idl.tab.cpp" +#line 5957 "fe/idl.tab.cpp" break; - case 294: /* struct_decl: IDL_STRUCT $@65 defining_id */ -#line 3107 "fe/idl.ypp" + case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ +#line 3110 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5938 "fe/idl.tab.cpp" +#line 5966 "fe/idl.tab.cpp" break; - case 295: /* $@66: %empty */ -#line 3116 "fe/idl.ypp" + case 296: /* $@66: %empty */ +#line 3119 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5969,27 +5997,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5973 "fe/idl.tab.cpp" +#line 6001 "fe/idl.tab.cpp" break; - case 296: /* $@67: %empty */ -#line 3147 "fe/idl.ypp" + case 297: /* $@67: %empty */ +#line 3150 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5981 "fe/idl.tab.cpp" +#line 6009 "fe/idl.tab.cpp" break; - case 297: /* $@68: %empty */ -#line 3151 "fe/idl.ypp" + case 298: /* $@68: %empty */ +#line 3154 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 5989 "fe/idl.tab.cpp" +#line 6017 "fe/idl.tab.cpp" break; - case 298: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ -#line 3155 "fe/idl.ypp" + case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ +#line 3158 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -6001,11 +6029,11 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6005 "fe/idl.tab.cpp" +#line 6033 "fe/idl.tab.cpp" break; - case 302: /* member: annotations_maybe member_i */ -#line 3177 "fe/idl.ypp" + case 303: /* member: annotations_maybe member_i */ +#line 3180 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decls *members = (yyvsp[0].decls_val); @@ -6019,27 +6047,27 @@ yyparse (void) delete annotations; delete members; } -#line 6023 "fe/idl.tab.cpp" +#line 6051 "fe/idl.tab.cpp" break; - case 303: /* $@69: %empty */ -#line 3194 "fe/idl.ypp" + case 304: /* $@69: %empty */ +#line 3197 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6031 "fe/idl.tab.cpp" +#line 6059 "fe/idl.tab.cpp" break; - case 304: /* $@70: %empty */ -#line 3198 "fe/idl.ypp" + case 305: /* $@70: %empty */ +#line 3201 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6039 "fe/idl.tab.cpp" +#line 6067 "fe/idl.tab.cpp" break; - case 305: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ -#line 3202 "fe/idl.ypp" + case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ +#line 3205 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); FE_Declarator *d = 0; @@ -6093,53 +6121,53 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6097 "fe/idl.tab.cpp" +#line 6125 "fe/idl.tab.cpp" break; - case 306: /* $@71: %empty */ -#line 3256 "fe/idl.ypp" + case 307: /* $@71: %empty */ +#line 3259 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6105 "fe/idl.tab.cpp" +#line 6133 "fe/idl.tab.cpp" break; - case 307: /* member_i: error $@71 ';' */ -#line 3260 "fe/idl.ypp" + case 308: /* member_i: error $@71 ';' */ +#line 3263 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6114 "fe/idl.tab.cpp" +#line 6142 "fe/idl.tab.cpp" break; - case 308: /* $@72: %empty */ -#line 3268 "fe/idl.ypp" + case 309: /* $@72: %empty */ +#line 3271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6122 "fe/idl.tab.cpp" +#line 6150 "fe/idl.tab.cpp" break; - case 309: /* union_decl: IDL_UNION $@72 defining_id */ -#line 3272 "fe/idl.ypp" + case 310: /* union_decl: IDL_UNION $@72 defining_id */ +#line 3275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6131 "fe/idl.tab.cpp" +#line 6159 "fe/idl.tab.cpp" break; - case 310: /* $@73: %empty */ -#line 3280 "fe/idl.ypp" + case 311: /* $@73: %empty */ +#line 3283 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6139 "fe/idl.tab.cpp" +#line 6167 "fe/idl.tab.cpp" break; - case 311: /* $@74: %empty */ -#line 3284 "fe/idl.ypp" + case 312: /* $@74: %empty */ +#line 3287 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[-3].idval), 0); @@ -6172,19 +6200,19 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6176 "fe/idl.tab.cpp" +#line 6204 "fe/idl.tab.cpp" break; - case 312: /* $@75: %empty */ -#line 3317 "fe/idl.ypp" + case 313: /* $@75: %empty */ +#line 3320 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6184 "fe/idl.tab.cpp" +#line 6212 "fe/idl.tab.cpp" break; - case 313: /* $@76: %empty */ -#line 3321 "fe/idl.ypp" + case 314: /* $@76: %empty */ +#line 3324 "fe/idl.ypp" { /* * The top of the scopes must be an empty union we added after we @@ -6243,27 +6271,27 @@ yyparse (void) delete disc_annotations; } -#line 6247 "fe/idl.tab.cpp" +#line 6275 "fe/idl.tab.cpp" break; - case 314: /* $@77: %empty */ -#line 3380 "fe/idl.ypp" + case 315: /* $@77: %empty */ +#line 3383 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6255 "fe/idl.tab.cpp" +#line 6283 "fe/idl.tab.cpp" break; - case 315: /* $@78: %empty */ -#line 3384 "fe/idl.ypp" + case 316: /* $@78: %empty */ +#line 3387 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6263 "fe/idl.tab.cpp" +#line 6291 "fe/idl.tab.cpp" break; - case 316: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ -#line 3388 "fe/idl.ypp" + case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ +#line 3391 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -6279,22 +6307,22 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6283 "fe/idl.tab.cpp" +#line 6311 "fe/idl.tab.cpp" break; - case 317: /* switch_type_spec: integer_type */ -#line 3407 "fe/idl.ypp" + case 318: /* switch_type_spec: integer_type */ +#line 3410 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6294 "fe/idl.tab.cpp" +#line 6322 "fe/idl.tab.cpp" break; - case 318: /* switch_type_spec: char_type */ -#line 3414 "fe/idl.ypp" + case 319: /* switch_type_spec: char_type */ +#line 3417 "fe/idl.ypp" { /* wchars are not allowed. */ if ((yyvsp[0].etval) == AST_Expression::EV_wchar) @@ -6307,11 +6335,11 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6311 "fe/idl.tab.cpp" +#line 6339 "fe/idl.tab.cpp" break; - case 319: /* switch_type_spec: octet_type */ -#line 3427 "fe/idl.ypp" + case 320: /* switch_type_spec: octet_type */ +#line 3430 "fe/idl.ypp" { /* octets are not allowed. */ idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); @@ -6320,22 +6348,22 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6324 "fe/idl.tab.cpp" +#line 6352 "fe/idl.tab.cpp" break; - case 320: /* switch_type_spec: boolean_type */ -#line 3436 "fe/idl.ypp" + case 321: /* switch_type_spec: boolean_type */ +#line 3439 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6335 "fe/idl.tab.cpp" +#line 6363 "fe/idl.tab.cpp" break; - case 322: /* switch_type_spec: scoped_name */ -#line 3444 "fe/idl.ypp" + case 323: /* switch_type_spec: scoped_name */ +#line 3447 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -6442,27 +6470,27 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6446 "fe/idl.tab.cpp" +#line 6474 "fe/idl.tab.cpp" break; - case 326: /* $@79: %empty */ -#line 3561 "fe/idl.ypp" + case 327: /* $@79: %empty */ +#line 3564 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6454 "fe/idl.tab.cpp" +#line 6482 "fe/idl.tab.cpp" break; - case 327: /* $@80: %empty */ -#line 3565 "fe/idl.ypp" + case 328: /* $@80: %empty */ +#line 3568 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6462 "fe/idl.tab.cpp" +#line 6490 "fe/idl.tab.cpp" break; - case 328: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ -#line 3569 "fe/idl.ypp" + case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ +#line 3572 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; @@ -6494,39 +6522,39 @@ yyparse (void) delete annotations; } -#line 6498 "fe/idl.tab.cpp" +#line 6526 "fe/idl.tab.cpp" break; - case 329: /* $@81: %empty */ -#line 3601 "fe/idl.ypp" + case 330: /* $@81: %empty */ +#line 3604 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6506 "fe/idl.tab.cpp" +#line 6534 "fe/idl.tab.cpp" break; - case 330: /* case_branch: error $@81 ';' */ -#line 3605 "fe/idl.ypp" + case 331: /* case_branch: error $@81 ';' */ +#line 3608 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6515 "fe/idl.tab.cpp" +#line 6543 "fe/idl.tab.cpp" break; - case 331: /* at_least_one_case_label: case_label case_labels */ -#line 3613 "fe/idl.ypp" + case 332: /* at_least_one_case_label: case_label case_labels */ +#line 3616 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.llval), UTL_LabelList ((yyvsp[-1].ulval), (yyvsp[0].llval)), 1); } -#line 6526 "fe/idl.tab.cpp" +#line 6554 "fe/idl.tab.cpp" break; - case 332: /* case_labels: case_labels case_label */ -#line 3623 "fe/idl.ypp" + case 333: /* case_labels: case_labels case_label */ +#line 3626 "fe/idl.ypp" { UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, @@ -6544,27 +6572,27 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6548 "fe/idl.tab.cpp" +#line 6576 "fe/idl.tab.cpp" break; - case 333: /* case_labels: %empty */ -#line 3641 "fe/idl.ypp" + case 334: /* case_labels: %empty */ +#line 3644 "fe/idl.ypp" { (yyval.llval) = 0; } -#line 6556 "fe/idl.tab.cpp" +#line 6584 "fe/idl.tab.cpp" break; - case 334: /* $@82: %empty */ -#line 3648 "fe/idl.ypp" + case 335: /* $@82: %empty */ +#line 3651 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6564 "fe/idl.tab.cpp" +#line 6592 "fe/idl.tab.cpp" break; - case 335: /* case_label: IDL_DEFAULT $@82 ':' */ -#line 3652 "fe/idl.ypp" + case 336: /* case_label: IDL_DEFAULT $@82 ':' */ +#line 3655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6573,27 +6601,27 @@ yyparse (void) 0 ); } -#line 6577 "fe/idl.tab.cpp" +#line 6605 "fe/idl.tab.cpp" break; - case 336: /* $@83: %empty */ -#line 3661 "fe/idl.ypp" + case 337: /* $@83: %empty */ +#line 3664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6585 "fe/idl.tab.cpp" +#line 6613 "fe/idl.tab.cpp" break; - case 337: /* $@84: %empty */ -#line 3665 "fe/idl.ypp" + case 338: /* $@84: %empty */ +#line 3668 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6593 "fe/idl.tab.cpp" +#line 6621 "fe/idl.tab.cpp" break; - case 338: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ -#line 3669 "fe/idl.ypp" + case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ +#line 3672 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6602,19 +6630,19 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6606 "fe/idl.tab.cpp" +#line 6634 "fe/idl.tab.cpp" break; - case 339: /* $@85: %empty */ -#line 3681 "fe/idl.ypp" + case 340: /* $@85: %empty */ +#line 3684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6614 "fe/idl.tab.cpp" +#line 6642 "fe/idl.tab.cpp" break; - case 340: /* element_spec: type_spec $@85 declarator */ -#line 3685 "fe/idl.ypp" + case 341: /* element_spec: type_spec $@85 declarator */ +#line 3688 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -6657,11 +6685,11 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6661 "fe/idl.tab.cpp" +#line 6689 "fe/idl.tab.cpp" break; - case 341: /* struct_forward_type: struct_decl */ -#line 3731 "fe/idl.ypp" + case 342: /* struct_forward_type: struct_decl */ +#line 3734 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6683,11 +6711,11 @@ yyparse (void) (yyval.dcval) = d; } -#line 6687 "fe/idl.tab.cpp" +#line 6715 "fe/idl.tab.cpp" break; - case 342: /* union_forward_type: union_decl */ -#line 3756 "fe/idl.ypp" + case 343: /* union_forward_type: union_decl */ +#line 3759 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6707,19 +6735,19 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6711 "fe/idl.tab.cpp" +#line 6739 "fe/idl.tab.cpp" break; - case 343: /* $@86: %empty */ -#line 3779 "fe/idl.ypp" + case 344: /* $@86: %empty */ +#line 3782 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6719 "fe/idl.tab.cpp" +#line 6747 "fe/idl.tab.cpp" break; - case 344: /* $@87: %empty */ -#line 3783 "fe/idl.ypp" + case 345: /* $@87: %empty */ +#line 3786 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6750,27 +6778,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6754 "fe/idl.tab.cpp" +#line 6782 "fe/idl.tab.cpp" break; - case 345: /* $@88: %empty */ -#line 3814 "fe/idl.ypp" + case 346: /* $@88: %empty */ +#line 3817 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6762 "fe/idl.tab.cpp" +#line 6790 "fe/idl.tab.cpp" break; - case 346: /* $@89: %empty */ -#line 3818 "fe/idl.ypp" + case 347: /* $@89: %empty */ +#line 3821 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6770 "fe/idl.tab.cpp" +#line 6798 "fe/idl.tab.cpp" break; - case 347: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ -#line 3822 "fe/idl.ypp" + case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ +#line 3825 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6789,19 +6817,19 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6793 "fe/idl.tab.cpp" +#line 6821 "fe/idl.tab.cpp" break; - case 349: /* $@90: %empty */ -#line 3847 "fe/idl.ypp" + case 350: /* $@90: %empty */ +#line 3850 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6801 "fe/idl.tab.cpp" +#line 6829 "fe/idl.tab.cpp" break; - case 352: /* enumerator: annotations_maybe IDENTIFIER */ -#line 3856 "fe/idl.ypp" + case 353: /* enumerator: annotations_maybe IDENTIFIER */ +#line 3859 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); @@ -6836,27 +6864,130 @@ yyparse (void) delete annotations; } -#line 6840 "fe/idl.tab.cpp" +#line 6868 "fe/idl.tab.cpp" + break; + + case 354: /* $@91: %empty */ +#line 3897 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); + idl_global->scopes().push(0); + } +#line 6877 "fe/idl.tab.cpp" + break; + + case 355: /* $@92: %empty */ +#line 3902 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); + } +#line 6885 "fe/idl.tab.cpp" + break; + + case 356: /* $@93: %empty */ +#line 3906 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } +#line 6893 "fe/idl.tab.cpp" + break; + + case 357: /* $@94: %empty */ +#line 3910 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); + } +#line 6901 "fe/idl.tab.cpp" + break; + + case 358: /* $@95: %empty */ +#line 3914 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } +#line 6909 "fe/idl.tab.cpp" + break; + + case 359: /* map_type_spec: IDL_MAP $@91 '<' $@92 simple_type_spec $@93 ',' $@94 simple_type_spec $@95 '>' */ +#line 3918 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + AST_Decl *key_type = (yyvsp[-6].dcval); + AST_Decl *val_type = (yyvsp[-2].dcval); + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type); + AST_Type *vtp = dynamic_cast (val_type); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; + + map = + idl_global->gen ()->create_map ( + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + + idl_global->err ()->anonymous_type_diagnostic (); + } + } + + // delete type_annotations; + + (yyval.dcval) = map; + } +#line 6971 "fe/idl.tab.cpp" break; - case 353: /* $@91: %empty */ -#line 3895 "fe/idl.ypp" + case 360: /* $@96: %empty */ +#line 3980 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6848 "fe/idl.tab.cpp" +#line 6979 "fe/idl.tab.cpp" break; - case 354: /* $@92: %empty */ -#line 3899 "fe/idl.ypp" + case 361: /* $@97: %empty */ +#line 3984 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6856 "fe/idl.tab.cpp" +#line 6987 "fe/idl.tab.cpp" break; - case 355: /* sequence_type_spec: seq_head ',' $@91 positive_int_expr $@92 '>' */ -#line 3903 "fe/idl.ypp" + case 362: /* sequence_type_spec: seq_head ',' $@96 positive_int_expr $@97 '>' */ +#line 3988 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -6937,11 +7068,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 6941 "fe/idl.tab.cpp" +#line 7072 "fe/idl.tab.cpp" break; - case 356: /* sequence_type_spec: seq_head '>' */ -#line 3985 "fe/idl.ypp" + case 363: /* sequence_type_spec: seq_head '>' */ +#line 4070 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7003,11 +7134,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7007 "fe/idl.tab.cpp" +#line 7138 "fe/idl.tab.cpp" break; - case 357: /* $@93: %empty */ -#line 4050 "fe/idl.ypp" + case 364: /* $@98: %empty */ +#line 4135 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7016,19 +7147,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7020 "fe/idl.tab.cpp" +#line 7151 "fe/idl.tab.cpp" break; - case 358: /* $@94: %empty */ -#line 4059 "fe/idl.ypp" + case 365: /* $@99: %empty */ +#line 4144 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7028 "fe/idl.tab.cpp" +#line 7159 "fe/idl.tab.cpp" break; - case 359: /* seq_head: IDL_SEQUENCE $@93 '<' $@94 annotations_maybe simple_type_spec */ -#line 4063 "fe/idl.ypp" + case 366: /* seq_head: IDL_SEQUENCE $@98 '<' $@99 annotations_maybe simple_type_spec */ +#line 4148 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7036,36 +7167,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7040 "fe/idl.tab.cpp" +#line 7171 "fe/idl.tab.cpp" break; - case 360: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4074 "fe/idl.ypp" + case 367: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4159 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7049 "fe/idl.tab.cpp" +#line 7180 "fe/idl.tab.cpp" break; - case 361: /* $@95: %empty */ -#line 4083 "fe/idl.ypp" + case 368: /* $@100: %empty */ +#line 4168 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7057 "fe/idl.tab.cpp" +#line 7188 "fe/idl.tab.cpp" break; - case 362: /* $@96: %empty */ -#line 4087 "fe/idl.ypp" + case 369: /* $@101: %empty */ +#line 4172 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7065 "fe/idl.tab.cpp" +#line 7196 "fe/idl.tab.cpp" break; - case 363: /* string_type_spec: string_head '<' $@95 positive_int_expr $@96 '>' */ -#line 4091 "fe/idl.ypp" + case 370: /* string_type_spec: string_head '<' $@100 positive_int_expr $@101 '>' */ +#line 4176 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7104,11 +7235,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7108 "fe/idl.tab.cpp" +#line 7239 "fe/idl.tab.cpp" break; - case 364: /* string_type_spec: string_head */ -#line 4130 "fe/idl.ypp" + case 371: /* string_type_spec: string_head */ +#line 4215 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7131,35 +7262,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7135 "fe/idl.tab.cpp" +#line 7266 "fe/idl.tab.cpp" break; - case 365: /* string_head: IDL_STRING */ -#line 4156 "fe/idl.ypp" + case 372: /* string_head: IDL_STRING */ +#line 4241 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7143 "fe/idl.tab.cpp" +#line 7274 "fe/idl.tab.cpp" break; - case 366: /* $@97: %empty */ -#line 4164 "fe/idl.ypp" + case 373: /* $@102: %empty */ +#line 4249 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7151 "fe/idl.tab.cpp" +#line 7282 "fe/idl.tab.cpp" break; - case 367: /* $@98: %empty */ -#line 4168 "fe/idl.ypp" + case 374: /* $@103: %empty */ +#line 4253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7159 "fe/idl.tab.cpp" +#line 7290 "fe/idl.tab.cpp" break; - case 368: /* wstring_type_spec: wstring_head '<' $@97 positive_int_expr $@98 '>' */ -#line 4172 "fe/idl.ypp" + case 375: /* wstring_type_spec: wstring_head '<' $@102 positive_int_expr $@103 '>' */ +#line 4257 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7198,11 +7329,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7202 "fe/idl.tab.cpp" +#line 7333 "fe/idl.tab.cpp" break; - case 369: /* wstring_type_spec: wstring_head */ -#line 4211 "fe/idl.ypp" + case 376: /* wstring_type_spec: wstring_head */ +#line 4296 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7225,27 +7356,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7229 "fe/idl.tab.cpp" +#line 7360 "fe/idl.tab.cpp" break; - case 370: /* wstring_head: IDL_WSTRING */ -#line 4237 "fe/idl.ypp" + case 377: /* wstring_head: IDL_WSTRING */ +#line 4322 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7237 "fe/idl.tab.cpp" +#line 7368 "fe/idl.tab.cpp" break; - case 371: /* $@99: %empty */ -#line 4244 "fe/idl.ypp" + case 378: /* $@104: %empty */ +#line 4329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7245 "fe/idl.tab.cpp" +#line 7376 "fe/idl.tab.cpp" break; - case 372: /* array_declarator: defining_id $@99 annotations_maybe at_least_one_array_dim */ -#line 4248 "fe/idl.ypp" + case 379: /* array_declarator: defining_id $@104 annotations_maybe at_least_one_array_dim */ +#line 4333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7281,22 +7412,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7285 "fe/idl.tab.cpp" +#line 7416 "fe/idl.tab.cpp" break; - case 373: /* at_least_one_array_dim: array_dim array_dims */ -#line 4287 "fe/idl.ypp" + case 380: /* at_least_one_array_dim: array_dim array_dims */ +#line 4372 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7296 "fe/idl.tab.cpp" +#line 7427 "fe/idl.tab.cpp" break; - case 374: /* array_dims: array_dims array_dim */ -#line 4297 "fe/idl.ypp" + case 381: /* array_dims: array_dims array_dim */ +#line 4382 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7314,35 +7445,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7318 "fe/idl.tab.cpp" +#line 7449 "fe/idl.tab.cpp" break; - case 375: /* array_dims: %empty */ -#line 4315 "fe/idl.ypp" + case 382: /* array_dims: %empty */ +#line 4400 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7326 "fe/idl.tab.cpp" +#line 7457 "fe/idl.tab.cpp" break; - case 376: /* $@100: %empty */ -#line 4322 "fe/idl.ypp" + case 383: /* $@105: %empty */ +#line 4407 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7334 "fe/idl.tab.cpp" +#line 7465 "fe/idl.tab.cpp" break; - case 377: /* $@101: %empty */ -#line 4326 "fe/idl.ypp" + case 384: /* $@106: %empty */ +#line 4411 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7342 "fe/idl.tab.cpp" +#line 7473 "fe/idl.tab.cpp" break; - case 378: /* array_dim: '[' $@100 positive_int_expr $@101 ']' */ -#line 4330 "fe/idl.ypp" + case 385: /* array_dim: '[' $@105 positive_int_expr $@106 ']' */ +#line 4415 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7396,43 +7527,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7400 "fe/idl.tab.cpp" +#line 7531 "fe/idl.tab.cpp" break; - case 381: /* $@102: %empty */ -#line 4392 "fe/idl.ypp" + case 388: /* $@107: %empty */ +#line 4477 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7408 "fe/idl.tab.cpp" +#line 7539 "fe/idl.tab.cpp" break; - case 382: /* $@103: %empty */ -#line 4396 "fe/idl.ypp" + case 389: /* $@108: %empty */ +#line 4481 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7416 "fe/idl.tab.cpp" +#line 7547 "fe/idl.tab.cpp" break; - case 383: /* $@104: %empty */ -#line 4400 "fe/idl.ypp" + case 390: /* $@109: %empty */ +#line 4485 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7424 "fe/idl.tab.cpp" +#line 7555 "fe/idl.tab.cpp" break; - case 384: /* $@105: %empty */ -#line 4404 "fe/idl.ypp" + case 391: /* $@110: %empty */ +#line 4489 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7432 "fe/idl.tab.cpp" +#line 7563 "fe/idl.tab.cpp" break; - case 385: /* attribute_readonly: IDL_READONLY $@102 IDL_ATTRIBUTE $@103 param_type_spec $@104 at_least_one_simple_declarator $@105 opt_raises */ -#line 4408 "fe/idl.ypp" + case 392: /* attribute_readonly: IDL_READONLY $@107 IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_raises */ +#line 4493 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7484,43 +7615,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7488 "fe/idl.tab.cpp" +#line 7619 "fe/idl.tab.cpp" break; - case 386: /* $@106: %empty */ -#line 4463 "fe/idl.ypp" + case 393: /* $@111: %empty */ +#line 4548 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7496 "fe/idl.tab.cpp" +#line 7627 "fe/idl.tab.cpp" break; - case 387: /* $@107: %empty */ -#line 4467 "fe/idl.ypp" + case 394: /* $@112: %empty */ +#line 4552 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7504 "fe/idl.tab.cpp" +#line 7635 "fe/idl.tab.cpp" break; - case 388: /* $@108: %empty */ -#line 4471 "fe/idl.ypp" + case 395: /* $@113: %empty */ +#line 4556 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7512 "fe/idl.tab.cpp" +#line 7643 "fe/idl.tab.cpp" break; - case 389: /* $@109: %empty */ -#line 4475 "fe/idl.ypp" + case 396: /* $@114: %empty */ +#line 4560 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7520 "fe/idl.tab.cpp" +#line 7651 "fe/idl.tab.cpp" break; - case 390: /* attribute_readwrite: IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_getraises $@109 opt_setraises */ -#line 4479 "fe/idl.ypp" + case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@111 param_type_spec $@112 at_least_one_simple_declarator $@113 opt_getraises $@114 opt_setraises */ +#line 4564 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7581,19 +7712,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7585 "fe/idl.tab.cpp" +#line 7716 "fe/idl.tab.cpp" break; - case 391: /* $@110: %empty */ -#line 4543 "fe/idl.ypp" + case 398: /* $@115: %empty */ +#line 4628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7593 "fe/idl.tab.cpp" +#line 7724 "fe/idl.tab.cpp" break; - case 392: /* @111: %empty */ -#line 4547 "fe/idl.ypp" + case 399: /* @116: %empty */ +#line 4632 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7625,27 +7756,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7629 "fe/idl.tab.cpp" +#line 7760 "fe/idl.tab.cpp" break; - case 393: /* $@112: %empty */ -#line 4579 "fe/idl.ypp" + case 400: /* $@117: %empty */ +#line 4664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7637 "fe/idl.tab.cpp" +#line 7768 "fe/idl.tab.cpp" break; - case 394: /* $@113: %empty */ -#line 4583 "fe/idl.ypp" + case 401: /* $@118: %empty */ +#line 4668 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7645 "fe/idl.tab.cpp" +#line 7776 "fe/idl.tab.cpp" break; - case 395: /* exception: IDL_EXCEPTION $@110 defining_id @111 '{' $@112 members $@113 '}' */ -#line 4587 "fe/idl.ypp" + case 402: /* exception: IDL_EXCEPTION $@115 defining_id @116 '{' $@117 members $@118 '}' */ +#line 4672 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7655,19 +7786,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7659 "fe/idl.tab.cpp" +#line 7790 "fe/idl.tab.cpp" break; - case 396: /* $@114: %empty */ -#line 4600 "fe/idl.ypp" + case 403: /* $@119: %empty */ +#line 4685 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7667 "fe/idl.tab.cpp" +#line 7798 "fe/idl.tab.cpp" break; - case 397: /* $@115: %empty */ -#line 4604 "fe/idl.ypp" + case 404: /* $@120: %empty */ +#line 4689 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7728,27 +7859,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7732 "fe/idl.tab.cpp" +#line 7863 "fe/idl.tab.cpp" break; - case 398: /* $@116: %empty */ -#line 4665 "fe/idl.ypp" + case 405: /* $@121: %empty */ +#line 4750 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7740 "fe/idl.tab.cpp" +#line 7871 "fe/idl.tab.cpp" break; - case 399: /* $@117: %empty */ -#line 4669 "fe/idl.ypp" + case 406: /* $@122: %empty */ +#line 4754 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7748 "fe/idl.tab.cpp" +#line 7879 "fe/idl.tab.cpp" break; - case 400: /* operation: opt_op_attribute op_type_spec $@114 IDENTIFIER $@115 parameter_list $@116 opt_raises $@117 opt_context */ -#line 4673 "fe/idl.ypp" + case 407: /* operation: opt_op_attribute op_type_spec $@119 IDENTIFIER $@120 parameter_list $@121 opt_raises $@122 opt_context */ +#line 4758 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7779,57 +7910,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7783 "fe/idl.tab.cpp" +#line 7914 "fe/idl.tab.cpp" break; - case 401: /* opt_op_attribute: IDL_ONEWAY */ -#line 4707 "fe/idl.ypp" + case 408: /* opt_op_attribute: IDL_ONEWAY */ +#line 4792 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7792 "fe/idl.tab.cpp" +#line 7923 "fe/idl.tab.cpp" break; - case 402: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4712 "fe/idl.ypp" + case 409: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4797 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7801 "fe/idl.tab.cpp" +#line 7932 "fe/idl.tab.cpp" break; - case 403: /* opt_op_attribute: %empty */ -#line 4717 "fe/idl.ypp" + case 410: /* opt_op_attribute: %empty */ +#line 4802 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7809 "fe/idl.tab.cpp" +#line 7940 "fe/idl.tab.cpp" break; - case 405: /* op_type_spec: IDL_VOID */ -#line 4725 "fe/idl.ypp" + case 412: /* op_type_spec: IDL_VOID */ +#line 4810 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7820 "fe/idl.tab.cpp" +#line 7951 "fe/idl.tab.cpp" break; - case 406: /* $@118: %empty */ -#line 4735 "fe/idl.ypp" + case 413: /* $@123: %empty */ +#line 4820 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7829 "fe/idl.tab.cpp" +#line 7960 "fe/idl.tab.cpp" break; - case 407: /* @119: %empty */ -#line 4740 "fe/idl.ypp" + case 414: /* @124: %empty */ +#line 4825 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7872,19 +8003,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 7876 "fe/idl.tab.cpp" +#line 8007 "fe/idl.tab.cpp" break; - case 408: /* $@120: %empty */ -#line 4783 "fe/idl.ypp" + case 415: /* $@125: %empty */ +#line 4868 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7884 "fe/idl.tab.cpp" +#line 8015 "fe/idl.tab.cpp" break; - case 409: /* init_decl: IDL_FACTORY $@118 IDENTIFIER @119 init_parameter_list $@120 opt_raises */ -#line 4787 "fe/idl.ypp" + case 416: /* init_decl: IDL_FACTORY $@123 IDENTIFIER @124 init_parameter_list $@125 opt_raises */ +#line 4872 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -7899,67 +8030,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 7903 "fe/idl.tab.cpp" +#line 8034 "fe/idl.tab.cpp" break; - case 410: /* $@121: %empty */ -#line 4805 "fe/idl.ypp" + case 417: /* $@126: %empty */ +#line 4890 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7911 "fe/idl.tab.cpp" +#line 8042 "fe/idl.tab.cpp" break; - case 411: /* init_parameter_list: '(' $@121 ')' */ -#line 4809 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@126 ')' */ +#line 4894 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7919 "fe/idl.tab.cpp" +#line 8050 "fe/idl.tab.cpp" break; - case 412: /* $@122: %empty */ -#line 4813 "fe/idl.ypp" + case 419: /* $@127: %empty */ +#line 4898 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 7927 "fe/idl.tab.cpp" +#line 8058 "fe/idl.tab.cpp" break; - case 413: /* init_parameter_list: '(' $@122 at_least_one_in_parameter ')' */ -#line 4818 "fe/idl.ypp" + case 420: /* init_parameter_list: '(' $@127 at_least_one_in_parameter ')' */ +#line 4903 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 7935 "fe/idl.tab.cpp" +#line 8066 "fe/idl.tab.cpp" break; - case 415: /* $@123: %empty */ -#line 4828 "fe/idl.ypp" + case 422: /* $@128: %empty */ +#line 4913 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 7943 "fe/idl.tab.cpp" +#line 8074 "fe/idl.tab.cpp" break; - case 418: /* $@124: %empty */ -#line 4837 "fe/idl.ypp" + case 425: /* $@129: %empty */ +#line 4922 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 7951 "fe/idl.tab.cpp" +#line 8082 "fe/idl.tab.cpp" break; - case 419: /* $@125: %empty */ -#line 4841 "fe/idl.ypp" + case 426: /* $@130: %empty */ +#line 4926 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 7959 "fe/idl.tab.cpp" +#line 8090 "fe/idl.tab.cpp" break; - case 420: /* in_parameter: IDL_IN $@124 param_type_spec $@125 declarator */ -#line 4845 "fe/idl.ypp" + case 427: /* in_parameter: IDL_IN $@129 param_type_spec $@130 declarator */ +#line 4930 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -7991,67 +8122,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 7995 "fe/idl.tab.cpp" +#line 8126 "fe/idl.tab.cpp" break; - case 421: /* $@126: %empty */ -#line 4880 "fe/idl.ypp" + case 428: /* $@131: %empty */ +#line 4965 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8003 "fe/idl.tab.cpp" +#line 8134 "fe/idl.tab.cpp" break; - case 422: /* parameter_list: '(' $@126 ')' */ -#line 4884 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@131 ')' */ +#line 4969 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8011 "fe/idl.tab.cpp" +#line 8142 "fe/idl.tab.cpp" break; - case 423: /* $@127: %empty */ -#line 4888 "fe/idl.ypp" + case 430: /* $@132: %empty */ +#line 4973 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8019 "fe/idl.tab.cpp" +#line 8150 "fe/idl.tab.cpp" break; - case 424: /* parameter_list: '(' $@127 at_least_one_parameter ')' */ -#line 4893 "fe/idl.ypp" + case 431: /* parameter_list: '(' $@132 at_least_one_parameter ')' */ +#line 4978 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8027 "fe/idl.tab.cpp" +#line 8158 "fe/idl.tab.cpp" break; - case 426: /* $@128: %empty */ -#line 4903 "fe/idl.ypp" + case 433: /* $@133: %empty */ +#line 4988 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8035 "fe/idl.tab.cpp" +#line 8166 "fe/idl.tab.cpp" break; - case 429: /* $@129: %empty */ -#line 4912 "fe/idl.ypp" + case 436: /* $@134: %empty */ +#line 4997 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8043 "fe/idl.tab.cpp" +#line 8174 "fe/idl.tab.cpp" break; - case 430: /* $@130: %empty */ -#line 4916 "fe/idl.ypp" + case 437: /* $@135: %empty */ +#line 5001 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8051 "fe/idl.tab.cpp" +#line 8182 "fe/idl.tab.cpp" break; - case 431: /* parameter: direction $@129 param_type_spec $@130 declarator */ -#line 4920 "fe/idl.ypp" + case 438: /* parameter: direction $@134 param_type_spec $@135 declarator */ +#line 5005 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8090,22 +8221,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8094 "fe/idl.tab.cpp" +#line 8225 "fe/idl.tab.cpp" break; - case 432: /* param_type_spec: base_type_spec */ -#line 4962 "fe/idl.ypp" + case 439: /* param_type_spec: base_type_spec */ +#line 5047 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8105 "fe/idl.tab.cpp" +#line 8236 "fe/idl.tab.cpp" break; - case 435: /* param_type_spec: scoped_name */ -#line 4971 "fe/idl.ypp" + case 442: /* param_type_spec: scoped_name */ +#line 5056 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8209,186 +8340,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8213 "fe/idl.tab.cpp" +#line 8344 "fe/idl.tab.cpp" break; - case 436: /* direction: IDL_IN */ -#line 5078 "fe/idl.ypp" + case 443: /* direction: IDL_IN */ +#line 5163 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8221 "fe/idl.tab.cpp" +#line 8352 "fe/idl.tab.cpp" break; - case 437: /* direction: IDL_OUT */ -#line 5082 "fe/idl.ypp" + case 444: /* direction: IDL_OUT */ +#line 5167 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8229 "fe/idl.tab.cpp" +#line 8360 "fe/idl.tab.cpp" break; - case 438: /* direction: IDL_INOUT */ -#line 5086 "fe/idl.ypp" + case 445: /* direction: IDL_INOUT */ +#line 5171 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8237 "fe/idl.tab.cpp" +#line 8368 "fe/idl.tab.cpp" break; - case 439: /* $@131: %empty */ -#line 5093 "fe/idl.ypp" + case 446: /* $@136: %empty */ +#line 5178 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8245 "fe/idl.tab.cpp" +#line 8376 "fe/idl.tab.cpp" break; - case 440: /* $@132: %empty */ -#line 5097 "fe/idl.ypp" + case 447: /* $@137: %empty */ +#line 5182 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8253 "fe/idl.tab.cpp" +#line 8384 "fe/idl.tab.cpp" break; - case 441: /* opt_raises: IDL_RAISES $@131 '(' $@132 at_least_one_scoped_name ')' */ -#line 5102 "fe/idl.ypp" + case 448: /* opt_raises: IDL_RAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ +#line 5187 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8262 "fe/idl.tab.cpp" +#line 8393 "fe/idl.tab.cpp" break; - case 442: /* opt_raises: %empty */ -#line 5107 "fe/idl.ypp" + case 449: /* opt_raises: %empty */ +#line 5192 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8270 "fe/idl.tab.cpp" +#line 8401 "fe/idl.tab.cpp" break; - case 443: /* $@133: %empty */ -#line 5114 "fe/idl.ypp" + case 450: /* $@138: %empty */ +#line 5199 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8278 "fe/idl.tab.cpp" +#line 8409 "fe/idl.tab.cpp" break; - case 444: /* $@134: %empty */ -#line 5118 "fe/idl.ypp" + case 451: /* $@139: %empty */ +#line 5203 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8286 "fe/idl.tab.cpp" +#line 8417 "fe/idl.tab.cpp" break; - case 445: /* opt_getraises: IDL_GETRAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ -#line 5123 "fe/idl.ypp" + case 452: /* opt_getraises: IDL_GETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ +#line 5208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8295 "fe/idl.tab.cpp" +#line 8426 "fe/idl.tab.cpp" break; - case 446: /* opt_getraises: %empty */ -#line 5128 "fe/idl.ypp" + case 453: /* opt_getraises: %empty */ +#line 5213 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8303 "fe/idl.tab.cpp" +#line 8434 "fe/idl.tab.cpp" break; - case 447: /* $@135: %empty */ -#line 5135 "fe/idl.ypp" + case 454: /* $@140: %empty */ +#line 5220 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8311 "fe/idl.tab.cpp" +#line 8442 "fe/idl.tab.cpp" break; - case 448: /* $@136: %empty */ -#line 5139 "fe/idl.ypp" + case 455: /* $@141: %empty */ +#line 5224 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8319 "fe/idl.tab.cpp" +#line 8450 "fe/idl.tab.cpp" break; - case 449: /* opt_setraises: IDL_SETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5144 "fe/idl.ypp" + case 456: /* opt_setraises: IDL_SETRAISES $@140 '(' $@141 at_least_one_scoped_name ')' */ +#line 5229 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8328 "fe/idl.tab.cpp" +#line 8459 "fe/idl.tab.cpp" break; - case 450: /* opt_setraises: %empty */ -#line 5149 "fe/idl.ypp" + case 457: /* opt_setraises: %empty */ +#line 5234 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8336 "fe/idl.tab.cpp" +#line 8467 "fe/idl.tab.cpp" break; - case 451: /* $@137: %empty */ -#line 5156 "fe/idl.ypp" + case 458: /* $@142: %empty */ +#line 5241 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8344 "fe/idl.tab.cpp" +#line 8475 "fe/idl.tab.cpp" break; - case 452: /* $@138: %empty */ -#line 5160 "fe/idl.ypp" + case 459: /* $@143: %empty */ +#line 5245 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8352 "fe/idl.tab.cpp" +#line 8483 "fe/idl.tab.cpp" break; - case 453: /* opt_context: IDL_CONTEXT $@137 '(' $@138 at_least_one_string_literal ')' */ -#line 5165 "fe/idl.ypp" + case 460: /* opt_context: IDL_CONTEXT $@142 '(' $@143 at_least_one_string_literal ')' */ +#line 5250 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8361 "fe/idl.tab.cpp" +#line 8492 "fe/idl.tab.cpp" break; - case 454: /* opt_context: %empty */ -#line 5170 "fe/idl.ypp" + case 461: /* opt_context: %empty */ +#line 5255 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8369 "fe/idl.tab.cpp" +#line 8500 "fe/idl.tab.cpp" break; - case 455: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5177 "fe/idl.ypp" + case 462: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5262 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8380 "fe/idl.tab.cpp" +#line 8511 "fe/idl.tab.cpp" break; - case 456: /* $@139: %empty */ -#line 5188 "fe/idl.ypp" + case 463: /* $@144: %empty */ +#line 5273 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8388 "fe/idl.tab.cpp" +#line 8519 "fe/idl.tab.cpp" break; - case 457: /* string_literals: string_literals ',' $@139 IDL_STRING_LITERAL */ -#line 5192 "fe/idl.ypp" + case 464: /* string_literals: string_literals ',' $@144 IDL_STRING_LITERAL */ +#line 5277 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8406,19 +8537,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8410 "fe/idl.tab.cpp" +#line 8541 "fe/idl.tab.cpp" break; - case 458: /* string_literals: %empty */ -#line 5210 "fe/idl.ypp" + case 465: /* string_literals: %empty */ +#line 5295 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8418 "fe/idl.tab.cpp" +#line 8549 "fe/idl.tab.cpp" break; - case 459: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5217 "fe/idl.ypp" + case 466: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5302 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8445,11 +8576,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8449 "fe/idl.tab.cpp" +#line 8580 "fe/idl.tab.cpp" break; - case 460: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5247 "fe/idl.ypp" + case 467: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5332 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8485,11 +8616,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8489 "fe/idl.tab.cpp" +#line 8620 "fe/idl.tab.cpp" break; - case 463: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5292 "fe/idl.ypp" + case 470: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5377 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8515,11 +8646,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8519 "fe/idl.tab.cpp" +#line 8650 "fe/idl.tab.cpp" break; - case 464: /* @140: %empty */ -#line 5321 "fe/idl.ypp" + case 471: /* @145: %empty */ +#line 5406 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8561,27 +8692,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8565 "fe/idl.tab.cpp" +#line 8696 "fe/idl.tab.cpp" break; - case 465: /* $@141: %empty */ -#line 5363 "fe/idl.ypp" + case 472: /* $@146: %empty */ +#line 5448 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8573 "fe/idl.tab.cpp" +#line 8704 "fe/idl.tab.cpp" break; - case 466: /* $@142: %empty */ -#line 5367 "fe/idl.ypp" + case 473: /* $@147: %empty */ +#line 5452 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8581 "fe/idl.tab.cpp" +#line 8712 "fe/idl.tab.cpp" break; - case 467: /* component_decl: component_header @140 '{' $@141 component_exports $@142 '}' */ -#line 5371 "fe/idl.ypp" + case 474: /* component_decl: component_header @145 '{' $@146 component_exports $@147 '}' */ +#line 5456 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8592,27 +8723,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8596 "fe/idl.tab.cpp" +#line 8727 "fe/idl.tab.cpp" break; - case 468: /* $@143: %empty */ -#line 5386 "fe/idl.ypp" + case 475: /* $@148: %empty */ +#line 5471 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8604 "fe/idl.tab.cpp" +#line 8735 "fe/idl.tab.cpp" break; - case 469: /* $@144: %empty */ -#line 5390 "fe/idl.ypp" + case 476: /* $@149: %empty */ +#line 5475 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8612 "fe/idl.tab.cpp" +#line 8743 "fe/idl.tab.cpp" break; - case 470: /* component_header: IDL_COMPONENT defining_id $@143 component_inheritance_spec $@144 supports_spec */ -#line 5394 "fe/idl.ypp" + case 477: /* component_header: IDL_COMPONENT defining_id $@148 component_inheritance_spec $@149 supports_spec */ +#line 5479 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8646,35 +8777,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8650 "fe/idl.tab.cpp" +#line 8781 "fe/idl.tab.cpp" break; - case 471: /* $@145: %empty */ -#line 5431 "fe/idl.ypp" + case 478: /* $@150: %empty */ +#line 5516 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8658 "fe/idl.tab.cpp" +#line 8789 "fe/idl.tab.cpp" break; - case 472: /* component_inheritance_spec: ':' $@145 scoped_name */ -#line 5435 "fe/idl.ypp" + case 479: /* component_inheritance_spec: ':' $@150 scoped_name */ +#line 5520 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8666 "fe/idl.tab.cpp" +#line 8797 "fe/idl.tab.cpp" break; - case 473: /* component_inheritance_spec: %empty */ -#line 5439 "fe/idl.ypp" + case 480: /* component_inheritance_spec: %empty */ +#line 5524 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8674 "fe/idl.tab.cpp" +#line 8805 "fe/idl.tab.cpp" break; - case 474: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5446 "fe/idl.ypp" + case 481: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5531 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8689,130 +8820,130 @@ yyparse (void) } delete annotations; } -#line 8693 "fe/idl.tab.cpp" +#line 8824 "fe/idl.tab.cpp" break; - case 477: /* $@146: %empty */ -#line 5466 "fe/idl.ypp" + case 484: /* $@151: %empty */ +#line 5551 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8701 "fe/idl.tab.cpp" +#line 8832 "fe/idl.tab.cpp" break; - case 478: /* component_export: provides_decl $@146 ';' */ -#line 5470 "fe/idl.ypp" + case 485: /* component_export: provides_decl $@151 ';' */ +#line 5555 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8710 "fe/idl.tab.cpp" +#line 8841 "fe/idl.tab.cpp" break; - case 479: /* $@147: %empty */ -#line 5475 "fe/idl.ypp" + case 486: /* $@152: %empty */ +#line 5560 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8718 "fe/idl.tab.cpp" +#line 8849 "fe/idl.tab.cpp" break; - case 480: /* component_export: uses_decl $@147 ';' */ -#line 5479 "fe/idl.ypp" + case 487: /* component_export: uses_decl $@152 ';' */ +#line 5564 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8727 "fe/idl.tab.cpp" +#line 8858 "fe/idl.tab.cpp" break; - case 481: /* $@148: %empty */ -#line 5484 "fe/idl.ypp" + case 488: /* $@153: %empty */ +#line 5569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8735 "fe/idl.tab.cpp" +#line 8866 "fe/idl.tab.cpp" break; - case 482: /* component_export: emits_decl $@148 ';' */ -#line 5488 "fe/idl.ypp" + case 489: /* component_export: emits_decl $@153 ';' */ +#line 5573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8744 "fe/idl.tab.cpp" +#line 8875 "fe/idl.tab.cpp" break; - case 483: /* $@149: %empty */ -#line 5493 "fe/idl.ypp" + case 490: /* $@154: %empty */ +#line 5578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8752 "fe/idl.tab.cpp" +#line 8883 "fe/idl.tab.cpp" break; - case 484: /* component_export: publishes_decl $@149 ';' */ -#line 5497 "fe/idl.ypp" + case 491: /* component_export: publishes_decl $@154 ';' */ +#line 5582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8761 "fe/idl.tab.cpp" +#line 8892 "fe/idl.tab.cpp" break; - case 485: /* $@150: %empty */ -#line 5502 "fe/idl.ypp" + case 492: /* $@155: %empty */ +#line 5587 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8769 "fe/idl.tab.cpp" +#line 8900 "fe/idl.tab.cpp" break; - case 486: /* component_export: consumes_decl $@150 ';' */ -#line 5506 "fe/idl.ypp" + case 493: /* component_export: consumes_decl $@155 ';' */ +#line 5591 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8778 "fe/idl.tab.cpp" +#line 8909 "fe/idl.tab.cpp" break; - case 487: /* $@151: %empty */ -#line 5511 "fe/idl.ypp" + case 494: /* $@156: %empty */ +#line 5596 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8786 "fe/idl.tab.cpp" +#line 8917 "fe/idl.tab.cpp" break; - case 488: /* component_export: attribute $@151 ';' */ -#line 5515 "fe/idl.ypp" + case 495: /* component_export: attribute $@156 ';' */ +#line 5600 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8795 "fe/idl.tab.cpp" +#line 8926 "fe/idl.tab.cpp" break; - case 489: /* $@152: %empty */ -#line 5520 "fe/idl.ypp" + case 496: /* $@157: %empty */ +#line 5605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8803 "fe/idl.tab.cpp" +#line 8934 "fe/idl.tab.cpp" break; - case 490: /* component_export: extended_port_decl $@152 ';' */ -#line 5524 "fe/idl.ypp" + case 497: /* component_export: extended_port_decl $@157 ';' */ +#line 5609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8812 "fe/idl.tab.cpp" +#line 8943 "fe/idl.tab.cpp" break; - case 491: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5531 "fe/idl.ypp" + case 498: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5616 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -8902,21 +9033,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 8906 "fe/idl.tab.cpp" +#line 9037 "fe/idl.tab.cpp" break; - case 492: /* interface_type: scoped_name */ -#line 5624 "fe/idl.ypp" + case 499: /* interface_type: scoped_name */ +#line 5709 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 8916 "fe/idl.tab.cpp" +#line 9047 "fe/idl.tab.cpp" break; - case 493: /* interface_type: IDL_OBJECT */ -#line 5630 "fe/idl.ypp" + case 500: /* interface_type: IDL_OBJECT */ +#line 5715 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -8939,11 +9070,11 @@ yyparse (void) conc_name), 1); } -#line 8943 "fe/idl.tab.cpp" +#line 9074 "fe/idl.tab.cpp" break; - case 494: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5655 "fe/idl.ypp" + case 501: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5740 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9047,37 +9178,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9051 "fe/idl.tab.cpp" +#line 9182 "fe/idl.tab.cpp" break; - case 495: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5762 "fe/idl.ypp" + case 502: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5847 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9061 "fe/idl.tab.cpp" +#line 9192 "fe/idl.tab.cpp" break; - case 496: /* opt_multiple: IDL_MULTIPLE */ -#line 5771 "fe/idl.ypp" + case 503: /* opt_multiple: IDL_MULTIPLE */ +#line 5856 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9069 "fe/idl.tab.cpp" +#line 9200 "fe/idl.tab.cpp" break; - case 497: /* opt_multiple: %empty */ -#line 5775 "fe/idl.ypp" + case 504: /* opt_multiple: %empty */ +#line 5860 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9077 "fe/idl.tab.cpp" +#line 9208 "fe/idl.tab.cpp" break; - case 498: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5782 "fe/idl.ypp" + case 505: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5867 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9149,11 +9280,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9153 "fe/idl.tab.cpp" +#line 9284 "fe/idl.tab.cpp" break; - case 499: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 5857 "fe/idl.ypp" + case 506: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 5942 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9222,11 +9353,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9226 "fe/idl.tab.cpp" +#line 9357 "fe/idl.tab.cpp" break; - case 500: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 5929 "fe/idl.ypp" + case 507: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6014 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9298,11 +9429,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9302 "fe/idl.tab.cpp" +#line 9433 "fe/idl.tab.cpp" break; - case 501: /* $@153: %empty */ -#line 6004 "fe/idl.ypp" + case 508: /* $@158: %empty */ +#line 6089 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9339,11 +9470,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9343 "fe/idl.tab.cpp" +#line 9474 "fe/idl.tab.cpp" break; - case 502: /* home_decl: home_header $@153 home_body */ -#line 6041 "fe/idl.ypp" + case 509: /* home_decl: home_header $@158 home_body */ +#line 6126 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9352,59 +9483,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9356 "fe/idl.tab.cpp" +#line 9487 "fe/idl.tab.cpp" break; - case 503: /* $@154: %empty */ -#line 6053 "fe/idl.ypp" + case 510: /* $@159: %empty */ +#line 6138 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9364 "fe/idl.tab.cpp" +#line 9495 "fe/idl.tab.cpp" break; - case 504: /* $@155: %empty */ -#line 6057 "fe/idl.ypp" + case 511: /* $@160: %empty */ +#line 6142 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9372 "fe/idl.tab.cpp" +#line 9503 "fe/idl.tab.cpp" break; - case 505: /* $@156: %empty */ -#line 6061 "fe/idl.ypp" + case 512: /* $@161: %empty */ +#line 6146 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9380 "fe/idl.tab.cpp" +#line 9511 "fe/idl.tab.cpp" break; - case 506: /* $@157: %empty */ -#line 6065 "fe/idl.ypp" + case 513: /* $@162: %empty */ +#line 6150 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9388 "fe/idl.tab.cpp" +#line 9519 "fe/idl.tab.cpp" break; - case 507: /* $@158: %empty */ -#line 6069 "fe/idl.ypp" + case 514: /* $@163: %empty */ +#line 6154 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9396 "fe/idl.tab.cpp" +#line 9527 "fe/idl.tab.cpp" break; - case 508: /* $@159: %empty */ -#line 6073 "fe/idl.ypp" + case 515: /* $@164: %empty */ +#line 6158 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9404 "fe/idl.tab.cpp" +#line 9535 "fe/idl.tab.cpp" break; - case 509: /* home_header: IDL_HOME $@154 defining_id $@155 home_inheritance_spec $@156 supports_spec $@157 IDL_MANAGES $@158 scoped_name $@159 primary_key_spec */ -#line 6077 "fe/idl.ypp" + case 516: /* home_header: IDL_HOME $@159 defining_id $@160 home_inheritance_spec $@161 supports_spec $@162 IDL_MANAGES $@163 scoped_name $@164 primary_key_spec */ +#line 6162 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9450,107 +9581,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9454 "fe/idl.tab.cpp" +#line 9585 "fe/idl.tab.cpp" break; - case 510: /* $@160: %empty */ -#line 6126 "fe/idl.ypp" + case 517: /* $@165: %empty */ +#line 6211 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9462 "fe/idl.tab.cpp" +#line 9593 "fe/idl.tab.cpp" break; - case 511: /* home_inheritance_spec: ':' $@160 scoped_name */ -#line 6130 "fe/idl.ypp" + case 518: /* home_inheritance_spec: ':' $@165 scoped_name */ +#line 6215 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9470 "fe/idl.tab.cpp" +#line 9601 "fe/idl.tab.cpp" break; - case 512: /* home_inheritance_spec: %empty */ -#line 6134 "fe/idl.ypp" + case 519: /* home_inheritance_spec: %empty */ +#line 6219 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9478 "fe/idl.tab.cpp" +#line 9609 "fe/idl.tab.cpp" break; - case 513: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6142 "fe/idl.ypp" + case 520: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6227 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9486 "fe/idl.tab.cpp" +#line 9617 "fe/idl.tab.cpp" break; - case 514: /* primary_key_spec: %empty */ -#line 6146 "fe/idl.ypp" + case 521: /* primary_key_spec: %empty */ +#line 6231 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9494 "fe/idl.tab.cpp" +#line 9625 "fe/idl.tab.cpp" break; - case 515: /* $@161: %empty */ -#line 6153 "fe/idl.ypp" + case 522: /* $@166: %empty */ +#line 6238 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9502 "fe/idl.tab.cpp" +#line 9633 "fe/idl.tab.cpp" break; - case 516: /* $@162: %empty */ -#line 6157 "fe/idl.ypp" + case 523: /* $@167: %empty */ +#line 6242 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9510 "fe/idl.tab.cpp" +#line 9641 "fe/idl.tab.cpp" break; - case 517: /* home_body: '{' $@161 home_exports $@162 '}' */ -#line 6161 "fe/idl.ypp" + case 524: /* home_body: '{' $@166 home_exports $@167 '}' */ +#line 6246 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9518 "fe/idl.tab.cpp" +#line 9649 "fe/idl.tab.cpp" break; - case 521: /* $@163: %empty */ -#line 6174 "fe/idl.ypp" + case 528: /* $@168: %empty */ +#line 6259 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9526 "fe/idl.tab.cpp" +#line 9657 "fe/idl.tab.cpp" break; - case 522: /* home_export: factory_decl $@163 ';' */ -#line 6178 "fe/idl.ypp" + case 529: /* home_export: factory_decl $@168 ';' */ +#line 6263 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9534 "fe/idl.tab.cpp" +#line 9665 "fe/idl.tab.cpp" break; - case 523: /* $@164: %empty */ -#line 6182 "fe/idl.ypp" + case 530: /* $@169: %empty */ +#line 6267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9542 "fe/idl.tab.cpp" +#line 9673 "fe/idl.tab.cpp" break; - case 524: /* home_export: finder_decl $@164 ';' */ -#line 6186 "fe/idl.ypp" + case 531: /* home_export: finder_decl $@169 ';' */ +#line 6271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9550 "fe/idl.tab.cpp" +#line 9681 "fe/idl.tab.cpp" break; - case 525: /* $@165: %empty */ -#line 6194 "fe/idl.ypp" + case 532: /* $@170: %empty */ +#line 6279 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9573,19 +9704,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9577 "fe/idl.tab.cpp" +#line 9708 "fe/idl.tab.cpp" break; - case 526: /* $@166: %empty */ -#line 6217 "fe/idl.ypp" + case 533: /* $@171: %empty */ +#line 6302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9585 "fe/idl.tab.cpp" +#line 9716 "fe/idl.tab.cpp" break; - case 527: /* factory_decl: IDL_FACTORY defining_id $@165 init_parameter_list $@166 opt_raises */ -#line 6221 "fe/idl.ypp" + case 534: /* factory_decl: IDL_FACTORY defining_id $@170 init_parameter_list $@171 opt_raises */ +#line 6306 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9603,11 +9734,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9607 "fe/idl.tab.cpp" +#line 9738 "fe/idl.tab.cpp" break; - case 528: /* $@167: %empty */ -#line 6243 "fe/idl.ypp" + case 535: /* $@172: %empty */ +#line 6328 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9634,19 +9765,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9638 "fe/idl.tab.cpp" +#line 9769 "fe/idl.tab.cpp" break; - case 529: /* $@168: %empty */ -#line 6270 "fe/idl.ypp" + case 536: /* $@173: %empty */ +#line 6355 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9646 "fe/idl.tab.cpp" +#line 9777 "fe/idl.tab.cpp" break; - case 530: /* finder_decl: IDL_FINDER defining_id $@167 init_parameter_list $@168 opt_raises */ -#line 6274 "fe/idl.ypp" + case 537: /* finder_decl: IDL_FINDER defining_id $@172 init_parameter_list $@173 opt_raises */ +#line 6359 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9664,11 +9795,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9668 "fe/idl.tab.cpp" +#line 9799 "fe/idl.tab.cpp" break; - case 536: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6307 "fe/idl.ypp" + case 543: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6392 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9693,11 +9824,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9697 "fe/idl.tab.cpp" +#line 9828 "fe/idl.tab.cpp" break; - case 537: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6337 "fe/idl.ypp" + case 544: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6422 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9722,11 +9853,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9726 "fe/idl.tab.cpp" +#line 9857 "fe/idl.tab.cpp" break; - case 538: /* $@169: %empty */ -#line 6366 "fe/idl.ypp" + case 545: /* $@174: %empty */ +#line 6451 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9770,27 +9901,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9774 "fe/idl.tab.cpp" +#line 9905 "fe/idl.tab.cpp" break; - case 539: /* $@170: %empty */ -#line 6410 "fe/idl.ypp" + case 546: /* $@175: %empty */ +#line 6495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9782 "fe/idl.tab.cpp" +#line 9913 "fe/idl.tab.cpp" break; - case 540: /* $@171: %empty */ -#line 6414 "fe/idl.ypp" + case 547: /* $@176: %empty */ +#line 6499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9790 "fe/idl.tab.cpp" +#line 9921 "fe/idl.tab.cpp" break; - case 541: /* event_abs_decl: event_abs_header event_rest_of_header $@169 '{' $@170 exports $@171 '}' */ -#line 6418 "fe/idl.ypp" + case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@174 '{' $@175 exports $@176 '}' */ +#line 6503 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9801,19 +9932,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9805 "fe/idl.tab.cpp" +#line 9936 "fe/idl.tab.cpp" break; - case 542: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6434 "fe/idl.ypp" + case 549: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6519 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9813 "fe/idl.tab.cpp" +#line 9944 "fe/idl.tab.cpp" break; - case 543: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6443 "fe/idl.ypp" + case 550: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6528 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9826,29 +9957,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9830 "fe/idl.tab.cpp" +#line 9961 "fe/idl.tab.cpp" break; - case 544: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6460 "fe/idl.ypp" + case 551: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9840 "fe/idl.tab.cpp" +#line 9971 "fe/idl.tab.cpp" break; - case 545: /* $@172: %empty */ -#line 6469 "fe/idl.ypp" + case 552: /* $@177: %empty */ +#line 6554 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9848 "fe/idl.tab.cpp" +#line 9979 "fe/idl.tab.cpp" break; - case 546: /* event_rest_of_header: inheritance_spec $@172 supports_spec */ -#line 6473 "fe/idl.ypp" + case 553: /* event_rest_of_header: inheritance_spec $@177 supports_spec */ +#line 6558 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -9877,11 +10008,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 9881 "fe/idl.tab.cpp" +#line 10012 "fe/idl.tab.cpp" break; - case 547: /* @173: %empty */ -#line 6506 "fe/idl.ypp" + case 554: /* @178: %empty */ +#line 6591 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -9932,27 +10063,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 9936 "fe/idl.tab.cpp" +#line 10067 "fe/idl.tab.cpp" break; - case 548: /* $@174: %empty */ -#line 6557 "fe/idl.ypp" + case 555: /* $@179: %empty */ +#line 6642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9944 "fe/idl.tab.cpp" +#line 10075 "fe/idl.tab.cpp" break; - case 549: /* $@175: %empty */ -#line 6561 "fe/idl.ypp" + case 556: /* $@180: %empty */ +#line 6646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9952 "fe/idl.tab.cpp" +#line 10083 "fe/idl.tab.cpp" break; - case 550: /* event_decl: event_header event_rest_of_header @173 '{' $@174 value_elements $@175 '}' */ -#line 6565 "fe/idl.ypp" + case 557: /* event_decl: event_header event_rest_of_header @178 '{' $@179 value_elements $@180 '}' */ +#line 6650 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9963,108 +10094,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 9967 "fe/idl.tab.cpp" +#line 10098 "fe/idl.tab.cpp" break; - case 551: /* event_header: event_custom_header */ -#line 6579 "fe/idl.ypp" + case 558: /* event_header: event_custom_header */ +#line 6664 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9975 "fe/idl.tab.cpp" +#line 10106 "fe/idl.tab.cpp" break; - case 552: /* event_header: event_plain_header */ -#line 6583 "fe/idl.ypp" + case 559: /* event_header: event_plain_header */ +#line 6668 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9983 "fe/idl.tab.cpp" +#line 10114 "fe/idl.tab.cpp" break; - case 553: /* formal_parameter_type: IDL_TYPENAME */ -#line 6590 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_TYPENAME */ +#line 6675 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 9991 "fe/idl.tab.cpp" +#line 10122 "fe/idl.tab.cpp" break; - case 554: /* formal_parameter_type: IDL_STRUCT */ -#line 6594 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_STRUCT */ +#line 6679 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 9999 "fe/idl.tab.cpp" +#line 10130 "fe/idl.tab.cpp" break; - case 555: /* formal_parameter_type: IDL_UNION */ -#line 6598 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_UNION */ +#line 6683 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10007 "fe/idl.tab.cpp" +#line 10138 "fe/idl.tab.cpp" break; - case 556: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6602 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6687 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10015 "fe/idl.tab.cpp" +#line 10146 "fe/idl.tab.cpp" break; - case 557: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6606 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6691 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10023 "fe/idl.tab.cpp" +#line 10154 "fe/idl.tab.cpp" break; - case 558: /* formal_parameter_type: IDL_INTERFACE */ -#line 6610 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_INTERFACE */ +#line 6695 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10031 "fe/idl.tab.cpp" +#line 10162 "fe/idl.tab.cpp" break; - case 559: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6614 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6699 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10039 "fe/idl.tab.cpp" +#line 10170 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_ENUM */ -#line 6618 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_ENUM */ +#line 6703 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10047 "fe/idl.tab.cpp" +#line 10178 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6622 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6707 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10055 "fe/idl.tab.cpp" +#line 10186 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_CONST const_type */ -#line 6626 "fe/idl.ypp" + case 569: /* formal_parameter_type: IDL_CONST const_type */ +#line 6711 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10064 "fe/idl.tab.cpp" +#line 10195 "fe/idl.tab.cpp" break; - case 563: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6634 "fe/idl.ypp" + case 570: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6719 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10092,11 +10223,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10096 "fe/idl.tab.cpp" +#line 10227 "fe/idl.tab.cpp" break; - case 564: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6665 "fe/idl.ypp" + case 571: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6750 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10109,19 +10240,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10113 "fe/idl.tab.cpp" +#line 10244 "fe/idl.tab.cpp" break; - case 565: /* formal_parameters: %empty */ -#line 6678 "fe/idl.ypp" + case 572: /* formal_parameters: %empty */ +#line 6763 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10121 "fe/idl.tab.cpp" +#line 10252 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6685 "fe/idl.ypp" + case 573: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6770 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10146,11 +10277,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10150 "fe/idl.tab.cpp" +#line 10281 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6710 "fe/idl.ypp" + case 574: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6795 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10165,19 +10296,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10169 "fe/idl.tab.cpp" +#line 10300 "fe/idl.tab.cpp" break; - case 568: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6728 "fe/idl.ypp" + case 575: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6813 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10177 "fe/idl.tab.cpp" +#line 10308 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6735 "fe/idl.ypp" + case 576: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6820 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10192,37 +10323,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10196 "fe/idl.tab.cpp" +#line 10327 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter_names: %empty */ -#line 6750 "fe/idl.ypp" + case 577: /* formal_parameter_names: %empty */ +#line 6835 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10204 "fe/idl.tab.cpp" +#line 10335 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter_name: IDENTIFIER */ -#line 6757 "fe/idl.ypp" + case 578: /* formal_parameter_name: IDENTIFIER */ +#line 6842 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10214 "fe/idl.tab.cpp" +#line 10345 "fe/idl.tab.cpp" break; - case 572: /* $@176: %empty */ -#line 6766 "fe/idl.ypp" + case 579: /* $@181: %empty */ +#line 6851 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10222 "fe/idl.tab.cpp" +#line 10353 "fe/idl.tab.cpp" break; - case 573: /* @177: %empty */ -#line 6770 "fe/idl.ypp" + case 580: /* @182: %empty */ +#line 6855 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10241,27 +10372,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10245 "fe/idl.tab.cpp" +#line 10376 "fe/idl.tab.cpp" break; - case 574: /* $@178: %empty */ -#line 6789 "fe/idl.ypp" + case 581: /* $@183: %empty */ +#line 6874 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10253 "fe/idl.tab.cpp" +#line 10384 "fe/idl.tab.cpp" break; - case 575: /* $@179: %empty */ -#line 6797 "fe/idl.ypp" + case 582: /* $@184: %empty */ +#line 6882 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10261 "fe/idl.tab.cpp" +#line 10392 "fe/idl.tab.cpp" break; - case 576: /* porttype_decl: IDL_PORTTYPE $@176 IDENTIFIER @177 '{' $@178 at_least_one_port_export $@179 '}' */ -#line 6801 "fe/idl.ypp" + case 583: /* porttype_decl: IDL_PORTTYPE $@181 IDENTIFIER @182 '{' $@183 at_least_one_port_export $@184 '}' */ +#line 6886 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10270,11 +10401,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10274 "fe/idl.tab.cpp" +#line 10405 "fe/idl.tab.cpp" break; - case 577: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6813 "fe/idl.ypp" + case 584: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6898 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10289,27 +10420,27 @@ yyparse (void) } delete annotations; } -#line 10293 "fe/idl.tab.cpp" +#line 10424 "fe/idl.tab.cpp" break; - case 583: /* $@180: %empty */ -#line 6839 "fe/idl.ypp" + case 590: /* $@185: %empty */ +#line 6924 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10301 "fe/idl.tab.cpp" +#line 10432 "fe/idl.tab.cpp" break; - case 584: /* port_export: attribute $@180 ';' */ -#line 6843 "fe/idl.ypp" + case 591: /* port_export: attribute $@185 ';' */ +#line 6928 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10309 "fe/idl.tab.cpp" +#line 10440 "fe/idl.tab.cpp" break; - case 585: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6850 "fe/idl.ypp" + case 592: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 6935 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10376,11 +10507,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10380 "fe/idl.tab.cpp" +#line 10511 "fe/idl.tab.cpp" break; - case 586: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 6917 "fe/idl.ypp" + case 593: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7002 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10425,11 +10556,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10429 "fe/idl.tab.cpp" +#line 10560 "fe/idl.tab.cpp" break; - case 587: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 6965 "fe/idl.ypp" + case 594: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7050 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10442,11 +10573,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10446 "fe/idl.tab.cpp" +#line 10577 "fe/idl.tab.cpp" break; - case 588: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 6981 "fe/idl.ypp" + case 595: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7066 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10459,19 +10590,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10463 "fe/idl.tab.cpp" +#line 10594 "fe/idl.tab.cpp" break; - case 589: /* actual_parameters: %empty */ -#line 6994 "fe/idl.ypp" + case 596: /* actual_parameters: %empty */ +#line 7079 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10471 "fe/idl.tab.cpp" +#line 10602 "fe/idl.tab.cpp" break; - case 590: /* actual_parameter: expression */ -#line 7001 "fe/idl.ypp" + case 597: /* actual_parameter: expression */ +#line 7086 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10527,35 +10658,35 @@ yyparse (void) 0); } } -#line 10531 "fe/idl.tab.cpp" +#line 10662 "fe/idl.tab.cpp" break; - case 591: /* connector_decl: connector_header connector_body */ -#line 7060 "fe/idl.ypp" + case 598: /* connector_decl: connector_header connector_body */ +#line 7145 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10539 "fe/idl.tab.cpp" +#line 10670 "fe/idl.tab.cpp" break; - case 592: /* $@181: %empty */ -#line 7067 "fe/idl.ypp" + case 599: /* $@186: %empty */ +#line 7152 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10547 "fe/idl.tab.cpp" +#line 10678 "fe/idl.tab.cpp" break; - case 593: /* $@182: %empty */ -#line 7071 "fe/idl.ypp" + case 600: /* $@187: %empty */ +#line 7156 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10555 "fe/idl.tab.cpp" +#line 10686 "fe/idl.tab.cpp" break; - case 594: /* connector_header: IDL_CONNECTOR $@181 annotations_maybe IDENTIFIER $@182 component_inheritance_spec */ -#line 7075 "fe/idl.ypp" + case 601: /* connector_header: IDL_CONNECTOR $@186 annotations_maybe IDENTIFIER $@187 component_inheritance_spec */ +#line 7160 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10609,102 +10740,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10613 "fe/idl.tab.cpp" +#line 10744 "fe/idl.tab.cpp" break; - case 595: /* $@183: %empty */ -#line 7132 "fe/idl.ypp" + case 602: /* $@188: %empty */ +#line 7217 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10621 "fe/idl.tab.cpp" +#line 10752 "fe/idl.tab.cpp" break; - case 596: /* $@184: %empty */ -#line 7136 "fe/idl.ypp" + case 603: /* $@189: %empty */ +#line 7221 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10629 "fe/idl.tab.cpp" +#line 10760 "fe/idl.tab.cpp" break; - case 597: /* connector_body: '{' $@183 connector_exports $@184 '}' */ -#line 7140 "fe/idl.ypp" + case 604: /* connector_body: '{' $@188 connector_exports $@189 '}' */ +#line 7225 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10640 "fe/idl.tab.cpp" +#line 10771 "fe/idl.tab.cpp" break; - case 600: /* $@185: %empty */ -#line 7155 "fe/idl.ypp" + case 607: /* $@190: %empty */ +#line 7240 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10648 "fe/idl.tab.cpp" +#line 10779 "fe/idl.tab.cpp" break; - case 601: /* connector_export: provides_decl $@185 ';' */ -#line 7159 "fe/idl.ypp" + case 608: /* connector_export: provides_decl $@190 ';' */ +#line 7244 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10656 "fe/idl.tab.cpp" +#line 10787 "fe/idl.tab.cpp" break; - case 602: /* $@186: %empty */ -#line 7163 "fe/idl.ypp" + case 609: /* $@191: %empty */ +#line 7248 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10664 "fe/idl.tab.cpp" +#line 10795 "fe/idl.tab.cpp" break; - case 603: /* connector_export: uses_decl $@186 ';' */ -#line 7167 "fe/idl.ypp" + case 610: /* connector_export: uses_decl $@191 ';' */ +#line 7252 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10672 "fe/idl.tab.cpp" +#line 10803 "fe/idl.tab.cpp" break; - case 604: /* $@187: %empty */ -#line 7171 "fe/idl.ypp" + case 611: /* $@192: %empty */ +#line 7256 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10680 "fe/idl.tab.cpp" +#line 10811 "fe/idl.tab.cpp" break; - case 605: /* connector_export: attribute $@187 ';' */ -#line 7175 "fe/idl.ypp" + case 612: /* connector_export: attribute $@192 ';' */ +#line 7260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10688 "fe/idl.tab.cpp" +#line 10819 "fe/idl.tab.cpp" break; - case 606: /* $@188: %empty */ -#line 7179 "fe/idl.ypp" + case 613: /* $@193: %empty */ +#line 7264 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10696 "fe/idl.tab.cpp" +#line 10827 "fe/idl.tab.cpp" break; - case 607: /* connector_export: extended_port_decl $@188 ';' */ -#line 7183 "fe/idl.ypp" + case 614: /* connector_export: extended_port_decl $@193 ';' */ +#line 7268 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10704 "fe/idl.tab.cpp" +#line 10835 "fe/idl.tab.cpp" break; -#line 10708 "fe/idl.tab.cpp" +#line 10839 "fe/idl.tab.cpp" default: break; } @@ -10898,7 +11029,7 @@ yyparse (void) return yyresult; } -#line 7188 "fe/idl.ypp" +#line 7273 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index 000f4c974d252..9c683c1c6c4ec 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.6. */ +/* A Bison parser, made by GNU Bison 3.7.5. */ /* Bison interface for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -76,77 +76,78 @@ extern int tao_yydebug; IDL_SWITCH = 277, /* IDL_SWITCH */ IDL_ENUM = 278, /* IDL_ENUM */ IDL_SEQUENCE = 279, /* IDL_SEQUENCE */ - IDL_STRING = 280, /* IDL_STRING */ - IDL_WSTRING = 281, /* IDL_WSTRING */ - IDL_EXCEPTION = 282, /* IDL_EXCEPTION */ - IDL_CASE = 283, /* IDL_CASE */ - IDL_DEFAULT = 284, /* IDL_DEFAULT */ - IDL_READONLY = 285, /* IDL_READONLY */ - IDL_ATTRIBUTE = 286, /* IDL_ATTRIBUTE */ - IDL_ONEWAY = 287, /* IDL_ONEWAY */ - IDL_IDEMPOTENT = 288, /* IDL_IDEMPOTENT */ - IDL_VOID = 289, /* IDL_VOID */ - IDL_IN = 290, /* IDL_IN */ - IDL_OUT = 291, /* IDL_OUT */ - IDL_INOUT = 292, /* IDL_INOUT */ - IDL_RAISES = 293, /* IDL_RAISES */ - IDL_CONTEXT = 294, /* IDL_CONTEXT */ - IDL_NATIVE = 295, /* IDL_NATIVE */ - IDL_LOCAL = 296, /* IDL_LOCAL */ - IDL_ABSTRACT = 297, /* IDL_ABSTRACT */ - IDL_CUSTOM = 298, /* IDL_CUSTOM */ - IDL_FACTORY = 299, /* IDL_FACTORY */ - IDL_PRIVATE = 300, /* IDL_PRIVATE */ - IDL_PUBLIC = 301, /* IDL_PUBLIC */ - IDL_SUPPORTS = 302, /* IDL_SUPPORTS */ - IDL_TRUNCATABLE = 303, /* IDL_TRUNCATABLE */ - IDL_VALUETYPE = 304, /* IDL_VALUETYPE */ - IDL_COMPONENT = 305, /* IDL_COMPONENT */ - IDL_CONSUMES = 306, /* IDL_CONSUMES */ - IDL_EMITS = 307, /* IDL_EMITS */ - IDL_EVENTTYPE = 308, /* IDL_EVENTTYPE */ - IDL_FINDER = 309, /* IDL_FINDER */ - IDL_GETRAISES = 310, /* IDL_GETRAISES */ - IDL_HOME = 311, /* IDL_HOME */ - IDL_IMPORT = 312, /* IDL_IMPORT */ - IDL_MULTIPLE = 313, /* IDL_MULTIPLE */ - IDL_PRIMARYKEY = 314, /* IDL_PRIMARYKEY */ - IDL_PROVIDES = 315, /* IDL_PROVIDES */ - IDL_PUBLISHES = 316, /* IDL_PUBLISHES */ - IDL_SETRAISES = 317, /* IDL_SETRAISES */ - IDL_TYPEID = 318, /* IDL_TYPEID */ - IDL_TYPEPREFIX = 319, /* IDL_TYPEPREFIX */ - IDL_USES = 320, /* IDL_USES */ - IDL_MANAGES = 321, /* IDL_MANAGES */ - IDL_TYPENAME = 322, /* IDL_TYPENAME */ - IDL_PORT = 323, /* IDL_PORT */ - IDL_MIRRORPORT = 324, /* IDL_MIRRORPORT */ - IDL_PORTTYPE = 325, /* IDL_PORTTYPE */ - IDL_CONNECTOR = 326, /* IDL_CONNECTOR */ - IDL_ALIAS = 327, /* IDL_ALIAS */ - IDL_INTEGER_LITERAL = 328, /* IDL_INTEGER_LITERAL */ - IDL_UINTEGER_LITERAL = 329, /* IDL_UINTEGER_LITERAL */ - IDL_STRING_LITERAL = 330, /* IDL_STRING_LITERAL */ - IDL_CHARACTER_LITERAL = 331, /* IDL_CHARACTER_LITERAL */ - IDL_FLOATING_PT_LITERAL = 332, /* IDL_FLOATING_PT_LITERAL */ - IDL_FIXED_PT_LITERAL = 333, /* IDL_FIXED_PT_LITERAL */ - IDL_TRUETOK = 334, /* IDL_TRUETOK */ - IDL_FALSETOK = 335, /* IDL_FALSETOK */ - IDL_INT8 = 336, /* IDL_INT8 */ - IDL_UINT8 = 337, /* IDL_UINT8 */ - IDL_INT16 = 338, /* IDL_INT16 */ - IDL_UINT16 = 339, /* IDL_UINT16 */ - IDL_INT32 = 340, /* IDL_INT32 */ - IDL_UINT32 = 341, /* IDL_UINT32 */ - IDL_INT64 = 342, /* IDL_INT64 */ - IDL_UINT64 = 343, /* IDL_UINT64 */ - IDL_SCOPE_DELIMITOR = 344, /* IDL_SCOPE_DELIMITOR */ - IDL_LEFT_SHIFT = 345, /* IDL_LEFT_SHIFT */ - IDL_RIGHT_SHIFT = 346, /* IDL_RIGHT_SHIFT */ - IDL_WCHAR_LITERAL = 347, /* IDL_WCHAR_LITERAL */ - IDL_WSTRING_LITERAL = 348, /* IDL_WSTRING_LITERAL */ - IDL_ANNOTATION_DECL = 349, /* IDL_ANNOTATION_DECL */ - IDL_ANNOTATION_SYMBOL = 350 /* IDL_ANNOTATION_SYMBOL */ + IDL_MAP = 280, /* IDL_MAP */ + IDL_STRING = 281, /* IDL_STRING */ + IDL_WSTRING = 282, /* IDL_WSTRING */ + IDL_EXCEPTION = 283, /* IDL_EXCEPTION */ + IDL_CASE = 284, /* IDL_CASE */ + IDL_DEFAULT = 285, /* IDL_DEFAULT */ + IDL_READONLY = 286, /* IDL_READONLY */ + IDL_ATTRIBUTE = 287, /* IDL_ATTRIBUTE */ + IDL_ONEWAY = 288, /* IDL_ONEWAY */ + IDL_IDEMPOTENT = 289, /* IDL_IDEMPOTENT */ + IDL_VOID = 290, /* IDL_VOID */ + IDL_IN = 291, /* IDL_IN */ + IDL_OUT = 292, /* IDL_OUT */ + IDL_INOUT = 293, /* IDL_INOUT */ + IDL_RAISES = 294, /* IDL_RAISES */ + IDL_CONTEXT = 295, /* IDL_CONTEXT */ + IDL_NATIVE = 296, /* IDL_NATIVE */ + IDL_LOCAL = 297, /* IDL_LOCAL */ + IDL_ABSTRACT = 298, /* IDL_ABSTRACT */ + IDL_CUSTOM = 299, /* IDL_CUSTOM */ + IDL_FACTORY = 300, /* IDL_FACTORY */ + IDL_PRIVATE = 301, /* IDL_PRIVATE */ + IDL_PUBLIC = 302, /* IDL_PUBLIC */ + IDL_SUPPORTS = 303, /* IDL_SUPPORTS */ + IDL_TRUNCATABLE = 304, /* IDL_TRUNCATABLE */ + IDL_VALUETYPE = 305, /* IDL_VALUETYPE */ + IDL_COMPONENT = 306, /* IDL_COMPONENT */ + IDL_CONSUMES = 307, /* IDL_CONSUMES */ + IDL_EMITS = 308, /* IDL_EMITS */ + IDL_EVENTTYPE = 309, /* IDL_EVENTTYPE */ + IDL_FINDER = 310, /* IDL_FINDER */ + IDL_GETRAISES = 311, /* IDL_GETRAISES */ + IDL_HOME = 312, /* IDL_HOME */ + IDL_IMPORT = 313, /* IDL_IMPORT */ + IDL_MULTIPLE = 314, /* IDL_MULTIPLE */ + IDL_PRIMARYKEY = 315, /* IDL_PRIMARYKEY */ + IDL_PROVIDES = 316, /* IDL_PROVIDES */ + IDL_PUBLISHES = 317, /* IDL_PUBLISHES */ + IDL_SETRAISES = 318, /* IDL_SETRAISES */ + IDL_TYPEID = 319, /* IDL_TYPEID */ + IDL_TYPEPREFIX = 320, /* IDL_TYPEPREFIX */ + IDL_USES = 321, /* IDL_USES */ + IDL_MANAGES = 322, /* IDL_MANAGES */ + IDL_TYPENAME = 323, /* IDL_TYPENAME */ + IDL_PORT = 324, /* IDL_PORT */ + IDL_MIRRORPORT = 325, /* IDL_MIRRORPORT */ + IDL_PORTTYPE = 326, /* IDL_PORTTYPE */ + IDL_CONNECTOR = 327, /* IDL_CONNECTOR */ + IDL_ALIAS = 328, /* IDL_ALIAS */ + IDL_INTEGER_LITERAL = 329, /* IDL_INTEGER_LITERAL */ + IDL_UINTEGER_LITERAL = 330, /* IDL_UINTEGER_LITERAL */ + IDL_STRING_LITERAL = 331, /* IDL_STRING_LITERAL */ + IDL_CHARACTER_LITERAL = 332, /* IDL_CHARACTER_LITERAL */ + IDL_FLOATING_PT_LITERAL = 333, /* IDL_FLOATING_PT_LITERAL */ + IDL_FIXED_PT_LITERAL = 334, /* IDL_FIXED_PT_LITERAL */ + IDL_TRUETOK = 335, /* IDL_TRUETOK */ + IDL_FALSETOK = 336, /* IDL_FALSETOK */ + IDL_INT8 = 337, /* IDL_INT8 */ + IDL_UINT8 = 338, /* IDL_UINT8 */ + IDL_INT16 = 339, /* IDL_INT16 */ + IDL_UINT16 = 340, /* IDL_UINT16 */ + IDL_INT32 = 341, /* IDL_INT32 */ + IDL_UINT32 = 342, /* IDL_UINT32 */ + IDL_INT64 = 343, /* IDL_INT64 */ + IDL_UINT64 = 344, /* IDL_UINT64 */ + IDL_SCOPE_DELIMITOR = 345, /* IDL_SCOPE_DELIMITOR */ + IDL_LEFT_SHIFT = 346, /* IDL_LEFT_SHIFT */ + IDL_RIGHT_SHIFT = 347, /* IDL_RIGHT_SHIFT */ + IDL_WCHAR_LITERAL = 348, /* IDL_WCHAR_LITERAL */ + IDL_WSTRING_LITERAL = 349, /* IDL_WSTRING_LITERAL */ + IDL_ANNOTATION_DECL = 350, /* IDL_ANNOTATION_DECL */ + IDL_ANNOTATION_SYMBOL = 351 /* IDL_ANNOTATION_SYMBOL */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -155,7 +156,7 @@ extern int tao_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 163 "fe/idl.ypp" +#line 164 "fe/idl.ypp" AST_Decl *dcval; /* Decl value */ UTL_StrList *slval; /* String list */ @@ -200,7 +201,7 @@ union YYSTYPE AST_Decls *decls_val; Decl_Annotations_Pair *decl_annotations_pair_val; -#line 204 "fe/idl.tab.hpp" +#line 205 "fe/idl.tab.hpp" }; typedef union YYSTYPE YYSTYPE; diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 81fc6a05dd019..68499e8932768 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -131,6 +131,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include #include #include +#include #include #include @@ -232,6 +233,7 @@ bool stack_based_lookup_for_primary_expr = false; %token IDL_SWITCH %token IDL_ENUM %token IDL_SEQUENCE +%token IDL_MAP %token IDL_STRING %token IDL_WSTRING %token IDL_EXCEPTION @@ -317,7 +319,7 @@ bool stack_based_lookup_for_primary_expr = false; */ %type type_spec simple_type_spec constructed_type_spec -%type template_type_spec sequence_type_spec string_type_spec +%type template_type_spec sequence_type_spec string_type_spec map_type_spec %type struct_type enum_type switch_type_spec union_type %type array_declarator op_type_spec wstring_type_spec %type param_type_spec type_dcl type_declarator actual_parameter @@ -2834,6 +2836,7 @@ template_type_spec | string_type_spec | wstring_type_spec | fixed_type_spec + | map_type_spec ; constructed_type_spec @@ -3889,6 +3892,88 @@ enumerator : } ; +map_type_spec : + IDL_MAP + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); + idl_global->scopes().push(0); + } + '<' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); + } + simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } + ',' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); + } + simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + } + '>' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + AST_Decl *key_type = $5; + AST_Decl *val_type = $9; + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type); + AST_Type *vtp = dynamic_cast (val_type); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; + + map = + idl_global->gen ()->create_map ( + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + + idl_global->err ()->anonymous_type_diagnostic (); + } + } + + // delete type_annotations; + + $$ = map; + } + ; + sequence_type_spec : seq_head ',' diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index b4759822f45ce..7b90a5d1f1155 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -608,8 +608,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \ yy_flex_strncpy( yytext, (yytext_ptr), yyleng + 1 ); \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 121 -#define YY_END_OF_BUFFER 122 +#define YY_NUM_RULES 123 +#define YY_END_OF_BUFFER 124 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -617,80 +617,80 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_acclist[626] = +static const flex_int16_t yy_acclist[629] = { 0, - 118, 118, 122, 120, 121, 118, 120, 121, 119, 121, - 119, 120, 121, 120, 121, 120, 121, 120, 121, 120, - 121, 120, 121, 93, 120, 121, 89, 120, 121, 120, - 121, 120, 121, 120, 121, 83, 120, 121, 84, 120, - 121, 84, 120, 121, 84, 120, 121, 84, 120, 121, - 84, 120, 121, 84, 120, 121, 84, 120, 121, 84, - 120, 121, 84, 120, 121, 84, 120, 121, 84, 120, - 121, 84, 120, 121, 84, 120, 121, 84, 120, 121, - 84, 120, 121, 84, 120, 121, 84, 120, 121, 84, - 120, 121, 84, 120, 121, 84, 120, 121, 84, 120, - - 121, 84, 120, 121, 84, 120, 121, 84, 120, 121, - 84, 120, 121, 118, 120, 121, 120, 121, 119, 120, - 121, 118, 94, 92, 88, 85, 117, 85, 93, 87, - 89, 81, 79, 80, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 76, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 118, - 112, 94, 96, 96, 92, 88, 85, 116, 116, 85, - - 86, 91, 84, 95, 84, 84, 84, 84, 1, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 77, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 99, 97, 99, 90, 85, - 86, 84, 95, 100, 84, 73, 84, 84, 84, 84, - 84, 20, 84, 27, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 13, 84, 84, 84, 84, 84, 84, - - 84, 84, 56, 84, 84, 84, 84, 84, 84, 35, - 84, 84, 84, 24, 84, 84, 84, 84, 84, 84, - 84, 84, 68, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 65, 84, 84, 31, 84, 84, 84, 113, - 97, 98, 74, 84, 84, 84, 72, 84, 84, 84, - 84, 84, 10, 84, 84, 84, 84, 84, 84, 52, - 84, 84, 84, 84, 84, 18, 84, 22, 84, 84, - 84, 75, 84, 37, 84, 39, 84, 41, 84, 84, - 33, 84, 84, 84, 84, 84, 84, 30, 84, 84, - - 84, 84, 84, 84, 84, 84, 84, 84, 84, 25, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 36, 84, 17, 84, 84, 84, 28, - 84, 84, 108, 101, 2, 84, 84, 84, 84, 84, - 84, 84, 84, 43, 84, 84, 23, 84, 84, 84, - 84, 54, 84, 84, 57, 84, 84, 84, 84, 3, - 84, 84, 32, 84, 78, 84, 84, 84, 84, 84, - 46, 84, 84, 4, 84, 84, 84, 84, 14, 84, - 12, 84, 84, 19, 84, 84, 84, 63, 84, 84, - 84, 38, 84, 40, 84, 42, 84, 84, 84, 84, - - 106, 84, 84, 29, 84, 84, 84, 84, 8, 84, - 21, 84, 84, 84, 44, 84, 84, 84, 66, 84, - 84, 84, 84, 84, 45, 84, 84, 84, 84, 84, - 84, 84, 84, 11, 84, 84, 84, 84, 84, 15, - 84, 104, 104, 110, 109, 34, 84, 84, 84, 84, - 51, 84, 84, 84, 84, 84, 84, 58, 84, 70, - 84, 84, 60, 84, 84, 5, 84, 16, 84, 84, - 47, 84, 84, 67, 84, 84, 26, 84, 84, 114, - 114, 107, 6, 84, 50, 84, 71, 84, 53, 84, - 7, 84, 55, 84, 9, 84, 84, 84, 61, 84, - - 62, 84, 84, 84, 49, 84, 102, 102, 105, 105, - 69, 84, 59, 84, 84, 64, 84, 115, 115, 48, - 84, 111, 103, 103, 82 + 120, 120, 124, 122, 123, 120, 122, 123, 121, 123, + 121, 122, 123, 122, 123, 122, 123, 122, 123, 122, + 123, 122, 123, 95, 122, 123, 91, 122, 123, 122, + 123, 122, 123, 122, 123, 85, 122, 123, 86, 122, + 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, + 86, 122, 123, 86, 122, 123, 86, 122, 123, 86, + 122, 123, 86, 122, 123, 86, 122, 123, 86, 122, + 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, + 86, 122, 123, 86, 122, 123, 86, 122, 123, 86, + 122, 123, 86, 122, 123, 86, 122, 123, 86, 122, + + 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, + 86, 122, 123, 120, 122, 123, 122, 123, 121, 122, + 123, 120, 96, 94, 90, 87, 119, 87, 95, 89, + 91, 83, 81, 82, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 78, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 120, + 114, 96, 98, 98, 94, 90, 87, 118, 118, 87, + + 88, 93, 86, 97, 86, 86, 86, 86, 1, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 17, 44, 86, 86, 86, + 86, 86, 86, 86, 79, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 101, 99, + 101, 92, 87, 88, 86, 97, 102, 86, 75, 86, + 86, 86, 86, 86, 21, 86, 28, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 13, 86, 86, 86, + + 86, 86, 86, 86, 86, 58, 86, 86, 86, 86, + 86, 86, 36, 86, 86, 86, 25, 86, 86, 86, + 86, 86, 86, 86, 86, 70, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 67, 86, 86, 32, 86, + 86, 86, 115, 99, 100, 76, 86, 86, 86, 74, + 86, 86, 86, 86, 86, 10, 86, 86, 86, 86, + 86, 86, 54, 86, 86, 86, 86, 86, 19, 86, + 23, 86, 86, 86, 77, 86, 38, 86, 40, 86, + 42, 86, 86, 34, 86, 86, 86, 86, 86, 86, + + 31, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 26, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 37, 86, 18, 86, + 86, 86, 29, 86, 86, 110, 103, 2, 86, 86, + 86, 86, 86, 86, 86, 86, 45, 86, 86, 24, + 86, 86, 86, 86, 56, 86, 86, 59, 86, 86, + 86, 86, 3, 86, 86, 33, 86, 80, 86, 86, + 86, 86, 86, 48, 86, 86, 4, 86, 86, 86, + 86, 14, 86, 12, 86, 86, 20, 86, 86, 86, + 65, 86, 86, 86, 39, 86, 41, 86, 43, 86, + + 86, 86, 86, 108, 86, 86, 30, 86, 86, 86, + 86, 8, 86, 22, 86, 86, 86, 46, 86, 86, + 86, 68, 86, 86, 86, 86, 86, 47, 86, 86, + 86, 86, 86, 86, 86, 86, 11, 86, 86, 86, + 86, 86, 15, 86, 106, 106, 112, 111, 35, 86, + 86, 86, 86, 53, 86, 86, 86, 86, 86, 86, + 60, 86, 72, 86, 86, 62, 86, 86, 5, 86, + 16, 86, 86, 49, 86, 86, 69, 86, 86, 27, + 86, 86, 116, 116, 109, 6, 86, 52, 86, 73, + 86, 55, 86, 7, 86, 57, 86, 9, 86, 86, + + 86, 63, 86, 64, 86, 86, 86, 51, 86, 104, + 104, 107, 107, 71, 86, 61, 86, 86, 66, 86, + 117, 117, 50, 86, 113, 105, 105, 84 } ; -static const flex_int16_t yy_accept[623] = +static const flex_int16_t yy_accept[624] = { 0, 1, 2, 3, 4, 6, 9, 11, 14, 16, 18, 20, 22, 24, 27, 30, 32, 34, 36, 39, 42, @@ -712,55 +712,55 @@ static const flex_int16_t yy_accept[623] = 204, 205, 205, 205, 205, 206, 207, 208, 209, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - - 242, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 267, 269, 269, 269, 270, 270, 271, 272, - 272, 273, 274, 274, 274, 274, 274, 275, 275, 276, - 278, 279, 280, 281, 282, 284, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 296, 297, 298, 299, 300, - 301, 302, 303, 305, 306, 307, 308, 309, 310, 312, - 313, 314, 316, 317, 318, 319, 320, 321, 322, 323, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - - 335, 336, 337, 338, 339, 340, 341, 342, 343, 345, - 346, 348, 349, 350, 350, 350, 350, 350, 350, 350, - 350, 351, 351, 351, 351, 351, 351, 351, 351, 352, - 352, 353, 353, 353, 355, 355, 355, 355, 356, 357, - 359, 360, 361, 362, 363, 365, 366, 367, 368, 369, - 370, 372, 373, 374, 375, 376, 378, 380, 381, 382, - 384, 386, 388, 390, 391, 393, 394, 395, 396, 397, - 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 426, 428, 429, 430, 432, - - 433, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 435, 435, 437, 438, - 439, 440, 441, 442, 443, 444, 446, 447, 449, 450, - 451, 452, 454, 455, 457, 458, 459, 460, 462, 463, - 465, 467, 468, 469, 470, 471, 473, 474, 476, 477, - 478, 479, 481, 483, 484, 486, 487, 488, 490, 491, - 492, 494, 496, 498, 499, 500, 501, 501, 502, 502, - 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 502, 502, 502, 502, 503, 504, 506, 507, 508, 509, - 511, 513, 514, 515, 517, 518, 519, 521, 522, 523, - - 524, 525, 527, 528, 529, 530, 531, 532, 533, 534, - 536, 537, 538, 539, 540, 542, 542, 542, 543, 544, - 544, 544, 545, 545, 545, 546, 546, 546, 546, 546, - 546, 546, 546, 546, 548, 549, 550, 551, 553, 554, - 555, 556, 557, 558, 560, 562, 563, 565, 566, 568, - 570, 571, 573, 574, 576, 577, 579, 580, 580, 581, - 582, 582, 582, 582, 582, 583, 583, 583, 583, 583, - 583, 583, 583, 583, 585, 587, 589, 591, 593, 595, - 597, 598, 599, 601, 603, 604, 605, 607, 607, 607, - 607, 608, 609, 609, 609, 610, 611, 611, 611, 611, - - 611, 611, 613, 615, 616, 618, 618, 618, 619, 620, - 620, 620, 620, 620, 622, 622, 623, 623, 624, 625, - 626, 626 + 232, 233, 234, 235, 236, 239, 240, 241, 242, 243, + + 244, 245, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 270, 272, 272, 272, 273, 273, 274, + 275, 275, 276, 277, 277, 277, 277, 277, 278, 278, + 279, 281, 282, 283, 284, 285, 287, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 299, 300, 301, 302, + 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, + 315, 316, 317, 319, 320, 321, 322, 323, 324, 325, + 326, 328, 329, 330, 331, 332, 333, 334, 335, 336, + + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 348, 349, 351, 352, 353, 353, 353, 353, 353, 353, + 353, 353, 354, 354, 354, 354, 354, 354, 354, 354, + 355, 355, 356, 356, 356, 358, 358, 358, 358, 359, + 360, 362, 363, 364, 365, 366, 368, 369, 370, 371, + 372, 373, 375, 376, 377, 378, 379, 381, 383, 384, + 385, 387, 389, 391, 393, 394, 396, 397, 398, 399, + 400, 401, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 429, 431, 432, 433, + + 435, 436, 437, 437, 437, 437, 437, 437, 437, 437, + 437, 437, 437, 437, 437, 437, 437, 438, 438, 440, + 441, 442, 443, 444, 445, 446, 447, 449, 450, 452, + 453, 454, 455, 457, 458, 460, 461, 462, 463, 465, + 466, 468, 470, 471, 472, 473, 474, 476, 477, 479, + 480, 481, 482, 484, 486, 487, 489, 490, 491, 493, + 494, 495, 497, 499, 501, 502, 503, 504, 504, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 506, 507, 509, 510, 511, + 512, 514, 516, 517, 518, 520, 521, 522, 524, 525, + + 526, 527, 528, 530, 531, 532, 533, 534, 535, 536, + 537, 539, 540, 541, 542, 543, 545, 545, 545, 546, + 547, 547, 547, 548, 548, 548, 549, 549, 549, 549, + 549, 549, 549, 549, 549, 551, 552, 553, 554, 556, + 557, 558, 559, 560, 561, 563, 565, 566, 568, 569, + 571, 573, 574, 576, 577, 579, 580, 582, 583, 583, + 584, 585, 585, 585, 585, 585, 586, 586, 586, 586, + 586, 586, 586, 586, 586, 588, 590, 592, 594, 596, + 598, 600, 601, 602, 604, 606, 607, 608, 610, 610, + 610, 610, 611, 612, 612, 612, 613, 614, 614, 614, + + 614, 614, 614, 616, 618, 619, 621, 621, 621, 622, + 623, 623, 623, 623, 623, 625, 625, 626, 626, 627, + 628, 629, 629 } ; static const YY_CHAR yy_ec[256] = @@ -806,161 +806,161 @@ static const YY_CHAR yy_meta[68] = 14, 16, 17, 16, 14, 16, 14 } ; -static const flex_int16_t yy_base[664] = +static const flex_int16_t yy_base[665] = { 0, - 0, 66, 1500, 1501, 67, 1501, 1501, 64, 1457, 62, - 80, 76, 95, 91, 1475, 1473, 1470, 1452, 0, 1465, - 80, 1449, 1455, 77, 1434, 97, 61, 64, 81, 1443, - 1432, 35, 1431, 100, 1444, 89, 93, 82, 108, 99, - 111, 121, 104, 172, 178, 1459, 182, 162, 183, 192, - 1477, 205, 223, 260, 202, 313, 1501, 224, 354, 103, - 223, 1501, 94, 0, 252, 1501, 1501, 1501, 1428, 0, - 1448, 210, 1440, 1429, 1440, 1418, 1427, 1410, 1414, 1418, - 1413, 1430, 120, 1411, 1423, 1407, 1418, 1405, 1420, 1421, - 1420, 135, 1407, 1401, 1407, 1403, 30, 202, 1404, 1399, - - 1412, 1403, 1394, 1393, 1407, 1391, 1392, 199, 1407, 1399, - 1406, 156, 1391, 1387, 1388, 1394, 1381, 1385, 1386, 202, - 1394, 1386, 1388, 1388, 1375, 255, 0, 211, 1501, 255, - 345, 1385, 1389, 1383, 1373, 1407, 283, 224, 225, 296, - 1501, 1423, 1422, 396, 1421, 227, 0, 293, 192, 1501, - 291, 1501, 293, 0, 403, 344, 0, 1372, 1389, 280, - 347, 412, 1418, 279, 1378, 1392, 1361, 1379, 0, 1361, - 1366, 1372, 1358, 1359, 295, 1354, 1372, 1370, 1351, 1357, - 1355, 1363, 1347, 1362, 1360, 1363, 1345, 1357, 1346, 1339, - 418, 1358, 1351, 1356, 1338, 1334, 1334, 1344, 1347, 1328, - - 0, 1330, 253, 1327, 1336, 1328, 1342, 1324, 1326, 1325, - 290, 1326, 1321, 1326, 1334, 1318, 1322, 1327, 1316, 1313, - 1329, 1331, 1313, 1366, 1365, 1316, 1322, 1312, 1324, 474, - 428, 1501, 1501, 441, 1358, 0, 488, 488, 1501, 1308, - 1332, 360, 1357, 294, 529, 0, 1501, 0, 1317, 0, - 1301, 1299, 1308, 1311, 0, 0, 1300, 1309, 301, 1308, - 1297, 1290, 1298, 1290, 0, 1288, 1291, 1291, 1300, 1300, - 1283, 1301, 0, 1283, 1280, 1321, 1324, 1321, 0, 1278, - 1283, 0, 1287, 1278, 1280, 1282, 1268, 1269, 1287, 1267, - 1285, 1284, 1275, 1274, 1277, 1266, 1275, 1278, 1258, 1263, - - 1273, 1260, 1271, 1270, 332, 447, 1258, 1264, 0, 1264, - 0, 1250, 1230, 1274, 447, 1232, 1222, 1173, 1170, 1164, - 1501, 267, 479, 1166, 1147, 1141, 1131, 352, 1501, 1182, - 1501, 1176, 1121, 0, 544, 581, 1174, 1119, 1137, 0, - 1135, 1131, 1117, 1127, 0, 1116, 1066, 1074, 1072, 1078, - 0, 1041, 1040, 1041, 1040, 0, 0, 1044, 1030, 0, - 0, 0, 0, 1041, 0, 1041, 1007, 1019, 1007, 1017, - 0, 996, 995, 997, 994, 1009, 336, 993, 993, 990, - 992, 0, 993, 977, 976, 982, 986, 978, 976, 976, - 958, 976, 979, 976, 0, 0, 936, 928, 0, 933, - - 1501, 511, 404, 922, 435, 926, 972, 968, 917, 921, - 911, 908, 887, 399, 616, 1501, 919, 0, 877, 856, - 862, 849, 833, 830, 810, 0, 809, 0, 803, 817, - 799, 0, 804, 0, 813, 791, 793, 0, 779, 0, - 0, 754, 744, 763, 762, 0, 758, 0, 753, 760, - 743, 0, 0, 740, 0, 738, 750, 0, 741, 747, - 0, 0, 0, 746, 719, 736, 549, 1501, 563, 514, - 461, 467, 577, 722, 738, 588, 693, 680, 687, 680, - 665, 651, 718, 663, 652, 0, 653, 651, 646, 0, - 0, 635, 619, 0, 628, 613, 0, 600, 596, 595, - - 587, 0, 578, 575, 542, 560, 559, 544, 551, 0, - 542, 540, 524, 499, 0, 614, 581, 1501, 617, 647, - 650, 1501, 550, 478, 1501, 683, 480, 478, 495, 484, - 473, 513, 512, 0, 465, 449, 427, 0, 439, 417, - 410, 407, 393, 0, 0, 389, 0, 346, 0, 0, - 330, 0, 340, 0, 329, 0, 319, 675, 1501, 686, - 337, 701, 688, 714, 1501, 718, 697, 524, 529, 567, - 732, 294, 266, 0, 0, 0, 0, 0, 0, 0, - 257, 237, 0, 0, 236, 151, 0, 728, 572, 708, - 1501, 735, 754, 739, 1501, 757, 760, 184, 180, 573, - - 92, 0, 0, 99, 0, 765, 768, 1501, 770, 69, - 772, 774, 0, 0, 786, 1501, 776, 1501, 779, 1501, - 1501, 813, 830, 840, 845, 858, 874, 884, 897, 907, - 914, 916, 931, 948, 960, 967, 976, 982, 999, 1011, - 1018, 1025, 1035, 1049, 1059, 1069, 1081, 1095, 1106, 1118, - 1133, 1150, 1166, 1176, 1185, 1196, 1212, 1223, 1240, 1257, - 1273, 1284, 1301 + 0, 66, 1501, 1502, 67, 1502, 1502, 64, 1458, 62, + 80, 76, 95, 91, 1476, 1474, 1471, 1453, 0, 1466, + 80, 1450, 1456, 77, 1435, 97, 61, 64, 81, 1444, + 1433, 35, 1432, 100, 1445, 89, 93, 82, 108, 99, + 111, 121, 104, 172, 178, 1460, 182, 162, 183, 192, + 1478, 205, 223, 260, 202, 313, 1502, 224, 354, 103, + 223, 1502, 94, 0, 252, 1502, 1502, 1502, 1429, 0, + 1449, 210, 1441, 1430, 1441, 1419, 1428, 1411, 1415, 1419, + 1414, 1431, 120, 1412, 1424, 1408, 1419, 1406, 1421, 1422, + 1421, 135, 1408, 1402, 1408, 1404, 30, 202, 90, 1401, + + 1414, 1405, 1396, 1395, 1409, 1393, 1394, 199, 1409, 1401, + 1408, 156, 1393, 1389, 1390, 1396, 1383, 1387, 1388, 202, + 1396, 1388, 1390, 1390, 1377, 255, 0, 211, 1502, 255, + 345, 1387, 1391, 1385, 1375, 1409, 283, 224, 225, 296, + 1502, 1425, 1424, 396, 1423, 227, 0, 293, 192, 1502, + 291, 1502, 293, 0, 403, 344, 0, 1374, 1391, 280, + 347, 412, 1420, 279, 1380, 1394, 1363, 1381, 0, 1363, + 1368, 1374, 1360, 1361, 295, 1356, 1374, 1372, 1353, 1359, + 1357, 1365, 1349, 1364, 1362, 1365, 1347, 1359, 1348, 1341, + 418, 1360, 1353, 1358, 0, 1340, 1336, 1336, 1346, 1349, + + 1330, 0, 1332, 253, 1329, 1338, 1330, 1344, 1326, 1328, + 1327, 290, 1328, 1323, 1328, 1336, 1320, 1324, 1329, 1318, + 1315, 1331, 1333, 1315, 1368, 1367, 1318, 1324, 1314, 1326, + 474, 428, 1502, 1502, 441, 1360, 0, 488, 488, 1502, + 1310, 1334, 360, 1359, 294, 529, 0, 1502, 0, 1319, + 0, 1303, 1301, 1310, 1313, 0, 0, 1302, 1311, 301, + 1310, 1299, 1292, 1300, 1292, 0, 1290, 1293, 1293, 1302, + 1302, 1285, 1303, 0, 1285, 1282, 1323, 1326, 1323, 0, + 1280, 1285, 0, 1289, 1280, 1282, 1284, 1270, 1271, 1289, + 1269, 1287, 1286, 1277, 1276, 1279, 1268, 1277, 1280, 1260, + + 1265, 1275, 1262, 1273, 1272, 332, 447, 1260, 1266, 0, + 1267, 0, 1253, 1260, 1304, 447, 1234, 1224, 1232, 1229, + 1166, 1502, 267, 479, 1168, 1172, 1166, 1133, 352, 1502, + 1184, 1502, 1183, 1128, 0, 544, 581, 1176, 1121, 1139, + 0, 1137, 1137, 1123, 1129, 0, 1118, 1106, 1116, 1078, + 1082, 0, 1064, 1063, 1043, 1042, 0, 0, 1050, 1038, + 0, 0, 0, 0, 1047, 0, 1045, 1029, 1041, 1009, + 1019, 0, 998, 997, 1003, 1000, 1011, 336, 995, 999, + 998, 998, 0, 997, 981, 982, 989, 993, 985, 983, + 982, 962, 999, 1002, 978, 0, 0, 939, 932, 0, + + 936, 1502, 511, 404, 928, 435, 934, 978, 975, 924, + 927, 915, 925, 924, 399, 616, 1502, 943, 0, 885, + 864, 866, 872, 856, 849, 833, 0, 815, 0, 805, + 820, 803, 0, 807, 0, 823, 804, 798, 0, 798, + 0, 0, 793, 766, 765, 764, 0, 760, 0, 755, + 763, 746, 0, 0, 743, 0, 742, 754, 0, 745, + 751, 0, 0, 0, 749, 727, 744, 549, 1502, 563, + 514, 461, 467, 577, 743, 779, 588, 718, 688, 693, + 687, 672, 651, 721, 665, 664, 0, 669, 657, 648, + 0, 0, 650, 650, 0, 646, 631, 0, 618, 611, + + 610, 590, 0, 581, 593, 572, 575, 562, 546, 563, + 0, 558, 546, 543, 530, 0, 614, 581, 1502, 617, + 647, 650, 1502, 564, 478, 1502, 683, 480, 495, 495, + 501, 489, 513, 531, 0, 477, 458, 452, 0, 464, + 431, 425, 426, 411, 0, 0, 407, 0, 392, 0, + 0, 375, 0, 363, 0, 340, 0, 337, 675, 1502, + 686, 374, 701, 688, 714, 1502, 718, 697, 524, 529, + 567, 732, 323, 286, 0, 0, 0, 0, 0, 0, + 0, 275, 256, 0, 0, 265, 238, 0, 728, 572, + 708, 1502, 735, 754, 739, 1502, 757, 760, 284, 211, + + 573, 134, 0, 0, 139, 0, 765, 768, 1502, 770, + 69, 772, 774, 0, 0, 786, 1502, 776, 1502, 779, + 1502, 1502, 813, 830, 840, 845, 858, 874, 884, 897, + 907, 914, 916, 931, 948, 960, 967, 976, 982, 999, + 1011, 1018, 1025, 1035, 1049, 1059, 1069, 1081, 1095, 1106, + 1118, 1133, 1150, 1166, 1176, 1185, 1196, 1212, 1223, 1240, + 1257, 1273, 1284, 1301 } ; -static const flex_int16_t yy_def[664] = +static const flex_int16_t yy_def[665] = { 0, - 621, 1, 621, 621, 621, 621, 621, 622, 623, 621, - 621, 621, 621, 624, 621, 621, 621, 621, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 621, 621, 621, 621, 622, 621, 626, - 621, 627, 621, 621, 628, 621, 621, 629, 621, 13, - 630, 621, 631, 632, 624, 621, 621, 621, 621, 625, - 625, 633, 634, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 621, 45, 45, 621, 45, - 45, 621, 621, 621, 621, 621, 621, 622, 622, 622, - 621, 621, 621, 621, 635, 54, 636, 628, 637, 621, - 629, 621, 629, 59, 621, 631, 632, 621, 625, 633, - 621, 638, 621, 621, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 639, 621, 621, 621, 621, 621, 621, - 622, 621, 621, 621, 640, 636, 621, 637, 621, 621, - 625, 621, 621, 633, 633, 641, 621, 642, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 639, 621, 621, 621, 621, 621, 230, - 621, 230, 230, 621, 621, 621, 621, 622, 621, 621, - 621, 621, 621, 625, 633, 633, 643, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 621, 644, 621, 621, 645, 621, 646, 621, 621, 621, - 621, 621, 621, 633, 336, 621, 647, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 648, 621, 644, 649, - 621, 645, 645, 621, 646, 621, 621, 621, 621, 621, - 621, 336, 650, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 648, 649, 621, 649, 651, - 621, 621, 652, 621, 621, 653, 621, 621, 654, 621, - 621, 633, 621, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 651, 621, 651, - 652, 655, 656, 657, 621, 653, 658, 621, 654, 654, - 621, 621, 621, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 655, 588, 656, - 621, 656, 657, 658, 621, 658, 659, 660, 621, 621, - - 621, 625, 625, 625, 625, 661, 659, 621, 659, 660, - 621, 662, 663, 625, 661, 621, 662, 621, 662, 621, - 0, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621 + 622, 1, 622, 622, 622, 622, 622, 623, 624, 622, + 622, 622, 622, 625, 622, 622, 622, 622, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 622, 622, 622, 622, 623, 622, 627, + 622, 628, 622, 622, 629, 622, 622, 630, 622, 13, + 631, 622, 632, 633, 625, 622, 622, 622, 622, 626, + 626, 634, 635, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 622, 45, 45, 622, 45, + 45, 622, 622, 622, 622, 622, 622, 623, 623, 623, + 622, 622, 622, 622, 636, 54, 637, 629, 638, 622, + 630, 622, 630, 59, 622, 632, 633, 622, 626, 634, + 622, 639, 622, 622, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 640, 622, 622, 622, 622, 622, + 622, 623, 622, 622, 622, 641, 637, 622, 638, 622, + 622, 626, 622, 622, 634, 634, 642, 622, 643, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 640, 622, 622, 622, 622, 622, + 231, 622, 231, 231, 622, 622, 622, 622, 623, 622, + 622, 622, 622, 622, 626, 634, 634, 644, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 622, 645, 622, 622, 646, 622, 647, 622, 622, + 622, 622, 622, 622, 634, 337, 622, 648, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 649, 622, 645, + 650, 622, 646, 646, 622, 647, 622, 622, 622, 622, + 622, 622, 337, 651, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 649, 650, 622, 650, + 652, 622, 622, 653, 622, 622, 654, 622, 622, 655, + 622, 622, 634, 622, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 652, 622, + 652, 653, 656, 657, 658, 622, 654, 659, 622, 655, + 655, 622, 622, 622, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 656, 589, + 657, 622, 657, 658, 659, 622, 659, 660, 661, 622, + + 622, 622, 626, 626, 626, 626, 662, 660, 622, 660, + 661, 622, 663, 664, 626, 662, 622, 663, 622, 663, + 622, 0, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622 } ; -static const flex_int16_t yy_nxt[1569] = +static const flex_int16_t yy_nxt[1570] = { 0, 4, 5, 6, 7, 5, 8, 4, 9, 4, 4, 10, 11, 12, 13, 14, 14, 14, 14, 14, 14, @@ -969,7 +969,7 @@ static const flex_int16_t yy_nxt[1569] = 19, 4, 24, 25, 26, 27, 28, 29, 30, 31, 32, 19, 19, 33, 34, 35, 36, 37, 19, 38, 39, 40, 41, 42, 43, 19, 19, 44, 47, 49, - 44, 47, 45, 53, 611, 54, 55, 55, 55, 55, + 44, 47, 45, 53, 612, 54, 55, 55, 55, 55, 55, 55, 55, 55, 57, 72, 190, 73, 58, 96, 97, 191, 46, 56, 56, 56, 56, 56, 56, 56, @@ -977,166 +977,166 @@ static const flex_int16_t yy_nxt[1569] = 60, 60, 60, 60, 60, 61, 61, 86, 87, 88, 76, 62, 63, 91, 110, 62, 63, 89, 111, 90, 77, 92, 78, 104, 93, 64, 62, 63, 79, 81, - 62, 63, 99, 621, 105, 614, 82, 613, 124, 107, + 62, 63, 99, 622, 105, 194, 82, 195, 124, 107, 100, 106, 108, 83, 112, 109, 101, 113, 117, 84, - 64, 119, 102, 122, 125, 118, 120, 49, 621, 114, + 64, 119, 102, 122, 125, 118, 120, 49, 622, 114, 115, 121, 116, 126, 174, 175, 126, 123, 127, 128, - 129, 129, 130, 47, 137, 598, 47, 137, 138, 611, + 129, 129, 130, 47, 137, 615, 47, 137, 138, 614, 184, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 185, 237, 237, 50, 129, 140, 140, 140, 140, 140, - 140, 140, 143, 59, 208, 161, 605, 209, 144, 144, + 185, 238, 238, 50, 129, 140, 140, 140, 140, 140, + 140, 140, 143, 59, 209, 161, 599, 210, 144, 144, 144, 144, 144, 144, 144, 132, 152, 153, 133, 49, 49, 134, 62, 63, 59, 135, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 145, 192, 62, 63, 203, - 153, 162, 217, 62, 63, 204, 126, 193, 621, 126, - 224, 127, 218, 59, 621, 50, 50, 621, 62, 63, - 145, 59, 407, 146, 146, 146, 146, 146, 146, 146, - 61, 61, 62, 63, 137, 161, 247, 137, 138, 604, - 62, 63, 621, 152, 153, 152, 153, 62, 63, 161, - - 147, 49, 621, 603, 59, 62, 63, 291, 621, 231, - 231, 231, 231, 231, 231, 231, 292, 153, 602, 153, - 621, 162, 601, 62, 63, 147, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 162, 600, 50, 62, 63, - 300, 248, 562, 62, 149, 150, 621, 150, 242, 225, - 258, 242, 301, 621, 621, 259, 260, 49, 62, 149, - 150, 242, 345, 346, 242, 587, 150, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 239, 388, 239, 586, - 446, 243, 389, 585, 62, 149, 150, 390, 150, 391, - 584, 239, 621, 50, 243, 621, 447, 239, 621, 62, - - 149, 150, 621, 233, 161, 470, 583, 150, 470, 234, - 234, 234, 234, 234, 234, 234, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 245, 245, 245, 245, 245, - 245, 245, 276, 49, 277, 582, 472, 278, 279, 472, - 162, 328, 328, 328, 328, 328, 328, 328, 329, 401, - 401, 402, 581, 580, 330, 330, 330, 330, 330, 330, - 330, 392, 520, 393, 280, 520, 394, 395, 472, 50, - 579, 472, 578, 401, 246, 320, 321, 321, 322, 563, - 621, 567, 563, 408, 567, 577, 576, 323, 323, 323, - 323, 323, 323, 323, 323, 323, 569, 621, 621, 570, - - 321, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 575, 574, 467, 468, 468, 467, 518, 519, 161, 416, - 150, 324, 150, 573, 325, 597, 621, 326, 597, 621, - 569, 327, 621, 570, 161, 150, 621, 468, 572, 568, - 519, 150, 335, 335, 335, 335, 335, 335, 335, 161, - 467, 468, 468, 467, 162, 562, 557, 414, 414, 414, - 414, 414, 414, 414, 467, 468, 468, 467, 569, 556, - 162, 570, 598, 606, 612, 468, 606, 612, 521, 522, - 522, 521, 523, 518, 519, 162, 161, 555, 554, 468, - 525, 525, 526, 553, 415, 415, 415, 415, 415, 415, - - 415, 415, 415, 522, 552, 551, 550, 519, 549, 415, - 415, 415, 415, 415, 525, 467, 468, 468, 467, 518, - 519, 548, 162, 415, 415, 415, 415, 415, 415, 482, - 482, 482, 482, 482, 482, 482, 482, 482, 547, 546, - 468, 545, 544, 519, 482, 482, 482, 482, 482, 559, - 560, 521, 522, 522, 521, 523, 543, 542, 482, 482, - 482, 482, 482, 482, 532, 532, 532, 532, 532, 532, - 532, 532, 532, 560, 541, 540, 522, 559, 560, 532, - 532, 532, 532, 532, 564, 565, 565, 564, 559, 560, - 591, 592, 539, 532, 532, 532, 532, 532, 532, 595, - - 596, 560, 588, 522, 522, 588, 538, 537, 536, 565, - 591, 592, 560, 535, 592, 564, 565, 565, 564, 564, - 565, 565, 564, 596, 534, 416, 531, 522, 530, 588, - 522, 522, 588, 529, 592, 528, 599, 591, 592, 527, - 565, 595, 596, 476, 565, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 522, 621, 565, 565, 621, 595, - 596, 592, 608, 609, 524, 596, 606, 522, 522, 606, - 608, 609, 608, 609, 616, 616, 618, 619, 618, 619, - 565, 618, 619, 596, 515, 514, 609, 621, 522, 522, - 621, 522, 513, 512, 609, 511, 609, 510, 616, 509, - - 619, 508, 619, 507, 506, 619, 505, 504, 503, 502, - 501, 500, 522, 48, 48, 48, 48, 48, 48, 48, + 56, 56, 56, 56, 56, 145, 192, 62, 63, 204, + 153, 162, 218, 62, 63, 205, 126, 193, 622, 126, + 225, 127, 219, 59, 622, 50, 50, 622, 62, 63, + 145, 59, 408, 146, 146, 146, 146, 146, 146, 146, + 61, 61, 62, 63, 137, 161, 248, 137, 138, 612, + 62, 63, 622, 152, 153, 152, 153, 62, 63, 161, + + 147, 49, 622, 606, 59, 62, 63, 292, 622, 232, + 232, 232, 232, 232, 232, 232, 293, 153, 605, 153, + 622, 162, 604, 62, 63, 147, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 162, 603, 50, 62, 63, + 301, 249, 602, 62, 149, 150, 622, 150, 243, 226, + 259, 243, 302, 622, 622, 260, 261, 49, 62, 149, + 150, 243, 346, 347, 243, 601, 150, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 240, 389, 240, 563, + 447, 244, 390, 588, 62, 149, 150, 391, 150, 392, + 587, 240, 622, 50, 244, 622, 448, 240, 622, 62, + + 149, 150, 622, 234, 161, 471, 586, 150, 471, 235, + 235, 235, 235, 235, 235, 235, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 246, 246, 246, 246, 246, + 246, 246, 277, 49, 278, 585, 473, 279, 280, 473, + 162, 329, 329, 329, 329, 329, 329, 329, 330, 402, + 402, 403, 584, 583, 331, 331, 331, 331, 331, 331, + 331, 393, 521, 394, 281, 521, 395, 396, 473, 50, + 582, 473, 581, 402, 247, 321, 322, 322, 323, 564, + 622, 568, 564, 409, 568, 580, 579, 324, 324, 324, + 324, 324, 324, 324, 324, 324, 570, 622, 622, 571, + + 322, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 578, 577, 468, 469, 469, 468, 519, 520, 161, 576, + 150, 325, 150, 575, 326, 598, 622, 327, 598, 622, + 570, 328, 622, 571, 161, 150, 622, 469, 417, 574, + 520, 150, 336, 336, 336, 336, 336, 336, 336, 161, + 468, 469, 469, 468, 162, 573, 569, 415, 415, 415, + 415, 415, 415, 415, 468, 469, 469, 468, 570, 563, + 162, 571, 599, 607, 613, 469, 607, 613, 522, 523, + 523, 522, 524, 519, 520, 162, 161, 558, 557, 469, + 526, 526, 527, 556, 416, 416, 416, 416, 416, 416, + + 416, 416, 416, 523, 555, 554, 553, 520, 552, 416, + 416, 416, 416, 416, 526, 468, 469, 469, 468, 519, + 520, 551, 162, 416, 416, 416, 416, 416, 416, 483, + 483, 483, 483, 483, 483, 483, 483, 483, 550, 549, + 469, 548, 547, 520, 483, 483, 483, 483, 483, 560, + 561, 522, 523, 523, 522, 524, 546, 545, 483, 483, + 483, 483, 483, 483, 533, 533, 533, 533, 533, 533, + 533, 533, 533, 561, 544, 543, 523, 560, 561, 533, + 533, 533, 533, 533, 565, 566, 566, 565, 560, 561, + 592, 593, 542, 533, 533, 533, 533, 533, 533, 596, + + 597, 561, 589, 523, 523, 589, 541, 540, 539, 566, + 592, 593, 561, 538, 593, 565, 566, 566, 565, 565, + 566, 566, 565, 597, 537, 536, 535, 523, 417, 589, + 523, 523, 589, 532, 593, 531, 600, 592, 593, 530, + 566, 596, 597, 529, 566, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 523, 622, 566, 566, 622, 596, + 597, 593, 609, 610, 528, 597, 607, 523, 523, 607, + 609, 610, 609, 610, 617, 617, 619, 620, 619, 620, + 566, 619, 620, 597, 477, 525, 610, 622, 523, 523, + 622, 523, 516, 515, 610, 514, 610, 513, 617, 512, + + 620, 511, 620, 510, 509, 620, 508, 507, 506, 505, + 504, 503, 523, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 51, 51, 499, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 502, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 65, 65, 65, - 498, 497, 65, 70, 70, 496, 70, 70, 70, 70, - 70, 70, 139, 139, 495, 494, 139, 493, 139, 492, - 491, 490, 139, 139, 142, 142, 489, 142, 142, 142, + 501, 500, 65, 70, 70, 499, 70, 70, 70, 70, + 70, 70, 139, 139, 498, 497, 139, 496, 139, 495, + 494, 493, 139, 139, 142, 142, 492, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 148, 148, 148, 488, 487, 148, 151, 151, 151, + 142, 148, 148, 148, 491, 490, 148, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 61, 61, 61, 486, 485, 61, - 156, 484, 156, 156, 157, 157, 416, 157, 157, 481, + 151, 151, 151, 151, 61, 61, 61, 489, 488, 61, + 156, 487, 156, 156, 157, 157, 486, 157, 157, 485, 157, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 163, 163, - 480, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 235, 479, 478, 235, 235, - 477, 235, 235, 407, 235, 236, 236, 476, 236, 236, - 474, 236, 238, 471, 238, 238, 244, 244, 466, 465, - 244, 464, 244, 463, 462, 461, 244, 244, 244, 314, - - 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 314, 314, 314, 332, 460, 459, 332, - 332, 458, 332, 332, 457, 332, 336, 336, 456, 336, - 336, 455, 336, 337, 337, 454, 337, 337, 453, 337, - 417, 452, 451, 417, 417, 450, 417, 417, 449, 417, - 469, 469, 469, 448, 445, 444, 443, 469, 469, 469, - 473, 442, 441, 440, 439, 438, 437, 473, 473, 475, - 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, - 475, 475, 475, 475, 475, 475, 483, 436, 435, 483, - 483, 434, 483, 483, 433, 483, 516, 516, 516, 432, - - 431, 430, 429, 516, 516, 516, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 533, 428, 427, 533, 533, 426, 533, - 533, 425, 533, 558, 558, 558, 558, 558, 558, 558, - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 561, 561, 561, 561, 566, 566, 566, - 424, 423, 422, 421, 566, 566, 566, 571, 420, 419, - 418, 416, 413, 331, 571, 571, 589, 589, 589, 329, - 412, 411, 410, 589, 589, 589, 590, 590, 590, 590, - - 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, - 590, 590, 590, 593, 593, 593, 409, 621, 406, 405, - 593, 593, 593, 594, 594, 594, 594, 594, 594, 594, - 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, - 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, - 607, 607, 607, 607, 607, 607, 607, 610, 610, 610, - 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, - 610, 610, 610, 610, 615, 615, 615, 404, 403, 315, - 400, 615, 615, 615, 617, 617, 617, 617, 617, 617, - 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, - - 617, 620, 620, 620, 620, 620, 620, 620, 620, 399, - 398, 620, 397, 396, 387, 386, 385, 384, 383, 382, - 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, - 371, 370, 369, 368, 367, 366, 365, 364, 363, 362, - 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, - 351, 350, 349, 348, 347, 344, 343, 342, 341, 340, - 339, 338, 72, 334, 333, 331, 319, 318, 317, 316, - 224, 315, 313, 312, 311, 310, 309, 308, 307, 306, - 305, 304, 303, 302, 299, 298, 297, 296, 295, 294, - 293, 290, 289, 288, 287, 286, 285, 284, 283, 282, - - 281, 275, 274, 273, 272, 271, 270, 269, 268, 267, - 266, 265, 264, 263, 262, 261, 257, 256, 255, 254, - 253, 252, 251, 250, 249, 247, 241, 240, 232, 232, - 232, 230, 229, 228, 227, 226, 223, 222, 221, 220, - 219, 216, 215, 214, 213, 212, 211, 210, 207, 206, - 205, 202, 201, 200, 199, 198, 197, 196, 195, 194, - 189, 188, 187, 186, 183, 182, 181, 180, 179, 178, - 177, 176, 173, 172, 171, 170, 169, 168, 167, 166, - 165, 164, 159, 158, 141, 136, 103, 98, 95, 94, - 80, 75, 74, 71, 69, 68, 67, 66, 52, 621, - - 3, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621 + 417, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 236, 482, 481, 236, 236, + 480, 236, 236, 479, 236, 237, 237, 478, 237, 237, + 408, 237, 239, 477, 239, 239, 245, 245, 475, 472, + 245, 467, 245, 466, 465, 464, 245, 245, 245, 315, + + 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, + 315, 315, 315, 315, 315, 315, 333, 463, 462, 333, + 333, 461, 333, 333, 460, 333, 337, 337, 459, 337, + 337, 458, 337, 338, 338, 457, 338, 338, 456, 338, + 418, 455, 454, 418, 418, 453, 418, 418, 452, 418, + 470, 470, 470, 451, 450, 449, 446, 470, 470, 470, + 474, 445, 444, 443, 442, 441, 440, 474, 474, 476, + 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, + 476, 476, 476, 476, 476, 476, 484, 439, 438, 484, + 484, 437, 484, 484, 436, 484, 517, 517, 517, 435, + + 434, 433, 432, 517, 517, 517, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 534, 431, 430, 534, 534, 429, 534, + 534, 428, 534, 559, 559, 559, 559, 559, 559, 559, + 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, + 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, + 562, 562, 562, 562, 562, 562, 562, 567, 567, 567, + 427, 426, 425, 424, 567, 567, 567, 572, 423, 422, + 421, 420, 419, 417, 572, 572, 590, 590, 590, 414, + 332, 330, 413, 590, 590, 590, 591, 591, 591, 591, + + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 594, 594, 594, 412, 411, 410, 622, + 594, 594, 594, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, + 608, 608, 608, 608, 608, 608, 608, 611, 611, 611, + 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, + 611, 611, 611, 611, 616, 616, 616, 407, 406, 405, + 404, 616, 616, 616, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + + 618, 621, 621, 621, 621, 621, 621, 621, 621, 316, + 401, 621, 400, 399, 398, 397, 388, 387, 386, 385, + 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, + 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, + 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, + 354, 353, 352, 351, 350, 349, 348, 345, 344, 343, + 342, 341, 340, 339, 72, 335, 334, 332, 320, 319, + 318, 317, 225, 316, 314, 313, 312, 311, 310, 309, + 308, 307, 306, 305, 304, 303, 300, 299, 298, 297, + 296, 295, 294, 291, 290, 289, 288, 287, 286, 285, + + 284, 283, 282, 276, 275, 274, 273, 272, 271, 270, + 269, 268, 267, 266, 265, 264, 263, 262, 258, 257, + 256, 255, 254, 253, 252, 251, 250, 248, 242, 241, + 233, 233, 233, 231, 230, 229, 228, 227, 224, 223, + 222, 221, 220, 217, 216, 215, 214, 213, 212, 211, + 208, 207, 206, 203, 202, 201, 200, 199, 198, 197, + 196, 189, 188, 187, 186, 183, 182, 181, 180, 179, + 178, 177, 176, 173, 172, 171, 170, 169, 168, 167, + 166, 165, 164, 159, 158, 141, 136, 103, 98, 95, + 94, 80, 75, 74, 71, 69, 68, 67, 66, 52, + + 622, 3, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622 } ; -static const flex_int16_t yy_chk[1569] = +static const flex_int16_t yy_chk[1570] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1145,7 +1145,7 @@ static const flex_int16_t yy_chk[1569] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 8, - 2, 5, 2, 10, 610, 10, 10, 10, 10, 10, + 2, 5, 2, 10, 611, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 21, 97, 21, 12, 32, 32, 97, 2, 11, 11, 11, 11, 11, 11, 11, @@ -1153,163 +1153,163 @@ static const flex_int16_t yy_chk[1569] = 13, 13, 13, 13, 13, 13, 13, 27, 28, 28, 24, 14, 14, 29, 38, 13, 13, 28, 38, 28, 24, 29, 24, 36, 29, 13, 14, 14, 24, 26, - 13, 13, 34, 60, 36, 604, 26, 601, 43, 37, + 13, 13, 34, 60, 36, 99, 26, 99, 43, 37, 34, 36, 37, 26, 39, 37, 34, 39, 40, 26, 13, 41, 34, 42, 43, 40, 41, 48, 60, 39, 39, 41, 39, 44, 83, 83, 44, 42, 44, 45, - 45, 45, 45, 47, 49, 599, 47, 49, 49, 598, + 45, 45, 45, 47, 49, 605, 47, 49, 49, 602, 92, 45, 45, 45, 45, 45, 45, 45, 45, 45, 92, 149, 149, 48, 45, 50, 50, 50, 50, 50, - 50, 50, 52, 55, 112, 72, 586, 112, 52, 52, + 50, 50, 52, 55, 112, 72, 600, 112, 52, 52, 52, 52, 52, 52, 52, 45, 58, 58, 45, 138, 139, 45, 55, 55, 61, 45, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 98, 55, 55, 108, 58, 72, 120, 61, 61, 108, 126, 98, 128, 126, 130, 126, 120, 65, 128, 138, 139, 146, 61, 61, - 52, 54, 322, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 65, 65, 137, 160, 164, 137, 137, 585, - 54, 54, 146, 151, 151, 153, 153, 65, 65, 244, - - 54, 140, 130, 582, 148, 54, 54, 203, 130, 140, - 140, 140, 140, 140, 140, 140, 203, 151, 581, 153, - 322, 160, 573, 148, 148, 54, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 244, 572, 140, 148, 148, - 211, 164, 561, 56, 56, 56, 131, 56, 161, 131, - 175, 161, 211, 156, 156, 175, 175, 328, 56, 56, - 56, 242, 259, 259, 242, 557, 56, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 156, 305, 156, 555, - 377, 161, 305, 553, 59, 59, 59, 305, 59, 305, - 551, 156, 131, 328, 242, 131, 377, 156, 131, 59, - - 59, 59, 131, 144, 414, 403, 548, 59, 403, 144, + 52, 54, 323, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 65, 65, 137, 160, 164, 137, 137, 599, + 54, 54, 146, 151, 151, 153, 153, 65, 65, 245, + + 54, 140, 130, 587, 148, 54, 54, 204, 130, 140, + 140, 140, 140, 140, 140, 140, 204, 151, 586, 153, + 323, 160, 583, 148, 148, 54, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 245, 582, 140, 148, 148, + 212, 164, 574, 56, 56, 56, 131, 56, 161, 131, + 175, 161, 212, 156, 156, 175, 175, 329, 56, 56, + 56, 243, 260, 260, 243, 573, 56, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 156, 306, 156, 562, + 378, 161, 306, 558, 59, 59, 59, 306, 59, 306, + 556, 156, 131, 329, 243, 131, 378, 156, 131, 59, + + 59, 59, 131, 144, 415, 404, 554, 59, 404, 144, 144, 144, 144, 144, 144, 144, 155, 155, 155, 155, 155, 155, 155, 155, 155, 162, 162, 162, 162, 162, - 162, 162, 191, 231, 191, 546, 405, 191, 191, 405, - 414, 231, 231, 231, 231, 231, 231, 231, 234, 315, - 315, 315, 543, 542, 234, 234, 234, 234, 234, 234, - 234, 306, 471, 306, 191, 471, 306, 306, 472, 231, - 541, 472, 540, 315, 162, 230, 230, 230, 230, 524, - 323, 527, 524, 323, 527, 539, 537, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 529, 238, 238, 529, - - 230, 237, 237, 237, 237, 237, 237, 237, 237, 237, - 536, 535, 402, 402, 402, 402, 470, 470, 532, 533, - 238, 230, 238, 531, 230, 568, 323, 230, 568, 323, - 569, 230, 323, 569, 245, 238, 323, 402, 530, 528, - 470, 238, 245, 245, 245, 245, 245, 245, 245, 335, - 467, 467, 467, 467, 532, 523, 514, 335, 335, 335, - 335, 335, 335, 335, 469, 469, 469, 469, 570, 513, - 245, 570, 570, 589, 600, 467, 589, 600, 473, 473, - 473, 473, 473, 517, 517, 335, 336, 512, 511, 469, - 476, 476, 476, 509, 336, 336, 336, 336, 336, 336, - - 336, 336, 336, 473, 508, 507, 506, 517, 505, 336, - 336, 336, 336, 336, 476, 516, 516, 516, 516, 519, - 519, 504, 336, 336, 336, 336, 336, 336, 336, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 503, 501, - 516, 500, 499, 519, 415, 415, 415, 415, 415, 520, - 520, 521, 521, 521, 521, 521, 498, 496, 415, 415, - 415, 415, 415, 415, 482, 482, 482, 482, 482, 482, - 482, 482, 482, 520, 495, 493, 521, 558, 558, 482, - 482, 482, 482, 482, 526, 526, 526, 526, 560, 560, - 563, 563, 492, 482, 482, 482, 482, 482, 482, 567, - - 567, 558, 562, 562, 562, 562, 489, 488, 487, 526, - 590, 590, 560, 485, 563, 564, 564, 564, 564, 566, - 566, 566, 566, 567, 484, 483, 481, 562, 480, 588, - 588, 588, 588, 479, 590, 478, 571, 592, 592, 477, - 564, 594, 594, 475, 566, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 588, 593, 593, 593, 593, 596, - 596, 592, 597, 597, 474, 594, 606, 606, 606, 606, - 607, 607, 609, 609, 611, 611, 612, 612, 617, 617, - 593, 619, 619, 596, 466, 465, 597, 615, 615, 615, - 615, 606, 464, 460, 607, 459, 609, 457, 611, 456, - - 612, 454, 617, 451, 450, 619, 449, 447, 445, 444, - 443, 442, 615, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 623, 623, 439, 623, 623, 623, 623, 623, 623, 623, - 623, 623, 623, 623, 623, 623, 623, 624, 624, 624, - 437, 436, 624, 625, 625, 435, 625, 625, 625, 625, - 625, 625, 626, 626, 433, 431, 626, 430, 626, 429, - 427, 425, 626, 626, 627, 627, 424, 627, 627, 627, - 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, - 627, 628, 628, 628, 423, 422, 628, 629, 629, 629, - - 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, - 629, 629, 629, 629, 630, 630, 630, 421, 420, 630, - 631, 419, 631, 631, 632, 632, 417, 632, 632, 413, - 632, 633, 633, 633, 633, 633, 633, 633, 633, 633, - 633, 633, 633, 633, 633, 633, 633, 633, 634, 634, - 412, 634, 634, 634, 634, 634, 634, 634, 634, 634, - 634, 634, 634, 634, 634, 635, 411, 410, 635, 635, - 409, 635, 635, 408, 635, 636, 636, 407, 636, 636, - 406, 636, 637, 404, 637, 637, 638, 638, 400, 398, - 638, 397, 638, 394, 393, 392, 638, 638, 638, 639, - - 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, - 639, 639, 639, 639, 639, 639, 640, 391, 390, 640, - 640, 389, 640, 640, 388, 640, 641, 641, 387, 641, - 641, 386, 641, 642, 642, 385, 642, 642, 384, 642, - 643, 383, 381, 643, 643, 380, 643, 643, 379, 643, - 644, 644, 644, 378, 376, 375, 374, 644, 644, 644, - 645, 373, 372, 370, 369, 368, 367, 645, 645, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 647, 366, 364, 647, - 647, 359, 647, 647, 358, 647, 648, 648, 648, 355, - - 354, 353, 352, 648, 648, 648, 649, 649, 649, 649, - 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, - 649, 649, 649, 650, 350, 349, 650, 650, 348, 650, - 650, 347, 650, 651, 651, 651, 651, 651, 651, 651, - 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, + 162, 162, 191, 232, 191, 552, 406, 191, 191, 406, + 415, 232, 232, 232, 232, 232, 232, 232, 235, 316, + 316, 316, 549, 547, 235, 235, 235, 235, 235, 235, + 235, 307, 472, 307, 191, 472, 307, 307, 473, 232, + 544, 473, 543, 316, 162, 231, 231, 231, 231, 525, + 324, 528, 525, 324, 528, 542, 541, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 530, 239, 239, 530, + + 231, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 540, 538, 403, 403, 403, 403, 471, 471, 533, 537, + 239, 231, 239, 536, 231, 569, 324, 231, 569, 324, + 570, 231, 324, 570, 246, 239, 324, 403, 534, 532, + 471, 239, 246, 246, 246, 246, 246, 246, 246, 336, + 468, 468, 468, 468, 533, 531, 529, 336, 336, 336, + 336, 336, 336, 336, 470, 470, 470, 470, 571, 524, + 246, 571, 571, 590, 601, 468, 590, 601, 474, 474, + 474, 474, 474, 518, 518, 336, 337, 515, 514, 470, + 477, 477, 477, 513, 337, 337, 337, 337, 337, 337, + + 337, 337, 337, 474, 512, 510, 509, 518, 508, 337, + 337, 337, 337, 337, 477, 517, 517, 517, 517, 520, + 520, 507, 337, 337, 337, 337, 337, 337, 337, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 506, 505, + 517, 504, 502, 520, 416, 416, 416, 416, 416, 521, + 521, 522, 522, 522, 522, 522, 501, 500, 416, 416, + 416, 416, 416, 416, 483, 483, 483, 483, 483, 483, + 483, 483, 483, 521, 499, 497, 522, 559, 559, 483, + 483, 483, 483, 483, 527, 527, 527, 527, 561, 561, + 564, 564, 496, 483, 483, 483, 483, 483, 483, 568, + + 568, 559, 563, 563, 563, 563, 494, 493, 490, 527, + 591, 591, 561, 489, 564, 565, 565, 565, 565, 567, + 567, 567, 567, 568, 488, 486, 485, 563, 484, 589, + 589, 589, 589, 482, 591, 481, 572, 593, 593, 480, + 565, 595, 595, 479, 567, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 589, 594, 594, 594, 594, 597, + 597, 593, 598, 598, 478, 595, 607, 607, 607, 607, + 608, 608, 610, 610, 612, 612, 613, 613, 618, 618, + 594, 620, 620, 597, 476, 475, 598, 616, 616, 616, + 616, 607, 467, 466, 608, 465, 610, 461, 612, 460, + + 613, 458, 618, 457, 455, 620, 452, 451, 450, 448, + 446, 445, 616, 623, 623, 623, 623, 623, 623, 623, + 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, + 624, 624, 444, 624, 624, 624, 624, 624, 624, 624, + 624, 624, 624, 624, 624, 624, 624, 625, 625, 625, + 443, 440, 625, 626, 626, 438, 626, 626, 626, 626, + 626, 626, 627, 627, 437, 436, 627, 434, 627, 432, + 431, 430, 627, 627, 628, 628, 428, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 629, 629, 629, 426, 425, 629, 630, 630, 630, + + 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, + 630, 630, 630, 630, 631, 631, 631, 424, 423, 631, + 632, 422, 632, 632, 633, 633, 421, 633, 633, 420, + 633, 634, 634, 634, 634, 634, 634, 634, 634, 634, + 634, 634, 634, 634, 634, 634, 634, 634, 635, 635, + 418, 635, 635, 635, 635, 635, 635, 635, 635, 635, + 635, 635, 635, 635, 635, 636, 414, 413, 636, 636, + 412, 636, 636, 411, 636, 637, 637, 410, 637, 637, + 409, 637, 638, 408, 638, 638, 639, 639, 407, 405, + 639, 401, 639, 399, 398, 395, 639, 639, 639, 640, + + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 641, 394, 393, 641, + 641, 392, 641, 641, 391, 641, 642, 642, 390, 642, + 642, 389, 642, 643, 643, 388, 643, 643, 387, 643, + 644, 386, 385, 644, 644, 384, 644, 644, 382, 644, + 645, 645, 645, 381, 380, 379, 377, 645, 645, 645, + 646, 376, 375, 374, 373, 371, 370, 646, 646, 647, + 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, + 647, 647, 647, 647, 647, 647, 648, 369, 368, 648, + 648, 367, 648, 648, 365, 648, 649, 649, 649, 360, + + 359, 356, 355, 649, 649, 649, 650, 650, 650, 650, + 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, + 650, 650, 650, 651, 354, 353, 651, 651, 351, 651, + 651, 350, 651, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, - 652, 652, 652, 652, 652, 652, 652, 653, 653, 653, - 346, 344, 343, 342, 653, 653, 653, 654, 341, 339, - 338, 337, 333, 332, 654, 654, 655, 655, 655, 330, - 327, 326, 325, 655, 655, 655, 656, 656, 656, 656, - - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 657, 657, 657, 324, 320, 319, 318, - 657, 657, 657, 658, 658, 658, 658, 658, 658, 658, - 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, + 653, 653, 653, 653, 653, 653, 653, 654, 654, 654, + 349, 348, 347, 345, 654, 654, 654, 655, 344, 343, + 342, 340, 339, 338, 655, 655, 656, 656, 656, 334, + 333, 331, 328, 656, 656, 656, 657, 657, 657, 657, + + 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, + 657, 657, 657, 658, 658, 658, 327, 326, 325, 321, + 658, 658, 658, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, - 659, 659, 659, 659, 659, 659, 659, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, - 660, 660, 660, 660, 661, 661, 661, 317, 316, 314, - 313, 661, 661, 661, 662, 662, 662, 662, 662, 662, - 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, - - 662, 663, 663, 663, 663, 663, 663, 663, 663, 312, - 310, 663, 308, 307, 304, 303, 302, 301, 300, 299, - 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, - 288, 287, 286, 285, 284, 283, 281, 280, 278, 277, - 276, 275, 274, 272, 271, 270, 269, 268, 267, 266, - 264, 263, 262, 261, 260, 258, 257, 254, 253, 252, - 251, 249, 243, 241, 240, 235, 229, 228, 227, 226, - 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, - 215, 214, 213, 212, 210, 209, 208, 207, 206, 205, - 204, 202, 200, 199, 198, 197, 196, 195, 194, 193, - - 192, 190, 189, 188, 187, 186, 185, 184, 183, 182, - 181, 180, 179, 178, 177, 176, 174, 173, 172, 171, - 170, 168, 167, 166, 165, 163, 159, 158, 145, 143, - 142, 136, 135, 134, 133, 132, 125, 124, 123, 122, - 121, 119, 118, 117, 116, 115, 114, 113, 111, 110, - 109, 107, 106, 105, 104, 103, 102, 101, 100, 99, - 96, 95, 94, 93, 91, 90, 89, 88, 87, 86, - 85, 84, 82, 81, 80, 79, 78, 77, 76, 75, - 74, 73, 71, 69, 51, 46, 35, 33, 31, 30, - 25, 23, 22, 20, 18, 17, 16, 15, 9, 3, - - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 621, 621, 621 + 660, 660, 660, 660, 660, 660, 660, 661, 661, 661, + 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, + 661, 661, 661, 661, 662, 662, 662, 320, 319, 318, + 317, 662, 662, 662, 663, 663, 663, 663, 663, 663, + 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, + + 663, 664, 664, 664, 664, 664, 664, 664, 664, 315, + 314, 664, 313, 311, 309, 308, 305, 304, 303, 302, + 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, + 291, 290, 289, 288, 287, 286, 285, 284, 282, 281, + 279, 278, 277, 276, 275, 273, 272, 271, 270, 269, + 268, 267, 265, 264, 263, 262, 261, 259, 258, 255, + 254, 253, 252, 250, 244, 242, 241, 236, 230, 229, + 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, + 218, 217, 216, 215, 214, 213, 211, 210, 209, 208, + 207, 206, 205, 203, 201, 200, 199, 198, 197, 196, + + 194, 193, 192, 190, 189, 188, 187, 186, 185, 184, + 183, 182, 181, 180, 179, 178, 177, 176, 174, 173, + 172, 171, 170, 168, 167, 166, 165, 163, 159, 158, + 145, 143, 142, 136, 135, 134, 133, 132, 125, 124, + 123, 122, 121, 119, 118, 117, 116, 115, 114, 113, + 111, 110, 109, 107, 106, 105, 104, 103, 102, 101, + 100, 96, 95, 94, 93, 91, 90, 89, 88, 87, + 86, 85, 84, 82, 81, 80, 79, 78, 77, 76, + 75, 74, 73, 71, 69, 51, 46, 35, 33, 31, + 30, 25, 23, 22, 20, 18, 17, 16, 15, 9, + + 3, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622 } ; extern int yy_flex_debug; @@ -1708,14 +1708,14 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 622 ) + if ( yy_current_state >= 623 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; *(yy_state_ptr)++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 621 ); + while ( yy_current_state != 622 ); yy_find_action: yy_current_state = *--(yy_state_ptr); @@ -1827,96 +1827,101 @@ return IDL_SEQUENCE; case 17: YY_RULE_SETUP #line 141 "fe/idl.ll" -return IDL_UNION; +return IDL_MAP; YY_BREAK case 18: YY_RULE_SETUP #line 142 "fe/idl.ll" -return IDL_FIXED; +return IDL_UNION; YY_BREAK case 19: YY_RULE_SETUP #line 143 "fe/idl.ll" -return IDL_SWITCH; +return IDL_FIXED; YY_BREAK case 20: YY_RULE_SETUP #line 144 "fe/idl.ll" -return IDL_CASE; +return IDL_SWITCH; YY_BREAK case 21: YY_RULE_SETUP #line 145 "fe/idl.ll" -return IDL_DEFAULT; +return IDL_CASE; YY_BREAK case 22: YY_RULE_SETUP #line 146 "fe/idl.ll" -return IDL_FLOAT; +return IDL_DEFAULT; YY_BREAK case 23: YY_RULE_SETUP #line 147 "fe/idl.ll" -return IDL_DOUBLE; +return IDL_FLOAT; YY_BREAK case 24: YY_RULE_SETUP #line 148 "fe/idl.ll" -return IDL_LONG; +return IDL_DOUBLE; YY_BREAK case 25: YY_RULE_SETUP #line 149 "fe/idl.ll" -return IDL_SHORT; +return IDL_LONG; YY_BREAK case 26: YY_RULE_SETUP #line 150 "fe/idl.ll" -return IDL_UNSIGNED; +return IDL_SHORT; YY_BREAK case 27: YY_RULE_SETUP #line 151 "fe/idl.ll" -return IDL_CHAR; +return IDL_UNSIGNED; YY_BREAK case 28: YY_RULE_SETUP #line 152 "fe/idl.ll" -return IDL_WCHAR; +return IDL_CHAR; YY_BREAK case 29: YY_RULE_SETUP #line 153 "fe/idl.ll" -return IDL_BOOLEAN; +return IDL_WCHAR; YY_BREAK case 30: YY_RULE_SETUP #line 154 "fe/idl.ll" -return IDL_OCTET; +return IDL_BOOLEAN; YY_BREAK case 31: YY_RULE_SETUP #line 155 "fe/idl.ll" -return IDL_VOID; +return IDL_OCTET; YY_BREAK case 32: YY_RULE_SETUP #line 156 "fe/idl.ll" -return IDL_NATIVE; +return IDL_VOID; YY_BREAK case 33: YY_RULE_SETUP #line 157 "fe/idl.ll" -return IDL_LOCAL; +return IDL_NATIVE; YY_BREAK case 34: YY_RULE_SETUP #line 158 "fe/idl.ll" -return IDL_ABSTRACT; +return IDL_LOCAL; YY_BREAK case 35: YY_RULE_SETUP -#line 160 "fe/idl.ll" +#line 159 "fe/idl.ll" +return IDL_ABSTRACT; + YY_BREAK +case 36: +YY_RULE_SETUP +#line 161 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT8; @@ -1926,9 +1931,9 @@ YY_RULE_SETUP } } YY_BREAK -case 36: +case 37: YY_RULE_SETUP -#line 168 "fe/idl.ll" +#line 169 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT8; @@ -1938,9 +1943,9 @@ YY_RULE_SETUP } } YY_BREAK -case 37: +case 38: YY_RULE_SETUP -#line 176 "fe/idl.ll" +#line 177 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT16; @@ -1950,9 +1955,9 @@ YY_RULE_SETUP } } YY_BREAK -case 38: +case 39: YY_RULE_SETUP -#line 184 "fe/idl.ll" +#line 185 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT16; @@ -1962,9 +1967,9 @@ YY_RULE_SETUP } } YY_BREAK -case 39: +case 40: YY_RULE_SETUP -#line 192 "fe/idl.ll" +#line 193 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT32; @@ -1974,9 +1979,9 @@ YY_RULE_SETUP } } YY_BREAK -case 40: +case 41: YY_RULE_SETUP -#line 200 "fe/idl.ll" +#line 201 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT32; @@ -1986,9 +1991,9 @@ YY_RULE_SETUP } } YY_BREAK -case 41: +case 42: YY_RULE_SETUP -#line 208 "fe/idl.ll" +#line 209 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_INT64; @@ -1998,9 +2003,9 @@ YY_RULE_SETUP } } YY_BREAK -case 42: +case 43: YY_RULE_SETUP -#line 216 "fe/idl.ll" +#line 217 "fe/idl.ll" { if (idl_global->idl_version_ >= IDL_VERSION_4) return IDL_UINT64; @@ -2010,218 +2015,230 @@ YY_RULE_SETUP } } YY_BREAK -case 43: +case 44: YY_RULE_SETUP #line 225 "fe/idl.ll" +{ + if (idl_global->idl_version_ >= IDL_VERSION_4) + return IDL_MAP; + else + { + REJECT; + } +} + YY_BREAK +case 45: +YY_RULE_SETUP +#line 234 "fe/idl.ll" return IDL_CUSTOM; YY_BREAK -case 44: +case 46: YY_RULE_SETUP -#line 226 "fe/idl.ll" +#line 235 "fe/idl.ll" return IDL_FACTORY; YY_BREAK -case 45: +case 47: YY_RULE_SETUP -#line 227 "fe/idl.ll" +#line 236 "fe/idl.ll" return IDL_PRIVATE; YY_BREAK -case 46: +case 48: YY_RULE_SETUP -#line 228 "fe/idl.ll" +#line 237 "fe/idl.ll" return IDL_PUBLIC; YY_BREAK -case 47: +case 49: YY_RULE_SETUP -#line 229 "fe/idl.ll" +#line 238 "fe/idl.ll" return IDL_SUPPORTS; YY_BREAK -case 48: +case 50: YY_RULE_SETUP -#line 230 "fe/idl.ll" +#line 239 "fe/idl.ll" return IDL_TRUNCATABLE; YY_BREAK -case 49: +case 51: YY_RULE_SETUP -#line 231 "fe/idl.ll" +#line 240 "fe/idl.ll" return IDL_VALUETYPE; YY_BREAK -case 50: +case 52: YY_RULE_SETUP -#line 233 "fe/idl.ll" +#line 242 "fe/idl.ll" return IDL_COMPONENT; YY_BREAK -case 51: +case 53: YY_RULE_SETUP -#line 234 "fe/idl.ll" +#line 243 "fe/idl.ll" return IDL_CONSUMES; YY_BREAK -case 52: +case 54: YY_RULE_SETUP -#line 235 "fe/idl.ll" +#line 244 "fe/idl.ll" return IDL_EMITS; YY_BREAK -case 53: +case 55: YY_RULE_SETUP -#line 236 "fe/idl.ll" +#line 245 "fe/idl.ll" return IDL_EVENTTYPE; YY_BREAK -case 54: +case 56: YY_RULE_SETUP -#line 237 "fe/idl.ll" +#line 246 "fe/idl.ll" return IDL_FINDER; YY_BREAK -case 55: +case 57: YY_RULE_SETUP -#line 238 "fe/idl.ll" +#line 247 "fe/idl.ll" return IDL_GETRAISES; YY_BREAK -case 56: +case 58: YY_RULE_SETUP -#line 239 "fe/idl.ll" +#line 248 "fe/idl.ll" return IDL_HOME; YY_BREAK -case 57: +case 59: YY_RULE_SETUP -#line 240 "fe/idl.ll" +#line 249 "fe/idl.ll" return IDL_IMPORT; YY_BREAK -case 58: +case 60: YY_RULE_SETUP -#line 241 "fe/idl.ll" +#line 250 "fe/idl.ll" return IDL_MULTIPLE; YY_BREAK -case 59: +case 61: YY_RULE_SETUP -#line 242 "fe/idl.ll" +#line 251 "fe/idl.ll" return IDL_PRIMARYKEY; YY_BREAK -case 60: +case 62: YY_RULE_SETUP -#line 243 "fe/idl.ll" +#line 252 "fe/idl.ll" return IDL_PROVIDES; YY_BREAK -case 61: +case 63: YY_RULE_SETUP -#line 244 "fe/idl.ll" +#line 253 "fe/idl.ll" return IDL_PUBLISHES; YY_BREAK -case 62: +case 64: YY_RULE_SETUP -#line 245 "fe/idl.ll" +#line 254 "fe/idl.ll" return IDL_SETRAISES; YY_BREAK -case 63: +case 65: YY_RULE_SETUP -#line 246 "fe/idl.ll" +#line 255 "fe/idl.ll" return IDL_TYPEID; YY_BREAK -case 64: +case 66: YY_RULE_SETUP -#line 247 "fe/idl.ll" +#line 256 "fe/idl.ll" return IDL_TYPEPREFIX; YY_BREAK -case 65: +case 67: YY_RULE_SETUP -#line 248 "fe/idl.ll" +#line 257 "fe/idl.ll" return IDL_USES; YY_BREAK -case 66: +case 68: YY_RULE_SETUP -#line 249 "fe/idl.ll" +#line 258 "fe/idl.ll" return IDL_MANAGES; YY_BREAK -case 67: +case 69: YY_RULE_SETUP -#line 251 "fe/idl.ll" +#line 260 "fe/idl.ll" return IDL_TYPENAME; YY_BREAK -case 68: +case 70: YY_RULE_SETUP -#line 252 "fe/idl.ll" +#line 261 "fe/idl.ll" return IDL_PORT; YY_BREAK -case 69: +case 71: YY_RULE_SETUP -#line 253 "fe/idl.ll" +#line 262 "fe/idl.ll" return IDL_MIRRORPORT; YY_BREAK -case 70: +case 72: YY_RULE_SETUP -#line 254 "fe/idl.ll" +#line 263 "fe/idl.ll" return IDL_PORTTYPE; YY_BREAK -case 71: +case 73: YY_RULE_SETUP -#line 255 "fe/idl.ll" +#line 264 "fe/idl.ll" return IDL_CONNECTOR; YY_BREAK -case 72: +case 74: YY_RULE_SETUP -#line 256 "fe/idl.ll" +#line 265 "fe/idl.ll" return IDL_ALIAS; YY_BREAK -case 73: +case 75: YY_RULE_SETUP -#line 258 "fe/idl.ll" +#line 267 "fe/idl.ll" return IDL_TRUETOK; YY_BREAK -case 74: +case 76: YY_RULE_SETUP -#line 259 "fe/idl.ll" +#line 268 "fe/idl.ll" return IDL_FALSETOK; YY_BREAK -case 75: +case 77: YY_RULE_SETUP -#line 261 "fe/idl.ll" +#line 270 "fe/idl.ll" return IDL_INOUT; YY_BREAK -case 76: +case 78: YY_RULE_SETUP -#line 262 "fe/idl.ll" +#line 271 "fe/idl.ll" return IDL_IN; YY_BREAK -case 77: +case 79: YY_RULE_SETUP -#line 263 "fe/idl.ll" +#line 272 "fe/idl.ll" return IDL_OUT; YY_BREAK -case 78: +case 80: YY_RULE_SETUP -#line 264 "fe/idl.ll" +#line 273 "fe/idl.ll" return IDL_ONEWAY; YY_BREAK -case 79: +case 81: YY_RULE_SETUP -#line 266 "fe/idl.ll" +#line 275 "fe/idl.ll" return IDL_LEFT_SHIFT; YY_BREAK -case 80: +case 82: YY_RULE_SETUP -#line 267 "fe/idl.ll" +#line 276 "fe/idl.ll" return IDL_RIGHT_SHIFT; YY_BREAK -case 81: +case 83: YY_RULE_SETUP -#line 268 "fe/idl.ll" +#line 277 "fe/idl.ll" { tao_yylval.strval = ACE::strnew ("::"); return IDL_SCOPE_DELIMITOR; } YY_BREAK -case 82: -/* rule 82 can match eol */ +case 84: +/* rule 84 can match eol */ YY_RULE_SETUP -#line 273 "fe/idl.ll" +#line 282 "fe/idl.ll" return IDL_ANNOTATION_DECL; // Allow annotation names that start with "annotation" YY_BREAK -case 83: +case 85: YY_RULE_SETUP -#line 274 "fe/idl.ll" +#line 283 "fe/idl.ll" return IDL_ANNOTATION_SYMBOL; YY_BREAK -case 84: +case 86: YY_RULE_SETUP -#line 276 "fe/idl.ll" +#line 285 "fe/idl.ll" { // Make sure that this identifier is not a C++ keyword. If it is, // prepend it with a _cxx_. Lookup in the perfect hash table for C++ @@ -2255,82 +2272,82 @@ YY_RULE_SETUP return IDENTIFIER; } YY_BREAK -case 85: +case 87: YY_RULE_SETUP -#line 309 "fe/idl.ll" +#line 318 "fe/idl.ll" { tao_yylval.dval = idl_atof (ace_yytext); return IDL_FLOATING_PT_LITERAL; } YY_BREAK -case 86: +case 88: YY_RULE_SETUP -#line 313 "fe/idl.ll" +#line 322 "fe/idl.ll" { tao_yylval.dval = idl_atof (ace_yytext); return IDL_FLOATING_PT_LITERAL; } YY_BREAK -case 87: +case 89: YY_RULE_SETUP -#line 318 "fe/idl.ll" +#line 327 "fe/idl.ll" { tao_yylval.fixval = ACE_CDR::Fixed::from_string (ace_yytext); return IDL_FIXED_PT_LITERAL; } YY_BREAK -case 88: +case 90: YY_RULE_SETUP -#line 323 "fe/idl.ll" +#line 332 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 10); return IDL_INTEGER_LITERAL; } YY_BREAK -case 89: +case 91: YY_RULE_SETUP -#line 327 "fe/idl.ll" +#line 336 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 10); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 90: +case 92: YY_RULE_SETUP -#line 331 "fe/idl.ll" +#line 340 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 16); return IDL_INTEGER_LITERAL; } YY_BREAK -case 91: +case 93: YY_RULE_SETUP -#line 335 "fe/idl.ll" +#line 344 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 16); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 92: +case 94: YY_RULE_SETUP -#line 339 "fe/idl.ll" +#line 348 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 8); return IDL_INTEGER_LITERAL; } YY_BREAK -case 93: +case 95: YY_RULE_SETUP -#line 343 "fe/idl.ll" +#line 352 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 8); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 94: -/* rule 94 can match eol */ +case 96: +/* rule 96 can match eol */ YY_RULE_SETUP -#line 348 "fe/idl.ll" +#line 357 "fe/idl.ll" { /* Skip the quotes */ char * const tmp = ace_yytext; @@ -2352,10 +2369,10 @@ YY_RULE_SETUP return IDL_STRING_LITERAL; } YY_BREAK -case 95: -/* rule 95 can match eol */ +case 97: +/* rule 97 can match eol */ YY_RULE_SETUP -#line 368 "fe/idl.ll" +#line 377 "fe/idl.ll" { /* Skip the bookends */ char * const tmp = ACE_OS::strdup (ace_yytext); @@ -2376,102 +2393,90 @@ YY_RULE_SETUP return IDL_WSTRING_LITERAL; } YY_BREAK -case 96: +case 98: YY_RULE_SETUP -#line 387 "fe/idl.ll" +#line 396 "fe/idl.ll" { tao_yylval.cval = ace_yytext[1]; return IDL_CHARACTER_LITERAL; } YY_BREAK -case 97: +case 99: YY_RULE_SETUP -#line 391 "fe/idl.ll" +#line 400 "fe/idl.ll" { // octal character constant tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 98: +case 100: YY_RULE_SETUP -#line 396 "fe/idl.ll" +#line 405 "fe/idl.ll" { // hexadecimal character constant tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 99: +case 101: YY_RULE_SETUP -#line 401 "fe/idl.ll" +#line 410 "fe/idl.ll" { tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 100: +case 102: YY_RULE_SETUP -#line 405 "fe/idl.ll" +#line 414 "fe/idl.ll" { // wide character constant tao_yylval.wcval = ace_yytext[2]; return IDL_WCHAR_LITERAL; } YY_BREAK -case 101: +case 103: YY_RULE_SETUP -#line 410 "fe/idl.ll" +#line 419 "fe/idl.ll" { // hexadecimal wide character constant tao_yylval.wcval = idl_wchar_escape_reader (ace_yytext + 2); return IDL_WCHAR_LITERAL; } YY_BREAK -case 102: -/* rule 102 can match eol */ -#line 416 "fe/idl.ll" -case 103: -/* rule 103 can match eol */ -YY_RULE_SETUP -#line 416 "fe/idl.ll" -{/* remember pragma */ - idl_global->set_lineno (idl_global->lineno () + 1); - idl_store_pragma (ace_yytext); - break; - } - YY_BREAK case 104: /* rule 104 can match eol */ -#line 422 "fe/idl.ll" +#line 425 "fe/idl.ll" case 105: /* rule 105 can match eol */ YY_RULE_SETUP -#line 422 "fe/idl.ll" -{/* ignore file */ - idl_global->set_lineno(idl_global->lineno () + 1); +#line 425 "fe/idl.ll" +{/* remember pragma */ + idl_global->set_lineno (idl_global->lineno () + 1); + idl_store_pragma (ace_yytext); break; } YY_BREAK case 106: /* rule 106 can match eol */ -#line 427 "fe/idl.ll" +#line 431 "fe/idl.ll" case 107: /* rule 107 can match eol */ YY_RULE_SETUP -#line 427 "fe/idl.ll" -{ - idl_parse_line_and_file (ace_yytext); +#line 431 "fe/idl.ll" +{/* ignore file */ + idl_global->set_lineno(idl_global->lineno () + 1); break; } YY_BREAK case 108: /* rule 108 can match eol */ -#line 432 "fe/idl.ll" +#line 436 "fe/idl.ll" case 109: /* rule 109 can match eol */ YY_RULE_SETUP -#line 432 "fe/idl.ll" +#line 436 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2479,11 +2484,11 @@ YY_RULE_SETUP YY_BREAK case 110: /* rule 110 can match eol */ -#line 437 "fe/idl.ll" +#line 441 "fe/idl.ll" case 111: /* rule 111 can match eol */ YY_RULE_SETUP -#line 437 "fe/idl.ll" +#line 441 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2491,11 +2496,11 @@ YY_RULE_SETUP YY_BREAK case 112: /* rule 112 can match eol */ -#line 442 "fe/idl.ll" +#line 446 "fe/idl.ll" case 113: /* rule 113 can match eol */ YY_RULE_SETUP -#line 442 "fe/idl.ll" +#line 446 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2503,30 +2508,42 @@ YY_RULE_SETUP YY_BREAK case 114: /* rule 114 can match eol */ -#line 447 "fe/idl.ll" +#line 451 "fe/idl.ll" case 115: /* rule 115 can match eol */ YY_RULE_SETUP -#line 447 "fe/idl.ll" +#line 451 "fe/idl.ll" { - /* ignore cpp ident */ - idl_global->set_lineno (idl_global->lineno () + 1); + idl_parse_line_and_file (ace_yytext); break; } YY_BREAK case 116: /* rule 116 can match eol */ +#line 456 "fe/idl.ll" +case 117: +/* rule 117 can match eol */ +YY_RULE_SETUP +#line 456 "fe/idl.ll" +{ + /* ignore cpp ident */ + idl_global->set_lineno (idl_global->lineno () + 1); + break; + } + YY_BREAK +case 118: +/* rule 118 can match eol */ YY_RULE_SETUP -#line 452 "fe/idl.ll" +#line 461 "fe/idl.ll" { /* ignore comments */ idl_global->set_lineno(idl_global->lineno () + 1); break; } YY_BREAK -case 117: +case 119: YY_RULE_SETUP -#line 457 "fe/idl.ll" +#line 466 "fe/idl.ll" { for (;;) { @@ -2547,31 +2564,31 @@ YY_RULE_SETUP break; } YY_BREAK -case 118: +case 120: YY_RULE_SETUP -#line 476 "fe/idl.ll" +#line 485 "fe/idl.ll" break; YY_BREAK -case 119: -/* rule 119 can match eol */ +case 121: +/* rule 121 can match eol */ YY_RULE_SETUP -#line 477 "fe/idl.ll" +#line 486 "fe/idl.ll" { idl_global->set_lineno (idl_global->lineno () + 1); break; } YY_BREAK -case 120: +case 122: YY_RULE_SETUP -#line 481 "fe/idl.ll" +#line 490 "fe/idl.ll" return ace_yytext[0]; YY_BREAK -case 121: +case 123: YY_RULE_SETUP -#line 483 "fe/idl.ll" +#line 492 "fe/idl.ll" ECHO; YY_BREAK -#line 2577 "fe/idl.yy.cpp" +#line 2594 "fe/idl.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2837,7 +2854,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 622 ) + if ( yy_current_state >= 623 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -2860,11 +2877,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 622 ) + if ( yy_current_state >= 623 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 621); + yy_is_jam = (yy_current_state == 622); if ( ! yy_is_jam ) *(yy_state_ptr)++ = yy_current_state; @@ -3552,7 +3569,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 483 "fe/idl.ll" +#line 492 "fe/idl.ll" /* subroutines */ @@ -4401,7 +4418,7 @@ idl_get_pragma_string (char *pragma) if (!end) { - idl_global->err ()->syntax_error ( IDL_GlobalData::PS_PragmaPrefixSyntax); + idl_global->err ()->syntax_error (IDL_GlobalData::PS_PragmaPrefixSyntax); return nullptr; } From f99f4601dd18911c36c816629098040ce6b7ec85 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 22 May 2022 22:54:19 -0400 Subject: [PATCH 009/445] More ast --- TAO/TAO_IDL/include/ast_decl.h | 1 + TAO/TAO_IDL/include/ast_visitor.h | 2 ++ TAO/TAO_IDL/include/idl_global.h | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/TAO/TAO_IDL/include/ast_decl.h b/TAO/TAO_IDL/include/ast_decl.h index c018be50aba71..5a44ba315b2c3 100644 --- a/TAO/TAO_IDL/include/ast_decl.h +++ b/TAO/TAO_IDL/include/ast_decl.h @@ -151,6 +151,7 @@ class TAO_IDL_FE_Export AST_Decl : public virtual COMMON_Base , NT_wstring // Denotes an IDL wstring , NT_array // Denotes an IDL array , NT_sequence // Denotes an IDL sequence + , NT_map // Denotes an IDL map , NT_typedef // Denotes a typedef , NT_pre_defined // Denotes a predefined type , NT_native // Denotes a native type diff --git a/TAO/TAO_IDL/include/ast_visitor.h b/TAO/TAO_IDL/include/ast_visitor.h index 70c4fc73f7e67..e3e3beef1848d 100644 --- a/TAO/TAO_IDL/include/ast_visitor.h +++ b/TAO/TAO_IDL/include/ast_visitor.h @@ -62,6 +62,7 @@ class AST_Constant; class AST_EnumVal; class AST_Array; class AST_Sequence; +class AST_Map; class AST_String; class AST_Typedef; class AST_Root; @@ -133,6 +134,7 @@ class TAO_IDL_FE_Export ast_visitor virtual int visit_enum_val (AST_EnumVal *node) = 0; virtual int visit_array (AST_Array *node) = 0; virtual int visit_sequence (AST_Sequence *node) = 0; + virtual int visit_map (AST_Map *node) = 0; virtual int visit_string (AST_String *node) = 0; virtual int visit_typedef (AST_Typedef *node) = 0; virtual int visit_root (AST_Root *node) = 0; diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 485486a60ddba..2b6f14afda8de 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -234,6 +234,11 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_EnumQsSeen // Seen '}' for enum , PS_EnumBodySeen // Seen complete enum body , PS_EnumCommaSeen // Seen ',' in list of enumerators + , PS_MapSeen // Seen a MAP keyword + , PS_MapSqSeen // Seen a '<' for map + , PS_MapQsSeen // Seen a '>' for map + , PS_MapTypeSeen // Seen a type decl for map + , PS_MapCommaSeen // Seen comma for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword , PS_SequenceSqSeen // Seen '<' for sequence , PS_SequenceQsSeen // Seen '>' for sequence From 2686e77cd9b6d896e4bc7513c0b4d1bad6b85f3c Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 23 May 2022 11:49:30 -0400 Subject: [PATCH 010/445] Added functions for ast_visitor --- TAO/TAO_IDL/ast/ast_visitor_reifying.cpp | 69 +++++++++++++++++++ .../ast/ast_visitor_tmpl_module_inst.cpp | 6 ++ TAO/TAO_IDL/include/ast_visitor_reifying.h | 1 + .../include/ast_visitor_tmpl_module_inst.h | 1 + 4 files changed, 77 insertions(+) diff --git a/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp b/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp index c3282d8947ee4..e0f41fff792f5 100644 --- a/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp +++ b/TAO/TAO_IDL/ast/ast_visitor_reifying.cpp @@ -19,6 +19,7 @@ #include "ast_typedef.h" #include "ast_array.h" #include "ast_sequence.h" +#include "ast_map.h" #include "ast_union.h" #include "ast_enum.h" #include "ast_predefined_type.h" @@ -488,6 +489,74 @@ ast_visitor_reifying::visit_sequence (AST_Sequence *node) return 0; } +int +ast_visitor_reifying::visit_map (AST_Map *node) +{ + AST_Type *key_bt = node->key_type (); + AST_Type *value_bt = node->value_type (); + + if (key_bt->ast_accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("ast_visitor_reifying::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("visit of key type failed\n")), + -1); + } + + key_bt = dynamic_cast (this->reified_node_); + + if (value_bt->ast_accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("ast_visitor_reifying::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("visit of value type failed\n")), + -1); + } + + value_bt = dynamic_cast (this->reified_node_); + + AST_Expression *v = node->max_size (); + AST_Param_Holder *ph = v->param_holder (); + + if (ph != nullptr) + { + if (this->visit_param_holder (ph) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("ast_visitor_reifying::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("visit_param_holder() ") + ACE_TEXT ("failed\n")), + -1); + } + + AST_Constant *c = dynamic_cast (this->reified_node_); + + v = c->constant_value (); + } + + AST_Expression *bound = + idl_global->gen ()->create_expr (v, + AST_Expression::EV_ulong); + Identifier id ("map"); + UTL_ScopedName sn (&id, nullptr); + + this->reified_node_ = + idl_global->gen ()->create_map (bound, + key_bt, + value_bt, + &sn, + false, + false); + + // No need to add this new node to any scope - it's anonymous + // and owned by the node that references it. + + return 0; +} + int ast_visitor_reifying::visit_predefined_type (AST_PredefinedType *node) { diff --git a/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp b/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp index 759370f41a392..94efdb43bdbf3 100644 --- a/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp +++ b/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp @@ -632,6 +632,12 @@ ast_visitor_tmpl_module_inst::visit_sequence (AST_Sequence *) return 0; } +int +ast_visitor_tmpl_module_inst::visit_map (AST_Map *) +{ + return 0; +} + int ast_visitor_tmpl_module_inst::visit_string (AST_String *) { diff --git a/TAO/TAO_IDL/include/ast_visitor_reifying.h b/TAO/TAO_IDL/include/ast_visitor_reifying.h index 6c7c5ef298157..32c5edcf42aba 100644 --- a/TAO/TAO_IDL/include/ast_visitor_reifying.h +++ b/TAO/TAO_IDL/include/ast_visitor_reifying.h @@ -93,6 +93,7 @@ class ast_visitor_reifying : public ast_visitor virtual int visit_typedef (AST_Typedef *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map(AST_Map* node); virtual int visit_predefined_type (AST_PredefinedType *node); virtual int visit_string (AST_String *node); virtual int visit_constant (AST_Constant *node); diff --git a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h index 1a0dafdd24109..1c3ce2b35ba30 100644 --- a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h +++ b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h @@ -71,6 +71,7 @@ class ast_visitor_tmpl_module_inst : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map(AST_Map* node); virtual int visit_string (AST_String *node); virtual int visit_native (AST_Native *node); virtual int visit_valuebox (AST_ValueBox *node); From fc6f206a73db335d21f32ddae377b66677743425 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 23 May 2022 12:07:47 -0400 Subject: [PATCH 011/445] Removed blank lines --- TAO/tests/IDLv4/maps/main.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 06aa027835551..11ee11669cfe6 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -3,8 +3,6 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" - - int ACE_TMAIN(int, ACE_TCHAR *[]) { return EXIT_SUCCESS; From 8a7f735e2452bcbfbec015d4b87167e85e735ab6 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 24 May 2022 21:47:06 -0400 Subject: [PATCH 012/445] ifr_visitor --- .../IFR_Service/ifr_adding_visitor.cpp | 23 +++++++++++++++++++ TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h | 1 + TAO/orbsvcs/IFR_Service/ifr_visitor.cpp | 6 +++++ TAO/orbsvcs/IFR_Service/ifr_visitor.h | 1 + 4 files changed, 31 insertions(+) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 057e05a50135c..15d33a94bc29f 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2301,6 +2301,29 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) return 0; } +int +ifr_adding_visitor::visit_map (AST_Map *node) +{ + try + { + // this->element_type (node->base_type ()); + + // this->ir_current_ = + // be_global->repository ()->create_map ( + // node->max_size ()->ev ()->u.ulval, + // this->ir_current_.in () + // ); + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception (ACE_TEXT ("visit_map")); + + return -1; + } + + return 0; +} + int ifr_adding_visitor::visit_string (AST_String *node) { diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h index 773f97a4b9d02..e21845e6dfab4 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.h @@ -70,6 +70,7 @@ class ifr_adding_visitor : public ifr_visitor virtual int visit_constant (AST_Constant *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map (AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_typedef (AST_Typedef *node); virtual int visit_root (AST_Root *node); diff --git a/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp index f7a0750d2cc09..2ed96a2f1e4ab 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp @@ -314,6 +314,12 @@ ifr_visitor::visit_sequence (AST_Sequence *) return 0; } +int +ifr_visitor::visit_map (AST_Map *) +{ + return 0; +} + int ifr_visitor::visit_string (AST_String *) { diff --git a/TAO/orbsvcs/IFR_Service/ifr_visitor.h b/TAO/orbsvcs/IFR_Service/ifr_visitor.h index 99b48ca2a9992..88d716572c617 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_visitor.h +++ b/TAO/orbsvcs/IFR_Service/ifr_visitor.h @@ -82,6 +82,7 @@ class ifr_visitor : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); + virtual int visit_map(AST_Map* node); virtual int visit_string (AST_String *node); virtual int visit_typedef (AST_Typedef *node); virtual int visit_root (AST_Root *node); From 9c6922836a9ca536b2dd180b491c31e0bb02435d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 20:48:45 -0400 Subject: [PATCH 013/445] Adding bounds to bison --- MPC | 1 + TAO/TAO_IDL/fe/idl.tab.cpp | 3888 +++++++++++++++--------------- TAO/TAO_IDL/fe/idl.tab.hpp | 6 +- TAO/TAO_IDL/fe/idl.ypp | 89 +- TAO/TAO_IDL/fe/idl.yy.cpp | 12 +- TAO/TAO_IDL/include/idl_global.h | 1 + TAO/tests/IDLv4/maps/test.idl | 1 + 7 files changed, 2043 insertions(+), 1955 deletions(-) create mode 160000 MPC diff --git a/MPC b/MPC new file mode 160000 index 0000000000000..7de9f4cebd58a --- /dev/null +++ b/MPC @@ -0,0 +1 @@ +Subproject commit 7de9f4cebd58a91f707ea936ba0cce1726cefde8 diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 056f22cb8bacc..15a9b7f9a44cf 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.5. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison implementation for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -46,10 +46,10 @@ USER NAME SPACE" below. */ /* Identify Bison output, and Bison version. */ -#define YYBISON 30705 +#define YYBISON 30802 /* Bison version string. */ -#define YYBISON_VERSION "3.7.5" +#define YYBISON_VERSION "3.8.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -520,198 +520,197 @@ enum yysymbol_kind_t YYSYMBOL_327_91 = 327, /* $@91 */ YYSYMBOL_328_92 = 328, /* $@92 */ YYSYMBOL_329_93 = 329, /* $@93 */ - YYSYMBOL_330_94 = 330, /* $@94 */ - YYSYMBOL_331_95 = 331, /* $@95 */ - YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ - YYSYMBOL_333_96 = 333, /* $@96 */ - YYSYMBOL_334_97 = 334, /* $@97 */ - YYSYMBOL_seq_head = 335, /* seq_head */ - YYSYMBOL_336_98 = 336, /* $@98 */ - YYSYMBOL_337_99 = 337, /* $@99 */ - YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 339, /* string_type_spec */ - YYSYMBOL_340_100 = 340, /* $@100 */ - YYSYMBOL_341_101 = 341, /* $@101 */ - YYSYMBOL_string_head = 342, /* string_head */ - YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ - YYSYMBOL_344_102 = 344, /* $@102 */ - YYSYMBOL_345_103 = 345, /* $@103 */ - YYSYMBOL_wstring_head = 346, /* wstring_head */ - YYSYMBOL_array_declarator = 347, /* array_declarator */ - YYSYMBOL_348_104 = 348, /* $@104 */ - YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 350, /* array_dims */ - YYSYMBOL_array_dim = 351, /* array_dim */ - YYSYMBOL_352_105 = 352, /* $@105 */ - YYSYMBOL_353_106 = 353, /* $@106 */ - YYSYMBOL_attribute = 354, /* attribute */ - YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ - YYSYMBOL_356_107 = 356, /* $@107 */ - YYSYMBOL_357_108 = 357, /* $@108 */ - YYSYMBOL_358_109 = 358, /* $@109 */ - YYSYMBOL_359_110 = 359, /* $@110 */ - YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ - YYSYMBOL_361_111 = 361, /* $@111 */ - YYSYMBOL_362_112 = 362, /* $@112 */ - YYSYMBOL_363_113 = 363, /* $@113 */ - YYSYMBOL_364_114 = 364, /* $@114 */ - YYSYMBOL_exception = 365, /* exception */ - YYSYMBOL_366_115 = 366, /* $@115 */ - YYSYMBOL_367_116 = 367, /* @116 */ - YYSYMBOL_368_117 = 368, /* $@117 */ - YYSYMBOL_369_118 = 369, /* $@118 */ - YYSYMBOL_operation = 370, /* operation */ - YYSYMBOL_371_119 = 371, /* $@119 */ - YYSYMBOL_372_120 = 372, /* $@120 */ - YYSYMBOL_373_121 = 373, /* $@121 */ - YYSYMBOL_374_122 = 374, /* $@122 */ - YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 376, /* op_type_spec */ - YYSYMBOL_init_decl = 377, /* init_decl */ - YYSYMBOL_378_123 = 378, /* $@123 */ - YYSYMBOL_379_124 = 379, /* @124 */ - YYSYMBOL_380_125 = 380, /* $@125 */ - YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ - YYSYMBOL_382_126 = 382, /* $@126 */ - YYSYMBOL_383_127 = 383, /* $@127 */ - YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 385, /* in_parameters */ - YYSYMBOL_386_128 = 386, /* $@128 */ - YYSYMBOL_in_parameter = 387, /* in_parameter */ - YYSYMBOL_388_129 = 388, /* $@129 */ - YYSYMBOL_389_130 = 389, /* $@130 */ - YYSYMBOL_parameter_list = 390, /* parameter_list */ - YYSYMBOL_391_131 = 391, /* $@131 */ - YYSYMBOL_392_132 = 392, /* $@132 */ - YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ - YYSYMBOL_parameters = 394, /* parameters */ - YYSYMBOL_395_133 = 395, /* $@133 */ - YYSYMBOL_parameter = 396, /* parameter */ - YYSYMBOL_397_134 = 397, /* $@134 */ - YYSYMBOL_398_135 = 398, /* $@135 */ - YYSYMBOL_param_type_spec = 399, /* param_type_spec */ - YYSYMBOL_direction = 400, /* direction */ - YYSYMBOL_opt_raises = 401, /* opt_raises */ - YYSYMBOL_402_136 = 402, /* $@136 */ - YYSYMBOL_403_137 = 403, /* $@137 */ - YYSYMBOL_opt_getraises = 404, /* opt_getraises */ - YYSYMBOL_405_138 = 405, /* $@138 */ - YYSYMBOL_406_139 = 406, /* $@139 */ - YYSYMBOL_opt_setraises = 407, /* opt_setraises */ - YYSYMBOL_408_140 = 408, /* $@140 */ - YYSYMBOL_409_141 = 409, /* $@141 */ - YYSYMBOL_opt_context = 410, /* opt_context */ - YYSYMBOL_411_142 = 411, /* $@142 */ - YYSYMBOL_412_143 = 412, /* $@143 */ - YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 414, /* string_literals */ - YYSYMBOL_415_144 = 415, /* $@144 */ - YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ - YYSYMBOL_component = 418, /* component */ - YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ - YYSYMBOL_component_decl = 420, /* component_decl */ - YYSYMBOL_421_145 = 421, /* @145 */ - YYSYMBOL_422_146 = 422, /* $@146 */ - YYSYMBOL_423_147 = 423, /* $@147 */ - YYSYMBOL_component_header = 424, /* component_header */ - YYSYMBOL_425_148 = 425, /* $@148 */ - YYSYMBOL_426_149 = 426, /* $@149 */ - YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ - YYSYMBOL_428_150 = 428, /* $@150 */ - YYSYMBOL_component_exports = 429, /* component_exports */ - YYSYMBOL_component_export = 430, /* component_export */ - YYSYMBOL_431_151 = 431, /* $@151 */ - YYSYMBOL_432_152 = 432, /* $@152 */ - YYSYMBOL_433_153 = 433, /* $@153 */ - YYSYMBOL_434_154 = 434, /* $@154 */ - YYSYMBOL_435_155 = 435, /* $@155 */ - YYSYMBOL_436_156 = 436, /* $@156 */ - YYSYMBOL_437_157 = 437, /* $@157 */ - YYSYMBOL_provides_decl = 438, /* provides_decl */ - YYSYMBOL_interface_type = 439, /* interface_type */ - YYSYMBOL_uses_decl = 440, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 442, /* opt_multiple */ - YYSYMBOL_emits_decl = 443, /* emits_decl */ - YYSYMBOL_publishes_decl = 444, /* publishes_decl */ - YYSYMBOL_consumes_decl = 445, /* consumes_decl */ - YYSYMBOL_home_decl = 446, /* home_decl */ - YYSYMBOL_447_158 = 447, /* $@158 */ - YYSYMBOL_home_header = 448, /* home_header */ - YYSYMBOL_449_159 = 449, /* $@159 */ - YYSYMBOL_450_160 = 450, /* $@160 */ - YYSYMBOL_451_161 = 451, /* $@161 */ - YYSYMBOL_452_162 = 452, /* $@162 */ - YYSYMBOL_453_163 = 453, /* $@163 */ - YYSYMBOL_454_164 = 454, /* $@164 */ - YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ - YYSYMBOL_456_165 = 456, /* $@165 */ - YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ - YYSYMBOL_home_body = 458, /* home_body */ - YYSYMBOL_459_166 = 459, /* $@166 */ - YYSYMBOL_460_167 = 460, /* $@167 */ - YYSYMBOL_home_exports = 461, /* home_exports */ - YYSYMBOL_home_export = 462, /* home_export */ - YYSYMBOL_463_168 = 463, /* $@168 */ - YYSYMBOL_464_169 = 464, /* $@169 */ - YYSYMBOL_factory_decl = 465, /* factory_decl */ - YYSYMBOL_466_170 = 466, /* $@170 */ - YYSYMBOL_467_171 = 467, /* $@171 */ - YYSYMBOL_finder_decl = 468, /* finder_decl */ - YYSYMBOL_469_172 = 469, /* $@172 */ - YYSYMBOL_470_173 = 470, /* $@173 */ - YYSYMBOL_event = 471, /* event */ - YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ - YYSYMBOL_476_174 = 476, /* $@174 */ - YYSYMBOL_477_175 = 477, /* $@175 */ - YYSYMBOL_478_176 = 478, /* $@176 */ - YYSYMBOL_event_abs_header = 479, /* event_abs_header */ - YYSYMBOL_event_custom_header = 480, /* event_custom_header */ - YYSYMBOL_event_plain_header = 481, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ - YYSYMBOL_483_177 = 483, /* $@177 */ - YYSYMBOL_event_decl = 484, /* event_decl */ - YYSYMBOL_485_178 = 485, /* @178 */ - YYSYMBOL_486_179 = 486, /* $@179 */ - YYSYMBOL_487_180 = 487, /* $@180 */ - YYSYMBOL_event_header = 488, /* event_header */ - YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 491, /* formal_parameters */ - YYSYMBOL_formal_parameter = 492, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 496, /* porttype_decl */ - YYSYMBOL_497_181 = 497, /* $@181 */ - YYSYMBOL_498_182 = 498, /* @182 */ - YYSYMBOL_499_183 = 499, /* $@183 */ - YYSYMBOL_500_184 = 500, /* $@184 */ - YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 502, /* port_exports */ - YYSYMBOL_port_export = 503, /* port_export */ - YYSYMBOL_504_185 = 504, /* $@185 */ - YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 507, /* actual_parameters */ - YYSYMBOL_actual_parameter = 508, /* actual_parameter */ - YYSYMBOL_connector_decl = 509, /* connector_decl */ - YYSYMBOL_connector_header = 510, /* connector_header */ - YYSYMBOL_511_186 = 511, /* $@186 */ - YYSYMBOL_512_187 = 512, /* $@187 */ - YYSYMBOL_connector_body = 513, /* connector_body */ - YYSYMBOL_514_188 = 514, /* $@188 */ - YYSYMBOL_515_189 = 515, /* $@189 */ - YYSYMBOL_connector_exports = 516, /* connector_exports */ - YYSYMBOL_connector_export = 517, /* connector_export */ - YYSYMBOL_518_190 = 518, /* $@190 */ - YYSYMBOL_519_191 = 519, /* $@191 */ - YYSYMBOL_520_192 = 520, /* $@192 */ - YYSYMBOL_521_193 = 521 /* $@193 */ + YYSYMBOL_map_type = 330, /* map_type */ + YYSYMBOL_sequence_type_spec = 331, /* sequence_type_spec */ + YYSYMBOL_332_94 = 332, /* $@94 */ + YYSYMBOL_333_95 = 333, /* $@95 */ + YYSYMBOL_seq_head = 334, /* seq_head */ + YYSYMBOL_335_96 = 335, /* $@96 */ + YYSYMBOL_336_97 = 336, /* $@97 */ + YYSYMBOL_fixed_type_spec = 337, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 338, /* string_type_spec */ + YYSYMBOL_339_98 = 339, /* $@98 */ + YYSYMBOL_340_99 = 340, /* $@99 */ + YYSYMBOL_string_head = 341, /* string_head */ + YYSYMBOL_wstring_type_spec = 342, /* wstring_type_spec */ + YYSYMBOL_343_100 = 343, /* $@100 */ + YYSYMBOL_344_101 = 344, /* $@101 */ + YYSYMBOL_wstring_head = 345, /* wstring_head */ + YYSYMBOL_array_declarator = 346, /* array_declarator */ + YYSYMBOL_347_102 = 347, /* $@102 */ + YYSYMBOL_at_least_one_array_dim = 348, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 349, /* array_dims */ + YYSYMBOL_array_dim = 350, /* array_dim */ + YYSYMBOL_351_103 = 351, /* $@103 */ + YYSYMBOL_352_104 = 352, /* $@104 */ + YYSYMBOL_attribute = 353, /* attribute */ + YYSYMBOL_attribute_readonly = 354, /* attribute_readonly */ + YYSYMBOL_355_105 = 355, /* $@105 */ + YYSYMBOL_356_106 = 356, /* $@106 */ + YYSYMBOL_357_107 = 357, /* $@107 */ + YYSYMBOL_358_108 = 358, /* $@108 */ + YYSYMBOL_attribute_readwrite = 359, /* attribute_readwrite */ + YYSYMBOL_360_109 = 360, /* $@109 */ + YYSYMBOL_361_110 = 361, /* $@110 */ + YYSYMBOL_362_111 = 362, /* $@111 */ + YYSYMBOL_363_112 = 363, /* $@112 */ + YYSYMBOL_exception = 364, /* exception */ + YYSYMBOL_365_113 = 365, /* $@113 */ + YYSYMBOL_366_114 = 366, /* @114 */ + YYSYMBOL_367_115 = 367, /* $@115 */ + YYSYMBOL_368_116 = 368, /* $@116 */ + YYSYMBOL_operation = 369, /* operation */ + YYSYMBOL_370_117 = 370, /* $@117 */ + YYSYMBOL_371_118 = 371, /* $@118 */ + YYSYMBOL_372_119 = 372, /* $@119 */ + YYSYMBOL_373_120 = 373, /* $@120 */ + YYSYMBOL_opt_op_attribute = 374, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 375, /* op_type_spec */ + YYSYMBOL_init_decl = 376, /* init_decl */ + YYSYMBOL_377_121 = 377, /* $@121 */ + YYSYMBOL_378_122 = 378, /* @122 */ + YYSYMBOL_379_123 = 379, /* $@123 */ + YYSYMBOL_init_parameter_list = 380, /* init_parameter_list */ + YYSYMBOL_381_124 = 381, /* $@124 */ + YYSYMBOL_382_125 = 382, /* $@125 */ + YYSYMBOL_at_least_one_in_parameter = 383, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 384, /* in_parameters */ + YYSYMBOL_385_126 = 385, /* $@126 */ + YYSYMBOL_in_parameter = 386, /* in_parameter */ + YYSYMBOL_387_127 = 387, /* $@127 */ + YYSYMBOL_388_128 = 388, /* $@128 */ + YYSYMBOL_parameter_list = 389, /* parameter_list */ + YYSYMBOL_390_129 = 390, /* $@129 */ + YYSYMBOL_391_130 = 391, /* $@130 */ + YYSYMBOL_at_least_one_parameter = 392, /* at_least_one_parameter */ + YYSYMBOL_parameters = 393, /* parameters */ + YYSYMBOL_394_131 = 394, /* $@131 */ + YYSYMBOL_parameter = 395, /* parameter */ + YYSYMBOL_396_132 = 396, /* $@132 */ + YYSYMBOL_397_133 = 397, /* $@133 */ + YYSYMBOL_param_type_spec = 398, /* param_type_spec */ + YYSYMBOL_direction = 399, /* direction */ + YYSYMBOL_opt_raises = 400, /* opt_raises */ + YYSYMBOL_401_134 = 401, /* $@134 */ + YYSYMBOL_402_135 = 402, /* $@135 */ + YYSYMBOL_opt_getraises = 403, /* opt_getraises */ + YYSYMBOL_404_136 = 404, /* $@136 */ + YYSYMBOL_405_137 = 405, /* $@137 */ + YYSYMBOL_opt_setraises = 406, /* opt_setraises */ + YYSYMBOL_407_138 = 407, /* $@138 */ + YYSYMBOL_408_139 = 408, /* $@139 */ + YYSYMBOL_opt_context = 409, /* opt_context */ + YYSYMBOL_410_140 = 410, /* $@140 */ + YYSYMBOL_411_141 = 411, /* $@141 */ + YYSYMBOL_at_least_one_string_literal = 412, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 413, /* string_literals */ + YYSYMBOL_414_142 = 414, /* $@142 */ + YYSYMBOL_typeid_dcl = 415, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 416, /* typeprefix_dcl */ + YYSYMBOL_component = 417, /* component */ + YYSYMBOL_component_forward_decl = 418, /* component_forward_decl */ + YYSYMBOL_component_decl = 419, /* component_decl */ + YYSYMBOL_420_143 = 420, /* @143 */ + YYSYMBOL_421_144 = 421, /* $@144 */ + YYSYMBOL_422_145 = 422, /* $@145 */ + YYSYMBOL_component_header = 423, /* component_header */ + YYSYMBOL_424_146 = 424, /* $@146 */ + YYSYMBOL_425_147 = 425, /* $@147 */ + YYSYMBOL_component_inheritance_spec = 426, /* component_inheritance_spec */ + YYSYMBOL_427_148 = 427, /* $@148 */ + YYSYMBOL_component_exports = 428, /* component_exports */ + YYSYMBOL_component_export = 429, /* component_export */ + YYSYMBOL_430_149 = 430, /* $@149 */ + YYSYMBOL_431_150 = 431, /* $@150 */ + YYSYMBOL_432_151 = 432, /* $@151 */ + YYSYMBOL_433_152 = 433, /* $@152 */ + YYSYMBOL_434_153 = 434, /* $@153 */ + YYSYMBOL_435_154 = 435, /* $@154 */ + YYSYMBOL_436_155 = 436, /* $@155 */ + YYSYMBOL_provides_decl = 437, /* provides_decl */ + YYSYMBOL_interface_type = 438, /* interface_type */ + YYSYMBOL_uses_decl = 439, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 440, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 441, /* opt_multiple */ + YYSYMBOL_emits_decl = 442, /* emits_decl */ + YYSYMBOL_publishes_decl = 443, /* publishes_decl */ + YYSYMBOL_consumes_decl = 444, /* consumes_decl */ + YYSYMBOL_home_decl = 445, /* home_decl */ + YYSYMBOL_446_156 = 446, /* $@156 */ + YYSYMBOL_home_header = 447, /* home_header */ + YYSYMBOL_448_157 = 448, /* $@157 */ + YYSYMBOL_449_158 = 449, /* $@158 */ + YYSYMBOL_450_159 = 450, /* $@159 */ + YYSYMBOL_451_160 = 451, /* $@160 */ + YYSYMBOL_452_161 = 452, /* $@161 */ + YYSYMBOL_453_162 = 453, /* $@162 */ + YYSYMBOL_home_inheritance_spec = 454, /* home_inheritance_spec */ + YYSYMBOL_455_163 = 455, /* $@163 */ + YYSYMBOL_primary_key_spec = 456, /* primary_key_spec */ + YYSYMBOL_home_body = 457, /* home_body */ + YYSYMBOL_458_164 = 458, /* $@164 */ + YYSYMBOL_459_165 = 459, /* $@165 */ + YYSYMBOL_home_exports = 460, /* home_exports */ + YYSYMBOL_home_export = 461, /* home_export */ + YYSYMBOL_462_166 = 462, /* $@166 */ + YYSYMBOL_463_167 = 463, /* $@167 */ + YYSYMBOL_factory_decl = 464, /* factory_decl */ + YYSYMBOL_465_168 = 465, /* $@168 */ + YYSYMBOL_466_169 = 466, /* $@169 */ + YYSYMBOL_finder_decl = 467, /* finder_decl */ + YYSYMBOL_468_170 = 468, /* $@170 */ + YYSYMBOL_469_171 = 469, /* $@171 */ + YYSYMBOL_event = 470, /* event */ + YYSYMBOL_event_forward_decl = 471, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 472, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 473, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 474, /* event_abs_decl */ + YYSYMBOL_475_172 = 475, /* $@172 */ + YYSYMBOL_476_173 = 476, /* $@173 */ + YYSYMBOL_477_174 = 477, /* $@174 */ + YYSYMBOL_event_abs_header = 478, /* event_abs_header */ + YYSYMBOL_event_custom_header = 479, /* event_custom_header */ + YYSYMBOL_event_plain_header = 480, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 481, /* event_rest_of_header */ + YYSYMBOL_482_175 = 482, /* $@175 */ + YYSYMBOL_event_decl = 483, /* event_decl */ + YYSYMBOL_484_176 = 484, /* @176 */ + YYSYMBOL_485_177 = 485, /* $@177 */ + YYSYMBOL_486_178 = 486, /* $@178 */ + YYSYMBOL_event_header = 487, /* event_header */ + YYSYMBOL_formal_parameter_type = 488, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 489, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 490, /* formal_parameters */ + YYSYMBOL_formal_parameter = 491, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 492, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 493, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 494, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 495, /* porttype_decl */ + YYSYMBOL_496_179 = 496, /* $@179 */ + YYSYMBOL_497_180 = 497, /* @180 */ + YYSYMBOL_498_181 = 498, /* $@181 */ + YYSYMBOL_499_182 = 499, /* $@182 */ + YYSYMBOL_at_least_one_port_export = 500, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 501, /* port_exports */ + YYSYMBOL_port_export = 502, /* port_export */ + YYSYMBOL_503_183 = 503, /* $@183 */ + YYSYMBOL_extended_port_decl = 504, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 505, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 506, /* actual_parameters */ + YYSYMBOL_actual_parameter = 507, /* actual_parameter */ + YYSYMBOL_connector_decl = 508, /* connector_decl */ + YYSYMBOL_connector_header = 509, /* connector_header */ + YYSYMBOL_510_184 = 510, /* $@184 */ + YYSYMBOL_511_185 = 511, /* $@185 */ + YYSYMBOL_connector_body = 512, /* connector_body */ + YYSYMBOL_513_186 = 513, /* $@186 */ + YYSYMBOL_514_187 = 514, /* $@187 */ + YYSYMBOL_connector_exports = 515, /* connector_exports */ + YYSYMBOL_connector_export = 516, /* connector_export */ + YYSYMBOL_517_188 = 517, /* $@188 */ + YYSYMBOL_518_189 = 518, /* $@189 */ + YYSYMBOL_519_190 = 519, /* $@190 */ + YYSYMBOL_520_191 = 520 /* $@191 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -869,12 +868,18 @@ typedef int yy_state_fast_t; # define YY_USE(E) /* empty */ #endif -#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ +#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ +# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") +# else +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# endif # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else @@ -1033,16 +1038,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2150 +#define YYLAST 2105 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 404 +#define YYNNTS 403 /* YYNRULES -- Number of rules. */ #define YYNRULES 614 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 900 +#define YYNSTATES 907 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1098,7 +1103,7 @@ static const yytype_int8 yytranslate[] = }; #if YYDEBUG - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 416, 416, 419, 420, 428, 443, 447, 448, 449, @@ -1136,33 +1141,33 @@ static const yytype_int16 yyrline[] = 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3897, 3902, 3906, 3910, 3914, 3896, - 3980, 3984, 3978, 4068, 4135, 4144, 4134, 4158, 4168, 4172, - 4166, 4214, 4240, 4249, 4253, 4247, 4295, 4321, 4329, 4328, - 4371, 4381, 4399, 4407, 4411, 4406, 4471, 4472, 4477, 4481, - 4485, 4489, 4476, 4548, 4552, 4556, 4560, 4547, 4628, 4632, - 4664, 4668, 4627, 4685, 4689, 4750, 4754, 4684, 4791, 4796, - 4801, 4808, 4809, 4820, 4825, 4868, 4819, 4890, 4889, 4898, - 4897, 4908, 4913, 4911, 4917, 4922, 4926, 4921, 4965, 4964, - 4973, 4972, 4983, 4988, 4986, 4992, 4997, 5001, 4996, 5046, - 5053, 5054, 5055, 5162, 5166, 5170, 5178, 5182, 5177, 5191, - 5199, 5203, 5198, 5212, 5220, 5224, 5219, 5233, 5241, 5245, - 5240, 5254, 5261, 5273, 5271, 5294, 5301, 5331, 5370, 5371, - 5375, 5406, 5448, 5452, 5405, 5471, 5475, 5469, 5516, 5515, - 5523, 5530, 5545, 5546, 5551, 5550, 5560, 5559, 5569, 5568, - 5578, 5577, 5587, 5586, 5596, 5595, 5605, 5604, 5615, 5708, - 5714, 5739, 5846, 5855, 5859, 5866, 5941, 6013, 6089, 6088, - 6138, 6142, 6146, 6150, 6154, 6158, 6137, 6211, 6210, 6218, - 6225, 6230, 6238, 6242, 6237, 6252, 6253, 6257, 6259, 6258, - 6267, 6266, 6279, 6302, 6277, 6328, 6355, 6326, 6379, 6380, - 6381, 6385, 6386, 6390, 6419, 6451, 6495, 6499, 6449, 6516, - 6525, 6543, 6554, 6553, 6591, 6642, 6646, 6589, 6663, 6667, - 6674, 6678, 6682, 6686, 6690, 6694, 6698, 6702, 6706, 6710, - 6718, 6749, 6762, 6769, 6794, 6812, 6819, 6834, 6841, 6851, - 6855, 6874, 6882, 6850, 6897, 6912, 6916, 6917, 6921, 6922, - 6924, 6923, 6934, 7001, 7049, 7065, 7078, 7085, 7144, 7152, - 7156, 7151, 7217, 7221, 7216, 7234, 7235, 7240, 7239, 7248, - 7247, 7256, 7255, 7264, 7263 + 3850, 3848, 3854, 3858, 3897, 3902, 3907, 3896, 3967, 4028, + 4041, 4045, 4039, 4129, 4196, 4205, 4195, 4219, 4229, 4233, + 4227, 4275, 4301, 4310, 4314, 4308, 4356, 4382, 4390, 4389, + 4432, 4442, 4460, 4468, 4472, 4467, 4532, 4533, 4538, 4542, + 4546, 4550, 4537, 4609, 4613, 4617, 4621, 4608, 4689, 4693, + 4725, 4729, 4688, 4746, 4750, 4811, 4815, 4745, 4852, 4857, + 4862, 4869, 4870, 4881, 4886, 4929, 4880, 4951, 4950, 4959, + 4958, 4969, 4974, 4972, 4978, 4983, 4987, 4982, 5026, 5025, + 5034, 5033, 5044, 5049, 5047, 5053, 5058, 5062, 5057, 5107, + 5114, 5115, 5116, 5223, 5227, 5231, 5239, 5243, 5238, 5252, + 5260, 5264, 5259, 5273, 5281, 5285, 5280, 5294, 5302, 5306, + 5301, 5315, 5322, 5334, 5332, 5355, 5362, 5392, 5431, 5432, + 5436, 5467, 5509, 5513, 5466, 5532, 5536, 5530, 5577, 5576, + 5584, 5591, 5606, 5607, 5612, 5611, 5621, 5620, 5630, 5629, + 5639, 5638, 5648, 5647, 5657, 5656, 5666, 5665, 5676, 5769, + 5775, 5800, 5907, 5916, 5920, 5927, 6002, 6074, 6150, 6149, + 6199, 6203, 6207, 6211, 6215, 6219, 6198, 6272, 6271, 6279, + 6286, 6291, 6299, 6303, 6298, 6313, 6314, 6318, 6320, 6319, + 6328, 6327, 6340, 6363, 6338, 6389, 6416, 6387, 6440, 6441, + 6442, 6446, 6447, 6451, 6480, 6512, 6556, 6560, 6510, 6577, + 6586, 6604, 6615, 6614, 6652, 6703, 6707, 6650, 6724, 6728, + 6735, 6739, 6743, 6747, 6751, 6755, 6759, 6763, 6767, 6771, + 6779, 6810, 6823, 6830, 6855, 6873, 6880, 6895, 6902, 6912, + 6916, 6935, 6943, 6911, 6958, 6973, 6977, 6978, 6982, 6983, + 6985, 6984, 6995, 7062, 7110, 7126, 7139, 7146, 7205, 7213, + 7217, 7212, 7278, 7282, 7277, 7295, 7296, 7301, 7300, 7309, + 7308, 7317, 7316, 7325, 7324 }; #endif @@ -1246,48 +1251,48 @@ static const char *const yytname[] = "$@82", "$@83", "$@84", "element_spec", "$@85", "struct_forward_type", "union_forward_type", "enum_type", "$@86", "$@87", "$@88", "$@89", "at_least_one_enumerator", "enumerators", "$@90", "enumerator", - "map_type_spec", "$@91", "$@92", "$@93", "$@94", "$@95", - "sequence_type_spec", "$@96", "$@97", "seq_head", "$@98", "$@99", - "fixed_type_spec", "string_type_spec", "$@100", "$@101", "string_head", - "wstring_type_spec", "$@102", "$@103", "wstring_head", - "array_declarator", "$@104", "at_least_one_array_dim", "array_dims", - "array_dim", "$@105", "$@106", "attribute", "attribute_readonly", - "$@107", "$@108", "$@109", "$@110", "attribute_readwrite", "$@111", - "$@112", "$@113", "$@114", "exception", "$@115", "@116", "$@117", - "$@118", "operation", "$@119", "$@120", "$@121", "$@122", - "opt_op_attribute", "op_type_spec", "init_decl", "$@123", "@124", - "$@125", "init_parameter_list", "$@126", "$@127", - "at_least_one_in_parameter", "in_parameters", "$@128", "in_parameter", - "$@129", "$@130", "parameter_list", "$@131", "$@132", - "at_least_one_parameter", "parameters", "$@133", "parameter", "$@134", - "$@135", "param_type_spec", "direction", "opt_raises", "$@136", "$@137", - "opt_getraises", "$@138", "$@139", "opt_setraises", "$@140", "$@141", - "opt_context", "$@142", "$@143", "at_least_one_string_literal", - "string_literals", "$@144", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@145", "$@146", "$@147", - "component_header", "$@148", "$@149", "component_inheritance_spec", - "$@150", "component_exports", "component_export", "$@151", "$@152", - "$@153", "$@154", "$@155", "$@156", "$@157", "provides_decl", + "map_type_spec", "$@91", "$@92", "$@93", "map_type", + "sequence_type_spec", "$@94", "$@95", "seq_head", "$@96", "$@97", + "fixed_type_spec", "string_type_spec", "$@98", "$@99", "string_head", + "wstring_type_spec", "$@100", "$@101", "wstring_head", + "array_declarator", "$@102", "at_least_one_array_dim", "array_dims", + "array_dim", "$@103", "$@104", "attribute", "attribute_readonly", + "$@105", "$@106", "$@107", "$@108", "attribute_readwrite", "$@109", + "$@110", "$@111", "$@112", "exception", "$@113", "@114", "$@115", + "$@116", "operation", "$@117", "$@118", "$@119", "$@120", + "opt_op_attribute", "op_type_spec", "init_decl", "$@121", "@122", + "$@123", "init_parameter_list", "$@124", "$@125", + "at_least_one_in_parameter", "in_parameters", "$@126", "in_parameter", + "$@127", "$@128", "parameter_list", "$@129", "$@130", + "at_least_one_parameter", "parameters", "$@131", "parameter", "$@132", + "$@133", "param_type_spec", "direction", "opt_raises", "$@134", "$@135", + "opt_getraises", "$@136", "$@137", "opt_setraises", "$@138", "$@139", + "opt_context", "$@140", "$@141", "at_least_one_string_literal", + "string_literals", "$@142", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@143", "$@144", "$@145", + "component_header", "$@146", "$@147", "component_inheritance_spec", + "$@148", "component_exports", "component_export", "$@149", "$@150", + "$@151", "$@152", "$@153", "$@154", "$@155", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@158", - "home_header", "$@159", "$@160", "$@161", "$@162", "$@163", "$@164", - "home_inheritance_spec", "$@165", "primary_key_spec", "home_body", - "$@166", "$@167", "home_exports", "home_export", "$@168", "$@169", - "factory_decl", "$@170", "$@171", "finder_decl", "$@172", "$@173", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@156", + "home_header", "$@157", "$@158", "$@159", "$@160", "$@161", "$@162", + "home_inheritance_spec", "$@163", "primary_key_spec", "home_body", + "$@164", "$@165", "home_exports", "home_export", "$@166", "$@167", + "factory_decl", "$@168", "$@169", "finder_decl", "$@170", "$@171", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@174", "$@175", "$@176", + "event_abs_forward_decl", "event_abs_decl", "$@172", "$@173", "$@174", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@177", "event_decl", "@178", "$@179", "$@180", + "event_rest_of_header", "$@175", "event_decl", "@176", "$@177", "$@178", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@181", "@182", "$@183", - "$@184", "at_least_one_port_export", "port_exports", "port_export", - "$@185", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@179", "@180", "$@181", + "$@182", "at_least_one_port_export", "port_exports", "port_export", + "$@183", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@186", "$@187", "connector_body", "$@188", "$@189", - "connector_exports", "connector_export", "$@190", "$@191", "$@192", - "$@193", YY_NULLPTR + "connector_header", "$@184", "$@185", "connector_body", "$@186", "$@187", + "connector_exports", "connector_export", "$@188", "$@189", "$@190", + "$@191", YY_NULLPTR }; static const char * @@ -1297,27 +1302,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#ifdef YYPRINT -/* YYTOKNUM[NUM] -- (External) token number corresponding to the - (internal) symbol number NUM (which must be that of a token). */ -static const yytype_int16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 59, 123, 125, - 60, 62, 58, 44, 61, 124, 94, 38, 43, 45, - 42, 47, 37, 126, 40, 41, 91, 93 -}; -#endif - -#define YYPACT_NINF (-668) +#define YYPACT_NINF (-687) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -1327,105 +1312,106 @@ static const yytype_int16 yytoknum[] = #define yytable_value_is_error(Yyn) \ 0 - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { - -668, 76, 739, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 94, 120, 51, 97, -668, 94, - 94, -668, 48, 48, -668, -668, 94, -668, -668, 54, - -668, 630, 39, 67, -668, -668, 2, -668, -668, -668, - -668, -668, -668, 577, -668, -668, -668, -668, -668, 1613, - 64, -668, -668, 70, -668, 154, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 80, -668, -668, -668, 80, -668, - -668, 86, 92, 2060, 48, 94, 1884, 94, 94, 94, - 94, -668, -668, -668, 32, 94, 68, -668, 78, 94, - -668, 80, 94, 104, 113, 94, -668, -668, 10, -668, - 26, 196, -668, 106, -668, 146, 151, 698, -668, -668, - -668, 166, 202, -668, 179, 181, 182, 107, -668, 98, - -668, -668, -668, -668, -668, -668, 176, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, 189, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - 154, -668, -668, -668, -668, 16, -668, -668, 184, -668, - 188, 185, 193, -668, 48, 197, 201, 183, -668, 206, - 207, 208, 209, 199, 211, 212, 214, -668, -668, -668, - 217, 218, -668, -668, -668, -668, 189, -668, -668, -668, - -668, -668, -668, -668, -668, -668, 189, -668, -668, -668, - -668, -668, -668, -668, -668, 219, -668, 220, -668, -668, - 221, -668, 316, -668, -668, -668, -668, 52, -668, -668, - -668, 2060, -668, -668, -668, -668, 222, -668, -668, -668, - -668, 317, -668, -668, 65, 224, -668, -668, -668, -668, - -668, -668, -668, -668, 323, -668, 178, 233, 235, 288, - -668, -668, -668, -668, -668, -668, 189, -668, -668, 223, - -668, -668, -668, -668, -668, -668, -668, -668, -668, 288, - 241, 246, -668, -668, -668, 94, 94, 247, 249, -668, - -668, -668, 240, -668, 316, 250, -668, -668, -668, -668, - -668, 347, -668, 254, 253, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, 153, 153, 153, 178, 189, - -668, -668, 252, 255, 256, 101, 87, 102, -668, -668, - -668, -668, -668, 48, -668, -668, -668, -668, 261, -668, - -668, 48, -668, 178, 178, 178, 245, -668, -668, -668, - -668, -668, -668, -668, 137, -668, -13, -668, -668, -668, - -668, -668, -668, -668, -668, 48, 288, -668, -668, -668, - -668, 221, 1427, 1526, 266, 265, -668, 698, -668, -668, - -668, 268, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 264, 94, -668, 189, 1118, -668, 837, 178, - -668, 1919, -668, -668, -668, -668, 178, -668, 1455, -668, - -668, -668, 576, 1025, -668, -668, -668, -668, 41, 326, - 48, 48, -668, -668, -668, -668, -668, 41, -668, 291, - -668, 287, -668, 289, -668, -668, 1212, 189, -668, 48, - 288, -668, -668, -668, -668, 297, -668, -668, 94, -668, - -668, 300, 303, 396, 312, -668, -668, 255, 256, 101, - 87, 87, 102, 102, -668, -668, -668, -668, -668, 308, - -668, -668, -668, 313, -668, -668, 1796, -668, -668, -668, - -668, 2007, -668, -668, -668, -668, -668, 314, -668, 1831, - -668, -668, 1706, -668, 318, 478, -668, 319, 324, 327, - 310, -668, 302, -668, 315, -668, -668, -668, 325, 330, - 286, 48, 48, 48, 156, -668, 335, -668, -668, -668, - -668, -668, -668, -668, 94, 94, -668, 336, -668, -668, - -668, 1306, 931, 404, 1972, -668, 189, 316, -668, -668, - 60, 62, 341, 342, 343, 316, 344, -668, -668, -3, - -668, 53, -668, -668, 345, 348, 189, -668, 350, 59, - 1884, -668, 412, -668, -668, -668, -668, 65, -668, 346, - -668, 349, -668, 353, 355, 356, 357, -668, 189, -668, - -668, -668, -668, -668, 358, 359, 454, -668, -668, -668, - 363, -668, -668, 360, -668, -668, -668, 178, -668, 316, - -668, 369, 94, -668, -668, 464, 189, -668, -668, -668, - -668, -668, -668, 63, 63, 63, -668, 376, -668, 379, - 381, 383, 385, 387, 388, -668, -668, -668, 409, 410, - 411, 413, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, 178, -668, -668, -668, 94, -668, 414, 405, - 417, -668, 442, 418, 59, -668, 421, 422, -668, 423, - 178, 424, 1588, -668, 48, -668, -668, -668, -668, -668, - -668, 508, -668, -668, -668, -668, -668, -668, 310, 315, - -668, -668, 408, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, 420, 420, -668, -668, -668, -668, 1972, - 94, -668, 178, 415, -668, -668, -668, -668, -668, -668, - -668, 429, -668, -668, -668, -668, -668, 48, -668, -668, - -668, -668, 430, 189, -668, 420, 1919, -668, 431, -668, - 499, -668, -668, -668, -668, -668, -668, -668, -668, 48, - -668, 189, 437, 1356, -668, 425, -668, -668, -668, 439, - 426, 504, 503, 503, 94, 487, 441, 432, -668, 189, - 446, -668, -668, 435, -668, 503, 450, -668, -668, -668, - 438, -668, -668, -668, -668, -668, -668, -668, -668, -668, - 492, 544, 440, 200, 503, -668, -668, 93, 1972, -668, - 451, 444, 503, 445, 493, 94, 48, -668, -668, 468, - -668, -668, -668, -668, -668, 455, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 189, -668, 469, -668, 470, 1972, - 531, 479, 178, 473, 480, 58, -668, 186, 94, 504, - 48, 48, 463, 94, 544, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 1678, -668, -668, -668, 466, 467, - -668, -668, -668, 200, 94, 485, 476, -668, -668, -668, - -668, 48, -668, -668, -668, -668, 94, 486, 490, 530, - -668, -668, -668, -668, 494, 507, -668, -668, 535, -668 + -687, 100, 1332, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, 57, 118, 64, 76, -687, 57, + 57, -687, 52, 52, -687, -687, 57, -687, -687, 33, + -687, 201, 84, 92, -687, -687, -1, -687, -687, -687, + -687, -687, -687, 663, -687, -687, -687, -687, -687, 1534, + 55, -687, -687, 96, -687, 133, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, 121, -687, -687, -687, 121, -687, + -687, 122, 150, 2015, 52, 57, 1892, 57, 57, 57, + 57, -687, -687, -687, 0, 57, 7, -687, 90, 57, + -687, 121, 57, 152, 155, 57, -687, -687, 37, -687, + 87, 253, -687, 172, -687, 186, 185, 1648, -687, -687, + -687, 188, 238, -687, 190, 192, 193, 97, -687, 98, + -687, -687, -687, -687, -687, -687, 194, -687, -687, -687, + 197, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, 200, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + 133, -687, -687, -687, -687, 69, -687, -687, 198, -687, + 199, 196, 205, -687, 52, 207, 208, 206, -687, 209, + 210, 211, 212, 213, 215, 216, 219, -687, -687, -687, + 221, 223, -687, -687, -687, -687, 200, -687, -687, -687, + -687, -687, -687, -687, -687, -687, 200, -687, -687, -687, + -687, -687, -687, -687, -687, 224, -687, 227, -687, -687, + 229, -687, 310, -687, -687, -687, -687, 49, -687, -687, + -687, 2015, -687, -687, -687, -687, 234, -687, -687, -687, + -687, 320, -687, -687, 60, 240, -687, -687, -687, -687, + -687, -687, -687, -687, 337, -687, 187, 246, -687, 248, + 301, -687, -687, -687, -687, -687, -687, 200, -687, -687, + 236, -687, -687, -687, -687, -687, -687, -687, -687, -687, + 301, 254, 255, -687, -687, -687, 57, 57, 256, 259, + -687, -687, -687, 249, -687, 310, 261, -687, -687, -687, + -687, -687, 352, -687, 260, 263, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, 419, 419, 419, 187, + 200, -687, -687, 262, 258, 264, 111, 109, 99, -687, + -687, -687, -687, -687, 52, -687, -687, -687, -687, 265, + -687, 1624, 266, -687, 52, -687, 187, 187, 187, 267, + -687, -687, -687, -687, -687, -687, -687, 169, -687, -13, + -687, -687, -687, -687, -687, -687, -687, -687, 52, 301, + -687, -687, -687, -687, 229, 711, 1447, 271, 273, -687, + 1648, -687, -687, -687, 247, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 269, 57, -687, 200, 1032, + -687, 844, 187, -687, -687, -687, -687, -687, -687, -687, + -687, 187, -687, 1397, -687, -687, -687, 59, 566, -687, + -687, -687, -687, 54, 316, 52, 52, -687, -687, -687, + -687, -687, 54, -687, 277, -687, 275, -687, 281, -687, + -687, 1126, 200, -687, 52, 301, -687, -687, -687, -687, + 283, -687, -687, 57, -687, -687, 290, 289, 386, 292, + -687, -687, 258, 264, 111, 109, 109, 99, 99, -687, + -687, -687, -687, -687, 294, -687, -687, -687, 296, -687, + -687, 1804, -687, -687, -687, -687, 1927, -687, -687, -687, + -687, -687, 299, -687, 1839, -687, -687, 1714, -687, 304, + 1624, 297, 307, 306, 311, 314, 312, -687, 302, -687, + 315, -687, -687, -687, 326, 328, 996, 52, 52, 52, + 184, -687, 330, -687, -687, -687, -687, -687, -687, -687, + 57, 57, -687, 331, -687, -687, -687, 1220, 938, 387, + 1980, -687, 200, 310, -687, -687, 53, 62, 334, 336, + 338, 310, 340, -687, -687, 3, -687, 50, -687, -687, + 335, 339, 200, -687, 346, 117, 1892, -687, 409, -687, + -687, -687, -687, 60, -687, 349, -687, 350, -687, 351, + 353, 354, 355, -687, 200, -687, -687, -687, -687, -687, + 357, 358, 446, -687, -687, -687, 359, -687, -687, 187, + -687, -687, -687, -687, 187, -687, 310, -687, 360, 57, + -687, -687, 450, 200, -687, -687, -687, -687, -687, -687, + 71, 71, 71, -687, 362, -687, 364, 365, 368, 371, + 373, 380, -687, -687, -687, 381, 382, 384, 385, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, 187, + -687, -687, -687, 57, -687, 388, 383, 390, -687, 423, + 392, 117, -687, 395, 404, -687, 405, 187, 406, 1509, + -687, 52, -687, -687, -687, -687, -687, -687, 505, -687, + -687, -687, -687, 410, -687, -687, 312, 315, -687, -687, + 399, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, 396, 396, -687, -687, -687, -687, 1980, 57, -687, + 187, 400, -687, -687, -687, -687, -687, -687, -687, 418, + -687, -687, -687, -687, -687, 52, -687, -687, -687, -687, + 422, 200, -687, 396, -687, 420, -687, 425, -687, 484, + -687, -687, -687, -687, -687, -687, -687, -687, 52, -687, + 200, 424, 1270, -687, 411, -687, -687, -687, 426, 412, + 490, 493, 493, 57, 473, 431, 428, -687, 200, 437, + -687, -687, 427, -687, 493, -687, -687, -687, 432, -687, + -687, -687, -687, -687, -687, -687, -687, -687, 480, 538, + 434, 176, 493, -687, 166, 1980, -687, 440, 436, 493, + 438, 483, 57, 52, -687, -687, 452, -687, -687, -687, + -687, -687, 441, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, 200, -687, 448, -687, 454, 1980, 515, 461, 187, + 457, 463, 58, -687, 202, 57, 490, 52, 52, 449, + 57, 538, -687, -687, -687, -687, -687, -687, -687, -687, + -687, 1599, -687, -687, -687, 445, 451, -687, -687, -687, + 176, 57, 458, 462, -687, -687, -687, -687, 52, -687, + -687, -687, -687, 57, 468, 453, 495, -687, -687, -687, + -687, 475, 488, -687, -687, 519, -687 }; - /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ +/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, @@ -1442,7 +1428,7 @@ static const yytype_int16 yydefact[] = 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, 284, 285, 288, 289, 290, 291, 287, 292, 293, 364, - 354, 372, 377, 273, 280, 274, 281, 275, 282, 276, + 0, 372, 377, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, 0, 252, 253, 250, 246, 0, 249, 247, 371, 248, @@ -1454,517 +1440,495 @@ static const yytype_int16 yydefact[] = 480, 511, 0, 466, 140, 467, 580, 0, 197, 43, 25, 0, 565, 561, 562, 567, 564, 568, 566, 563, 560, 0, 48, 572, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 0, 99, - 363, 360, 368, 373, 19, 11, 214, 13, 297, 0, - 21, 15, 17, 29, 472, 31, 522, 509, 33, 99, - 0, 0, 35, 37, 606, 0, 0, 0, 0, 89, - 478, 476, 519, 139, 0, 0, 600, 212, 200, 4, - 569, 0, 573, 0, 570, 186, 187, 188, 190, 193, - 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, - 597, 161, 162, 163, 165, 167, 169, 172, 175, 179, - 184, 596, 62, 0, 114, 105, 278, 196, 0, 365, - 355, 0, 93, 0, 0, 0, 217, 213, 312, 483, - 526, 553, 546, 555, 603, 149, 266, 232, 259, 260, - 261, 267, 346, 400, 114, 0, 99, 517, 512, 141, - 581, 480, 0, 0, 3, 0, 49, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 594, 0, 76, 136, 0, 113, 0, 0, - 213, 0, 98, 361, 369, 374, 0, 215, 0, 298, - 302, 213, 213, 0, 114, 105, 388, 393, 0, 504, - 0, 0, 611, 386, 387, 607, 609, 0, 613, 0, - 605, 0, 213, 256, 213, 302, 0, 479, 477, 0, - 99, 587, 601, 204, 198, 0, 206, 199, 0, 201, - 207, 0, 0, 0, 0, 571, 185, 164, 166, 168, - 170, 171, 173, 174, 176, 177, 178, 213, 63, 133, - 131, 408, 409, 0, 116, 123, 0, 117, 127, 125, - 129, 0, 119, 121, 413, 111, 110, 0, 104, 0, - 106, 107, 0, 108, 0, 0, 356, 0, 0, 0, - 137, 218, 0, 219, 222, 307, 304, 303, 0, 213, - 0, 0, 0, 0, 0, 494, 0, 482, 484, 486, - 488, 490, 492, 496, 0, 0, 527, 0, 525, 528, - 530, 0, 0, 0, 0, 500, 499, 0, 503, 502, - 0, 0, 0, 0, 0, 0, 0, 604, 150, 0, - 257, 0, 347, 352, 213, 0, 518, 513, 586, 213, - 0, 202, 210, 203, 45, 574, 50, 0, 134, 0, - 69, 0, 115, 0, 0, 0, 0, 412, 442, 439, - 440, 441, 403, 411, 0, 0, 0, 87, 112, 103, - 0, 367, 366, 0, 362, 370, 375, 0, 216, 0, - 220, 0, 0, 299, 301, 270, 323, 318, 319, 320, - 321, 313, 322, 0, 0, 0, 481, 0, 474, 0, - 0, 0, 0, 0, 0, 532, 535, 524, 0, 0, - 0, 0, 389, 394, 498, 592, 593, 612, 608, 610, - 501, 614, 0, 383, 379, 382, 0, 353, 0, 349, - 0, 91, 0, 0, 0, 590, 0, 0, 585, 0, - 0, 0, 0, 595, 0, 132, 124, 118, 128, 126, - 130, 0, 120, 122, 414, 109, 357, 223, 0, 222, - 308, 305, 0, 507, 505, 506, 495, 485, 487, 489, - 491, 493, 497, 0, 0, 529, 531, 548, 557, 0, - 0, 151, 0, 380, 258, 348, 350, 402, 514, 583, - 584, 0, 588, 589, 205, 209, 208, 0, 56, 42, - 51, 55, 0, 135, 404, 0, 0, 221, 0, 314, - 417, 533, 536, 390, 395, 265, 384, 381, 213, 0, - 591, 58, 0, 0, 57, 0, 415, 358, 306, 0, - 0, 0, 449, 449, 0, 453, 262, 0, 351, 515, - 0, 52, 54, 430, 405, 449, 0, 315, 418, 425, - 0, 424, 446, 534, 537, 391, 450, 396, 263, 385, - 521, 0, 0, 0, 449, 416, 359, 0, 0, 420, - 421, 0, 449, 0, 457, 0, 0, 516, 578, 0, - 577, 429, 443, 444, 445, 0, 435, 436, 406, 330, - 337, 335, 316, 326, 327, 334, 426, 422, 447, 392, - 451, 454, 397, 264, 520, 59, 575, 431, 432, 0, - 461, 0, 0, 0, 0, 0, 213, 332, 0, 0, - 0, 0, 0, 0, 0, 433, 437, 458, 407, 331, - 338, 336, 317, 325, 0, 333, 427, 423, 0, 0, - 455, 60, 576, 0, 0, 0, 0, 340, 328, 448, - 452, 0, 434, 438, 459, 339, 0, 0, 0, 0, - 341, 329, 456, 465, 0, 462, 460, 463, 0, 464 + 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, + 99, 363, 360, 368, 373, 19, 11, 214, 13, 297, + 0, 21, 15, 17, 29, 472, 31, 522, 509, 33, + 99, 0, 0, 35, 37, 606, 0, 0, 0, 0, + 89, 478, 476, 519, 139, 0, 0, 600, 212, 200, + 4, 569, 0, 573, 0, 570, 186, 187, 188, 190, + 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, + 183, 597, 161, 162, 163, 165, 167, 169, 172, 175, + 179, 184, 596, 62, 0, 114, 105, 278, 196, 0, + 365, 0, 0, 355, 0, 93, 0, 0, 0, 217, + 213, 312, 483, 526, 553, 546, 555, 603, 149, 266, + 232, 259, 260, 261, 267, 346, 400, 114, 0, 99, + 517, 512, 141, 581, 480, 0, 0, 3, 0, 49, + 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 594, 0, 76, 136, 0, + 113, 0, 0, 213, 359, 213, 213, 98, 361, 369, + 374, 0, 215, 0, 298, 302, 213, 213, 0, 114, + 105, 388, 393, 0, 504, 0, 0, 611, 386, 387, + 607, 609, 0, 613, 0, 605, 0, 213, 256, 213, + 302, 0, 479, 477, 0, 99, 587, 601, 204, 198, + 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, + 571, 185, 164, 166, 168, 170, 171, 173, 174, 176, + 177, 178, 213, 63, 133, 131, 408, 409, 0, 116, + 123, 0, 117, 127, 125, 129, 0, 119, 121, 413, + 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, + 0, 0, 0, 0, 0, 0, 137, 218, 0, 219, + 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, + 0, 494, 0, 482, 484, 486, 488, 490, 492, 496, + 0, 0, 527, 0, 525, 528, 530, 0, 0, 0, + 0, 500, 499, 0, 503, 502, 0, 0, 0, 0, + 0, 0, 0, 604, 150, 0, 257, 0, 347, 352, + 213, 0, 518, 513, 586, 213, 0, 202, 210, 203, + 45, 574, 50, 0, 134, 0, 69, 0, 115, 0, + 0, 0, 0, 412, 442, 439, 440, 441, 403, 411, + 0, 0, 0, 87, 112, 103, 0, 367, 366, 0, + 356, 362, 370, 375, 0, 216, 0, 220, 0, 0, + 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, + 0, 0, 0, 481, 0, 474, 0, 0, 0, 0, + 0, 0, 532, 535, 524, 0, 0, 0, 0, 389, + 394, 498, 592, 593, 612, 608, 610, 501, 614, 0, + 383, 379, 382, 0, 353, 0, 349, 0, 91, 0, + 0, 0, 590, 0, 0, 585, 0, 0, 0, 0, + 595, 0, 132, 124, 118, 128, 126, 130, 0, 120, + 122, 414, 109, 0, 213, 223, 0, 222, 308, 305, + 0, 507, 505, 506, 495, 485, 487, 489, 491, 493, + 497, 0, 0, 529, 531, 548, 557, 0, 0, 151, + 0, 380, 258, 348, 350, 402, 514, 583, 584, 0, + 588, 589, 205, 209, 208, 0, 56, 42, 51, 55, + 0, 135, 404, 0, 358, 0, 221, 0, 314, 417, + 533, 536, 390, 395, 265, 384, 381, 213, 0, 591, + 58, 0, 0, 57, 0, 415, 357, 306, 0, 0, + 0, 449, 449, 0, 453, 262, 0, 351, 515, 0, + 52, 54, 430, 405, 449, 315, 418, 425, 0, 424, + 446, 534, 537, 391, 450, 396, 263, 385, 521, 0, + 0, 0, 449, 416, 0, 0, 420, 421, 0, 449, + 0, 457, 0, 0, 516, 578, 0, 577, 429, 443, + 444, 445, 0, 435, 436, 406, 330, 337, 335, 316, + 326, 327, 334, 426, 422, 447, 392, 451, 454, 397, + 264, 520, 59, 575, 431, 432, 0, 461, 0, 0, + 0, 0, 0, 213, 332, 0, 0, 0, 0, 0, + 0, 0, 433, 437, 458, 407, 331, 338, 336, 317, + 325, 0, 333, 427, 423, 0, 0, 455, 60, 576, + 0, 0, 0, 0, 340, 328, 448, 452, 0, 434, + 438, 459, 339, 0, 0, 0, 0, 341, 329, 456, + 465, 0, 462, 460, 463, 0, 464 }; - /* YYPGOTO[NTERM-NUM]. */ +/* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -668, -668, 304, 305, 563, -620, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -590, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -138, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, 205, -668, - -668, 36, -668, -668, -668, 599, -668, -668, -668, -668, - -668, -668, -668, 601, -668, 244, -668, -668, -248, -668, - -668, 194, 116, -668, -668, -668, -300, -668, -365, -668, - -668, -668, -668, -668, -668, -668, -668, -336, -668, -668, - -22, -668, -668, -193, -10, -668, 18, -668, -668, -668, - -668, -199, -28, -219, -668, 228, 229, 227, -130, -128, - -159, -52, -668, -317, -668, -668, -668, -668, -668, -668, - -668, -668, 15, -93, 575, -668, -668, -668, -668, -63, - 23, 20, -668, 57, -668, -31, -393, -460, -668, -668, - -668, 19, -668, -668, -624, -134, -668, -668, -7, -668, - -75, -668, -668, -36, -30, -56, -55, -50, 251, -668, - -40, -668, -38, -668, -668, -668, -668, 190, 284, 144, - -668, -668, -668, -37, -668, -32, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -201, -668, -668, -668, -668, - -668, -200, -668, -668, -668, -668, -668, -668, -668, -41, - -668, -668, -668, -668, -668, -668, -668, -100, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -70, -668, -668, -668, -69, -668, -668, -668, -668, - -668, -668, -668, -64, -668, -668, -324, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, 21, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -654, -668, -668, -668, -668, -668, -192, - -668, -668, -668, -668, -668, -668, -668, -668, -217, -668, - -668, -515, -668, -667, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, 22, 24, - -668, -668, -668, -668, -668, -668, -668, -668, -668, 290, - -668, -668, 145, -668, -668, -668, -668, -668, -668, -668, - -334, 231, -330, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 592, -668, -668, -668, -668, -668, - -668, -668, -668, -668, 285, -668, -668, -181, -668, -668, - -668, -668, -668, -668, -668, 12, -668, 321, -668, -668, - 100, -668, -668, -668, -668, -668, -668, -668, -668, -668, - -668, -668, -668, -668 + -687, -687, 286, 293, 553, -603, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -597, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -158, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, 225, -687, + -687, 86, -687, -687, -687, 589, -687, -687, -687, -687, + -687, -687, -687, 592, -687, 257, -687, -687, -247, -687, + -687, 179, 103, -687, -687, -687, -319, -687, -360, -687, + -687, -687, -687, -687, -687, -687, -687, -340, -687, -687, + -22, -687, -687, -188, -10, -687, 17, -687, -687, -687, + -687, -191, -47, -236, -687, 220, 218, 222, -123, -122, + -176, -69, -687, -326, -687, -687, -687, -687, -687, -687, + -687, -687, 13, -89, 567, -687, -687, -687, -687, -81, + 2, 18, -687, 44, -687, -31, -304, -469, -687, -687, + -687, 4, -687, -687, -621, -151, -687, -687, -7, -687, + -66, -687, -687, -43, -42, -57, -55, -50, 239, -687, + -40, -687, -38, -687, -687, -687, -687, 175, 268, 123, + -687, -687, -687, -37, -687, -32, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -226, -687, -687, -687, -687, + -687, -225, -687, -687, -687, -687, -687, -687, -687, -41, + -687, -687, -687, -687, -687, -687, -687, -125, -687, -687, + -687, -687, -377, -687, -687, -687, -687, -687, -687, -687, + -75, -687, -687, -687, -70, -687, -687, -687, -687, -687, + -687, -687, -88, -687, -687, -333, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, 20, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -628, -687, -687, -687, -687, -687, -222, -687, + -687, -687, -687, -687, -687, -687, -687, -245, -687, -687, + -513, -687, -686, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, 22, 23, -687, + -687, -687, -687, -687, -687, -687, -687, -687, 252, -687, + -687, 107, -687, -687, -687, -687, -687, -687, -687, -332, + 203, -331, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687, 560, -687, -687, -687, -687, -687, -687, + -687, -687, -687, 250, -687, -687, -220, -687, -687, -687, + -687, -687, -687, -687, -28, -687, 272, -687, -687, 61, + -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, + -687, -687, -687 }; - /* YYDEFGOTO[NTERM-NUM]. */ +/* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 309, 462, 31, 32, 117, - 313, 464, 672, 752, 730, 753, 731, 732, 770, 853, - 33, 118, 403, 34, 35, 124, 344, 483, 36, 85, - 37, 151, 343, 38, 39, 40, 126, 345, 497, 41, - 227, 374, 565, 42, 269, 43, 102, 258, 352, 44, - 45, 408, 498, 600, 499, 500, 406, 407, 484, 583, - 594, 595, 581, 585, 584, 586, 579, 404, 479, 674, - 329, 232, 304, 109, 366, 46, 485, 83, 295, 441, - 652, 207, 330, 347, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 348, 48, 308, 382, 457, 570, 458, - 459, 671, 486, 50, 307, 356, 417, 512, 513, 610, - 514, 487, 86, 218, 296, 219, 154, 155, 156, 157, - 52, 367, 443, 656, 368, 744, 766, 805, 369, 370, + 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, + 314, 469, 679, 761, 738, 762, 739, 740, 779, 860, + 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, + 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, + 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, + 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, + 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, + 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, + 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, + 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, + 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, + 52, 370, 448, 663, 371, 753, 775, 812, 372, 373, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 357, 518, 419, 519, 614, 517, - 612, 738, 611, 55, 88, 56, 279, 421, 692, 759, - 797, 844, 621, 822, 845, 823, 846, 887, 841, 824, - 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, - 89, 297, 444, 658, 562, 659, 748, 563, 173, 268, - 411, 603, 736, 776, 174, 353, 507, 175, 267, 410, - 176, 177, 354, 508, 178, 179, 355, 509, 180, 371, - 442, 654, 713, 655, 712, 767, 488, 433, 543, 709, - 764, 802, 434, 544, 710, 765, 804, 489, 90, 298, - 445, 660, 490, 681, 755, 794, 840, 491, 592, 503, - 596, 735, 775, 741, 760, 761, 780, 800, 849, 781, - 798, 848, 774, 792, 793, 815, 838, 873, 816, 839, - 874, 593, 817, 783, 801, 850, 787, 803, 851, 832, - 852, 881, 858, 875, 889, 894, 895, 898, 492, 493, - 63, 64, 65, 193, 359, 526, 66, 230, 376, 301, - 375, 422, 527, 629, 630, 631, 632, 633, 627, 634, - 528, 547, 529, 437, 549, 530, 531, 532, 67, 195, - 68, 105, 302, 450, 662, 749, 790, 378, 449, 807, - 287, 360, 537, 423, 538, 638, 639, 539, 703, 762, - 540, 704, 763, 69, 70, 71, 72, 73, 290, 424, - 640, 74, 75, 76, 198, 289, 77, 291, 425, 641, - 78, 251, 252, 314, 253, 809, 836, 810, 79, 111, - 305, 451, 663, 568, 569, 668, 721, 533, 255, 402, - 341, 80, 81, 112, 381, 203, 294, 439, 364, 440, - 553, 554, 552, 556 + 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, + 619, 747, 618, 55, 88, 56, 280, 426, 700, 768, + 804, 851, 628, 829, 852, 830, 853, 894, 848, 831, + 854, 832, 850, 849, 883, 885, 893, 57, 58, 59, + 89, 298, 449, 665, 568, 666, 757, 569, 173, 269, + 416, 694, 352, 174, 356, 513, 175, 267, 413, 176, + 177, 357, 514, 178, 179, 358, 515, 180, 374, 447, + 661, 721, 662, 720, 776, 493, 438, 549, 717, 773, + 809, 439, 550, 718, 774, 811, 494, 90, 299, 450, + 667, 495, 688, 764, 802, 847, 496, 598, 508, 602, + 743, 784, 750, 769, 770, 788, 807, 856, 789, 805, + 855, 783, 800, 801, 822, 845, 880, 823, 846, 881, + 599, 824, 791, 808, 857, 795, 810, 858, 839, 859, + 888, 865, 882, 896, 901, 902, 905, 497, 498, 63, + 64, 65, 193, 362, 532, 66, 230, 379, 302, 378, + 427, 533, 636, 637, 638, 639, 640, 634, 641, 534, + 553, 535, 442, 555, 536, 537, 538, 67, 195, 68, + 105, 303, 455, 669, 758, 798, 381, 454, 814, 288, + 363, 543, 428, 544, 645, 646, 545, 711, 771, 546, + 712, 772, 69, 70, 71, 72, 73, 291, 429, 647, + 74, 75, 76, 198, 290, 77, 292, 430, 648, 78, + 251, 252, 315, 253, 816, 843, 817, 79, 111, 306, + 456, 670, 574, 575, 675, 729, 539, 255, 405, 342, + 80, 81, 112, 384, 203, 295, 444, 367, 445, 559, + 560, 558, 562 }; - /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ +/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 208, 103, - 104, 171, 153, 214, 215, 412, 113, 49, 506, 237, - 47, 152, 51, 60, 61, 254, 62, 211, 212, 643, - 435, 589, 714, 213, 436, 331, 413, 414, 415, 303, - 432, 361, 310, 501, 106, 172, 168, 209, 169, 170, - 742, 106, 728, 210, 171, 306, 657, 8, 536, 819, - 545, 206, 216, 645, 152, 646, 106, 47, 106, 51, - 60, 61, 123, 62, 446, 217, 4, 220, 221, 222, - 223, 756, 729, -378, 589, 225, 233, 820, 821, 228, - 426, 427, 229, 184, 819, 231, 784, 91, 525, -144, - 234, 18, 235, -378, 122, 95, 264, 265, 795, 391, - 197, 379, 602, 653, 197, 262, 234, 270, 263, 271, - 428, 582, 820, 821, 541, 429, 8, 818, 448, -145, - 224, 107, 226, 728, 122, 829, 119, 501, 107, 315, - 316, 317, 318, 319, 320, 321, 322, 18, 184, 184, - 234, 99, 234, 234, 114, 107, 106, -324, 323, 324, - 184, 184, 276, 729, 120, -146, 208, -342, 426, 427, - 122, 214, 215, 325, 326, -100, 188, 501, 327, 328, - 122, 106, 122, 456, 202, 211, 212, 426, 427, 204, - 504, 213, 395, 396, 743, 397, 398, 511, 428, 236, - 525, -470, 567, 429, 238, 209, 430, 431, 521, 522, - -543, 210, 399, 400, 401, 820, 821, 428, 523, 206, - 94, 96, 429, 510, 866, 430, 431, 315, 316, 317, - 318, 319, 320, 321, 322, 666, 812, 813, 814, 667, - 474, 475, 476, 107, 239, 665, 323, 324, 240, 589, - 883, 257, 315, 316, 317, 318, 319, 320, 321, 322, - 98, 101, 890, 256, 418, 470, 471, 328, 107, 472, - 473, 323, 324, 388, 389, 390, 266, 259, 260, 234, - 261, 278, 274, 826, 272, 365, 325, 326, 273, 106, - 275, 327, 328, -212, 615, 128, 129, 284, 277, 132, - 133, 134, 135, 280, 281, 282, 283, 208, 285, 12, - 286, 288, 214, 215, 292, 293, -544, 505, 299, 106, - 312, 405, 311, 300, 856, 342, 211, 212, 520, 405, - 666, 346, 213, 349, 667, 350, 351, 358, 589, 362, - 665, 461, 377, 757, 363, 372, 209, 373, 380, 559, - 385, 561, 210, 447, 644, 386, 387, 392, 331, 416, - 206, 393, 650, 394, 409, -44, 463, 477, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 172, 168, 589, - 169, 170, 184, 466, 577, 548, 171, 516, 687, 152, - 557, 558, 560, 478, 571, 746, 152, 573, 49, 575, - 455, 47, 574, 51, 60, 61, 546, 62, 550, 551, - 576, 578, 580, 597, 607, 546, 688, 608, 609, 601, - 604, 590, 591, 502, 613, 605, 418, 566, 606, -300, - 693, 694, 695, 331, 628, 637, 642, 524, 647, 648, - 649, 651, 670, 675, -401, 617, 676, 661, 572, -582, - 677, 725, 678, 679, 680, 682, 683, 684, 172, 168, - 685, 169, 170, 686, 618, 619, 690, 171, 516, 588, - 620, 418, 262, 696, 590, 591, 697, 152, 698, 622, - 699, 106, 700, 152, 701, 702, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 616, 623, - 624, 625, 139, 140, 141, 142, 705, 706, 716, 718, - 707, 734, 708, 715, 868, 869, 717, 719, 722, 723, - 724, 726, 588, 739, 635, 636, 750, 754, 758, 172, - 168, 653, 169, 170, 740, -419, 771, 777, 171, 773, - 779, 778, 782, 786, 788, 888, 791, 808, 152, 789, - -428, 796, 806, 799, 827, 811, 831, 502, 828, 830, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 835, - 837, 857, 854, 855, 184, 861, 859, 870, 885, 862, - 106, 879, 880, 891, 664, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 10, 11, 884, - 12, 139, 140, 141, 142, 892, 893, 426, 427, 896, - 897, 899, 183, 383, 384, 772, 100, 97, 599, 542, - 467, 469, 468, 860, 711, 185, 737, 669, 521, 522, - 785, 691, 689, 460, -47, 564, -47, 428, 523, 590, - 591, 420, 429, 598, 863, 430, 431, 865, 768, 747, - -47, -47, 733, -47, -47, 561, 882, 867, -47, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 555, 626, - 199, 452, 465, 872, -101, -473, 720, 673, 0, 122, - -47, 0, 0, 0, -47, 438, 0, 588, 0, 0, - 47, 0, 51, 60, 61, 0, 62, 0, -47, 0, - 92, 0, 241, 745, 242, 751, 0, 0, 0, 0, - 0, 0, 0, 0, 152, 0, 0, 0, 243, 244, - 0, 245, 246, 0, 0, 0, 247, 769, 590, 591, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, - 5, 0, 0, 6, 7, 8, 9, 0, 248, 0, - 0, 0, 249, 864, 92, 0, 0, 745, 0, 10, - 11, 0, 12, 0, 0, 0, 250, 13, 0, 590, - 591, 47, 0, 51, 60, 61, 588, 62, 0, 0, - 14, 15, 16, 17, 834, 0, 0, 0, 0, 18, - 19, 0, 0, 20, 0, 92, 21, 0, 833, 0, - 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, - 24, 25, 0, 0, 0, 0, 0, 588, 0, 0, - 0, 0, 0, 172, 168, 0, 169, 170, 405, 405, - 0, 0, 171, 877, 26, -213, 0, 0, 480, 0, - -410, 6, 152, 871, 9, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 10, 11, 405, - 12, 0, 0, -410, -410, 13, 0, 0, 426, 427, - 481, 482, -410, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 494, 495, 496, 0, 0, 0, 0, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, + 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, + 51, 152, 60, 237, 61, 62, 211, 595, 212, 254, + 418, 419, 420, 213, 437, 440, 441, 650, 511, 512, + 209, 210, 722, 364, 304, 172, 168, 414, 169, 170, + 311, 506, 307, 664, 171, 106, 652, 106, 451, 826, + 91, 206, 216, 106, 152, 653, 47, 51, 542, 60, + 8, 61, 62, 551, 106, 217, 736, 220, 221, 222, + 223, 595, 737, -378, 751, 225, 792, 827, 828, 228, + 431, 432, 229, 394, 531, 231, -144, -145, 803, 184, + 4, 122, 122, -378, -146, 262, 264, 265, 263, 122, + 547, 527, 528, 233, 18, 765, 825, 382, 95, 660, + 433, 529, 123, 836, 8, 434, 18, 234, 435, 436, + 99, 588, 453, 114, 316, 317, 318, 319, 320, 321, + 322, 323, 107, 234, 107, 184, 184, 506, 431, 432, + 107, 184, 234, 324, 325, 188, 184, -324, -473, 736, + 197, 234, 277, 235, 197, 737, 214, 826, 326, 327, + 271, 215, 272, 328, 329, 208, 509, 234, 433, 351, + 224, 119, 226, 434, 211, 517, 212, -100, 506, 120, + 106, 213, 122, -342, 461, 827, 828, 531, 209, 210, + 431, 432, 398, 399, 752, -47, 608, -47, 573, 402, + 403, 404, 819, 820, 821, 431, 432, 400, 401, 206, + 202, -47, -47, 122, -47, -47, 479, 480, 481, -47, + 433, 827, 828, 516, 873, 434, 527, 528, 435, 436, + 94, 96, 672, 673, 674, 433, 529, 204, 595, -470, + 434, -47, -543, 435, 436, -47, 236, 391, 392, 393, + 890, 316, 317, 318, 319, 320, 321, 322, 323, -47, + 238, 423, 897, 98, 101, 475, 476, 107, 477, 478, + 324, 325, 240, 693, 239, 256, 368, 257, 259, 260, + 234, 261, 833, 275, 266, 326, 327, 268, 273, 274, + 328, 329, 276, -212, 279, 278, 281, 282, 283, 284, + 214, 285, 286, 106, 287, 215, 289, 745, 293, 208, + 294, -544, 408, 313, 510, 300, 351, 351, 211, 152, + 212, 301, 408, 863, 312, 213, 595, 526, 672, 673, + 674, 343, 209, 210, 466, 347, 350, 332, 353, 354, + 361, 380, 365, 366, 375, 388, 452, 376, 565, 383, + 567, 389, 471, 206, 396, 651, 390, 395, 412, 415, + -44, 397, 482, 657, 468, 554, 563, 595, 695, 564, + 577, 421, 172, 168, 566, 169, 170, 579, 580, 581, + 582, 171, 522, 583, 755, 586, 483, 584, 603, 49, + 609, 152, 460, 47, 51, 607, 60, 611, 61, 62, + 610, 552, 612, 556, 557, 613, 614, 615, 616, 649, + 552, 596, 106, 332, 507, 620, 597, -300, 696, 635, + 644, 654, 572, 655, -401, 656, 423, 658, 668, 677, + 530, 733, 701, 702, 703, -582, 682, 683, 684, 691, + 685, 686, 687, 578, 689, 690, 692, 698, 262, 704, + 624, 705, 706, 172, 168, 707, 169, 170, 708, 625, + 709, 626, 171, 522, 594, 596, 627, 710, 713, 714, + 597, 423, 152, 715, 716, 629, 724, 723, 152, 725, + 726, 727, 730, 316, 317, 318, 319, 320, 321, 322, + 323, 731, 732, 734, 623, 630, 631, 632, 742, 107, + 749, 744, 324, 325, 748, 759, 660, 875, 876, 763, + -419, 766, 767, 780, 785, 782, 787, 786, 594, 794, + 642, 643, 790, 329, 796, 172, 168, 799, 169, 170, + 813, 815, -428, 834, 171, 797, 838, 806, 895, 818, + 835, 861, 837, 842, 152, 864, 844, 862, 866, 868, + 886, 507, 869, 877, 892, 898, 887, 485, 899, -410, + 6, 900, 891, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, -410, -410, 10, 11, 671, 12, + 903, 904, -410, -410, 13, 906, 386, 431, 432, 486, + 487, -410, 183, 387, 781, 351, 100, 14, 97, 548, + 605, 540, 719, 867, 473, 472, 746, 185, 697, 474, + 676, 541, 793, 699, 465, 570, 870, 604, 425, 872, + 22, 23, 777, 756, 874, 889, 457, 633, 199, 443, + 470, 879, 596, 728, 680, 561, 0, 597, -410, -410, + -410, -410, -410, -410, -410, -410, -410, 0, 0, 741, + 0, 0, 0, 0, 0, -523, 106, 0, 567, 0, + 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, + 142, 0, 0, 0, 0, 594, 47, 51, 0, 60, + 0, 61, 62, 0, 0, 0, 0, 0, 92, 0, + 0, 754, 0, 760, 106, 6, 0, 0, 458, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, + 596, 0, 0, 0, 12, 597, 778, 141, 142, 0, + 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, + -101, 0, 0, 92, 871, 122, 754, 0, 0, 0, + 0, 596, 0, 0, 0, 0, 597, 0, 0, 47, + 51, 0, 60, 594, 61, 62, 0, 0, 0, 0, + 0, 841, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 92, 0, 0, 840, 0, 0, 0, 0, + 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, + 172, 168, 0, 169, 170, 408, 408, 0, 0, 171, + 884, 0, 0, 0, 0, 485, 0, -410, 6, 152, + 878, 9, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, 10, 11, 408, 12, 0, 0, + -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, + 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, - -410, -410, -410, -410, -410, -410, -410, -410, 0, 0, - 0, 0, 480, -213, -410, 6, -86, 0, 9, -410, - -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, - -410, 10, 11, 0, 12, 0, 0, -410, -410, 13, - 0, 0, 426, 427, 481, 482, -410, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 494, 495, 496, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -410, -410, -410, -410, -410, -410, -410, - -410, -410, 0, 0, 0, 0, 480, -213, -410, 6, - -556, 0, 9, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 10, 11, 0, 12, 0, - 0, -410, -410, 13, 0, 0, 426, 427, 481, 482, - -410, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 535, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 0, 0, 0, 480, - 0, -410, 6, 0, -523, 9, -410, -410, -410, -410, + 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 0, 0, 0, 0, 485, + -213, -410, 6, -86, 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, - 0, 12, 0, 0, -410, -410, 13, 0, 0, 426, - 427, 481, 482, -410, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 12, 0, 0, -410, -410, 13, 0, 0, 431, + 432, 486, 487, -410, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, + 0, 0, 22, 23, 622, 128, 129, 0, 0, 132, + 133, 134, 135, 0, 0, 0, 0, 0, 0, 12, -410, -410, -410, -410, -410, -410, -410, -410, -410, 0, - 0, 0, 0, 480, -213, -410, 6, -68, 0, 9, + 0, 0, 0, 485, -213, -410, 6, -556, 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, -410, -410, - 13, 0, 0, 426, 427, 481, 482, -410, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 13, 0, 0, 431, 432, 486, 487, -410, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, + 0, 0, 184, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, -410, -410, - -410, -410, -410, 0, 0, 0, 0, 480, -213, -410, - 6, -90, 0, 9, -410, -410, -410, -410, -410, -410, + -410, -410, -410, 0, 0, 0, 0, 485, -213, -410, + 6, -68, 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, - 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, - 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 10, 11, 0, 12, - 0, 0, 0, 0, 13, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 14, 15, 16, - 17, 0, -213, 0, 0, -547, 18, 19, 0, 0, - 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 24, 25, 727, - 106, 6, 0, 0, 453, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 205, 137, 0, 0, 0, 0, - 12, 26, 0, 141, 142, -53, 515, 0, 106, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, - 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -410, -410, 13, 0, 0, 431, 432, 486, + 487, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, - 0, 0, 0, 0, 0, 0, 454, 5, 0, 0, - 6, 7, 8, 9, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 10, 11, 0, 12, - 0, 184, 0, 0, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, - 17, 0, 0, 0, 0, 0, 18, 19, 0, 0, - 20, 0, 0, 21, 0, 0, 0, 0, 0, 5, - 22, 23, 6, 7, 8, 9, 0, 24, 25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, - 0, 12, 0, 0, 5, 0, 13, 6, 7, 8, - 9, 26, -213, 0, 0, 0, 0, 0, 0, 14, - 15, 16, 17, 10, 11, 0, 12, 0, 18, 19, - 0, 13, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 0, 22, 23, 14, 15, 16, 17, 0, 24, - 25, 727, 0, 18, 19, 0, 0, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 0, - 0, 106, 0, 26, 24, 25, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 480, 26, -410, - 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, - 482, -410, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 494, 495, 496, 0, 0, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, - 22, 23, 0, 0, 184, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 480, 0, -410, - 6, 0, 0, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 426, 427, 481, - 482, -410, 515, 0, 106, 0, 0, 14, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 106, 0, 0, + -410, -410, -410, -410, -410, -410, -410, 0, 0, 0, + 0, 485, -213, -410, 6, -90, 0, 9, -410, -410, + -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, + 10, 11, 0, 12, 0, 0, -410, -410, 13, 0, + 0, 431, 432, 486, 487, -410, 0, 0, 0, 0, + 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 6, 7, 8, 9, 0, 0, + 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 10, 11, 0, 12, 0, 0, 0, 0, 13, 0, + 0, 0, -410, -410, -410, -410, -410, -410, -410, -410, + -410, 14, 15, 16, 17, 0, -213, 0, 0, -547, + 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, + 0, 0, -2, 5, 22, 23, 6, 7, 8, 9, + 0, 24, 25, 735, 0, 0, 0, 0, 0, 0, + 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 26, 0, 0, 0, -53, + 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, + 0, 0, 18, 19, 0, 0, 20, 0, 0, 21, + 0, 0, 0, 0, 0, 0, 22, 23, 521, 0, + 106, 0, 0, 24, 25, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, + 12, 139, 140, 141, 142, 0, 0, 26, -213, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, + 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, + 12, 0, 0, 0, 0, 13, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 14, 15, + 16, 17, 0, 184, 0, 0, 0, 18, 19, 0, + 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, + 5, 22, 23, 6, 7, 8, 9, 0, 24, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 11, 0, 12, 0, 0, 5, 0, 13, 6, 7, + 8, 9, 26, -213, 0, 0, 0, 0, 0, 0, + 14, 15, 16, 17, 10, 11, 0, 12, 0, 18, + 19, 0, 13, 20, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 22, 23, 14, 15, 16, 17, 0, + 24, 25, 735, 0, 18, 19, 0, 0, 20, 0, + 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 106, 0, 26, 24, 25, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 106, 0, 26, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, - 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, - 0, 0, 0, 139, 140, 141, 142, 0, 0, 0, + 135, 136, 137, 138, 0, 0, 0, 0, 139, 140, + 141, 142, 241, 0, 242, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 243, 244, + 0, 245, 246, 0, 0, 0, 247, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 0, 0, 0, 0, 0, 184, 0, 0, 248, 0, + 0, 0, 249, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 485, 250, -410, 6, 0, + 184, 9, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, + -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, + 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 485, 0, -410, 6, 0, + 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, + -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, + -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, + 521, 0, 106, 0, 0, 14, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, - 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, + 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, + -410, -410, -410, -410, -410, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, - 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 205, 0, 0, + 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, + 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 205, 0, 0, 0, 0, 0, 0, 0, + 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107 + 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 83, 351, 26, 2, 411, 112, - 2, 43, 2, 2, 2, 118, 2, 83, 83, 544, - 364, 491, 656, 83, 364, 254, 353, 354, 355, 232, - 364, 289, 241, 408, 3, 86, 86, 83, 86, 86, - 704, 3, 672, 83, 86, 3, 3, 6, 423, 1, - 19, 83, 84, 3, 86, 3, 3, 49, 3, 49, - 49, 49, 36, 49, 374, 85, 0, 87, 88, 89, - 90, 735, 672, 96, 544, 95, 76, 29, 30, 99, - 31, 32, 102, 96, 1, 105, 763, 3, 422, 97, - 90, 50, 76, 116, 102, 54, 8, 9, 775, 328, - 74, 304, 505, 116, 78, 8, 90, 101, 11, 103, - 61, 486, 29, 30, 424, 66, 6, 794, 376, 97, - 94, 90, 96, 753, 102, 802, 97, 502, 90, 74, - 75, 76, 77, 78, 79, 80, 81, 50, 96, 96, - 90, 54, 90, 90, 100, 90, 3, 99, 93, 94, - 96, 96, 184, 753, 97, 97, 241, 97, 31, 32, - 102, 241, 241, 108, 109, 97, 22, 542, 113, 114, - 102, 3, 102, 382, 98, 241, 241, 31, 32, 97, - 409, 241, 91, 92, 709, 108, 109, 416, 61, 3, - 524, 97, 450, 66, 98, 241, 69, 70, 52, 53, - 97, 241, 110, 111, 112, 29, 30, 61, 62, 241, - 15, 16, 66, 416, 848, 69, 70, 74, 75, 76, - 77, 78, 79, 80, 81, 569, 36, 37, 38, 569, - 399, 400, 401, 90, 98, 569, 93, 94, 97, 709, - 874, 49, 74, 75, 76, 77, 78, 79, 80, 81, - 16, 17, 886, 97, 357, 395, 396, 114, 90, 397, - 398, 93, 94, 325, 326, 327, 100, 98, 97, 90, - 98, 98, 97, 798, 100, 295, 108, 109, 100, 3, - 97, 113, 114, 96, 8, 9, 10, 98, 97, 13, - 14, 15, 16, 97, 97, 97, 97, 382, 97, 23, - 98, 97, 382, 382, 97, 97, 97, 410, 98, 3, - 3, 343, 100, 102, 839, 101, 382, 382, 421, 351, - 664, 8, 382, 100, 664, 100, 48, 114, 798, 98, - 664, 382, 102, 736, 98, 98, 382, 98, 98, 442, - 3, 444, 382, 375, 547, 101, 103, 105, 577, 114, - 382, 106, 555, 107, 103, 99, 101, 103, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 418, 418, 839, - 418, 418, 96, 115, 477, 59, 418, 418, 607, 411, - 99, 104, 103, 403, 97, 712, 418, 97, 383, 3, - 382, 383, 99, 383, 383, 383, 428, 383, 430, 431, - 98, 103, 99, 99, 104, 437, 609, 115, 103, 101, - 101, 491, 491, 408, 99, 101, 519, 449, 101, 99, - 623, 624, 625, 652, 99, 99, 32, 422, 97, 97, - 97, 97, 30, 97, 99, 520, 97, 99, 458, 99, - 97, 670, 97, 97, 97, 97, 97, 3, 499, 499, - 97, 499, 499, 103, 520, 520, 97, 499, 499, 491, - 520, 564, 8, 97, 544, 544, 97, 499, 97, 520, - 97, 3, 97, 505, 97, 97, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 520, 521, - 522, 523, 24, 25, 26, 27, 97, 97, 103, 67, - 99, 3, 99, 99, 850, 851, 99, 99, 97, 97, - 97, 97, 544, 115, 534, 535, 97, 97, 97, 570, - 570, 116, 570, 570, 114, 36, 99, 98, 570, 114, - 36, 115, 39, 56, 103, 881, 100, 3, 570, 117, - 115, 101, 60, 115, 103, 115, 63, 542, 114, 114, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 101, - 115, 40, 103, 103, 96, 102, 97, 114, 102, 99, - 3, 115, 115, 97, 569, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 114, - 23, 24, 25, 26, 27, 115, 76, 31, 32, 115, - 103, 76, 49, 309, 309, 753, 17, 16, 502, 425, - 392, 394, 393, 842, 652, 50, 689, 570, 52, 53, - 764, 612, 609, 382, 4, 445, 6, 61, 62, 709, - 709, 357, 66, 499, 845, 69, 70, 847, 748, 713, - 20, 21, 674, 23, 24, 748, 873, 849, 28, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 437, 524, - 78, 381, 387, 854, 97, 99, 664, 577, -1, 102, - 50, -1, -1, -1, 54, 364, -1, 709, -1, -1, - 672, -1, 672, 672, 672, -1, 672, -1, 68, -1, - 710, -1, 4, 710, 6, 727, -1, -1, -1, -1, - -1, -1, -1, -1, 736, -1, -1, -1, 20, 21, - -1, 23, 24, -1, -1, -1, 28, 749, 798, 798, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, - 1, -1, -1, 4, 5, 6, 7, -1, 50, -1, - -1, -1, 54, 846, 764, -1, -1, 764, -1, 20, - 21, -1, 23, -1, -1, -1, 68, 28, -1, 839, - 839, 753, -1, 753, 753, 753, 798, 753, -1, -1, - 41, 42, 43, 44, 806, -1, -1, -1, -1, 50, - 51, -1, -1, 54, -1, 805, 57, -1, 805, -1, - -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, - 71, 72, -1, -1, -1, -1, -1, 839, -1, -1, - -1, -1, -1, 864, 864, -1, 864, 864, 850, 851, - -1, -1, 864, 864, 95, 96, -1, -1, 1, -1, - 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, - 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, - 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, + 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, + 2, 43, 2, 112, 2, 2, 83, 496, 83, 118, + 356, 357, 358, 83, 367, 367, 367, 550, 415, 416, + 83, 83, 663, 290, 232, 86, 86, 351, 86, 86, + 241, 411, 3, 3, 86, 3, 3, 3, 377, 1, + 3, 83, 84, 3, 86, 3, 49, 49, 428, 49, + 6, 49, 49, 19, 3, 85, 679, 87, 88, 89, + 90, 550, 679, 96, 712, 95, 772, 29, 30, 99, + 31, 32, 102, 329, 427, 105, 97, 97, 784, 96, + 0, 102, 102, 116, 97, 8, 8, 9, 11, 102, + 429, 52, 53, 76, 50, 743, 802, 305, 54, 116, + 61, 62, 36, 809, 6, 66, 50, 90, 69, 70, + 54, 491, 379, 100, 74, 75, 76, 77, 78, 79, + 80, 81, 90, 90, 90, 96, 96, 507, 31, 32, + 90, 96, 90, 93, 94, 22, 96, 99, 99, 762, + 74, 90, 184, 76, 78, 762, 241, 1, 108, 109, + 101, 241, 103, 113, 114, 241, 412, 90, 61, 268, + 94, 97, 96, 66, 241, 421, 241, 97, 548, 97, + 3, 241, 102, 97, 385, 29, 30, 530, 241, 241, + 31, 32, 91, 92, 717, 4, 510, 6, 455, 110, + 111, 112, 36, 37, 38, 31, 32, 108, 109, 241, + 98, 20, 21, 102, 23, 24, 402, 403, 404, 28, + 61, 29, 30, 421, 855, 66, 52, 53, 69, 70, + 15, 16, 575, 575, 575, 61, 62, 97, 717, 97, + 66, 50, 97, 69, 70, 54, 3, 326, 327, 328, + 881, 74, 75, 76, 77, 78, 79, 80, 81, 68, + 98, 360, 893, 16, 17, 398, 399, 90, 400, 401, + 93, 94, 97, 609, 98, 97, 296, 49, 98, 97, + 90, 98, 805, 97, 100, 108, 109, 100, 100, 100, + 113, 114, 97, 96, 98, 97, 97, 97, 97, 97, + 385, 98, 97, 3, 98, 385, 97, 694, 97, 385, + 97, 97, 344, 3, 413, 98, 415, 416, 385, 351, + 385, 102, 354, 846, 100, 385, 805, 426, 671, 671, + 671, 101, 385, 385, 385, 8, 100, 583, 100, 48, + 114, 102, 98, 98, 98, 3, 378, 98, 447, 98, + 449, 101, 115, 385, 106, 553, 103, 105, 103, 103, + 99, 107, 103, 561, 101, 59, 99, 846, 614, 104, + 97, 114, 423, 423, 103, 423, 423, 97, 99, 3, + 98, 423, 423, 482, 720, 99, 406, 103, 99, 386, + 103, 423, 385, 386, 386, 101, 386, 101, 386, 386, + 103, 433, 101, 435, 436, 101, 104, 115, 103, 32, + 442, 496, 3, 659, 411, 99, 496, 99, 616, 99, + 99, 97, 454, 97, 99, 97, 525, 97, 99, 30, + 427, 677, 630, 631, 632, 99, 97, 97, 97, 3, + 97, 97, 97, 463, 97, 97, 97, 97, 8, 97, + 526, 97, 97, 504, 504, 97, 504, 504, 97, 526, + 97, 526, 504, 504, 496, 550, 526, 97, 97, 97, + 550, 570, 504, 99, 99, 526, 103, 99, 510, 99, + 67, 99, 97, 74, 75, 76, 77, 78, 79, 80, + 81, 97, 97, 97, 526, 527, 528, 529, 3, 90, + 114, 101, 93, 94, 115, 97, 116, 857, 858, 97, + 36, 101, 97, 99, 98, 114, 36, 115, 550, 56, + 540, 541, 39, 114, 103, 576, 576, 100, 576, 576, + 60, 3, 115, 103, 576, 117, 63, 115, 888, 115, + 114, 103, 114, 101, 576, 40, 115, 103, 97, 102, + 115, 548, 99, 114, 102, 97, 115, 1, 115, 3, + 4, 76, 114, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, + 115, 103, 26, 27, 28, 76, 310, 31, 32, 33, + 34, 35, 49, 310, 762, 694, 17, 41, 16, 430, + 507, 45, 659, 849, 396, 395, 697, 50, 616, 397, + 576, 55, 773, 619, 385, 450, 852, 504, 360, 854, + 64, 65, 757, 721, 856, 880, 384, 530, 78, 367, + 390, 861, 717, 671, 583, 442, -1, 717, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, 681, + -1, -1, -1, -1, -1, 99, 3, -1, 757, -1, + -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, + 27, -1, -1, -1, -1, 717, 679, 679, -1, 679, + -1, 679, 679, -1, -1, -1, -1, -1, 718, -1, + -1, 718, -1, 735, 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, + 805, -1, -1, -1, 23, 805, 758, 26, 27, -1, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, + 97, -1, -1, 773, 853, 102, 773, -1, -1, -1, + -1, 846, -1, -1, -1, -1, 846, -1, -1, 762, + 762, -1, 762, 805, 762, 762, -1, -1, -1, -1, + -1, 813, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 812, -1, -1, 812, -1, -1, -1, -1, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 846, -1, -1, -1, -1, -1, + 871, 871, -1, 871, 871, 857, 858, -1, -1, 871, + 871, -1, -1, -1, -1, 1, -1, 3, 4, 871, + 860, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 888, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, + 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, - 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, - -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, + 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + -1, -1, 64, 65, 8, 9, 10, -1, -1, 13, + 14, 15, 16, -1, -1, -1, -1, -1, -1, 23, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + -1, -1, 96, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, @@ -1972,71 +1936,81 @@ static const yytype_int16 yycheck[] = 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, - 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, 20, 21, -1, 23, - -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 41, 42, 43, - 44, -1, 96, -1, -1, 99, 50, 51, -1, -1, - 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, -1, 71, 72, 73, - 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, -1, -1, -1, -1, - 23, 95, -1, 26, 27, 99, 1, -1, 3, -1, - -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, - 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, -1, -1, -1, -1, 99, 1, -1, -1, - 4, 5, 6, 7, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 20, 21, -1, 23, - -1, 96, -1, -1, 28, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - 44, -1, -1, -1, -1, -1, 50, 51, -1, -1, - 54, -1, -1, 57, -1, -1, -1, -1, -1, 1, - 64, 65, 4, 5, 6, 7, -1, 71, 72, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, -1, -1, 1, -1, 28, 4, 5, 6, - 7, 95, 96, -1, -1, -1, -1, -1, -1, 41, - 42, 43, 44, 20, 21, -1, 23, -1, 50, 51, - -1, 28, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, 64, 65, 41, 42, 43, 44, -1, 71, - 72, 73, -1, 50, 51, -1, -1, 54, -1, -1, - 57, -1, -1, -1, -1, -1, -1, 64, 65, -1, - -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, 1, 95, 3, - 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, - 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, + -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, + -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, + -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, + 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 41, 42, 43, 44, -1, 96, -1, -1, 99, + 50, 51, -1, -1, 54, -1, -1, 57, -1, -1, + -1, -1, 0, 1, 64, 65, 4, 5, 6, 7, + -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, + -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, + 28, -1, -1, -1, -1, 95, -1, -1, -1, 99, + -1, -1, -1, 41, 42, 43, 44, -1, -1, -1, + -1, -1, 50, 51, -1, -1, 54, -1, -1, 57, + -1, -1, -1, -1, -1, -1, 64, 65, 1, -1, + 3, -1, -1, 71, 72, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, + 23, 24, 25, 26, 27, -1, -1, 95, 96, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, + -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 20, 21, -1, + 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 41, 42, + 43, 44, -1, 96, -1, -1, -1, 50, 51, -1, + -1, 54, -1, -1, 57, -1, -1, -1, -1, -1, + 1, 64, 65, 4, 5, 6, 7, -1, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, + 21, -1, 23, -1, -1, 1, -1, 28, 4, 5, + 6, 7, 95, 96, -1, -1, -1, -1, -1, -1, + 41, 42, 43, 44, 20, 21, -1, 23, -1, 50, + 51, -1, 28, 54, -1, -1, 57, -1, -1, -1, + -1, -1, -1, 64, 65, 41, 42, 43, 44, -1, + 71, 72, 73, -1, 50, 51, -1, -1, 54, -1, + -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, + -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, 3, -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, - 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, -1, 24, 25, 26, 27, -1, -1, -1, + 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, + 26, 27, 4, -1, 6, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, 24, -1, -1, -1, 28, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + -1, -1, -1, -1, -1, 96, -1, -1, 50, -1, + -1, -1, 54, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 1, 68, 3, 4, -1, + 96, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, + 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 1, -1, 3, 4, -1, + -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + 1, -1, 3, -1, -1, 41, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, + 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, @@ -2044,19 +2018,22 @@ static const yytype_int16 yycheck[] = -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, + -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, + -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90 + 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90 }; - /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ +/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of + state STATE-NUM. */ static const yytype_int16 yystos[] = { 0, 119, 120, 121, 0, 1, 4, 5, 6, 7, @@ -2065,93 +2042,94 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, - 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, - 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, - 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, - 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, + 364, 415, 416, 417, 418, 419, 423, 445, 447, 470, + 471, 472, 473, 474, 478, 479, 480, 483, 487, 495, + 508, 509, 138, 215, 140, 167, 250, 279, 292, 318, + 365, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 448, 3, 90, 208, 211, + 208, 496, 510, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 332, 335, 338, 339, 342, 343, - 346, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 421, 134, 447, 135, 169, 482, 482, - 136, 137, 98, 513, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 339, 343, 208, 212, 251, 253, + 291, 293, 317, 326, 331, 334, 337, 338, 341, 342, + 345, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 420, 134, 446, 135, 169, 481, 481, + 136, 137, 98, 512, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 338, 342, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 425, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 424, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 489, 490, 492, 241, 506, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 336, 327, 182, - 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, - 97, 97, 97, 97, 98, 97, 98, 458, 97, 483, - 476, 485, 97, 97, 514, 216, 252, 319, 367, 98, - 102, 427, 450, 211, 210, 498, 3, 242, 233, 143, - 219, 100, 3, 148, 491, 74, 75, 76, 77, 78, - 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 508, 101, 170, 164, 175, 8, 221, 231, 100, - 100, 48, 186, 333, 340, 344, 243, 282, 114, 422, - 459, 186, 98, 98, 516, 212, 212, 259, 262, 266, - 267, 347, 98, 98, 179, 428, 426, 102, 455, 211, - 98, 512, 234, 120, 121, 3, 101, 103, 229, 229, - 229, 221, 105, 106, 107, 91, 92, 108, 109, 110, - 111, 112, 507, 160, 205, 208, 194, 195, 189, 103, - 337, 328, 205, 231, 231, 231, 114, 244, 241, 284, - 286, 295, 429, 461, 477, 486, 31, 32, 61, 66, - 69, 70, 354, 355, 360, 438, 440, 441, 505, 515, - 517, 217, 348, 260, 320, 368, 194, 208, 186, 456, - 451, 499, 427, 7, 99, 214, 219, 235, 237, 238, - 276, 317, 144, 101, 149, 492, 115, 223, 224, 225, - 226, 226, 227, 227, 228, 228, 228, 103, 212, 206, - 1, 33, 34, 165, 196, 214, 240, 249, 354, 365, - 370, 375, 416, 417, 45, 46, 47, 176, 190, 192, - 193, 196, 240, 377, 221, 241, 254, 334, 341, 345, - 211, 221, 245, 246, 248, 1, 253, 287, 283, 285, - 241, 52, 53, 62, 240, 354, 423, 430, 438, 440, - 443, 444, 445, 505, 45, 55, 196, 460, 462, 465, - 468, 194, 189, 356, 361, 19, 208, 439, 59, 442, - 208, 208, 520, 518, 519, 439, 521, 99, 104, 241, - 103, 241, 322, 325, 285, 180, 208, 186, 501, 502, - 236, 97, 212, 97, 99, 3, 98, 241, 103, 204, - 99, 200, 196, 197, 202, 201, 203, 35, 208, 255, - 339, 343, 376, 399, 198, 199, 378, 99, 287, 190, - 191, 101, 254, 329, 101, 101, 101, 104, 115, 103, - 247, 290, 288, 99, 286, 8, 208, 268, 273, 274, - 275, 300, 317, 208, 208, 208, 430, 436, 99, 431, - 432, 433, 434, 435, 437, 212, 212, 99, 463, 464, - 478, 487, 32, 399, 211, 3, 3, 97, 97, 97, - 211, 97, 218, 116, 349, 351, 261, 3, 321, 323, - 369, 99, 452, 500, 240, 354, 438, 440, 503, 251, - 30, 239, 150, 508, 207, 97, 97, 97, 97, 97, - 97, 371, 97, 97, 3, 97, 103, 221, 211, 248, - 97, 259, 296, 211, 211, 211, 97, 97, 97, 97, - 97, 97, 97, 466, 469, 97, 97, 99, 99, 357, - 362, 220, 352, 350, 262, 99, 103, 99, 67, 99, - 503, 504, 97, 97, 97, 221, 97, 73, 123, 139, - 152, 154, 155, 208, 3, 379, 330, 247, 289, 115, - 114, 381, 381, 399, 263, 266, 231, 351, 324, 453, - 97, 208, 151, 153, 97, 372, 381, 254, 97, 297, - 382, 383, 467, 470, 358, 363, 264, 353, 325, 208, - 156, 99, 154, 114, 390, 380, 331, 98, 115, 36, - 384, 387, 39, 401, 401, 263, 56, 404, 103, 117, - 454, 100, 391, 392, 373, 401, 101, 298, 388, 115, - 385, 402, 359, 405, 364, 265, 60, 457, 3, 493, - 495, 115, 36, 37, 38, 393, 396, 400, 401, 1, - 29, 30, 301, 303, 307, 309, 399, 103, 114, 401, - 114, 63, 407, 266, 208, 101, 494, 115, 394, 397, - 374, 306, 311, 310, 299, 302, 304, 308, 389, 386, - 403, 406, 408, 157, 103, 103, 399, 40, 410, 97, - 221, 102, 99, 303, 241, 309, 262, 387, 205, 205, - 114, 212, 495, 395, 398, 411, 312, 253, 313, 115, - 115, 409, 396, 262, 114, 102, 314, 305, 205, 412, - 262, 97, 115, 76, 413, 414, 115, 103, 415, 76 + 68, 488, 489, 491, 241, 505, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 335, 100, 327, + 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, + 294, 97, 97, 97, 97, 98, 97, 98, 457, 97, + 482, 475, 484, 97, 97, 513, 216, 252, 319, 366, + 98, 102, 426, 449, 211, 210, 497, 3, 242, 233, + 143, 219, 100, 3, 148, 490, 74, 75, 76, 77, + 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, + 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 507, 101, 170, 164, 175, 8, 221, 231, + 100, 241, 330, 100, 48, 186, 332, 339, 343, 243, + 282, 114, 421, 458, 186, 98, 98, 515, 212, 212, + 259, 262, 266, 267, 346, 98, 98, 179, 427, 425, + 102, 454, 211, 98, 511, 234, 120, 121, 3, 101, + 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, + 108, 109, 110, 111, 112, 506, 160, 205, 208, 194, + 195, 189, 103, 336, 254, 103, 328, 205, 231, 231, + 231, 114, 244, 241, 284, 286, 295, 428, 460, 476, + 485, 31, 32, 61, 66, 69, 70, 353, 354, 359, + 437, 439, 440, 504, 514, 516, 217, 347, 260, 320, + 367, 194, 208, 186, 455, 450, 498, 426, 7, 99, + 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, + 491, 115, 223, 224, 225, 226, 226, 227, 227, 228, + 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, + 214, 240, 249, 353, 364, 369, 374, 415, 416, 45, + 46, 47, 176, 190, 192, 193, 196, 240, 376, 221, + 241, 330, 330, 333, 340, 344, 211, 221, 245, 246, + 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, + 240, 353, 422, 429, 437, 439, 442, 443, 444, 504, + 45, 55, 196, 459, 461, 464, 467, 194, 189, 355, + 360, 19, 208, 438, 59, 441, 208, 208, 519, 517, + 518, 438, 520, 99, 104, 241, 103, 241, 322, 325, + 285, 180, 208, 186, 500, 501, 236, 97, 212, 97, + 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, + 202, 201, 203, 35, 208, 255, 338, 342, 375, 398, + 198, 199, 377, 99, 287, 190, 191, 101, 254, 103, + 103, 101, 101, 101, 104, 115, 103, 247, 290, 288, + 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, + 208, 208, 208, 429, 435, 99, 430, 431, 432, 433, + 434, 436, 212, 212, 99, 462, 463, 477, 486, 32, + 398, 211, 3, 3, 97, 97, 97, 211, 97, 218, + 116, 348, 350, 261, 3, 321, 323, 368, 99, 451, + 499, 240, 353, 437, 439, 502, 251, 30, 239, 150, + 507, 207, 97, 97, 97, 97, 97, 97, 370, 97, + 97, 3, 97, 231, 329, 221, 211, 248, 97, 259, + 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, + 97, 465, 468, 97, 97, 99, 99, 356, 361, 220, + 351, 349, 262, 99, 103, 99, 67, 99, 502, 503, + 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, + 155, 208, 3, 378, 101, 330, 247, 289, 115, 114, + 380, 380, 398, 263, 266, 231, 350, 324, 452, 97, + 208, 151, 153, 97, 371, 380, 101, 97, 297, 381, + 382, 466, 469, 357, 362, 264, 352, 325, 208, 156, + 99, 154, 114, 389, 379, 98, 115, 36, 383, 386, + 39, 400, 400, 263, 56, 403, 103, 117, 453, 100, + 390, 391, 372, 400, 298, 387, 115, 384, 401, 358, + 404, 363, 265, 60, 456, 3, 492, 494, 115, 36, + 37, 38, 392, 395, 399, 400, 1, 29, 30, 301, + 303, 307, 309, 398, 103, 114, 400, 114, 63, 406, + 266, 208, 101, 493, 115, 393, 396, 373, 306, 311, + 310, 299, 302, 304, 308, 388, 385, 402, 405, 407, + 157, 103, 103, 398, 40, 409, 97, 221, 102, 99, + 303, 241, 309, 262, 386, 205, 205, 114, 212, 494, + 394, 397, 410, 312, 253, 313, 115, 115, 408, 395, + 262, 114, 102, 314, 305, 205, 411, 262, 97, 115, + 76, 412, 413, 115, 103, 414, 76 }; - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { 0, 118, 119, 120, 120, 121, 121, 122, 122, 122, @@ -2189,36 +2167,36 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 328, 329, 330, 331, 326, - 333, 334, 332, 332, 336, 337, 335, 338, 340, 341, - 339, 339, 342, 344, 345, 343, 343, 346, 348, 347, - 349, 350, 350, 352, 353, 351, 354, 354, 356, 357, - 358, 359, 355, 361, 362, 363, 364, 360, 366, 367, - 368, 369, 365, 371, 372, 373, 374, 370, 375, 375, - 375, 376, 376, 378, 379, 380, 377, 382, 381, 383, - 381, 384, 386, 385, 385, 388, 389, 387, 391, 390, - 392, 390, 393, 395, 394, 394, 397, 398, 396, 399, - 399, 399, 399, 400, 400, 400, 402, 403, 401, 401, - 405, 406, 404, 404, 408, 409, 407, 407, 411, 412, - 410, 410, 413, 415, 414, 414, 416, 417, 418, 418, - 419, 421, 422, 423, 420, 425, 426, 424, 428, 427, - 427, 429, 429, 429, 431, 430, 432, 430, 433, 430, - 434, 430, 435, 430, 436, 430, 437, 430, 438, 439, - 439, 440, 441, 442, 442, 443, 444, 445, 447, 446, - 449, 450, 451, 452, 453, 454, 448, 456, 455, 455, - 457, 457, 459, 460, 458, 461, 461, 462, 463, 462, - 464, 462, 466, 467, 465, 469, 470, 468, 471, 471, - 471, 472, 472, 473, 474, 476, 477, 478, 475, 479, - 480, 481, 483, 482, 485, 486, 487, 484, 488, 488, - 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 490, 491, 491, 492, 492, 493, 494, 494, 495, 497, - 498, 499, 500, 496, 501, 501, 502, 502, 503, 503, - 504, 503, 505, 505, 506, 507, 507, 508, 509, 511, - 512, 510, 514, 515, 513, 516, 516, 518, 517, 519, - 517, 520, 517, 521, 517 + 324, 323, 323, 325, 327, 328, 329, 326, 326, 330, + 332, 333, 331, 331, 335, 336, 334, 337, 339, 340, + 338, 338, 341, 343, 344, 342, 342, 345, 347, 346, + 348, 349, 349, 351, 352, 350, 353, 353, 355, 356, + 357, 358, 354, 360, 361, 362, 363, 359, 365, 366, + 367, 368, 364, 370, 371, 372, 373, 369, 374, 374, + 374, 375, 375, 377, 378, 379, 376, 381, 380, 382, + 380, 383, 385, 384, 384, 387, 388, 386, 390, 389, + 391, 389, 392, 394, 393, 393, 396, 397, 395, 398, + 398, 398, 398, 399, 399, 399, 401, 402, 400, 400, + 404, 405, 403, 403, 407, 408, 406, 406, 410, 411, + 409, 409, 412, 414, 413, 413, 415, 416, 417, 417, + 418, 420, 421, 422, 419, 424, 425, 423, 427, 426, + 426, 428, 428, 428, 430, 429, 431, 429, 432, 429, + 433, 429, 434, 429, 435, 429, 436, 429, 437, 438, + 438, 439, 440, 441, 441, 442, 443, 444, 446, 445, + 448, 449, 450, 451, 452, 453, 447, 455, 454, 454, + 456, 456, 458, 459, 457, 460, 460, 461, 462, 461, + 463, 461, 465, 466, 464, 468, 469, 467, 470, 470, + 470, 471, 471, 472, 473, 475, 476, 477, 474, 478, + 479, 480, 482, 481, 484, 485, 486, 483, 487, 487, + 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, + 489, 490, 490, 491, 491, 492, 493, 493, 494, 496, + 497, 498, 499, 495, 500, 500, 501, 501, 502, 502, + 503, 502, 504, 504, 505, 506, 506, 507, 508, 510, + 511, 509, 513, 514, 512, 515, 515, 517, 516, 518, + 516, 519, 516, 520, 516 }; - /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 1, 1, 0, 3, 2, 1, 2, 2, @@ -2256,7 +2234,7 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 0, 0, 0, 0, 11, + 0, 4, 0, 2, 0, 0, 0, 9, 8, 2, 0, 0, 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, 1, 0, 0, 6, 1, 1, 0, 4, 2, 2, 0, 0, 0, 5, 1, 1, 0, 0, @@ -2294,6 +2272,7 @@ enum { YYENOMEM = -2 }; #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab +#define YYNOMEM goto yyexhaustedlab #define YYRECOVERING() (!!yyerrstatus) @@ -2334,10 +2313,7 @@ do { \ YYFPRINTF Args; \ } while (0) -/* This macro is provided for backward compatibility. */ -# ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif + # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ @@ -2364,10 +2340,6 @@ yy_symbol_value_print (FILE *yyo, YY_USE (yyoutput); if (!yyvaluep) return; -# ifdef YYPRINT - if (yykind < YYNTOKENS) - YYPRINT (yyo, yytoknum[yykind], *yyvaluep); -# endif YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END @@ -2552,6 +2524,7 @@ yyparse (void) YYDPRINTF ((stderr, "Starting parse\n")); yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; @@ -2577,7 +2550,7 @@ yyparse (void) if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE - goto yyexhaustedlab; + YYNOMEM; #else { /* Get the current used size of the three stacks, in elements. */ @@ -2605,7 +2578,7 @@ yyparse (void) # else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + YYNOMEM; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; @@ -2616,7 +2589,7 @@ yyparse (void) YY_CAST (union yyalloc *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); if (! yyptr) - goto yyexhaustedlab; + YYNOMEM; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE @@ -2638,6 +2611,7 @@ yyparse (void) } #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + if (yystate == YYFINAL) YYACCEPT; @@ -2765,7 +2739,7 @@ yyparse (void) } delete annotations; } -#line 2769 "fe/idl.tab.cpp" +#line 2743 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2773,7 +2747,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2777 "fe/idl.tab.cpp" +#line 2751 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2781,7 +2755,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2785 "fe/idl.tab.cpp" +#line 2759 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2789,7 +2763,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2793 "fe/idl.tab.cpp" +#line 2767 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2797,7 +2771,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2801 "fe/idl.tab.cpp" +#line 2775 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2805,7 +2779,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2809 "fe/idl.tab.cpp" +#line 2783 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2813,7 +2787,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2817 "fe/idl.tab.cpp" +#line 2791 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2821,7 +2795,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2825 "fe/idl.tab.cpp" +#line 2799 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2829,7 +2803,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2833 "fe/idl.tab.cpp" +#line 2807 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2837,7 +2811,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2841 "fe/idl.tab.cpp" +#line 2815 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2845,7 +2819,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2849 "fe/idl.tab.cpp" +#line 2823 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2853,7 +2827,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2857 "fe/idl.tab.cpp" +#line 2831 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2861,7 +2835,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2865 "fe/idl.tab.cpp" +#line 2839 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2869,7 +2843,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2873 "fe/idl.tab.cpp" +#line 2847 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2877,7 +2851,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2881 "fe/idl.tab.cpp" +#line 2855 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2885,7 +2859,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2889 "fe/idl.tab.cpp" +#line 2863 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2893,7 +2867,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2897 "fe/idl.tab.cpp" +#line 2871 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2901,7 +2875,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2905 "fe/idl.tab.cpp" +#line 2879 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2909,7 +2883,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2913 "fe/idl.tab.cpp" +#line 2887 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2917,7 +2891,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2921 "fe/idl.tab.cpp" +#line 2895 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2925,7 +2899,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2929 "fe/idl.tab.cpp" +#line 2903 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2933,7 +2907,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2937 "fe/idl.tab.cpp" +#line 2911 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2941,7 +2915,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2945 "fe/idl.tab.cpp" +#line 2919 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2949,7 +2923,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2953 "fe/idl.tab.cpp" +#line 2927 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2957,7 +2931,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2961 "fe/idl.tab.cpp" +#line 2935 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2965,7 +2939,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2969 "fe/idl.tab.cpp" +#line 2943 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2973,7 +2947,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2977 "fe/idl.tab.cpp" +#line 2951 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2981,7 +2955,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2985 "fe/idl.tab.cpp" +#line 2959 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2989,7 +2963,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2993 "fe/idl.tab.cpp" +#line 2967 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2997,7 +2971,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 3001 "fe/idl.tab.cpp" +#line 2975 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -3007,7 +2981,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 3011 "fe/idl.tab.cpp" +#line 2985 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -3015,7 +2989,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3019 "fe/idl.tab.cpp" +#line 2993 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -3023,7 +2997,7 @@ yyparse (void) { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3027 "fe/idl.tab.cpp" +#line 3001 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3066,7 +3040,7 @@ yyparse (void) (yyval.dcval) = m; } -#line 3070 "fe/idl.tab.cpp" +#line 3044 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3074,7 +3048,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3078 "fe/idl.tab.cpp" +#line 3052 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3082,7 +3056,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3086 "fe/idl.tab.cpp" +#line 3060 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3096,7 +3070,7 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3100 "fe/idl.tab.cpp" +#line 3074 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3104,7 +3078,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3108 "fe/idl.tab.cpp" +#line 3082 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3122,7 +3096,7 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3126 "fe/idl.tab.cpp" +#line 3100 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3136,7 +3110,7 @@ yyparse (void) return 1; } } -#line 3140 "fe/idl.tab.cpp" +#line 3114 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3170,7 +3144,7 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3174 "fe/idl.tab.cpp" +#line 3148 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3178,7 +3152,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3182 "fe/idl.tab.cpp" +#line 3156 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3186,7 +3160,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3190 "fe/idl.tab.cpp" +#line 3164 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3209,7 +3183,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3213 "fe/idl.tab.cpp" +#line 3187 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3218,7 +3192,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3222 "fe/idl.tab.cpp" +#line 3196 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3227,7 +3201,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3231 "fe/idl.tab.cpp" +#line 3205 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3309,7 +3283,7 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3313 "fe/idl.tab.cpp" +#line 3287 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3318,7 +3292,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3322 "fe/idl.tab.cpp" +#line 3296 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3327,7 +3301,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3331 "fe/idl.tab.cpp" +#line 3305 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3395,7 +3369,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3399 "fe/idl.tab.cpp" +#line 3373 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3437,7 +3411,7 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3441 "fe/idl.tab.cpp" +#line 3415 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3445,7 +3419,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3449 "fe/idl.tab.cpp" +#line 3423 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3453,7 +3427,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3457 "fe/idl.tab.cpp" +#line 3431 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3467,7 +3441,7 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3471 "fe/idl.tab.cpp" +#line 3445 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3475,7 +3449,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3479 "fe/idl.tab.cpp" +#line 3453 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3484,7 +3458,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3488 "fe/idl.tab.cpp" +#line 3462 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3524,7 +3498,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3528 "fe/idl.tab.cpp" +#line 3502 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3557,7 +3531,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3561 "fe/idl.tab.cpp" +#line 3535 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3590,7 +3564,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3594 "fe/idl.tab.cpp" +#line 3568 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3598,7 +3572,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3602 "fe/idl.tab.cpp" +#line 3576 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3607,7 +3581,7 @@ yyparse (void) (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3611 "fe/idl.tab.cpp" +#line 3585 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3615,7 +3589,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3619 "fe/idl.tab.cpp" +#line 3593 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3624,7 +3598,7 @@ yyparse (void) idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3628 "fe/idl.tab.cpp" +#line 3602 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3675,7 +3649,7 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3679 "fe/idl.tab.cpp" +#line 3653 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3683,7 +3657,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3687 "fe/idl.tab.cpp" +#line 3661 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3691,7 +3665,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3695 "fe/idl.tab.cpp" +#line 3669 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3716,7 +3690,7 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3720 "fe/idl.tab.cpp" +#line 3694 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3763,7 +3737,7 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3767 "fe/idl.tab.cpp" +#line 3741 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3771,7 +3745,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3775 "fe/idl.tab.cpp" +#line 3749 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3779,7 +3753,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3783 "fe/idl.tab.cpp" +#line 3757 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3794,7 +3768,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3798 "fe/idl.tab.cpp" +#line 3772 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3802,7 +3776,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3806 "fe/idl.tab.cpp" +#line 3780 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3837,7 +3811,7 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3841 "fe/idl.tab.cpp" +#line 3815 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3845,7 +3819,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3849 "fe/idl.tab.cpp" +#line 3823 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3854,7 +3828,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3858 "fe/idl.tab.cpp" +#line 3832 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3862,7 +3836,7 @@ yyparse (void) { (yyval.bval) = true; } -#line 3866 "fe/idl.tab.cpp" +#line 3840 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3870,7 +3844,7 @@ yyparse (void) { (yyval.bval) = false; } -#line 3874 "fe/idl.tab.cpp" +#line 3848 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3878,7 +3852,7 @@ yyparse (void) { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3882 "fe/idl.tab.cpp" +#line 3856 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3886,7 +3860,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3890 "fe/idl.tab.cpp" +#line 3864 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3913,7 +3887,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3917 "fe/idl.tab.cpp" +#line 3891 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3942,7 +3916,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3946 "fe/idl.tab.cpp" +#line 3920 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -4009,7 +3983,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 4013 "fe/idl.tab.cpp" +#line 3987 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -4032,7 +4006,7 @@ yyparse (void) delete annotations; delete decls; } -#line 4036 "fe/idl.tab.cpp" +#line 4010 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4040,7 +4014,7 @@ yyparse (void) { delete (yyvsp[0].decls_val); } -#line 4044 "fe/idl.tab.cpp" +#line 4018 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4055,7 +4029,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4059 "fe/idl.tab.cpp" +#line 4033 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4070,7 +4044,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4074 "fe/idl.tab.cpp" +#line 4048 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4078,7 +4052,7 @@ yyparse (void) { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4082 "fe/idl.tab.cpp" +#line 4056 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4086,7 +4060,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4090 "fe/idl.tab.cpp" +#line 4064 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4094,7 +4068,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4098 "fe/idl.tab.cpp" +#line 4072 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4116,7 +4090,7 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4120 "fe/idl.tab.cpp" +#line 4094 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4135,7 +4109,7 @@ yyparse (void) } delete annotations; } -#line 4139 "fe/idl.tab.cpp" +#line 4113 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4143,7 +4117,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4147 "fe/idl.tab.cpp" +#line 4121 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4151,7 +4125,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4155 "fe/idl.tab.cpp" +#line 4129 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4159,7 +4133,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4163 "fe/idl.tab.cpp" +#line 4137 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4167,7 +4141,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4171 "fe/idl.tab.cpp" +#line 4145 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4175,7 +4149,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4179 "fe/idl.tab.cpp" +#line 4153 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4183,7 +4157,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4187 "fe/idl.tab.cpp" +#line 4161 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4191,7 +4165,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4195 "fe/idl.tab.cpp" +#line 4169 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4199,7 +4173,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4203 "fe/idl.tab.cpp" +#line 4177 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4207,7 +4181,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4211 "fe/idl.tab.cpp" +#line 4185 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4215,7 +4189,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4219 "fe/idl.tab.cpp" +#line 4193 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4223,7 +4197,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4227 "fe/idl.tab.cpp" +#line 4201 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4231,7 +4205,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4235 "fe/idl.tab.cpp" +#line 4209 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4239,7 +4213,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4243 "fe/idl.tab.cpp" +#line 4217 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4247,7 +4221,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4251 "fe/idl.tab.cpp" +#line 4225 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4255,7 +4229,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4259 "fe/idl.tab.cpp" +#line 4233 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4265,7 +4239,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 4269 "fe/idl.tab.cpp" +#line 4243 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4276,7 +4250,7 @@ yyparse (void) (yyvsp[0].nlval)), 1); } -#line 4280 "fe/idl.tab.cpp" +#line 4254 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4284,7 +4258,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4288 "fe/idl.tab.cpp" +#line 4262 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4308,7 +4282,7 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4312 "fe/idl.tab.cpp" +#line 4286 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4316,7 +4290,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 4320 "fe/idl.tab.cpp" +#line 4294 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4329,7 +4303,7 @@ yyparse (void) 0), 1); } -#line 4333 "fe/idl.tab.cpp" +#line 4307 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4337,7 +4311,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4341 "fe/idl.tab.cpp" +#line 4315 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4361,7 +4335,7 @@ yyparse (void) sn), 1); } -#line 4365 "fe/idl.tab.cpp" +#line 4339 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4375,7 +4349,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4379 "fe/idl.tab.cpp" +#line 4353 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4391,7 +4365,7 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4395 "fe/idl.tab.cpp" +#line 4369 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4403,7 +4377,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4407 "fe/idl.tab.cpp" +#line 4381 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4415,7 +4389,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4419 "fe/idl.tab.cpp" +#line 4393 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4462,7 +4436,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4466 "fe/idl.tab.cpp" +#line 4440 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4492,7 +4466,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4496 "fe/idl.tab.cpp" +#line 4470 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4524,7 +4498,7 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4528 "fe/idl.tab.cpp" +#line 4502 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4532,7 +4506,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4536 "fe/idl.tab.cpp" +#line 4510 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4540,7 +4514,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4544 "fe/idl.tab.cpp" +#line 4518 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4548,7 +4522,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4552 "fe/idl.tab.cpp" +#line 4526 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4556,7 +4530,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4560 "fe/idl.tab.cpp" +#line 4534 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4616,7 +4590,7 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4620 "fe/idl.tab.cpp" +#line 4594 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4624,7 +4598,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_string; } -#line 4628 "fe/idl.tab.cpp" +#line 4602 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4632,7 +4606,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4636 "fe/idl.tab.cpp" +#line 4610 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4702,7 +4676,7 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4706 "fe/idl.tab.cpp" +#line 4680 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4715,7 +4689,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4719 "fe/idl.tab.cpp" +#line 4693 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4728,7 +4702,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4732 "fe/idl.tab.cpp" +#line 4706 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4741,7 +4715,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4745 "fe/idl.tab.cpp" +#line 4719 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4754,7 +4728,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4758 "fe/idl.tab.cpp" +#line 4732 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4767,7 +4741,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4771 "fe/idl.tab.cpp" +#line 4745 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4780,7 +4754,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4784 "fe/idl.tab.cpp" +#line 4758 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4793,7 +4767,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4797 "fe/idl.tab.cpp" +#line 4771 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4806,7 +4780,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4810 "fe/idl.tab.cpp" +#line 4784 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4819,7 +4793,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4823 "fe/idl.tab.cpp" +#line 4797 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4832,7 +4806,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4836 "fe/idl.tab.cpp" +#line 4810 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4845,7 +4819,7 @@ yyparse (void) 0 ); } -#line 4849 "fe/idl.tab.cpp" +#line 4823 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4858,7 +4832,7 @@ yyparse (void) 0 ); } -#line 4862 "fe/idl.tab.cpp" +#line 4836 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4871,7 +4845,7 @@ yyparse (void) 0 ); } -#line 4875 "fe/idl.tab.cpp" +#line 4849 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4932,7 +4906,7 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4936 "fe/idl.tab.cpp" +#line 4910 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4940,7 +4914,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[-1].exval); } -#line 4944 "fe/idl.tab.cpp" +#line 4918 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4948,7 +4922,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4952 "fe/idl.tab.cpp" +#line 4926 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4957,7 +4931,7 @@ yyparse (void) (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4961 "fe/idl.tab.cpp" +#line 4935 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4968,7 +4942,7 @@ yyparse (void) delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4972 "fe/idl.tab.cpp" +#line 4946 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4979,7 +4953,7 @@ yyparse (void) ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4983 "fe/idl.tab.cpp" +#line 4957 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4987,7 +4961,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4991 "fe/idl.tab.cpp" +#line 4965 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4996,7 +4970,7 @@ yyparse (void) ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 5000 "fe/idl.tab.cpp" +#line 4974 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -5004,7 +4978,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 5008 "fe/idl.tab.cpp" +#line 4982 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -5012,7 +4986,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5016 "fe/idl.tab.cpp" +#line 4990 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -5020,7 +4994,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5024 "fe/idl.tab.cpp" +#line 4998 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -5028,7 +5002,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5032 "fe/idl.tab.cpp" +#line 5006 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5097,7 +5071,7 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5101 "fe/idl.tab.cpp" +#line 5075 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5118,7 +5092,7 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5122 "fe/idl.tab.cpp" +#line 5096 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5131,7 +5105,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5135 "fe/idl.tab.cpp" +#line 5109 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5140,7 +5114,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5144 "fe/idl.tab.cpp" +#line 5118 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5197,7 +5171,7 @@ yyparse (void) delete result; } } -#line 5201 "fe/idl.tab.cpp" +#line 5175 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5205,7 +5179,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[0].exval); } -#line 5209 "fe/idl.tab.cpp" +#line 5183 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5213,7 +5187,7 @@ yyparse (void) { (yyval.exval) = 0; } -#line 5217 "fe/idl.tab.cpp" +#line 5191 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5227,7 +5201,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5231 "fe/idl.tab.cpp" +#line 5205 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5241,7 +5215,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5245 "fe/idl.tab.cpp" +#line 5219 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5249,7 +5223,7 @@ yyparse (void) { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5253 "fe/idl.tab.cpp" +#line 5227 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5310,7 +5284,7 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5314 "fe/idl.tab.cpp" +#line 5288 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5342,7 +5316,7 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5346 "fe/idl.tab.cpp" +#line 5320 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5350,7 +5324,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5354 "fe/idl.tab.cpp" +#line 5328 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5358,7 +5332,7 @@ yyparse (void) { (yyval.annotation_params_val) = 0; } -#line 5362 "fe/idl.tab.cpp" +#line 5336 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5371,7 +5345,7 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5375 "fe/idl.tab.cpp" +#line 5349 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5379,7 +5353,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5383 "fe/idl.tab.cpp" +#line 5357 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5389,7 +5363,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5393 "fe/idl.tab.cpp" +#line 5367 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5399,7 +5373,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5403 "fe/idl.tab.cpp" +#line 5377 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5407,7 +5381,7 @@ yyparse (void) { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5411 "fe/idl.tab.cpp" +#line 5385 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5420,7 +5394,7 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5424 "fe/idl.tab.cpp" +#line 5398 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5429,7 +5403,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5433 "fe/idl.tab.cpp" +#line 5407 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5437,7 +5411,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5441 "fe/idl.tab.cpp" +#line 5415 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5445,7 +5419,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5449 "fe/idl.tab.cpp" +#line 5423 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5453,7 +5427,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5457 "fe/idl.tab.cpp" +#line 5431 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5461,7 +5435,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5465 "fe/idl.tab.cpp" +#line 5439 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5493,7 +5467,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5497 "fe/idl.tab.cpp" +#line 5471 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5501,7 +5475,7 @@ yyparse (void) { (yyval.dcval) = 0; } -#line 5505 "fe/idl.tab.cpp" +#line 5479 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5509,7 +5483,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5513 "fe/idl.tab.cpp" +#line 5487 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5577,7 +5551,7 @@ yyparse (void) (yyval.dcval) = t; } -#line 5581 "fe/idl.tab.cpp" +#line 5555 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5588,7 +5562,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 5592 "fe/idl.tab.cpp" +#line 5566 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5615,7 +5589,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 5619 "fe/idl.tab.cpp" +#line 5593 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5626,7 +5600,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5630 "fe/idl.tab.cpp" +#line 5604 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5634,7 +5608,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5638 "fe/idl.tab.cpp" +#line 5612 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5658,7 +5632,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5662 "fe/idl.tab.cpp" +#line 5636 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5666,7 +5640,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5670 "fe/idl.tab.cpp" +#line 5644 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5677,7 +5651,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5681 "fe/idl.tab.cpp" +#line 5655 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5685,7 +5659,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5689 "fe/idl.tab.cpp" +#line 5663 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5709,7 +5683,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5713 "fe/idl.tab.cpp" +#line 5687 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5717,7 +5691,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5721 "fe/idl.tab.cpp" +#line 5695 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5734,7 +5708,7 @@ yyparse (void) 0), 1); } -#line 5738 "fe/idl.tab.cpp" +#line 5712 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5753,7 +5727,7 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5757 "fe/idl.tab.cpp" +#line 5731 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5761,7 +5735,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5765 "fe/idl.tab.cpp" +#line 5739 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5769,7 +5743,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5773 "fe/idl.tab.cpp" +#line 5747 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5777,7 +5751,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5781 "fe/idl.tab.cpp" +#line 5755 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5785,7 +5759,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_int8; } -#line 5789 "fe/idl.tab.cpp" +#line 5763 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5793,7 +5767,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5797 "fe/idl.tab.cpp" +#line 5771 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5801,7 +5775,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5805 "fe/idl.tab.cpp" +#line 5779 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5809,7 +5783,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5813 "fe/idl.tab.cpp" +#line 5787 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5817,7 +5791,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5821 "fe/idl.tab.cpp" +#line 5795 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5825,7 +5799,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5829 "fe/idl.tab.cpp" +#line 5803 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5833,7 +5807,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5837 "fe/idl.tab.cpp" +#line 5811 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5841,7 +5815,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5845 "fe/idl.tab.cpp" +#line 5819 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5849,7 +5823,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5853 "fe/idl.tab.cpp" +#line 5827 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5857,7 +5831,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5861 "fe/idl.tab.cpp" +#line 5835 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5865,7 +5839,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5869 "fe/idl.tab.cpp" +#line 5843 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5873,7 +5847,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_double; } -#line 5877 "fe/idl.tab.cpp" +#line 5851 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5881,7 +5855,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_float; } -#line 5885 "fe/idl.tab.cpp" +#line 5859 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5889,7 +5863,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5893 "fe/idl.tab.cpp" +#line 5867 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5897,7 +5871,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5901 "fe/idl.tab.cpp" +#line 5875 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5905,7 +5879,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_char; } -#line 5909 "fe/idl.tab.cpp" +#line 5883 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5913,7 +5887,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5917 "fe/idl.tab.cpp" +#line 5891 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5921,7 +5895,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_octet; } -#line 5925 "fe/idl.tab.cpp" +#line 5899 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5929,7 +5903,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_bool; } -#line 5933 "fe/idl.tab.cpp" +#line 5907 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5937,7 +5911,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_any; } -#line 5941 "fe/idl.tab.cpp" +#line 5915 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5945,7 +5919,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_object; } -#line 5949 "fe/idl.tab.cpp" +#line 5923 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5953,7 +5927,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5957 "fe/idl.tab.cpp" +#line 5931 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5962,7 +5936,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5966 "fe/idl.tab.cpp" +#line 5940 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5997,7 +5971,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6001 "fe/idl.tab.cpp" +#line 5975 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -6005,7 +5979,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6009 "fe/idl.tab.cpp" +#line 5983 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -6013,7 +5987,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6017 "fe/idl.tab.cpp" +#line 5991 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -6029,7 +6003,7 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6033 "fe/idl.tab.cpp" +#line 6007 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6047,7 +6021,7 @@ yyparse (void) delete annotations; delete members; } -#line 6051 "fe/idl.tab.cpp" +#line 6025 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6055,7 +6029,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6059 "fe/idl.tab.cpp" +#line 6033 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6063,7 +6037,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6067 "fe/idl.tab.cpp" +#line 6041 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6121,7 +6095,7 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6125 "fe/idl.tab.cpp" +#line 6099 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6129,7 +6103,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6133 "fe/idl.tab.cpp" +#line 6107 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6138,7 +6112,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6142 "fe/idl.tab.cpp" +#line 6116 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6146,7 +6120,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6150 "fe/idl.tab.cpp" +#line 6124 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6155,7 +6129,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6159 "fe/idl.tab.cpp" +#line 6133 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6163,7 +6137,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6167 "fe/idl.tab.cpp" +#line 6141 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6200,7 +6174,7 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6204 "fe/idl.tab.cpp" +#line 6178 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6208,7 +6182,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6212 "fe/idl.tab.cpp" +#line 6186 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6271,7 +6245,7 @@ yyparse (void) delete disc_annotations; } -#line 6275 "fe/idl.tab.cpp" +#line 6249 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6279,7 +6253,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6283 "fe/idl.tab.cpp" +#line 6257 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6287,7 +6261,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6291 "fe/idl.tab.cpp" +#line 6265 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6307,7 +6281,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6311 "fe/idl.tab.cpp" +#line 6285 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6318,7 +6292,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6322 "fe/idl.tab.cpp" +#line 6296 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6335,7 +6309,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6339 "fe/idl.tab.cpp" +#line 6313 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6348,7 +6322,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6352 "fe/idl.tab.cpp" +#line 6326 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6359,7 +6333,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6363 "fe/idl.tab.cpp" +#line 6337 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6470,7 +6444,7 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6474 "fe/idl.tab.cpp" +#line 6448 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6478,7 +6452,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6482 "fe/idl.tab.cpp" +#line 6456 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6486,7 +6460,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6490 "fe/idl.tab.cpp" +#line 6464 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6522,7 +6496,7 @@ yyparse (void) delete annotations; } -#line 6526 "fe/idl.tab.cpp" +#line 6500 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6530,7 +6504,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6534 "fe/idl.tab.cpp" +#line 6508 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6539,7 +6513,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6543 "fe/idl.tab.cpp" +#line 6517 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6550,7 +6524,7 @@ yyparse (void) (yyvsp[0].llval)), 1); } -#line 6554 "fe/idl.tab.cpp" +#line 6528 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6572,7 +6546,7 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6576 "fe/idl.tab.cpp" +#line 6550 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6580,7 +6554,7 @@ yyparse (void) { (yyval.llval) = 0; } -#line 6584 "fe/idl.tab.cpp" +#line 6558 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6588,7 +6562,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6592 "fe/idl.tab.cpp" +#line 6566 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6601,7 +6575,7 @@ yyparse (void) 0 ); } -#line 6605 "fe/idl.tab.cpp" +#line 6579 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6609,7 +6583,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6613 "fe/idl.tab.cpp" +#line 6587 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6617,7 +6591,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6621 "fe/idl.tab.cpp" +#line 6595 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6630,7 +6604,7 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6634 "fe/idl.tab.cpp" +#line 6608 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6638,7 +6612,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6642 "fe/idl.tab.cpp" +#line 6616 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6685,7 +6659,7 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6689 "fe/idl.tab.cpp" +#line 6663 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6711,7 +6685,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 6715 "fe/idl.tab.cpp" +#line 6689 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6735,7 +6709,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6739 "fe/idl.tab.cpp" +#line 6713 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6743,7 +6717,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6747 "fe/idl.tab.cpp" +#line 6721 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6778,7 +6752,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6782 "fe/idl.tab.cpp" +#line 6756 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6786,7 +6760,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6790 "fe/idl.tab.cpp" +#line 6764 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6794,7 +6768,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6798 "fe/idl.tab.cpp" +#line 6772 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6817,7 +6791,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6821 "fe/idl.tab.cpp" +#line 6795 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6825,7 +6799,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6829 "fe/idl.tab.cpp" +#line 6803 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6864,7 +6838,7 @@ yyparse (void) delete annotations; } -#line 6868 "fe/idl.tab.cpp" +#line 6842 "fe/idl.tab.cpp" break; case 354: /* $@91: %empty */ @@ -6873,7 +6847,7 @@ yyparse (void) idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); idl_global->scopes().push(0); } -#line 6877 "fe/idl.tab.cpp" +#line 6851 "fe/idl.tab.cpp" break; case 355: /* $@92: %empty */ @@ -6881,41 +6855,25 @@ yyparse (void) { idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); } -#line 6885 "fe/idl.tab.cpp" +#line 6859 "fe/idl.tab.cpp" break; case 356: /* $@93: %empty */ -#line 3906 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } -#line 6893 "fe/idl.tab.cpp" - break; - - case 357: /* $@94: %empty */ -#line 3910 "fe/idl.ypp" +#line 3907 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); } -#line 6901 "fe/idl.tab.cpp" +#line 6867 "fe/idl.tab.cpp" break; - case 358: /* $@95: %empty */ -#line 3914 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } -#line 6909 "fe/idl.tab.cpp" - break; - - case 359: /* map_type_spec: IDL_MAP $@91 '<' $@92 simple_type_spec $@93 ',' $@94 simple_type_spec $@95 '>' */ -#line 3918 "fe/idl.ypp" + case 357: /* map_type_spec: IDL_MAP $@91 '<' $@92 map_type ',' $@93 map_type '>' */ +#line 3912 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - AST_Decl *key_type = (yyvsp[-6].dcval); - AST_Decl *val_type = (yyvsp[-2].dcval); + Decl_Annotations_Pair *key_type = (yyvsp[-4].decl_annotations_pair_val); + Decl_Annotations_Pair *val_type = (yyvsp[-1].decl_annotations_pair_val); /* * Remove sequence marker from scopes stack. @@ -6932,8 +6890,8 @@ yyparse (void) */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type); - AST_Type *vtp = dynamic_cast (val_type); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { @@ -6963,31 +6921,96 @@ yyparse (void) } } - // delete type_annotations; + (yyval.dcval) = map; + } +#line 6927 "fe/idl.tab.cpp" + break; + + case 358: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ +#line 3975 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + Decl_Annotations_Pair *key_type = (yyvsp[-5].decl_annotations_pair_val); + Decl_Annotations_Pair *val_type = (yyvsp[-3].decl_annotations_pair_val); + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + + map = + idl_global->gen ()->create_map ( + (yyvsp[-1].exval), + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + idl_global->err ()->anonymous_type_diagnostic (); + } + } (yyval.dcval) = map; } -#line 6971 "fe/idl.tab.cpp" +#line 6982 "fe/idl.tab.cpp" break; - case 360: /* $@96: %empty */ -#line 3980 "fe/idl.ypp" + case 359: /* map_type: annotations_maybe simple_type_spec */ +#line 4029 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; + pair->decl = (yyvsp[0].dcval); + pair->annotations = (yyvsp[-1].annotations_val); + (yyval.decl_annotations_pair_val) = pair; + } +#line 6994 "fe/idl.tab.cpp" + break; + + case 360: /* $@94: %empty */ +#line 4041 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6979 "fe/idl.tab.cpp" +#line 7002 "fe/idl.tab.cpp" break; - case 361: /* $@97: %empty */ -#line 3984 "fe/idl.ypp" + case 361: /* $@95: %empty */ +#line 4045 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6987 "fe/idl.tab.cpp" +#line 7010 "fe/idl.tab.cpp" break; - case 362: /* sequence_type_spec: seq_head ',' $@96 positive_int_expr $@97 '>' */ -#line 3988 "fe/idl.ypp" + case 362: /* sequence_type_spec: seq_head ',' $@94 positive_int_expr $@95 '>' */ +#line 4049 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7068,11 +7091,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7072 "fe/idl.tab.cpp" +#line 7095 "fe/idl.tab.cpp" break; case 363: /* sequence_type_spec: seq_head '>' */ -#line 4070 "fe/idl.ypp" +#line 4131 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7134,11 +7157,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7138 "fe/idl.tab.cpp" +#line 7161 "fe/idl.tab.cpp" break; - case 364: /* $@98: %empty */ -#line 4135 "fe/idl.ypp" + case 364: /* $@96: %empty */ +#line 4196 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7147,19 +7170,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7151 "fe/idl.tab.cpp" +#line 7174 "fe/idl.tab.cpp" break; - case 365: /* $@99: %empty */ -#line 4144 "fe/idl.ypp" + case 365: /* $@97: %empty */ +#line 4205 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7159 "fe/idl.tab.cpp" +#line 7182 "fe/idl.tab.cpp" break; - case 366: /* seq_head: IDL_SEQUENCE $@98 '<' $@99 annotations_maybe simple_type_spec */ -#line 4148 "fe/idl.ypp" + case 366: /* seq_head: IDL_SEQUENCE $@96 '<' $@97 annotations_maybe simple_type_spec */ +#line 4209 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7167,36 +7190,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7171 "fe/idl.tab.cpp" +#line 7194 "fe/idl.tab.cpp" break; case 367: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4159 "fe/idl.ypp" +#line 4220 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7180 "fe/idl.tab.cpp" +#line 7203 "fe/idl.tab.cpp" break; - case 368: /* $@100: %empty */ -#line 4168 "fe/idl.ypp" + case 368: /* $@98: %empty */ +#line 4229 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7188 "fe/idl.tab.cpp" +#line 7211 "fe/idl.tab.cpp" break; - case 369: /* $@101: %empty */ -#line 4172 "fe/idl.ypp" + case 369: /* $@99: %empty */ +#line 4233 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7196 "fe/idl.tab.cpp" +#line 7219 "fe/idl.tab.cpp" break; - case 370: /* string_type_spec: string_head '<' $@100 positive_int_expr $@101 '>' */ -#line 4176 "fe/idl.ypp" + case 370: /* string_type_spec: string_head '<' $@98 positive_int_expr $@99 '>' */ +#line 4237 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7235,11 +7258,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7239 "fe/idl.tab.cpp" +#line 7262 "fe/idl.tab.cpp" break; case 371: /* string_type_spec: string_head */ -#line 4215 "fe/idl.ypp" +#line 4276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7262,35 +7285,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7266 "fe/idl.tab.cpp" +#line 7289 "fe/idl.tab.cpp" break; case 372: /* string_head: IDL_STRING */ -#line 4241 "fe/idl.ypp" +#line 4302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7274 "fe/idl.tab.cpp" +#line 7297 "fe/idl.tab.cpp" break; - case 373: /* $@102: %empty */ -#line 4249 "fe/idl.ypp" + case 373: /* $@100: %empty */ +#line 4310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7282 "fe/idl.tab.cpp" +#line 7305 "fe/idl.tab.cpp" break; - case 374: /* $@103: %empty */ -#line 4253 "fe/idl.ypp" + case 374: /* $@101: %empty */ +#line 4314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7290 "fe/idl.tab.cpp" +#line 7313 "fe/idl.tab.cpp" break; - case 375: /* wstring_type_spec: wstring_head '<' $@102 positive_int_expr $@103 '>' */ -#line 4257 "fe/idl.ypp" + case 375: /* wstring_type_spec: wstring_head '<' $@100 positive_int_expr $@101 '>' */ +#line 4318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7329,11 +7352,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7333 "fe/idl.tab.cpp" +#line 7356 "fe/idl.tab.cpp" break; case 376: /* wstring_type_spec: wstring_head */ -#line 4296 "fe/idl.ypp" +#line 4357 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7356,27 +7379,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7360 "fe/idl.tab.cpp" +#line 7383 "fe/idl.tab.cpp" break; case 377: /* wstring_head: IDL_WSTRING */ -#line 4322 "fe/idl.ypp" +#line 4383 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7368 "fe/idl.tab.cpp" +#line 7391 "fe/idl.tab.cpp" break; - case 378: /* $@104: %empty */ -#line 4329 "fe/idl.ypp" + case 378: /* $@102: %empty */ +#line 4390 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7376 "fe/idl.tab.cpp" +#line 7399 "fe/idl.tab.cpp" break; - case 379: /* array_declarator: defining_id $@104 annotations_maybe at_least_one_array_dim */ -#line 4333 "fe/idl.ypp" + case 379: /* array_declarator: defining_id $@102 annotations_maybe at_least_one_array_dim */ +#line 4394 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7412,22 +7435,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7416 "fe/idl.tab.cpp" +#line 7439 "fe/idl.tab.cpp" break; case 380: /* at_least_one_array_dim: array_dim array_dims */ -#line 4372 "fe/idl.ypp" +#line 4433 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7427 "fe/idl.tab.cpp" +#line 7450 "fe/idl.tab.cpp" break; case 381: /* array_dims: array_dims array_dim */ -#line 4382 "fe/idl.ypp" +#line 4443 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7445,35 +7468,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7449 "fe/idl.tab.cpp" +#line 7472 "fe/idl.tab.cpp" break; case 382: /* array_dims: %empty */ -#line 4400 "fe/idl.ypp" +#line 4461 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7457 "fe/idl.tab.cpp" +#line 7480 "fe/idl.tab.cpp" break; - case 383: /* $@105: %empty */ -#line 4407 "fe/idl.ypp" + case 383: /* $@103: %empty */ +#line 4468 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7465 "fe/idl.tab.cpp" +#line 7488 "fe/idl.tab.cpp" break; - case 384: /* $@106: %empty */ -#line 4411 "fe/idl.ypp" + case 384: /* $@104: %empty */ +#line 4472 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7473 "fe/idl.tab.cpp" +#line 7496 "fe/idl.tab.cpp" break; - case 385: /* array_dim: '[' $@105 positive_int_expr $@106 ']' */ -#line 4415 "fe/idl.ypp" + case 385: /* array_dim: '[' $@103 positive_int_expr $@104 ']' */ +#line 4476 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7527,43 +7550,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7531 "fe/idl.tab.cpp" +#line 7554 "fe/idl.tab.cpp" break; - case 388: /* $@107: %empty */ -#line 4477 "fe/idl.ypp" + case 388: /* $@105: %empty */ +#line 4538 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7539 "fe/idl.tab.cpp" +#line 7562 "fe/idl.tab.cpp" break; - case 389: /* $@108: %empty */ -#line 4481 "fe/idl.ypp" + case 389: /* $@106: %empty */ +#line 4542 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7547 "fe/idl.tab.cpp" +#line 7570 "fe/idl.tab.cpp" break; - case 390: /* $@109: %empty */ -#line 4485 "fe/idl.ypp" + case 390: /* $@107: %empty */ +#line 4546 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7555 "fe/idl.tab.cpp" +#line 7578 "fe/idl.tab.cpp" break; - case 391: /* $@110: %empty */ -#line 4489 "fe/idl.ypp" + case 391: /* $@108: %empty */ +#line 4550 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7563 "fe/idl.tab.cpp" +#line 7586 "fe/idl.tab.cpp" break; - case 392: /* attribute_readonly: IDL_READONLY $@107 IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_raises */ -#line 4493 "fe/idl.ypp" + case 392: /* attribute_readonly: IDL_READONLY $@105 IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_raises */ +#line 4554 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7615,43 +7638,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7619 "fe/idl.tab.cpp" +#line 7642 "fe/idl.tab.cpp" break; - case 393: /* $@111: %empty */ -#line 4548 "fe/idl.ypp" + case 393: /* $@109: %empty */ +#line 4609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7627 "fe/idl.tab.cpp" +#line 7650 "fe/idl.tab.cpp" break; - case 394: /* $@112: %empty */ -#line 4552 "fe/idl.ypp" + case 394: /* $@110: %empty */ +#line 4613 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7635 "fe/idl.tab.cpp" +#line 7658 "fe/idl.tab.cpp" break; - case 395: /* $@113: %empty */ -#line 4556 "fe/idl.ypp" + case 395: /* $@111: %empty */ +#line 4617 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7643 "fe/idl.tab.cpp" +#line 7666 "fe/idl.tab.cpp" break; - case 396: /* $@114: %empty */ -#line 4560 "fe/idl.ypp" + case 396: /* $@112: %empty */ +#line 4621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7651 "fe/idl.tab.cpp" +#line 7674 "fe/idl.tab.cpp" break; - case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@111 param_type_spec $@112 at_least_one_simple_declarator $@113 opt_getraises $@114 opt_setraises */ -#line 4564 "fe/idl.ypp" + case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@109 param_type_spec $@110 at_least_one_simple_declarator $@111 opt_getraises $@112 opt_setraises */ +#line 4625 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7712,19 +7735,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7716 "fe/idl.tab.cpp" +#line 7739 "fe/idl.tab.cpp" break; - case 398: /* $@115: %empty */ -#line 4628 "fe/idl.ypp" + case 398: /* $@113: %empty */ +#line 4689 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7724 "fe/idl.tab.cpp" +#line 7747 "fe/idl.tab.cpp" break; - case 399: /* @116: %empty */ -#line 4632 "fe/idl.ypp" + case 399: /* @114: %empty */ +#line 4693 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7756,27 +7779,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7760 "fe/idl.tab.cpp" +#line 7783 "fe/idl.tab.cpp" break; - case 400: /* $@117: %empty */ -#line 4664 "fe/idl.ypp" + case 400: /* $@115: %empty */ +#line 4725 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7768 "fe/idl.tab.cpp" +#line 7791 "fe/idl.tab.cpp" break; - case 401: /* $@118: %empty */ -#line 4668 "fe/idl.ypp" + case 401: /* $@116: %empty */ +#line 4729 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7776 "fe/idl.tab.cpp" +#line 7799 "fe/idl.tab.cpp" break; - case 402: /* exception: IDL_EXCEPTION $@115 defining_id @116 '{' $@117 members $@118 '}' */ -#line 4672 "fe/idl.ypp" + case 402: /* exception: IDL_EXCEPTION $@113 defining_id @114 '{' $@115 members $@116 '}' */ +#line 4733 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7786,19 +7809,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7790 "fe/idl.tab.cpp" +#line 7813 "fe/idl.tab.cpp" break; - case 403: /* $@119: %empty */ -#line 4685 "fe/idl.ypp" + case 403: /* $@117: %empty */ +#line 4746 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7798 "fe/idl.tab.cpp" +#line 7821 "fe/idl.tab.cpp" break; - case 404: /* $@120: %empty */ -#line 4689 "fe/idl.ypp" + case 404: /* $@118: %empty */ +#line 4750 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7859,27 +7882,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7863 "fe/idl.tab.cpp" +#line 7886 "fe/idl.tab.cpp" break; - case 405: /* $@121: %empty */ -#line 4750 "fe/idl.ypp" + case 405: /* $@119: %empty */ +#line 4811 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7871 "fe/idl.tab.cpp" +#line 7894 "fe/idl.tab.cpp" break; - case 406: /* $@122: %empty */ -#line 4754 "fe/idl.ypp" + case 406: /* $@120: %empty */ +#line 4815 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7879 "fe/idl.tab.cpp" +#line 7902 "fe/idl.tab.cpp" break; - case 407: /* operation: opt_op_attribute op_type_spec $@119 IDENTIFIER $@120 parameter_list $@121 opt_raises $@122 opt_context */ -#line 4758 "fe/idl.ypp" + case 407: /* operation: opt_op_attribute op_type_spec $@117 IDENTIFIER $@118 parameter_list $@119 opt_raises $@120 opt_context */ +#line 4819 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7910,57 +7933,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7914 "fe/idl.tab.cpp" +#line 7937 "fe/idl.tab.cpp" break; case 408: /* opt_op_attribute: IDL_ONEWAY */ -#line 4792 "fe/idl.ypp" +#line 4853 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7923 "fe/idl.tab.cpp" +#line 7946 "fe/idl.tab.cpp" break; case 409: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4797 "fe/idl.ypp" +#line 4858 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7932 "fe/idl.tab.cpp" +#line 7955 "fe/idl.tab.cpp" break; case 410: /* opt_op_attribute: %empty */ -#line 4802 "fe/idl.ypp" +#line 4863 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7940 "fe/idl.tab.cpp" +#line 7963 "fe/idl.tab.cpp" break; case 412: /* op_type_spec: IDL_VOID */ -#line 4810 "fe/idl.ypp" +#line 4871 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7951 "fe/idl.tab.cpp" +#line 7974 "fe/idl.tab.cpp" break; - case 413: /* $@123: %empty */ -#line 4820 "fe/idl.ypp" + case 413: /* $@121: %empty */ +#line 4881 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7960 "fe/idl.tab.cpp" +#line 7983 "fe/idl.tab.cpp" break; - case 414: /* @124: %empty */ -#line 4825 "fe/idl.ypp" + case 414: /* @122: %empty */ +#line 4886 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8003,19 +8026,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8007 "fe/idl.tab.cpp" +#line 8030 "fe/idl.tab.cpp" break; - case 415: /* $@125: %empty */ -#line 4868 "fe/idl.ypp" + case 415: /* $@123: %empty */ +#line 4929 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8015 "fe/idl.tab.cpp" +#line 8038 "fe/idl.tab.cpp" break; - case 416: /* init_decl: IDL_FACTORY $@123 IDENTIFIER @124 init_parameter_list $@125 opt_raises */ -#line 4872 "fe/idl.ypp" + case 416: /* init_decl: IDL_FACTORY $@121 IDENTIFIER @122 init_parameter_list $@123 opt_raises */ +#line 4933 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8030,67 +8053,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8034 "fe/idl.tab.cpp" +#line 8057 "fe/idl.tab.cpp" break; - case 417: /* $@126: %empty */ -#line 4890 "fe/idl.ypp" + case 417: /* $@124: %empty */ +#line 4951 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8042 "fe/idl.tab.cpp" +#line 8065 "fe/idl.tab.cpp" break; - case 418: /* init_parameter_list: '(' $@126 ')' */ -#line 4894 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@124 ')' */ +#line 4955 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8050 "fe/idl.tab.cpp" +#line 8073 "fe/idl.tab.cpp" break; - case 419: /* $@127: %empty */ -#line 4898 "fe/idl.ypp" + case 419: /* $@125: %empty */ +#line 4959 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8058 "fe/idl.tab.cpp" +#line 8081 "fe/idl.tab.cpp" break; - case 420: /* init_parameter_list: '(' $@127 at_least_one_in_parameter ')' */ -#line 4903 "fe/idl.ypp" + case 420: /* init_parameter_list: '(' $@125 at_least_one_in_parameter ')' */ +#line 4964 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8066 "fe/idl.tab.cpp" +#line 8089 "fe/idl.tab.cpp" break; - case 422: /* $@128: %empty */ -#line 4913 "fe/idl.ypp" + case 422: /* $@126: %empty */ +#line 4974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8074 "fe/idl.tab.cpp" +#line 8097 "fe/idl.tab.cpp" break; - case 425: /* $@129: %empty */ -#line 4922 "fe/idl.ypp" + case 425: /* $@127: %empty */ +#line 4983 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8082 "fe/idl.tab.cpp" +#line 8105 "fe/idl.tab.cpp" break; - case 426: /* $@130: %empty */ -#line 4926 "fe/idl.ypp" + case 426: /* $@128: %empty */ +#line 4987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8090 "fe/idl.tab.cpp" +#line 8113 "fe/idl.tab.cpp" break; - case 427: /* in_parameter: IDL_IN $@129 param_type_spec $@130 declarator */ -#line 4930 "fe/idl.ypp" + case 427: /* in_parameter: IDL_IN $@127 param_type_spec $@128 declarator */ +#line 4991 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8122,67 +8145,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8126 "fe/idl.tab.cpp" +#line 8149 "fe/idl.tab.cpp" break; - case 428: /* $@131: %empty */ -#line 4965 "fe/idl.ypp" + case 428: /* $@129: %empty */ +#line 5026 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8134 "fe/idl.tab.cpp" +#line 8157 "fe/idl.tab.cpp" break; - case 429: /* parameter_list: '(' $@131 ')' */ -#line 4969 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@129 ')' */ +#line 5030 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8142 "fe/idl.tab.cpp" +#line 8165 "fe/idl.tab.cpp" break; - case 430: /* $@132: %empty */ -#line 4973 "fe/idl.ypp" + case 430: /* $@130: %empty */ +#line 5034 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8150 "fe/idl.tab.cpp" +#line 8173 "fe/idl.tab.cpp" break; - case 431: /* parameter_list: '(' $@132 at_least_one_parameter ')' */ -#line 4978 "fe/idl.ypp" + case 431: /* parameter_list: '(' $@130 at_least_one_parameter ')' */ +#line 5039 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8158 "fe/idl.tab.cpp" +#line 8181 "fe/idl.tab.cpp" break; - case 433: /* $@133: %empty */ -#line 4988 "fe/idl.ypp" + case 433: /* $@131: %empty */ +#line 5049 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8166 "fe/idl.tab.cpp" +#line 8189 "fe/idl.tab.cpp" break; - case 436: /* $@134: %empty */ -#line 4997 "fe/idl.ypp" + case 436: /* $@132: %empty */ +#line 5058 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8174 "fe/idl.tab.cpp" +#line 8197 "fe/idl.tab.cpp" break; - case 437: /* $@135: %empty */ -#line 5001 "fe/idl.ypp" + case 437: /* $@133: %empty */ +#line 5062 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8182 "fe/idl.tab.cpp" +#line 8205 "fe/idl.tab.cpp" break; - case 438: /* parameter: direction $@134 param_type_spec $@135 declarator */ -#line 5005 "fe/idl.ypp" + case 438: /* parameter: direction $@132 param_type_spec $@133 declarator */ +#line 5066 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8221,22 +8244,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8225 "fe/idl.tab.cpp" +#line 8248 "fe/idl.tab.cpp" break; case 439: /* param_type_spec: base_type_spec */ -#line 5047 "fe/idl.ypp" +#line 5108 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8236 "fe/idl.tab.cpp" +#line 8259 "fe/idl.tab.cpp" break; case 442: /* param_type_spec: scoped_name */ -#line 5056 "fe/idl.ypp" +#line 5117 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8340,186 +8363,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8344 "fe/idl.tab.cpp" +#line 8367 "fe/idl.tab.cpp" break; case 443: /* direction: IDL_IN */ -#line 5163 "fe/idl.ypp" +#line 5224 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8352 "fe/idl.tab.cpp" +#line 8375 "fe/idl.tab.cpp" break; case 444: /* direction: IDL_OUT */ -#line 5167 "fe/idl.ypp" +#line 5228 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8360 "fe/idl.tab.cpp" +#line 8383 "fe/idl.tab.cpp" break; case 445: /* direction: IDL_INOUT */ -#line 5171 "fe/idl.ypp" +#line 5232 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8368 "fe/idl.tab.cpp" +#line 8391 "fe/idl.tab.cpp" break; - case 446: /* $@136: %empty */ -#line 5178 "fe/idl.ypp" + case 446: /* $@134: %empty */ +#line 5239 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8376 "fe/idl.tab.cpp" +#line 8399 "fe/idl.tab.cpp" break; - case 447: /* $@137: %empty */ -#line 5182 "fe/idl.ypp" + case 447: /* $@135: %empty */ +#line 5243 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8384 "fe/idl.tab.cpp" +#line 8407 "fe/idl.tab.cpp" break; - case 448: /* opt_raises: IDL_RAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ -#line 5187 "fe/idl.ypp" + case 448: /* opt_raises: IDL_RAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ +#line 5248 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8393 "fe/idl.tab.cpp" +#line 8416 "fe/idl.tab.cpp" break; case 449: /* opt_raises: %empty */ -#line 5192 "fe/idl.ypp" +#line 5253 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8401 "fe/idl.tab.cpp" +#line 8424 "fe/idl.tab.cpp" break; - case 450: /* $@138: %empty */ -#line 5199 "fe/idl.ypp" + case 450: /* $@136: %empty */ +#line 5260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8409 "fe/idl.tab.cpp" +#line 8432 "fe/idl.tab.cpp" break; - case 451: /* $@139: %empty */ -#line 5203 "fe/idl.ypp" + case 451: /* $@137: %empty */ +#line 5264 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8417 "fe/idl.tab.cpp" +#line 8440 "fe/idl.tab.cpp" break; - case 452: /* opt_getraises: IDL_GETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ -#line 5208 "fe/idl.ypp" + case 452: /* opt_getraises: IDL_GETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ +#line 5269 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8426 "fe/idl.tab.cpp" +#line 8449 "fe/idl.tab.cpp" break; case 453: /* opt_getraises: %empty */ -#line 5213 "fe/idl.ypp" +#line 5274 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8434 "fe/idl.tab.cpp" +#line 8457 "fe/idl.tab.cpp" break; - case 454: /* $@140: %empty */ -#line 5220 "fe/idl.ypp" + case 454: /* $@138: %empty */ +#line 5281 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8442 "fe/idl.tab.cpp" +#line 8465 "fe/idl.tab.cpp" break; - case 455: /* $@141: %empty */ -#line 5224 "fe/idl.ypp" + case 455: /* $@139: %empty */ +#line 5285 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8450 "fe/idl.tab.cpp" +#line 8473 "fe/idl.tab.cpp" break; - case 456: /* opt_setraises: IDL_SETRAISES $@140 '(' $@141 at_least_one_scoped_name ')' */ -#line 5229 "fe/idl.ypp" + case 456: /* opt_setraises: IDL_SETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ +#line 5290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8459 "fe/idl.tab.cpp" +#line 8482 "fe/idl.tab.cpp" break; case 457: /* opt_setraises: %empty */ -#line 5234 "fe/idl.ypp" +#line 5295 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8467 "fe/idl.tab.cpp" +#line 8490 "fe/idl.tab.cpp" break; - case 458: /* $@142: %empty */ -#line 5241 "fe/idl.ypp" + case 458: /* $@140: %empty */ +#line 5302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8475 "fe/idl.tab.cpp" +#line 8498 "fe/idl.tab.cpp" break; - case 459: /* $@143: %empty */ -#line 5245 "fe/idl.ypp" + case 459: /* $@141: %empty */ +#line 5306 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8483 "fe/idl.tab.cpp" +#line 8506 "fe/idl.tab.cpp" break; - case 460: /* opt_context: IDL_CONTEXT $@142 '(' $@143 at_least_one_string_literal ')' */ -#line 5250 "fe/idl.ypp" + case 460: /* opt_context: IDL_CONTEXT $@140 '(' $@141 at_least_one_string_literal ')' */ +#line 5311 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8492 "fe/idl.tab.cpp" +#line 8515 "fe/idl.tab.cpp" break; case 461: /* opt_context: %empty */ -#line 5255 "fe/idl.ypp" +#line 5316 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8500 "fe/idl.tab.cpp" +#line 8523 "fe/idl.tab.cpp" break; case 462: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5262 "fe/idl.ypp" +#line 5323 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8511 "fe/idl.tab.cpp" +#line 8534 "fe/idl.tab.cpp" break; - case 463: /* $@144: %empty */ -#line 5273 "fe/idl.ypp" + case 463: /* $@142: %empty */ +#line 5334 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8519 "fe/idl.tab.cpp" +#line 8542 "fe/idl.tab.cpp" break; - case 464: /* string_literals: string_literals ',' $@144 IDL_STRING_LITERAL */ -#line 5277 "fe/idl.ypp" + case 464: /* string_literals: string_literals ',' $@142 IDL_STRING_LITERAL */ +#line 5338 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8537,19 +8560,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8541 "fe/idl.tab.cpp" +#line 8564 "fe/idl.tab.cpp" break; case 465: /* string_literals: %empty */ -#line 5295 "fe/idl.ypp" +#line 5356 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8549 "fe/idl.tab.cpp" +#line 8572 "fe/idl.tab.cpp" break; case 466: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5302 "fe/idl.ypp" +#line 5363 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8576,11 +8599,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8580 "fe/idl.tab.cpp" +#line 8603 "fe/idl.tab.cpp" break; case 467: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5332 "fe/idl.ypp" +#line 5393 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8616,11 +8639,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8620 "fe/idl.tab.cpp" +#line 8643 "fe/idl.tab.cpp" break; case 470: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5377 "fe/idl.ypp" +#line 5438 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8646,11 +8669,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8650 "fe/idl.tab.cpp" +#line 8673 "fe/idl.tab.cpp" break; - case 471: /* @145: %empty */ -#line 5406 "fe/idl.ypp" + case 471: /* @143: %empty */ +#line 5467 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8692,27 +8715,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8696 "fe/idl.tab.cpp" +#line 8719 "fe/idl.tab.cpp" break; - case 472: /* $@146: %empty */ -#line 5448 "fe/idl.ypp" + case 472: /* $@144: %empty */ +#line 5509 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8704 "fe/idl.tab.cpp" +#line 8727 "fe/idl.tab.cpp" break; - case 473: /* $@147: %empty */ -#line 5452 "fe/idl.ypp" + case 473: /* $@145: %empty */ +#line 5513 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8712 "fe/idl.tab.cpp" +#line 8735 "fe/idl.tab.cpp" break; - case 474: /* component_decl: component_header @145 '{' $@146 component_exports $@147 '}' */ -#line 5456 "fe/idl.ypp" + case 474: /* component_decl: component_header @143 '{' $@144 component_exports $@145 '}' */ +#line 5517 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8723,27 +8746,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8727 "fe/idl.tab.cpp" +#line 8750 "fe/idl.tab.cpp" break; - case 475: /* $@148: %empty */ -#line 5471 "fe/idl.ypp" + case 475: /* $@146: %empty */ +#line 5532 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8735 "fe/idl.tab.cpp" +#line 8758 "fe/idl.tab.cpp" break; - case 476: /* $@149: %empty */ -#line 5475 "fe/idl.ypp" + case 476: /* $@147: %empty */ +#line 5536 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8743 "fe/idl.tab.cpp" +#line 8766 "fe/idl.tab.cpp" break; - case 477: /* component_header: IDL_COMPONENT defining_id $@148 component_inheritance_spec $@149 supports_spec */ -#line 5479 "fe/idl.ypp" + case 477: /* component_header: IDL_COMPONENT defining_id $@146 component_inheritance_spec $@147 supports_spec */ +#line 5540 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8777,35 +8800,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8781 "fe/idl.tab.cpp" +#line 8804 "fe/idl.tab.cpp" break; - case 478: /* $@150: %empty */ -#line 5516 "fe/idl.ypp" + case 478: /* $@148: %empty */ +#line 5577 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8789 "fe/idl.tab.cpp" +#line 8812 "fe/idl.tab.cpp" break; - case 479: /* component_inheritance_spec: ':' $@150 scoped_name */ -#line 5520 "fe/idl.ypp" + case 479: /* component_inheritance_spec: ':' $@148 scoped_name */ +#line 5581 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8797 "fe/idl.tab.cpp" +#line 8820 "fe/idl.tab.cpp" break; case 480: /* component_inheritance_spec: %empty */ -#line 5524 "fe/idl.ypp" +#line 5585 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8805 "fe/idl.tab.cpp" +#line 8828 "fe/idl.tab.cpp" break; case 481: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5531 "fe/idl.ypp" +#line 5592 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8820,130 +8843,130 @@ yyparse (void) } delete annotations; } -#line 8824 "fe/idl.tab.cpp" +#line 8847 "fe/idl.tab.cpp" break; - case 484: /* $@151: %empty */ -#line 5551 "fe/idl.ypp" + case 484: /* $@149: %empty */ +#line 5612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8832 "fe/idl.tab.cpp" +#line 8855 "fe/idl.tab.cpp" break; - case 485: /* component_export: provides_decl $@151 ';' */ -#line 5555 "fe/idl.ypp" + case 485: /* component_export: provides_decl $@149 ';' */ +#line 5616 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8841 "fe/idl.tab.cpp" +#line 8864 "fe/idl.tab.cpp" break; - case 486: /* $@152: %empty */ -#line 5560 "fe/idl.ypp" + case 486: /* $@150: %empty */ +#line 5621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8849 "fe/idl.tab.cpp" +#line 8872 "fe/idl.tab.cpp" break; - case 487: /* component_export: uses_decl $@152 ';' */ -#line 5564 "fe/idl.ypp" + case 487: /* component_export: uses_decl $@150 ';' */ +#line 5625 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8858 "fe/idl.tab.cpp" +#line 8881 "fe/idl.tab.cpp" break; - case 488: /* $@153: %empty */ -#line 5569 "fe/idl.ypp" + case 488: /* $@151: %empty */ +#line 5630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8866 "fe/idl.tab.cpp" +#line 8889 "fe/idl.tab.cpp" break; - case 489: /* component_export: emits_decl $@153 ';' */ -#line 5573 "fe/idl.ypp" + case 489: /* component_export: emits_decl $@151 ';' */ +#line 5634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8875 "fe/idl.tab.cpp" +#line 8898 "fe/idl.tab.cpp" break; - case 490: /* $@154: %empty */ -#line 5578 "fe/idl.ypp" + case 490: /* $@152: %empty */ +#line 5639 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8883 "fe/idl.tab.cpp" +#line 8906 "fe/idl.tab.cpp" break; - case 491: /* component_export: publishes_decl $@154 ';' */ -#line 5582 "fe/idl.ypp" + case 491: /* component_export: publishes_decl $@152 ';' */ +#line 5643 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8892 "fe/idl.tab.cpp" +#line 8915 "fe/idl.tab.cpp" break; - case 492: /* $@155: %empty */ -#line 5587 "fe/idl.ypp" + case 492: /* $@153: %empty */ +#line 5648 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8900 "fe/idl.tab.cpp" +#line 8923 "fe/idl.tab.cpp" break; - case 493: /* component_export: consumes_decl $@155 ';' */ -#line 5591 "fe/idl.ypp" + case 493: /* component_export: consumes_decl $@153 ';' */ +#line 5652 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8909 "fe/idl.tab.cpp" +#line 8932 "fe/idl.tab.cpp" break; - case 494: /* $@156: %empty */ -#line 5596 "fe/idl.ypp" + case 494: /* $@154: %empty */ +#line 5657 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8917 "fe/idl.tab.cpp" +#line 8940 "fe/idl.tab.cpp" break; - case 495: /* component_export: attribute $@156 ';' */ -#line 5600 "fe/idl.ypp" + case 495: /* component_export: attribute $@154 ';' */ +#line 5661 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8926 "fe/idl.tab.cpp" +#line 8949 "fe/idl.tab.cpp" break; - case 496: /* $@157: %empty */ -#line 5605 "fe/idl.ypp" + case 496: /* $@155: %empty */ +#line 5666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8934 "fe/idl.tab.cpp" +#line 8957 "fe/idl.tab.cpp" break; - case 497: /* component_export: extended_port_decl $@157 ';' */ -#line 5609 "fe/idl.ypp" + case 497: /* component_export: extended_port_decl $@155 ';' */ +#line 5670 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8943 "fe/idl.tab.cpp" +#line 8966 "fe/idl.tab.cpp" break; case 498: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5616 "fe/idl.ypp" +#line 5677 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9033,21 +9056,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9037 "fe/idl.tab.cpp" +#line 9060 "fe/idl.tab.cpp" break; case 499: /* interface_type: scoped_name */ -#line 5709 "fe/idl.ypp" +#line 5770 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9047 "fe/idl.tab.cpp" +#line 9070 "fe/idl.tab.cpp" break; case 500: /* interface_type: IDL_OBJECT */ -#line 5715 "fe/idl.ypp" +#line 5776 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9070,11 +9093,11 @@ yyparse (void) conc_name), 1); } -#line 9074 "fe/idl.tab.cpp" +#line 9097 "fe/idl.tab.cpp" break; case 501: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5740 "fe/idl.ypp" +#line 5801 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9178,37 +9201,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9182 "fe/idl.tab.cpp" +#line 9205 "fe/idl.tab.cpp" break; case 502: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5847 "fe/idl.ypp" +#line 5908 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9192 "fe/idl.tab.cpp" +#line 9215 "fe/idl.tab.cpp" break; case 503: /* opt_multiple: IDL_MULTIPLE */ -#line 5856 "fe/idl.ypp" +#line 5917 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9200 "fe/idl.tab.cpp" +#line 9223 "fe/idl.tab.cpp" break; case 504: /* opt_multiple: %empty */ -#line 5860 "fe/idl.ypp" +#line 5921 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9208 "fe/idl.tab.cpp" +#line 9231 "fe/idl.tab.cpp" break; case 505: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5867 "fe/idl.ypp" +#line 5928 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9280,11 +9303,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9284 "fe/idl.tab.cpp" +#line 9307 "fe/idl.tab.cpp" break; case 506: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 5942 "fe/idl.ypp" +#line 6003 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9353,11 +9376,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9357 "fe/idl.tab.cpp" +#line 9380 "fe/idl.tab.cpp" break; case 507: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6014 "fe/idl.ypp" +#line 6075 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9429,11 +9452,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9433 "fe/idl.tab.cpp" +#line 9456 "fe/idl.tab.cpp" break; - case 508: /* $@158: %empty */ -#line 6089 "fe/idl.ypp" + case 508: /* $@156: %empty */ +#line 6150 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9470,11 +9493,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9474 "fe/idl.tab.cpp" +#line 9497 "fe/idl.tab.cpp" break; - case 509: /* home_decl: home_header $@158 home_body */ -#line 6126 "fe/idl.ypp" + case 509: /* home_decl: home_header $@156 home_body */ +#line 6187 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9483,59 +9506,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9487 "fe/idl.tab.cpp" +#line 9510 "fe/idl.tab.cpp" break; - case 510: /* $@159: %empty */ -#line 6138 "fe/idl.ypp" + case 510: /* $@157: %empty */ +#line 6199 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9495 "fe/idl.tab.cpp" +#line 9518 "fe/idl.tab.cpp" break; - case 511: /* $@160: %empty */ -#line 6142 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6203 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9503 "fe/idl.tab.cpp" +#line 9526 "fe/idl.tab.cpp" break; - case 512: /* $@161: %empty */ -#line 6146 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6207 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9511 "fe/idl.tab.cpp" +#line 9534 "fe/idl.tab.cpp" break; - case 513: /* $@162: %empty */ -#line 6150 "fe/idl.ypp" + case 513: /* $@160: %empty */ +#line 6211 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9519 "fe/idl.tab.cpp" +#line 9542 "fe/idl.tab.cpp" break; - case 514: /* $@163: %empty */ -#line 6154 "fe/idl.ypp" + case 514: /* $@161: %empty */ +#line 6215 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9527 "fe/idl.tab.cpp" +#line 9550 "fe/idl.tab.cpp" break; - case 515: /* $@164: %empty */ -#line 6158 "fe/idl.ypp" + case 515: /* $@162: %empty */ +#line 6219 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9535 "fe/idl.tab.cpp" +#line 9558 "fe/idl.tab.cpp" break; - case 516: /* home_header: IDL_HOME $@159 defining_id $@160 home_inheritance_spec $@161 supports_spec $@162 IDL_MANAGES $@163 scoped_name $@164 primary_key_spec */ -#line 6162 "fe/idl.ypp" + case 516: /* home_header: IDL_HOME $@157 defining_id $@158 home_inheritance_spec $@159 supports_spec $@160 IDL_MANAGES $@161 scoped_name $@162 primary_key_spec */ +#line 6223 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9581,107 +9604,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9585 "fe/idl.tab.cpp" +#line 9608 "fe/idl.tab.cpp" break; - case 517: /* $@165: %empty */ -#line 6211 "fe/idl.ypp" + case 517: /* $@163: %empty */ +#line 6272 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9593 "fe/idl.tab.cpp" +#line 9616 "fe/idl.tab.cpp" break; - case 518: /* home_inheritance_spec: ':' $@165 scoped_name */ -#line 6215 "fe/idl.ypp" + case 518: /* home_inheritance_spec: ':' $@163 scoped_name */ +#line 6276 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9601 "fe/idl.tab.cpp" +#line 9624 "fe/idl.tab.cpp" break; case 519: /* home_inheritance_spec: %empty */ -#line 6219 "fe/idl.ypp" +#line 6280 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9609 "fe/idl.tab.cpp" +#line 9632 "fe/idl.tab.cpp" break; case 520: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6227 "fe/idl.ypp" +#line 6288 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9617 "fe/idl.tab.cpp" +#line 9640 "fe/idl.tab.cpp" break; case 521: /* primary_key_spec: %empty */ -#line 6231 "fe/idl.ypp" +#line 6292 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9625 "fe/idl.tab.cpp" +#line 9648 "fe/idl.tab.cpp" break; - case 522: /* $@166: %empty */ -#line 6238 "fe/idl.ypp" + case 522: /* $@164: %empty */ +#line 6299 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9633 "fe/idl.tab.cpp" +#line 9656 "fe/idl.tab.cpp" break; - case 523: /* $@167: %empty */ -#line 6242 "fe/idl.ypp" + case 523: /* $@165: %empty */ +#line 6303 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9641 "fe/idl.tab.cpp" +#line 9664 "fe/idl.tab.cpp" break; - case 524: /* home_body: '{' $@166 home_exports $@167 '}' */ -#line 6246 "fe/idl.ypp" + case 524: /* home_body: '{' $@164 home_exports $@165 '}' */ +#line 6307 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9649 "fe/idl.tab.cpp" +#line 9672 "fe/idl.tab.cpp" break; - case 528: /* $@168: %empty */ -#line 6259 "fe/idl.ypp" + case 528: /* $@166: %empty */ +#line 6320 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9657 "fe/idl.tab.cpp" +#line 9680 "fe/idl.tab.cpp" break; - case 529: /* home_export: factory_decl $@168 ';' */ -#line 6263 "fe/idl.ypp" + case 529: /* home_export: factory_decl $@166 ';' */ +#line 6324 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9665 "fe/idl.tab.cpp" +#line 9688 "fe/idl.tab.cpp" break; - case 530: /* $@169: %empty */ -#line 6267 "fe/idl.ypp" + case 530: /* $@167: %empty */ +#line 6328 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9673 "fe/idl.tab.cpp" +#line 9696 "fe/idl.tab.cpp" break; - case 531: /* home_export: finder_decl $@169 ';' */ -#line 6271 "fe/idl.ypp" + case 531: /* home_export: finder_decl $@167 ';' */ +#line 6332 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9681 "fe/idl.tab.cpp" +#line 9704 "fe/idl.tab.cpp" break; - case 532: /* $@170: %empty */ -#line 6279 "fe/idl.ypp" + case 532: /* $@168: %empty */ +#line 6340 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9704,19 +9727,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9708 "fe/idl.tab.cpp" +#line 9731 "fe/idl.tab.cpp" break; - case 533: /* $@171: %empty */ -#line 6302 "fe/idl.ypp" + case 533: /* $@169: %empty */ +#line 6363 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9716 "fe/idl.tab.cpp" +#line 9739 "fe/idl.tab.cpp" break; - case 534: /* factory_decl: IDL_FACTORY defining_id $@170 init_parameter_list $@171 opt_raises */ -#line 6306 "fe/idl.ypp" + case 534: /* factory_decl: IDL_FACTORY defining_id $@168 init_parameter_list $@169 opt_raises */ +#line 6367 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9734,11 +9757,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9738 "fe/idl.tab.cpp" +#line 9761 "fe/idl.tab.cpp" break; - case 535: /* $@172: %empty */ -#line 6328 "fe/idl.ypp" + case 535: /* $@170: %empty */ +#line 6389 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9765,19 +9788,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9769 "fe/idl.tab.cpp" +#line 9792 "fe/idl.tab.cpp" break; - case 536: /* $@173: %empty */ -#line 6355 "fe/idl.ypp" + case 536: /* $@171: %empty */ +#line 6416 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9777 "fe/idl.tab.cpp" +#line 9800 "fe/idl.tab.cpp" break; - case 537: /* finder_decl: IDL_FINDER defining_id $@172 init_parameter_list $@173 opt_raises */ -#line 6359 "fe/idl.ypp" + case 537: /* finder_decl: IDL_FINDER defining_id $@170 init_parameter_list $@171 opt_raises */ +#line 6420 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9795,11 +9818,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9799 "fe/idl.tab.cpp" +#line 9822 "fe/idl.tab.cpp" break; case 543: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6392 "fe/idl.ypp" +#line 6453 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9824,11 +9847,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9828 "fe/idl.tab.cpp" +#line 9851 "fe/idl.tab.cpp" break; case 544: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6422 "fe/idl.ypp" +#line 6483 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9853,11 +9876,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9857 "fe/idl.tab.cpp" +#line 9880 "fe/idl.tab.cpp" break; - case 545: /* $@174: %empty */ -#line 6451 "fe/idl.ypp" + case 545: /* $@172: %empty */ +#line 6512 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9901,27 +9924,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9905 "fe/idl.tab.cpp" +#line 9928 "fe/idl.tab.cpp" break; - case 546: /* $@175: %empty */ -#line 6495 "fe/idl.ypp" + case 546: /* $@173: %empty */ +#line 6556 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9913 "fe/idl.tab.cpp" +#line 9936 "fe/idl.tab.cpp" break; - case 547: /* $@176: %empty */ -#line 6499 "fe/idl.ypp" + case 547: /* $@174: %empty */ +#line 6560 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9921 "fe/idl.tab.cpp" +#line 9944 "fe/idl.tab.cpp" break; - case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@174 '{' $@175 exports $@176 '}' */ -#line 6503 "fe/idl.ypp" + case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@172 '{' $@173 exports $@174 '}' */ +#line 6564 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9932,19 +9955,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9936 "fe/idl.tab.cpp" +#line 9959 "fe/idl.tab.cpp" break; case 549: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6519 "fe/idl.ypp" +#line 6580 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9944 "fe/idl.tab.cpp" +#line 9967 "fe/idl.tab.cpp" break; case 550: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6528 "fe/idl.ypp" +#line 6589 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9957,29 +9980,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9961 "fe/idl.tab.cpp" +#line 9984 "fe/idl.tab.cpp" break; case 551: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6545 "fe/idl.ypp" +#line 6606 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9971 "fe/idl.tab.cpp" +#line 9994 "fe/idl.tab.cpp" break; - case 552: /* $@177: %empty */ -#line 6554 "fe/idl.ypp" + case 552: /* $@175: %empty */ +#line 6615 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9979 "fe/idl.tab.cpp" +#line 10002 "fe/idl.tab.cpp" break; - case 553: /* event_rest_of_header: inheritance_spec $@177 supports_spec */ -#line 6558 "fe/idl.ypp" + case 553: /* event_rest_of_header: inheritance_spec $@175 supports_spec */ +#line 6619 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10008,11 +10031,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10012 "fe/idl.tab.cpp" +#line 10035 "fe/idl.tab.cpp" break; - case 554: /* @178: %empty */ -#line 6591 "fe/idl.ypp" + case 554: /* @176: %empty */ +#line 6652 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10063,27 +10086,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10067 "fe/idl.tab.cpp" +#line 10090 "fe/idl.tab.cpp" break; - case 555: /* $@179: %empty */ -#line 6642 "fe/idl.ypp" + case 555: /* $@177: %empty */ +#line 6703 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10075 "fe/idl.tab.cpp" +#line 10098 "fe/idl.tab.cpp" break; - case 556: /* $@180: %empty */ -#line 6646 "fe/idl.ypp" + case 556: /* $@178: %empty */ +#line 6707 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10083 "fe/idl.tab.cpp" +#line 10106 "fe/idl.tab.cpp" break; - case 557: /* event_decl: event_header event_rest_of_header @178 '{' $@179 value_elements $@180 '}' */ -#line 6650 "fe/idl.ypp" + case 557: /* event_decl: event_header event_rest_of_header @176 '{' $@177 value_elements $@178 '}' */ +#line 6711 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10094,108 +10117,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10098 "fe/idl.tab.cpp" +#line 10121 "fe/idl.tab.cpp" break; case 558: /* event_header: event_custom_header */ -#line 6664 "fe/idl.ypp" +#line 6725 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10106 "fe/idl.tab.cpp" +#line 10129 "fe/idl.tab.cpp" break; case 559: /* event_header: event_plain_header */ -#line 6668 "fe/idl.ypp" +#line 6729 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10114 "fe/idl.tab.cpp" +#line 10137 "fe/idl.tab.cpp" break; case 560: /* formal_parameter_type: IDL_TYPENAME */ -#line 6675 "fe/idl.ypp" +#line 6736 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10122 "fe/idl.tab.cpp" +#line 10145 "fe/idl.tab.cpp" break; case 561: /* formal_parameter_type: IDL_STRUCT */ -#line 6679 "fe/idl.ypp" +#line 6740 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10130 "fe/idl.tab.cpp" +#line 10153 "fe/idl.tab.cpp" break; case 562: /* formal_parameter_type: IDL_UNION */ -#line 6683 "fe/idl.ypp" +#line 6744 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10138 "fe/idl.tab.cpp" +#line 10161 "fe/idl.tab.cpp" break; case 563: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6687 "fe/idl.ypp" +#line 6748 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10146 "fe/idl.tab.cpp" +#line 10169 "fe/idl.tab.cpp" break; case 564: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6691 "fe/idl.ypp" +#line 6752 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10154 "fe/idl.tab.cpp" +#line 10177 "fe/idl.tab.cpp" break; case 565: /* formal_parameter_type: IDL_INTERFACE */ -#line 6695 "fe/idl.ypp" +#line 6756 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10162 "fe/idl.tab.cpp" +#line 10185 "fe/idl.tab.cpp" break; case 566: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6699 "fe/idl.ypp" +#line 6760 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10170 "fe/idl.tab.cpp" +#line 10193 "fe/idl.tab.cpp" break; case 567: /* formal_parameter_type: IDL_ENUM */ -#line 6703 "fe/idl.ypp" +#line 6764 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10178 "fe/idl.tab.cpp" +#line 10201 "fe/idl.tab.cpp" break; case 568: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6707 "fe/idl.ypp" +#line 6768 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10186 "fe/idl.tab.cpp" +#line 10209 "fe/idl.tab.cpp" break; case 569: /* formal_parameter_type: IDL_CONST const_type */ -#line 6711 "fe/idl.ypp" +#line 6772 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10195 "fe/idl.tab.cpp" +#line 10218 "fe/idl.tab.cpp" break; case 570: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6719 "fe/idl.ypp" +#line 6780 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10223,11 +10246,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10227 "fe/idl.tab.cpp" +#line 10250 "fe/idl.tab.cpp" break; case 571: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6750 "fe/idl.ypp" +#line 6811 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10240,19 +10263,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10244 "fe/idl.tab.cpp" +#line 10267 "fe/idl.tab.cpp" break; case 572: /* formal_parameters: %empty */ -#line 6763 "fe/idl.ypp" +#line 6824 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10252 "fe/idl.tab.cpp" +#line 10275 "fe/idl.tab.cpp" break; case 573: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6770 "fe/idl.ypp" +#line 6831 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10277,11 +10300,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10281 "fe/idl.tab.cpp" +#line 10304 "fe/idl.tab.cpp" break; case 574: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6795 "fe/idl.ypp" +#line 6856 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10296,19 +10319,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10300 "fe/idl.tab.cpp" +#line 10323 "fe/idl.tab.cpp" break; case 575: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6813 "fe/idl.ypp" +#line 6874 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10308 "fe/idl.tab.cpp" +#line 10331 "fe/idl.tab.cpp" break; case 576: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6820 "fe/idl.ypp" +#line 6881 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10323,37 +10346,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10327 "fe/idl.tab.cpp" +#line 10350 "fe/idl.tab.cpp" break; case 577: /* formal_parameter_names: %empty */ -#line 6835 "fe/idl.ypp" +#line 6896 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10335 "fe/idl.tab.cpp" +#line 10358 "fe/idl.tab.cpp" break; case 578: /* formal_parameter_name: IDENTIFIER */ -#line 6842 "fe/idl.ypp" +#line 6903 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10345 "fe/idl.tab.cpp" +#line 10368 "fe/idl.tab.cpp" break; - case 579: /* $@181: %empty */ -#line 6851 "fe/idl.ypp" + case 579: /* $@179: %empty */ +#line 6912 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10353 "fe/idl.tab.cpp" +#line 10376 "fe/idl.tab.cpp" break; - case 580: /* @182: %empty */ -#line 6855 "fe/idl.ypp" + case 580: /* @180: %empty */ +#line 6916 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10372,27 +10395,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10376 "fe/idl.tab.cpp" +#line 10399 "fe/idl.tab.cpp" break; - case 581: /* $@183: %empty */ -#line 6874 "fe/idl.ypp" + case 581: /* $@181: %empty */ +#line 6935 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10384 "fe/idl.tab.cpp" +#line 10407 "fe/idl.tab.cpp" break; - case 582: /* $@184: %empty */ -#line 6882 "fe/idl.ypp" + case 582: /* $@182: %empty */ +#line 6943 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10392 "fe/idl.tab.cpp" +#line 10415 "fe/idl.tab.cpp" break; - case 583: /* porttype_decl: IDL_PORTTYPE $@181 IDENTIFIER @182 '{' $@183 at_least_one_port_export $@184 '}' */ -#line 6886 "fe/idl.ypp" + case 583: /* porttype_decl: IDL_PORTTYPE $@179 IDENTIFIER @180 '{' $@181 at_least_one_port_export $@182 '}' */ +#line 6947 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10401,11 +10424,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10405 "fe/idl.tab.cpp" +#line 10428 "fe/idl.tab.cpp" break; case 584: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6898 "fe/idl.ypp" +#line 6959 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10420,27 +10443,27 @@ yyparse (void) } delete annotations; } -#line 10424 "fe/idl.tab.cpp" +#line 10447 "fe/idl.tab.cpp" break; - case 590: /* $@185: %empty */ -#line 6924 "fe/idl.ypp" + case 590: /* $@183: %empty */ +#line 6985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10432 "fe/idl.tab.cpp" +#line 10455 "fe/idl.tab.cpp" break; - case 591: /* port_export: attribute $@185 ';' */ -#line 6928 "fe/idl.ypp" + case 591: /* port_export: attribute $@183 ';' */ +#line 6989 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10440 "fe/idl.tab.cpp" +#line 10463 "fe/idl.tab.cpp" break; case 592: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6935 "fe/idl.ypp" +#line 6996 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10507,11 +10530,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10511 "fe/idl.tab.cpp" +#line 10534 "fe/idl.tab.cpp" break; case 593: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7002 "fe/idl.ypp" +#line 7063 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10556,11 +10579,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10560 "fe/idl.tab.cpp" +#line 10583 "fe/idl.tab.cpp" break; case 594: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7050 "fe/idl.ypp" +#line 7111 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10573,11 +10596,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10577 "fe/idl.tab.cpp" +#line 10600 "fe/idl.tab.cpp" break; case 595: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7066 "fe/idl.ypp" +#line 7127 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10590,19 +10613,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10594 "fe/idl.tab.cpp" +#line 10617 "fe/idl.tab.cpp" break; case 596: /* actual_parameters: %empty */ -#line 7079 "fe/idl.ypp" +#line 7140 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10602 "fe/idl.tab.cpp" +#line 10625 "fe/idl.tab.cpp" break; case 597: /* actual_parameter: expression */ -#line 7086 "fe/idl.ypp" +#line 7147 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10658,35 +10681,35 @@ yyparse (void) 0); } } -#line 10662 "fe/idl.tab.cpp" +#line 10685 "fe/idl.tab.cpp" break; case 598: /* connector_decl: connector_header connector_body */ -#line 7145 "fe/idl.ypp" +#line 7206 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10670 "fe/idl.tab.cpp" +#line 10693 "fe/idl.tab.cpp" break; - case 599: /* $@186: %empty */ -#line 7152 "fe/idl.ypp" + case 599: /* $@184: %empty */ +#line 7213 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10678 "fe/idl.tab.cpp" +#line 10701 "fe/idl.tab.cpp" break; - case 600: /* $@187: %empty */ -#line 7156 "fe/idl.ypp" + case 600: /* $@185: %empty */ +#line 7217 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10686 "fe/idl.tab.cpp" +#line 10709 "fe/idl.tab.cpp" break; - case 601: /* connector_header: IDL_CONNECTOR $@186 annotations_maybe IDENTIFIER $@187 component_inheritance_spec */ -#line 7160 "fe/idl.ypp" + case 601: /* connector_header: IDL_CONNECTOR $@184 annotations_maybe IDENTIFIER $@185 component_inheritance_spec */ +#line 7221 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10740,102 +10763,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10744 "fe/idl.tab.cpp" +#line 10767 "fe/idl.tab.cpp" break; - case 602: /* $@188: %empty */ -#line 7217 "fe/idl.ypp" + case 602: /* $@186: %empty */ +#line 7278 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10752 "fe/idl.tab.cpp" +#line 10775 "fe/idl.tab.cpp" break; - case 603: /* $@189: %empty */ -#line 7221 "fe/idl.ypp" + case 603: /* $@187: %empty */ +#line 7282 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10760 "fe/idl.tab.cpp" +#line 10783 "fe/idl.tab.cpp" break; - case 604: /* connector_body: '{' $@188 connector_exports $@189 '}' */ -#line 7225 "fe/idl.ypp" + case 604: /* connector_body: '{' $@186 connector_exports $@187 '}' */ +#line 7286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10771 "fe/idl.tab.cpp" +#line 10794 "fe/idl.tab.cpp" break; - case 607: /* $@190: %empty */ -#line 7240 "fe/idl.ypp" + case 607: /* $@188: %empty */ +#line 7301 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10779 "fe/idl.tab.cpp" +#line 10802 "fe/idl.tab.cpp" break; - case 608: /* connector_export: provides_decl $@190 ';' */ -#line 7244 "fe/idl.ypp" + case 608: /* connector_export: provides_decl $@188 ';' */ +#line 7305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10787 "fe/idl.tab.cpp" +#line 10810 "fe/idl.tab.cpp" break; - case 609: /* $@191: %empty */ -#line 7248 "fe/idl.ypp" + case 609: /* $@189: %empty */ +#line 7309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10795 "fe/idl.tab.cpp" +#line 10818 "fe/idl.tab.cpp" break; - case 610: /* connector_export: uses_decl $@191 ';' */ -#line 7252 "fe/idl.ypp" + case 610: /* connector_export: uses_decl $@189 ';' */ +#line 7313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10803 "fe/idl.tab.cpp" +#line 10826 "fe/idl.tab.cpp" break; - case 611: /* $@192: %empty */ -#line 7256 "fe/idl.ypp" + case 611: /* $@190: %empty */ +#line 7317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10811 "fe/idl.tab.cpp" +#line 10834 "fe/idl.tab.cpp" break; - case 612: /* connector_export: attribute $@192 ';' */ -#line 7260 "fe/idl.ypp" + case 612: /* connector_export: attribute $@190 ';' */ +#line 7321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10819 "fe/idl.tab.cpp" +#line 10842 "fe/idl.tab.cpp" break; - case 613: /* $@193: %empty */ -#line 7264 "fe/idl.ypp" + case 613: /* $@191: %empty */ +#line 7325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10827 "fe/idl.tab.cpp" +#line 10850 "fe/idl.tab.cpp" break; - case 614: /* connector_export: extended_port_decl $@193 ';' */ -#line 7268 "fe/idl.ypp" + case 614: /* connector_export: extended_port_decl $@191 ';' */ +#line 7329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10835 "fe/idl.tab.cpp" +#line 10858 "fe/idl.tab.cpp" break; -#line 10839 "fe/idl.tab.cpp" +#line 10862 "fe/idl.tab.cpp" default: break; } @@ -10917,6 +10940,7 @@ yyparse (void) label yyerrorlab therefore never appears in user code. */ if (0) YYERROR; + ++yynerrs; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -10977,7 +11001,7 @@ yyparse (void) `-------------------------------------*/ yyacceptlab: yyresult = 0; - goto yyreturn; + goto yyreturnlab; /*-----------------------------------. @@ -10985,24 +11009,22 @@ yyparse (void) `-----------------------------------*/ yyabortlab: yyresult = 1; - goto yyreturn; + goto yyreturnlab; -#if !defined yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ +/*-----------------------------------------------------------. +| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | +`-----------------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; - goto yyreturn; -#endif + goto yyreturnlab; -/*-------------------------------------------------------. -| yyreturn -- parsing is finished, clean up and return. | -`-------------------------------------------------------*/ -yyreturn: +/*----------------------------------------------------------. +| yyreturnlab -- parsing is finished, clean up and return. | +`----------------------------------------------------------*/ +yyreturnlab: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at @@ -11029,7 +11051,7 @@ yyparse (void) return yyresult; } -#line 7273 "fe/idl.ypp" +#line 7334 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index 9c683c1c6c4ec..9d9321ae5a8a5 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.5. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison interface for Yacc-like parsers in C @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -212,6 +212,8 @@ typedef union YYSTYPE YYSTYPE; extern YYSTYPE tao_yylval; + int tao_yyparse (void); + #endif /* !YY_TAO_YY_FE_IDL_TAB_HPP_INCLUDED */ diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 68499e8932768..7b69968977be7 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -404,7 +404,7 @@ bool stack_based_lookup_for_primary_expr = false; %type annotation_appl_params_maybe annotation_appl_params %type named_annotation_appl_params more_named_annotation_appl_params %type named_annotation_appl_param -%type seq_head +%type seq_head map_type %type member_i state_member value_element %type visibility @@ -3902,25 +3902,19 @@ map_type_spec : { idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); } - simple_type_spec - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } + map_type ',' { idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); } - simple_type_spec - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - } + map_type '>' { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - AST_Decl *key_type = $5; - AST_Decl *val_type = $9; + Decl_Annotations_Pair *key_type = $5; + Decl_Annotations_Pair *val_type = $8; /* * Remove sequence marker from scopes stack. @@ -3937,8 +3931,8 @@ map_type_spec : */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type); - AST_Type *vtp = dynamic_cast (val_type); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { @@ -3968,12 +3962,79 @@ map_type_spec : } } - // delete type_annotations; + $$ = map; + } + | IDL_MAP + '<' + map_type + ',' + map_type + ',' + positive_int_expr + '>' + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); + + AST_Map *map = 0; + Decl_Annotations_Pair *key_type = $3; + Decl_Annotations_Pair *val_type = $5; + + /* + * Remove sequence marker from scopes stack. + */ + if (idl_global->scopes ().top () == 0) + { + idl_global->scopes ().pop (); + } + + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + /* + * Create a node representing a sequence. + */ + if (key_type && val_type) + { + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); + + if (ktp == 0 || vtp == 0) + { + ; // Error will be caught in FE_Declarator. + } + else + { + Identifier id ("map"); + UTL_ScopedName sn (&id, 0); + + map = + idl_global->gen ()->create_map ( + $7, + ktp, + vtp, + &sn, + s->is_local (), + s->is_abstract () + ); + // map->base_type_annotations (*type_annotations); + idl_global->err ()->anonymous_type_diagnostic (); + } + } $$ = map; } ; +map_type : + annotations_maybe simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); + Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; + pair->decl = $2; + pair->annotations = $1; + $$ = pair; + } + ; + sequence_type_spec : seq_head ',' diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index 7b90a5d1f1155..cc314f7deb11c 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -1,6 +1,6 @@ -#line 2 "fe/idl.yy.cpp" +#line 1 "fe/idl.yy.cpp" -#line 4 "fe/idl.yy.cpp" +#line 3 "fe/idl.yy.cpp" #define YY_INT_ALIGNED short int @@ -1450,9 +1450,9 @@ static AST_Decl * idl_find_node (const char *); #undef ECHO #endif -#line 1456 "fe/idl.yy.cpp" +#line 1455 "fe/idl.yy.cpp" /* SO we don't choke on files that use \r\n */ -#line 1458 "fe/idl.yy.cpp" +#line 1457 "fe/idl.yy.cpp" #define INITIAL 0 @@ -1681,7 +1681,7 @@ YY_DECL #line 123 "fe/idl.ll" -#line 1687 "fe/idl.yy.cpp" +#line 1686 "fe/idl.yy.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2588,7 +2588,7 @@ YY_RULE_SETUP #line 492 "fe/idl.ll" ECHO; YY_BREAK -#line 2594 "fe/idl.yy.cpp" +#line 2593 "fe/idl.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 2b6f14afda8de..bf594fd6a92e7 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -239,6 +239,7 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapQsSeen // Seen a '>' for map , PS_MapTypeSeen // Seen a type decl for map , PS_MapCommaSeen // Seen comma for sequence + , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword , PS_SequenceSqSeen // Seen '<' for sequence , PS_SequenceQsSeen // Seen '>' for sequence diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index c30fe0f6d0de5..dc10d6cd29940 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,4 +1,5 @@ struct DataStruct { sequence seqData; map mapData; + map mapData; }; From 8a9729e0f28e5b8ead9cb0f4fae9c26481b981be Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 21:31:16 -0400 Subject: [PATCH 014/445] Simplified bison --- TAO/TAO_IDL/fe/idl.tab.cpp | 3955 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.ypp | 17 +- 2 files changed, 1962 insertions(+), 2010 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 15a9b7f9a44cf..db6afe1bfd833 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -517,200 +517,197 @@ enum yysymbol_kind_t YYSYMBOL_324_90 = 324, /* $@90 */ YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ - YYSYMBOL_327_91 = 327, /* $@91 */ - YYSYMBOL_328_92 = 328, /* $@92 */ - YYSYMBOL_329_93 = 329, /* $@93 */ - YYSYMBOL_map_type = 330, /* map_type */ - YYSYMBOL_sequence_type_spec = 331, /* sequence_type_spec */ - YYSYMBOL_332_94 = 332, /* $@94 */ - YYSYMBOL_333_95 = 333, /* $@95 */ - YYSYMBOL_seq_head = 334, /* seq_head */ - YYSYMBOL_335_96 = 335, /* $@96 */ - YYSYMBOL_336_97 = 336, /* $@97 */ - YYSYMBOL_fixed_type_spec = 337, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 338, /* string_type_spec */ - YYSYMBOL_339_98 = 339, /* $@98 */ - YYSYMBOL_340_99 = 340, /* $@99 */ - YYSYMBOL_string_head = 341, /* string_head */ - YYSYMBOL_wstring_type_spec = 342, /* wstring_type_spec */ - YYSYMBOL_343_100 = 343, /* $@100 */ - YYSYMBOL_344_101 = 344, /* $@101 */ - YYSYMBOL_wstring_head = 345, /* wstring_head */ - YYSYMBOL_array_declarator = 346, /* array_declarator */ - YYSYMBOL_347_102 = 347, /* $@102 */ - YYSYMBOL_at_least_one_array_dim = 348, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 349, /* array_dims */ - YYSYMBOL_array_dim = 350, /* array_dim */ - YYSYMBOL_351_103 = 351, /* $@103 */ - YYSYMBOL_352_104 = 352, /* $@104 */ - YYSYMBOL_attribute = 353, /* attribute */ - YYSYMBOL_attribute_readonly = 354, /* attribute_readonly */ + YYSYMBOL_map_type = 327, /* map_type */ + YYSYMBOL_sequence_type_spec = 328, /* sequence_type_spec */ + YYSYMBOL_329_91 = 329, /* $@91 */ + YYSYMBOL_330_92 = 330, /* $@92 */ + YYSYMBOL_seq_head = 331, /* seq_head */ + YYSYMBOL_332_93 = 332, /* $@93 */ + YYSYMBOL_333_94 = 333, /* $@94 */ + YYSYMBOL_fixed_type_spec = 334, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 335, /* string_type_spec */ + YYSYMBOL_336_95 = 336, /* $@95 */ + YYSYMBOL_337_96 = 337, /* $@96 */ + YYSYMBOL_string_head = 338, /* string_head */ + YYSYMBOL_wstring_type_spec = 339, /* wstring_type_spec */ + YYSYMBOL_340_97 = 340, /* $@97 */ + YYSYMBOL_341_98 = 341, /* $@98 */ + YYSYMBOL_wstring_head = 342, /* wstring_head */ + YYSYMBOL_array_declarator = 343, /* array_declarator */ + YYSYMBOL_344_99 = 344, /* $@99 */ + YYSYMBOL_at_least_one_array_dim = 345, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 346, /* array_dims */ + YYSYMBOL_array_dim = 347, /* array_dim */ + YYSYMBOL_348_100 = 348, /* $@100 */ + YYSYMBOL_349_101 = 349, /* $@101 */ + YYSYMBOL_attribute = 350, /* attribute */ + YYSYMBOL_attribute_readonly = 351, /* attribute_readonly */ + YYSYMBOL_352_102 = 352, /* $@102 */ + YYSYMBOL_353_103 = 353, /* $@103 */ + YYSYMBOL_354_104 = 354, /* $@104 */ YYSYMBOL_355_105 = 355, /* $@105 */ - YYSYMBOL_356_106 = 356, /* $@106 */ - YYSYMBOL_357_107 = 357, /* $@107 */ - YYSYMBOL_358_108 = 358, /* $@108 */ - YYSYMBOL_attribute_readwrite = 359, /* attribute_readwrite */ + YYSYMBOL_attribute_readwrite = 356, /* attribute_readwrite */ + YYSYMBOL_357_106 = 357, /* $@106 */ + YYSYMBOL_358_107 = 358, /* $@107 */ + YYSYMBOL_359_108 = 359, /* $@108 */ YYSYMBOL_360_109 = 360, /* $@109 */ - YYSYMBOL_361_110 = 361, /* $@110 */ - YYSYMBOL_362_111 = 362, /* $@111 */ - YYSYMBOL_363_112 = 363, /* $@112 */ - YYSYMBOL_exception = 364, /* exception */ + YYSYMBOL_exception = 361, /* exception */ + YYSYMBOL_362_110 = 362, /* $@110 */ + YYSYMBOL_363_111 = 363, /* @111 */ + YYSYMBOL_364_112 = 364, /* $@112 */ YYSYMBOL_365_113 = 365, /* $@113 */ - YYSYMBOL_366_114 = 366, /* @114 */ - YYSYMBOL_367_115 = 367, /* $@115 */ - YYSYMBOL_368_116 = 368, /* $@116 */ - YYSYMBOL_operation = 369, /* operation */ + YYSYMBOL_operation = 366, /* operation */ + YYSYMBOL_367_114 = 367, /* $@114 */ + YYSYMBOL_368_115 = 368, /* $@115 */ + YYSYMBOL_369_116 = 369, /* $@116 */ YYSYMBOL_370_117 = 370, /* $@117 */ - YYSYMBOL_371_118 = 371, /* $@118 */ - YYSYMBOL_372_119 = 372, /* $@119 */ - YYSYMBOL_373_120 = 373, /* $@120 */ - YYSYMBOL_opt_op_attribute = 374, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 375, /* op_type_spec */ - YYSYMBOL_init_decl = 376, /* init_decl */ - YYSYMBOL_377_121 = 377, /* $@121 */ - YYSYMBOL_378_122 = 378, /* @122 */ - YYSYMBOL_379_123 = 379, /* $@123 */ - YYSYMBOL_init_parameter_list = 380, /* init_parameter_list */ - YYSYMBOL_381_124 = 381, /* $@124 */ - YYSYMBOL_382_125 = 382, /* $@125 */ - YYSYMBOL_at_least_one_in_parameter = 383, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 384, /* in_parameters */ - YYSYMBOL_385_126 = 385, /* $@126 */ - YYSYMBOL_in_parameter = 386, /* in_parameter */ - YYSYMBOL_387_127 = 387, /* $@127 */ - YYSYMBOL_388_128 = 388, /* $@128 */ - YYSYMBOL_parameter_list = 389, /* parameter_list */ - YYSYMBOL_390_129 = 390, /* $@129 */ - YYSYMBOL_391_130 = 391, /* $@130 */ - YYSYMBOL_at_least_one_parameter = 392, /* at_least_one_parameter */ - YYSYMBOL_parameters = 393, /* parameters */ - YYSYMBOL_394_131 = 394, /* $@131 */ - YYSYMBOL_parameter = 395, /* parameter */ - YYSYMBOL_396_132 = 396, /* $@132 */ - YYSYMBOL_397_133 = 397, /* $@133 */ - YYSYMBOL_param_type_spec = 398, /* param_type_spec */ - YYSYMBOL_direction = 399, /* direction */ - YYSYMBOL_opt_raises = 400, /* opt_raises */ - YYSYMBOL_401_134 = 401, /* $@134 */ - YYSYMBOL_402_135 = 402, /* $@135 */ - YYSYMBOL_opt_getraises = 403, /* opt_getraises */ - YYSYMBOL_404_136 = 404, /* $@136 */ - YYSYMBOL_405_137 = 405, /* $@137 */ - YYSYMBOL_opt_setraises = 406, /* opt_setraises */ - YYSYMBOL_407_138 = 407, /* $@138 */ - YYSYMBOL_408_139 = 408, /* $@139 */ - YYSYMBOL_opt_context = 409, /* opt_context */ - YYSYMBOL_410_140 = 410, /* $@140 */ - YYSYMBOL_411_141 = 411, /* $@141 */ - YYSYMBOL_at_least_one_string_literal = 412, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 413, /* string_literals */ - YYSYMBOL_414_142 = 414, /* $@142 */ - YYSYMBOL_typeid_dcl = 415, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 416, /* typeprefix_dcl */ - YYSYMBOL_component = 417, /* component */ - YYSYMBOL_component_forward_decl = 418, /* component_forward_decl */ - YYSYMBOL_component_decl = 419, /* component_decl */ - YYSYMBOL_420_143 = 420, /* @143 */ - YYSYMBOL_421_144 = 421, /* $@144 */ - YYSYMBOL_422_145 = 422, /* $@145 */ - YYSYMBOL_component_header = 423, /* component_header */ - YYSYMBOL_424_146 = 424, /* $@146 */ - YYSYMBOL_425_147 = 425, /* $@147 */ - YYSYMBOL_component_inheritance_spec = 426, /* component_inheritance_spec */ - YYSYMBOL_427_148 = 427, /* $@148 */ - YYSYMBOL_component_exports = 428, /* component_exports */ - YYSYMBOL_component_export = 429, /* component_export */ + YYSYMBOL_opt_op_attribute = 371, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 372, /* op_type_spec */ + YYSYMBOL_init_decl = 373, /* init_decl */ + YYSYMBOL_374_118 = 374, /* $@118 */ + YYSYMBOL_375_119 = 375, /* @119 */ + YYSYMBOL_376_120 = 376, /* $@120 */ + YYSYMBOL_init_parameter_list = 377, /* init_parameter_list */ + YYSYMBOL_378_121 = 378, /* $@121 */ + YYSYMBOL_379_122 = 379, /* $@122 */ + YYSYMBOL_at_least_one_in_parameter = 380, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 381, /* in_parameters */ + YYSYMBOL_382_123 = 382, /* $@123 */ + YYSYMBOL_in_parameter = 383, /* in_parameter */ + YYSYMBOL_384_124 = 384, /* $@124 */ + YYSYMBOL_385_125 = 385, /* $@125 */ + YYSYMBOL_parameter_list = 386, /* parameter_list */ + YYSYMBOL_387_126 = 387, /* $@126 */ + YYSYMBOL_388_127 = 388, /* $@127 */ + YYSYMBOL_at_least_one_parameter = 389, /* at_least_one_parameter */ + YYSYMBOL_parameters = 390, /* parameters */ + YYSYMBOL_391_128 = 391, /* $@128 */ + YYSYMBOL_parameter = 392, /* parameter */ + YYSYMBOL_393_129 = 393, /* $@129 */ + YYSYMBOL_394_130 = 394, /* $@130 */ + YYSYMBOL_param_type_spec = 395, /* param_type_spec */ + YYSYMBOL_direction = 396, /* direction */ + YYSYMBOL_opt_raises = 397, /* opt_raises */ + YYSYMBOL_398_131 = 398, /* $@131 */ + YYSYMBOL_399_132 = 399, /* $@132 */ + YYSYMBOL_opt_getraises = 400, /* opt_getraises */ + YYSYMBOL_401_133 = 401, /* $@133 */ + YYSYMBOL_402_134 = 402, /* $@134 */ + YYSYMBOL_opt_setraises = 403, /* opt_setraises */ + YYSYMBOL_404_135 = 404, /* $@135 */ + YYSYMBOL_405_136 = 405, /* $@136 */ + YYSYMBOL_opt_context = 406, /* opt_context */ + YYSYMBOL_407_137 = 407, /* $@137 */ + YYSYMBOL_408_138 = 408, /* $@138 */ + YYSYMBOL_at_least_one_string_literal = 409, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 410, /* string_literals */ + YYSYMBOL_411_139 = 411, /* $@139 */ + YYSYMBOL_typeid_dcl = 412, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 413, /* typeprefix_dcl */ + YYSYMBOL_component = 414, /* component */ + YYSYMBOL_component_forward_decl = 415, /* component_forward_decl */ + YYSYMBOL_component_decl = 416, /* component_decl */ + YYSYMBOL_417_140 = 417, /* @140 */ + YYSYMBOL_418_141 = 418, /* $@141 */ + YYSYMBOL_419_142 = 419, /* $@142 */ + YYSYMBOL_component_header = 420, /* component_header */ + YYSYMBOL_421_143 = 421, /* $@143 */ + YYSYMBOL_422_144 = 422, /* $@144 */ + YYSYMBOL_component_inheritance_spec = 423, /* component_inheritance_spec */ + YYSYMBOL_424_145 = 424, /* $@145 */ + YYSYMBOL_component_exports = 425, /* component_exports */ + YYSYMBOL_component_export = 426, /* component_export */ + YYSYMBOL_427_146 = 427, /* $@146 */ + YYSYMBOL_428_147 = 428, /* $@147 */ + YYSYMBOL_429_148 = 429, /* $@148 */ YYSYMBOL_430_149 = 430, /* $@149 */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ - YYSYMBOL_434_153 = 434, /* $@153 */ - YYSYMBOL_435_154 = 435, /* $@154 */ - YYSYMBOL_436_155 = 436, /* $@155 */ - YYSYMBOL_provides_decl = 437, /* provides_decl */ - YYSYMBOL_interface_type = 438, /* interface_type */ - YYSYMBOL_uses_decl = 439, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 440, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 441, /* opt_multiple */ - YYSYMBOL_emits_decl = 442, /* emits_decl */ - YYSYMBOL_publishes_decl = 443, /* publishes_decl */ - YYSYMBOL_consumes_decl = 444, /* consumes_decl */ - YYSYMBOL_home_decl = 445, /* home_decl */ - YYSYMBOL_446_156 = 446, /* $@156 */ - YYSYMBOL_home_header = 447, /* home_header */ + YYSYMBOL_provides_decl = 434, /* provides_decl */ + YYSYMBOL_interface_type = 435, /* interface_type */ + YYSYMBOL_uses_decl = 436, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 437, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 438, /* opt_multiple */ + YYSYMBOL_emits_decl = 439, /* emits_decl */ + YYSYMBOL_publishes_decl = 440, /* publishes_decl */ + YYSYMBOL_consumes_decl = 441, /* consumes_decl */ + YYSYMBOL_home_decl = 442, /* home_decl */ + YYSYMBOL_443_153 = 443, /* $@153 */ + YYSYMBOL_home_header = 444, /* home_header */ + YYSYMBOL_445_154 = 445, /* $@154 */ + YYSYMBOL_446_155 = 446, /* $@155 */ + YYSYMBOL_447_156 = 447, /* $@156 */ YYSYMBOL_448_157 = 448, /* $@157 */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ - YYSYMBOL_451_160 = 451, /* $@160 */ - YYSYMBOL_452_161 = 452, /* $@161 */ - YYSYMBOL_453_162 = 453, /* $@162 */ - YYSYMBOL_home_inheritance_spec = 454, /* home_inheritance_spec */ - YYSYMBOL_455_163 = 455, /* $@163 */ - YYSYMBOL_primary_key_spec = 456, /* primary_key_spec */ - YYSYMBOL_home_body = 457, /* home_body */ - YYSYMBOL_458_164 = 458, /* $@164 */ - YYSYMBOL_459_165 = 459, /* $@165 */ - YYSYMBOL_home_exports = 460, /* home_exports */ - YYSYMBOL_home_export = 461, /* home_export */ - YYSYMBOL_462_166 = 462, /* $@166 */ - YYSYMBOL_463_167 = 463, /* $@167 */ - YYSYMBOL_factory_decl = 464, /* factory_decl */ - YYSYMBOL_465_168 = 465, /* $@168 */ - YYSYMBOL_466_169 = 466, /* $@169 */ - YYSYMBOL_finder_decl = 467, /* finder_decl */ - YYSYMBOL_468_170 = 468, /* $@170 */ - YYSYMBOL_469_171 = 469, /* $@171 */ - YYSYMBOL_event = 470, /* event */ - YYSYMBOL_event_forward_decl = 471, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 472, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 473, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 474, /* event_abs_decl */ - YYSYMBOL_475_172 = 475, /* $@172 */ - YYSYMBOL_476_173 = 476, /* $@173 */ - YYSYMBOL_477_174 = 477, /* $@174 */ - YYSYMBOL_event_abs_header = 478, /* event_abs_header */ - YYSYMBOL_event_custom_header = 479, /* event_custom_header */ - YYSYMBOL_event_plain_header = 480, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 481, /* event_rest_of_header */ - YYSYMBOL_482_175 = 482, /* $@175 */ - YYSYMBOL_event_decl = 483, /* event_decl */ - YYSYMBOL_484_176 = 484, /* @176 */ - YYSYMBOL_485_177 = 485, /* $@177 */ - YYSYMBOL_486_178 = 486, /* $@178 */ - YYSYMBOL_event_header = 487, /* event_header */ - YYSYMBOL_formal_parameter_type = 488, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 489, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 490, /* formal_parameters */ - YYSYMBOL_formal_parameter = 491, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 492, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 493, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 494, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 495, /* porttype_decl */ + YYSYMBOL_home_inheritance_spec = 451, /* home_inheritance_spec */ + YYSYMBOL_452_160 = 452, /* $@160 */ + YYSYMBOL_primary_key_spec = 453, /* primary_key_spec */ + YYSYMBOL_home_body = 454, /* home_body */ + YYSYMBOL_455_161 = 455, /* $@161 */ + YYSYMBOL_456_162 = 456, /* $@162 */ + YYSYMBOL_home_exports = 457, /* home_exports */ + YYSYMBOL_home_export = 458, /* home_export */ + YYSYMBOL_459_163 = 459, /* $@163 */ + YYSYMBOL_460_164 = 460, /* $@164 */ + YYSYMBOL_factory_decl = 461, /* factory_decl */ + YYSYMBOL_462_165 = 462, /* $@165 */ + YYSYMBOL_463_166 = 463, /* $@166 */ + YYSYMBOL_finder_decl = 464, /* finder_decl */ + YYSYMBOL_465_167 = 465, /* $@167 */ + YYSYMBOL_466_168 = 466, /* $@168 */ + YYSYMBOL_event = 467, /* event */ + YYSYMBOL_event_forward_decl = 468, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 469, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 470, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 471, /* event_abs_decl */ + YYSYMBOL_472_169 = 472, /* $@169 */ + YYSYMBOL_473_170 = 473, /* $@170 */ + YYSYMBOL_474_171 = 474, /* $@171 */ + YYSYMBOL_event_abs_header = 475, /* event_abs_header */ + YYSYMBOL_event_custom_header = 476, /* event_custom_header */ + YYSYMBOL_event_plain_header = 477, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 478, /* event_rest_of_header */ + YYSYMBOL_479_172 = 479, /* $@172 */ + YYSYMBOL_event_decl = 480, /* event_decl */ + YYSYMBOL_481_173 = 481, /* @173 */ + YYSYMBOL_482_174 = 482, /* $@174 */ + YYSYMBOL_483_175 = 483, /* $@175 */ + YYSYMBOL_event_header = 484, /* event_header */ + YYSYMBOL_formal_parameter_type = 485, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 486, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 487, /* formal_parameters */ + YYSYMBOL_formal_parameter = 488, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 489, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 490, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 491, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 492, /* porttype_decl */ + YYSYMBOL_493_176 = 493, /* $@176 */ + YYSYMBOL_494_177 = 494, /* @177 */ + YYSYMBOL_495_178 = 495, /* $@178 */ YYSYMBOL_496_179 = 496, /* $@179 */ - YYSYMBOL_497_180 = 497, /* @180 */ - YYSYMBOL_498_181 = 498, /* $@181 */ - YYSYMBOL_499_182 = 499, /* $@182 */ - YYSYMBOL_at_least_one_port_export = 500, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 501, /* port_exports */ - YYSYMBOL_port_export = 502, /* port_export */ - YYSYMBOL_503_183 = 503, /* $@183 */ - YYSYMBOL_extended_port_decl = 504, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 505, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 506, /* actual_parameters */ - YYSYMBOL_actual_parameter = 507, /* actual_parameter */ - YYSYMBOL_connector_decl = 508, /* connector_decl */ - YYSYMBOL_connector_header = 509, /* connector_header */ - YYSYMBOL_510_184 = 510, /* $@184 */ - YYSYMBOL_511_185 = 511, /* $@185 */ - YYSYMBOL_connector_body = 512, /* connector_body */ - YYSYMBOL_513_186 = 513, /* $@186 */ - YYSYMBOL_514_187 = 514, /* $@187 */ - YYSYMBOL_connector_exports = 515, /* connector_exports */ - YYSYMBOL_connector_export = 516, /* connector_export */ - YYSYMBOL_517_188 = 517, /* $@188 */ - YYSYMBOL_518_189 = 518, /* $@189 */ - YYSYMBOL_519_190 = 519, /* $@190 */ - YYSYMBOL_520_191 = 520 /* $@191 */ + YYSYMBOL_at_least_one_port_export = 497, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 498, /* port_exports */ + YYSYMBOL_port_export = 499, /* port_export */ + YYSYMBOL_500_180 = 500, /* $@180 */ + YYSYMBOL_extended_port_decl = 501, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 502, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 503, /* actual_parameters */ + YYSYMBOL_actual_parameter = 504, /* actual_parameter */ + YYSYMBOL_connector_decl = 505, /* connector_decl */ + YYSYMBOL_connector_header = 506, /* connector_header */ + YYSYMBOL_507_181 = 507, /* $@181 */ + YYSYMBOL_508_182 = 508, /* $@182 */ + YYSYMBOL_connector_body = 509, /* connector_body */ + YYSYMBOL_510_183 = 510, /* $@183 */ + YYSYMBOL_511_184 = 511, /* $@184 */ + YYSYMBOL_connector_exports = 512, /* connector_exports */ + YYSYMBOL_connector_export = 513, /* connector_export */ + YYSYMBOL_514_185 = 514, /* $@185 */ + YYSYMBOL_515_186 = 515, /* $@186 */ + YYSYMBOL_516_187 = 516, /* $@187 */ + YYSYMBOL_517_188 = 517 /* $@188 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1038,16 +1035,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2105 +#define YYLAST 2099 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 403 +#define YYNNTS 400 /* YYNRULES -- Number of rules. */ -#define YYNRULES 614 +#define YYNRULES 611 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 907 +#define YYNSTATES 900 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1141,33 +1138,33 @@ static const yytype_int16 yyrline[] = 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3897, 3902, 3907, 3896, 3967, 4028, - 4041, 4045, 4039, 4129, 4196, 4205, 4195, 4219, 4229, 4233, - 4227, 4275, 4301, 4310, 4314, 4308, 4356, 4382, 4390, 4389, - 4432, 4442, 4460, 4468, 4472, 4467, 4532, 4533, 4538, 4542, - 4546, 4550, 4537, 4609, 4613, 4617, 4621, 4608, 4689, 4693, - 4725, 4729, 4688, 4746, 4750, 4811, 4815, 4745, 4852, 4857, - 4862, 4869, 4870, 4881, 4886, 4929, 4880, 4951, 4950, 4959, - 4958, 4969, 4974, 4972, 4978, 4983, 4987, 4982, 5026, 5025, - 5034, 5033, 5044, 5049, 5047, 5053, 5058, 5062, 5057, 5107, - 5114, 5115, 5116, 5223, 5227, 5231, 5239, 5243, 5238, 5252, - 5260, 5264, 5259, 5273, 5281, 5285, 5280, 5294, 5302, 5306, - 5301, 5315, 5322, 5334, 5332, 5355, 5362, 5392, 5431, 5432, - 5436, 5467, 5509, 5513, 5466, 5532, 5536, 5530, 5577, 5576, - 5584, 5591, 5606, 5607, 5612, 5611, 5621, 5620, 5630, 5629, - 5639, 5638, 5648, 5647, 5657, 5656, 5666, 5665, 5676, 5769, - 5775, 5800, 5907, 5916, 5920, 5927, 6002, 6074, 6150, 6149, - 6199, 6203, 6207, 6211, 6215, 6219, 6198, 6272, 6271, 6279, - 6286, 6291, 6299, 6303, 6298, 6313, 6314, 6318, 6320, 6319, - 6328, 6327, 6340, 6363, 6338, 6389, 6416, 6387, 6440, 6441, - 6442, 6446, 6447, 6451, 6480, 6512, 6556, 6560, 6510, 6577, - 6586, 6604, 6615, 6614, 6652, 6703, 6707, 6650, 6724, 6728, - 6735, 6739, 6743, 6747, 6751, 6755, 6759, 6763, 6767, 6771, - 6779, 6810, 6823, 6830, 6855, 6873, 6880, 6895, 6902, 6912, - 6916, 6935, 6943, 6911, 6958, 6973, 6977, 6978, 6982, 6983, - 6985, 6984, 6995, 7062, 7110, 7126, 7139, 7146, 7205, 7213, - 7217, 7212, 7278, 7282, 7277, 7295, 7296, 7301, 7300, 7309, - 7308, 7317, 7316, 7325, 7324 + 3850, 3848, 3854, 3858, 3896, 3956, 4017, 4030, 4034, 4028, + 4118, 4185, 4194, 4184, 4208, 4218, 4222, 4216, 4264, 4290, + 4299, 4303, 4297, 4345, 4371, 4379, 4378, 4421, 4431, 4449, + 4457, 4461, 4456, 4521, 4522, 4527, 4531, 4535, 4539, 4526, + 4598, 4602, 4606, 4610, 4597, 4678, 4682, 4714, 4718, 4677, + 4735, 4739, 4800, 4804, 4734, 4841, 4846, 4851, 4858, 4859, + 4870, 4875, 4918, 4869, 4940, 4939, 4948, 4947, 4958, 4963, + 4961, 4967, 4972, 4976, 4971, 5015, 5014, 5023, 5022, 5033, + 5038, 5036, 5042, 5047, 5051, 5046, 5096, 5103, 5104, 5105, + 5212, 5216, 5220, 5228, 5232, 5227, 5241, 5249, 5253, 5248, + 5262, 5270, 5274, 5269, 5283, 5291, 5295, 5290, 5304, 5311, + 5323, 5321, 5344, 5351, 5381, 5420, 5421, 5425, 5456, 5498, + 5502, 5455, 5521, 5525, 5519, 5566, 5565, 5573, 5580, 5595, + 5596, 5601, 5600, 5610, 5609, 5619, 5618, 5628, 5627, 5637, + 5636, 5646, 5645, 5655, 5654, 5665, 5758, 5764, 5789, 5896, + 5905, 5909, 5916, 5991, 6063, 6139, 6138, 6188, 6192, 6196, + 6200, 6204, 6208, 6187, 6261, 6260, 6268, 6275, 6280, 6288, + 6292, 6287, 6302, 6303, 6307, 6309, 6308, 6317, 6316, 6329, + 6352, 6327, 6378, 6405, 6376, 6429, 6430, 6431, 6435, 6436, + 6440, 6469, 6501, 6545, 6549, 6499, 6566, 6575, 6593, 6604, + 6603, 6641, 6692, 6696, 6639, 6713, 6717, 6724, 6728, 6732, + 6736, 6740, 6744, 6748, 6752, 6756, 6760, 6768, 6799, 6812, + 6819, 6844, 6862, 6869, 6884, 6891, 6901, 6905, 6924, 6932, + 6900, 6947, 6962, 6966, 6967, 6971, 6972, 6974, 6973, 6984, + 7051, 7099, 7115, 7128, 7135, 7194, 7202, 7206, 7201, 7267, + 7271, 7266, 7284, 7285, 7290, 7289, 7298, 7297, 7306, 7305, + 7314, 7313 }; #endif @@ -1251,48 +1248,47 @@ static const char *const yytname[] = "$@82", "$@83", "$@84", "element_spec", "$@85", "struct_forward_type", "union_forward_type", "enum_type", "$@86", "$@87", "$@88", "$@89", "at_least_one_enumerator", "enumerators", "$@90", "enumerator", - "map_type_spec", "$@91", "$@92", "$@93", "map_type", - "sequence_type_spec", "$@94", "$@95", "seq_head", "$@96", "$@97", - "fixed_type_spec", "string_type_spec", "$@98", "$@99", "string_head", - "wstring_type_spec", "$@100", "$@101", "wstring_head", - "array_declarator", "$@102", "at_least_one_array_dim", "array_dims", - "array_dim", "$@103", "$@104", "attribute", "attribute_readonly", - "$@105", "$@106", "$@107", "$@108", "attribute_readwrite", "$@109", - "$@110", "$@111", "$@112", "exception", "$@113", "@114", "$@115", - "$@116", "operation", "$@117", "$@118", "$@119", "$@120", - "opt_op_attribute", "op_type_spec", "init_decl", "$@121", "@122", - "$@123", "init_parameter_list", "$@124", "$@125", - "at_least_one_in_parameter", "in_parameters", "$@126", "in_parameter", - "$@127", "$@128", "parameter_list", "$@129", "$@130", - "at_least_one_parameter", "parameters", "$@131", "parameter", "$@132", - "$@133", "param_type_spec", "direction", "opt_raises", "$@134", "$@135", - "opt_getraises", "$@136", "$@137", "opt_setraises", "$@138", "$@139", - "opt_context", "$@140", "$@141", "at_least_one_string_literal", - "string_literals", "$@142", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@143", "$@144", "$@145", - "component_header", "$@146", "$@147", "component_inheritance_spec", - "$@148", "component_exports", "component_export", "$@149", "$@150", - "$@151", "$@152", "$@153", "$@154", "$@155", "provides_decl", + "map_type_spec", "map_type", "sequence_type_spec", "$@91", "$@92", + "seq_head", "$@93", "$@94", "fixed_type_spec", "string_type_spec", + "$@95", "$@96", "string_head", "wstring_type_spec", "$@97", "$@98", + "wstring_head", "array_declarator", "$@99", "at_least_one_array_dim", + "array_dims", "array_dim", "$@100", "$@101", "attribute", + "attribute_readonly", "$@102", "$@103", "$@104", "$@105", + "attribute_readwrite", "$@106", "$@107", "$@108", "$@109", "exception", + "$@110", "@111", "$@112", "$@113", "operation", "$@114", "$@115", + "$@116", "$@117", "opt_op_attribute", "op_type_spec", "init_decl", + "$@118", "@119", "$@120", "init_parameter_list", "$@121", "$@122", + "at_least_one_in_parameter", "in_parameters", "$@123", "in_parameter", + "$@124", "$@125", "parameter_list", "$@126", "$@127", + "at_least_one_parameter", "parameters", "$@128", "parameter", "$@129", + "$@130", "param_type_spec", "direction", "opt_raises", "$@131", "$@132", + "opt_getraises", "$@133", "$@134", "opt_setraises", "$@135", "$@136", + "opt_context", "$@137", "$@138", "at_least_one_string_literal", + "string_literals", "$@139", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@140", "$@141", "$@142", + "component_header", "$@143", "$@144", "component_inheritance_spec", + "$@145", "component_exports", "component_export", "$@146", "$@147", + "$@148", "$@149", "$@150", "$@151", "$@152", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@156", - "home_header", "$@157", "$@158", "$@159", "$@160", "$@161", "$@162", - "home_inheritance_spec", "$@163", "primary_key_spec", "home_body", - "$@164", "$@165", "home_exports", "home_export", "$@166", "$@167", - "factory_decl", "$@168", "$@169", "finder_decl", "$@170", "$@171", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@153", + "home_header", "$@154", "$@155", "$@156", "$@157", "$@158", "$@159", + "home_inheritance_spec", "$@160", "primary_key_spec", "home_body", + "$@161", "$@162", "home_exports", "home_export", "$@163", "$@164", + "factory_decl", "$@165", "$@166", "finder_decl", "$@167", "$@168", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@172", "$@173", "$@174", + "event_abs_forward_decl", "event_abs_decl", "$@169", "$@170", "$@171", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@175", "event_decl", "@176", "$@177", "$@178", + "event_rest_of_header", "$@172", "event_decl", "@173", "$@174", "$@175", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@179", "@180", "$@181", - "$@182", "at_least_one_port_export", "port_exports", "port_export", - "$@183", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@176", "@177", "$@178", + "$@179", "at_least_one_port_export", "port_exports", "port_export", + "$@180", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@184", "$@185", "connector_body", "$@186", "$@187", - "connector_exports", "connector_export", "$@188", "$@189", "$@190", - "$@191", YY_NULLPTR + "connector_header", "$@181", "$@182", "connector_body", "$@183", "$@184", + "connector_exports", "connector_export", "$@185", "$@186", "$@187", + "$@188", YY_NULLPTR }; static const char * @@ -1302,12 +1298,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-687) +#define YYPACT_NINF (-673) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-583) +#define YYTABLE_NINF (-580) #define yytable_value_is_error(Yyn) \ 0 @@ -1316,97 +1312,96 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -687, 100, 1332, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, 57, 118, 64, 76, -687, 57, - 57, -687, 52, 52, -687, -687, 57, -687, -687, 33, - -687, 201, 84, 92, -687, -687, -1, -687, -687, -687, - -687, -687, -687, 663, -687, -687, -687, -687, -687, 1534, - 55, -687, -687, 96, -687, 133, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, 121, -687, -687, -687, 121, -687, - -687, 122, 150, 2015, 52, 57, 1892, 57, 57, 57, - 57, -687, -687, -687, 0, 57, 7, -687, 90, 57, - -687, 121, 57, 152, 155, 57, -687, -687, 37, -687, - 87, 253, -687, 172, -687, 186, 185, 1648, -687, -687, - -687, 188, 238, -687, 190, 192, 193, 97, -687, 98, - -687, -687, -687, -687, -687, -687, 194, -687, -687, -687, - 197, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, 200, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - 133, -687, -687, -687, -687, 69, -687, -687, 198, -687, - 199, 196, 205, -687, 52, 207, 208, 206, -687, 209, - 210, 211, 212, 213, 215, 216, 219, -687, -687, -687, - 221, 223, -687, -687, -687, -687, 200, -687, -687, -687, - -687, -687, -687, -687, -687, -687, 200, -687, -687, -687, - -687, -687, -687, -687, -687, 224, -687, 227, -687, -687, - 229, -687, 310, -687, -687, -687, -687, 49, -687, -687, - -687, 2015, -687, -687, -687, -687, 234, -687, -687, -687, - -687, 320, -687, -687, 60, 240, -687, -687, -687, -687, - -687, -687, -687, -687, 337, -687, 187, 246, -687, 248, - 301, -687, -687, -687, -687, -687, -687, 200, -687, -687, - 236, -687, -687, -687, -687, -687, -687, -687, -687, -687, - 301, 254, 255, -687, -687, -687, 57, 57, 256, 259, - -687, -687, -687, 249, -687, 310, 261, -687, -687, -687, - -687, -687, 352, -687, 260, 263, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, 419, 419, 419, 187, - 200, -687, -687, 262, 258, 264, 111, 109, 99, -687, - -687, -687, -687, -687, 52, -687, -687, -687, -687, 265, - -687, 1624, 266, -687, 52, -687, 187, 187, 187, 267, - -687, -687, -687, -687, -687, -687, -687, 169, -687, -13, - -687, -687, -687, -687, -687, -687, -687, -687, 52, 301, - -687, -687, -687, -687, 229, 711, 1447, 271, 273, -687, - 1648, -687, -687, -687, 247, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 269, 57, -687, 200, 1032, - -687, 844, 187, -687, -687, -687, -687, -687, -687, -687, - -687, 187, -687, 1397, -687, -687, -687, 59, 566, -687, - -687, -687, -687, 54, 316, 52, 52, -687, -687, -687, - -687, -687, 54, -687, 277, -687, 275, -687, 281, -687, - -687, 1126, 200, -687, 52, 301, -687, -687, -687, -687, - 283, -687, -687, 57, -687, -687, 290, 289, 386, 292, - -687, -687, 258, 264, 111, 109, 109, 99, 99, -687, - -687, -687, -687, -687, 294, -687, -687, -687, 296, -687, - -687, 1804, -687, -687, -687, -687, 1927, -687, -687, -687, - -687, -687, 299, -687, 1839, -687, -687, 1714, -687, 304, - 1624, 297, 307, 306, 311, 314, 312, -687, 302, -687, - 315, -687, -687, -687, 326, 328, 996, 52, 52, 52, - 184, -687, 330, -687, -687, -687, -687, -687, -687, -687, - 57, 57, -687, 331, -687, -687, -687, 1220, 938, 387, - 1980, -687, 200, 310, -687, -687, 53, 62, 334, 336, - 338, 310, 340, -687, -687, 3, -687, 50, -687, -687, - 335, 339, 200, -687, 346, 117, 1892, -687, 409, -687, - -687, -687, -687, 60, -687, 349, -687, 350, -687, 351, - 353, 354, 355, -687, 200, -687, -687, -687, -687, -687, - 357, 358, 446, -687, -687, -687, 359, -687, -687, 187, - -687, -687, -687, -687, 187, -687, 310, -687, 360, 57, - -687, -687, 450, 200, -687, -687, -687, -687, -687, -687, - 71, 71, 71, -687, 362, -687, 364, 365, 368, 371, - 373, 380, -687, -687, -687, 381, 382, 384, 385, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, 187, - -687, -687, -687, 57, -687, 388, 383, 390, -687, 423, - 392, 117, -687, 395, 404, -687, 405, 187, 406, 1509, - -687, 52, -687, -687, -687, -687, -687, -687, 505, -687, - -687, -687, -687, 410, -687, -687, 312, 315, -687, -687, - 399, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, 396, 396, -687, -687, -687, -687, 1980, 57, -687, - 187, 400, -687, -687, -687, -687, -687, -687, -687, 418, - -687, -687, -687, -687, -687, 52, -687, -687, -687, -687, - 422, 200, -687, 396, -687, 420, -687, 425, -687, 484, - -687, -687, -687, -687, -687, -687, -687, -687, 52, -687, - 200, 424, 1270, -687, 411, -687, -687, -687, 426, 412, - 490, 493, 493, 57, 473, 431, 428, -687, 200, 437, - -687, -687, 427, -687, 493, -687, -687, -687, 432, -687, - -687, -687, -687, -687, -687, -687, -687, -687, 480, 538, - 434, 176, 493, -687, 166, 1980, -687, 440, 436, 493, - 438, 483, 57, 52, -687, -687, 452, -687, -687, -687, - -687, -687, 441, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, 200, -687, 448, -687, 454, 1980, 515, 461, 187, - 457, 463, 58, -687, 202, 57, 490, 52, 52, 449, - 57, 538, -687, -687, -687, -687, -687, -687, -687, -687, - -687, 1599, -687, -687, -687, 445, 451, -687, -687, -687, - 176, 57, 458, 462, -687, -687, -687, -687, 52, -687, - -687, -687, -687, 57, 468, 453, 495, -687, -687, -687, - -687, 475, 488, -687, -687, 519, -687 + -673, 74, 1413, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 54, 92, 46, 52, -673, 54, + 54, -673, 56, 56, -673, -673, 54, -673, -673, 8, + -673, 97, 25, 60, -673, -673, 12, -673, -673, -673, + -673, -673, -673, 723, -673, -673, -673, -673, -673, 1615, + 19, -673, -673, 72, -673, 123, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 51, -673, -673, -673, 51, -673, + -673, 88, 82, 2009, 56, 54, 1886, 54, 54, 54, + 54, -673, -673, -673, 22, 54, 64, -673, 71, 54, + -673, 51, 54, 103, 107, 54, -673, -673, 0, -673, + 7, 164, -673, 96, -673, 118, 128, 469, -673, -673, + -673, 130, 173, -673, 122, 133, 141, 105, -673, 166, + -673, -673, -673, -673, -673, -673, 142, -673, -673, -673, + 151, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, 168, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + 123, -673, -673, -673, -673, 89, -673, -673, 180, -673, + 184, 174, 192, -673, 56, 194, 195, 199, -673, 211, + 212, 213, 214, 217, 215, 219, 221, -673, -673, -673, + 225, 234, -673, -673, -673, -673, 168, -673, -673, -673, + -673, -673, -673, -673, -673, -673, 168, -673, -673, -673, + -673, -673, -673, -673, -673, 240, -673, 245, -673, -673, + 242, -673, 342, -673, -673, -673, -673, 47, -673, -673, + -673, 2009, -673, -673, -673, -673, 246, -673, -673, -673, + -673, 344, -673, -673, 185, 247, -673, -673, -673, -673, + -673, -673, -673, -673, 341, -673, 484, 251, -673, 304, + -673, -673, -673, -673, -673, -673, 168, -673, -673, 239, + -673, -673, -673, -673, -673, -673, -673, -673, -673, 304, + 257, 262, -673, -673, -673, 54, 54, 264, 265, -673, + -673, -673, 267, -673, 342, 268, -673, -673, -673, -673, + -673, 356, -673, 263, 269, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, 226, 226, 226, 484, 168, + -673, -673, 270, 272, 260, 157, 145, 66, -673, -673, + -673, -673, -673, 56, -673, -673, -673, -673, 271, -673, + 1434, 273, 56, -673, 484, 484, 484, 254, -673, -673, + -673, -673, -673, -673, -673, 186, -673, 11, -673, -673, + -673, -673, -673, -673, -673, -673, 56, 304, -673, -673, + -673, -673, 242, 1341, 1528, 274, 283, -673, 469, -673, + -673, -673, 255, 484, 484, 484, 484, 484, 484, 484, + 484, 484, 484, 282, 54, -673, 168, 1118, -673, 837, + 484, -673, -673, -673, -673, -673, -673, -673, 484, -673, + 1478, -673, -673, -673, 387, 1025, -673, -673, -673, -673, + 69, 312, 56, 56, -673, -673, -673, -673, -673, 69, + -673, 287, -673, 288, -673, 284, -673, -673, 1212, 168, + -673, 56, 304, -673, -673, -673, -673, 296, -673, -673, + 54, -673, -673, 299, 305, 400, 308, -673, -673, 272, + 260, 157, 145, 145, 66, 66, -673, -673, -673, -673, + -673, 306, -673, -673, -673, 313, -673, -673, 1798, -673, + -673, -673, -673, 1921, -673, -673, -673, -673, -673, 314, + -673, 1833, -673, -673, 1708, -673, 315, 1434, 94, 320, + 324, 326, 303, -673, 300, -673, 311, -673, -673, -673, + 329, 331, 125, 56, 56, 56, 171, -673, 332, -673, + -673, -673, -673, -673, -673, -673, 54, 54, -673, 333, + -673, -673, -673, 1306, 931, 406, 1974, -673, 168, 342, + -673, -673, 65, 68, 345, 346, 348, 342, 349, -673, + -673, 33, -673, 48, -673, -673, 352, 353, 168, -673, + 355, 132, 1886, -673, 411, -673, -673, -673, -673, 185, + -673, 350, -673, 358, -673, 361, 362, 365, 370, -673, + 168, -673, -673, -673, -673, -673, 377, 383, 479, -673, + -673, -673, 386, -673, -673, -673, 484, -673, -673, -673, + 484, -673, 342, -673, 391, 54, -673, -673, 476, 168, + -673, -673, -673, -673, -673, -673, 70, 70, 70, -673, + 394, -673, 397, 398, 399, 401, 402, 407, -673, -673, + -673, 408, 409, 410, 412, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, 484, -673, -673, -673, 54, + -673, 413, 404, 414, -673, 441, 415, 132, -673, 420, + 421, -673, 423, 484, 424, 1590, -673, 56, -673, -673, + -673, -673, -673, -673, 507, -673, -673, -673, -673, 427, + -673, 303, 311, -673, -673, 418, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, 416, 416, -673, -673, + -673, -673, 1974, 54, -673, 484, 422, -673, -673, -673, + -673, -673, -673, -673, 425, -673, -673, -673, -673, -673, + 56, -673, -673, -673, -673, 428, 168, -673, 416, -673, + -673, 432, -673, 500, -673, -673, -673, -673, -673, -673, + -673, -673, 56, -673, 168, 440, 566, -673, 429, -673, + -673, 443, 430, 506, 505, 505, 54, 491, 445, 434, + -673, 168, 449, -673, -673, 437, -673, 505, -673, -673, + -673, 438, -673, -673, -673, -673, -673, -673, -673, -673, + -673, 494, 552, 451, 198, 505, -673, 81, 1974, -673, + 453, 454, 505, 455, 512, 54, 56, -673, -673, 475, + -673, -673, -673, -673, -673, 464, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 168, -673, 477, -673, 478, 1974, + 542, 486, 484, 483, 489, 57, -673, 238, 54, 506, + 56, 56, 481, 54, 552, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 1680, -673, -673, -673, 485, 487, + -673, -673, -673, 198, 54, 482, 488, -673, -673, -673, + -673, 56, -673, -673, -673, -673, 54, 502, 490, 515, + -673, -673, -673, -673, 496, 498, -673, -673, 527, -673 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1415,142 +1410,140 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 398, 0, 0, 0, 0, 94, 0, - 0, 510, 0, 0, 579, 599, 0, 6, 7, 42, + 294, 309, 344, 395, 0, 0, 0, 0, 94, 0, + 0, 507, 0, 0, 576, 596, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 469, 468, 471, 30, 508, 32, - 540, 542, 541, 539, 77, 558, 559, 538, 77, 34, + 20, 14, 16, 28, 466, 465, 468, 30, 505, 32, + 537, 539, 538, 536, 77, 555, 556, 535, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 475, 551, 0, 142, 138, 0, 137, + 82, 77, 0, 472, 548, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 364, - 0, 372, 377, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 361, + 0, 369, 374, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 246, 0, 249, 247, 371, 248, - 376, 0, 0, 5, 0, 211, 0, 0, 311, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 545, 554, - 0, 0, 602, 598, 39, 287, 160, 148, 152, 156, + 0, 252, 253, 250, 246, 0, 249, 247, 368, 248, + 373, 0, 0, 5, 0, 211, 0, 0, 311, 0, + 0, 0, 0, 0, 0, 0, 0, 549, 542, 551, + 0, 0, 599, 595, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, - 295, 310, 345, 399, 73, 549, 74, 0, 550, 95, - 480, 511, 0, 466, 140, 467, 580, 0, 197, 43, - 25, 0, 565, 561, 562, 567, 564, 568, 566, 563, - 560, 0, 48, 572, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, - 99, 363, 360, 368, 373, 19, 11, 214, 13, 297, - 0, 21, 15, 17, 29, 472, 31, 522, 509, 33, - 99, 0, 0, 35, 37, 606, 0, 0, 0, 0, - 89, 478, 476, 519, 139, 0, 0, 600, 212, 200, - 4, 569, 0, 573, 0, 570, 186, 187, 188, 190, - 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, - 183, 597, 161, 162, 163, 165, 167, 169, 172, 175, - 179, 184, 596, 62, 0, 114, 105, 278, 196, 0, - 365, 0, 0, 355, 0, 93, 0, 0, 0, 217, - 213, 312, 483, 526, 553, 546, 555, 603, 149, 266, - 232, 259, 260, 261, 267, 346, 400, 114, 0, 99, - 517, 512, 141, 581, 480, 0, 0, 3, 0, 49, - 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 594, 0, 76, 136, 0, - 113, 0, 0, 213, 359, 213, 213, 98, 361, 369, - 374, 0, 215, 0, 298, 302, 213, 213, 0, 114, - 105, 388, 393, 0, 504, 0, 0, 611, 386, 387, - 607, 609, 0, 613, 0, 605, 0, 213, 256, 213, - 302, 0, 479, 477, 0, 99, 587, 601, 204, 198, - 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 571, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 408, 409, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 413, - 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 0, 0, 0, 0, 0, 137, 218, 0, 219, - 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, - 0, 494, 0, 482, 484, 486, 488, 490, 492, 496, - 0, 0, 527, 0, 525, 528, 530, 0, 0, 0, - 0, 500, 499, 0, 503, 502, 0, 0, 0, 0, - 0, 0, 0, 604, 150, 0, 257, 0, 347, 352, - 213, 0, 518, 513, 586, 213, 0, 202, 210, 203, - 45, 574, 50, 0, 134, 0, 69, 0, 115, 0, - 0, 0, 0, 412, 442, 439, 440, 441, 403, 411, - 0, 0, 0, 87, 112, 103, 0, 367, 366, 0, - 356, 362, 370, 375, 0, 216, 0, 220, 0, 0, - 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, - 0, 0, 0, 481, 0, 474, 0, 0, 0, 0, - 0, 0, 532, 535, 524, 0, 0, 0, 0, 389, - 394, 498, 592, 593, 612, 608, 610, 501, 614, 0, - 383, 379, 382, 0, 353, 0, 349, 0, 91, 0, - 0, 0, 590, 0, 0, 585, 0, 0, 0, 0, - 595, 0, 132, 124, 118, 128, 126, 130, 0, 120, - 122, 414, 109, 0, 213, 223, 0, 222, 308, 305, - 0, 507, 505, 506, 495, 485, 487, 489, 491, 493, - 497, 0, 0, 529, 531, 548, 557, 0, 0, 151, - 0, 380, 258, 348, 350, 402, 514, 583, 584, 0, - 588, 589, 205, 209, 208, 0, 56, 42, 51, 55, - 0, 135, 404, 0, 358, 0, 221, 0, 314, 417, - 533, 536, 390, 395, 265, 384, 381, 213, 0, 591, - 58, 0, 0, 57, 0, 415, 357, 306, 0, 0, - 0, 449, 449, 0, 453, 262, 0, 351, 515, 0, - 52, 54, 430, 405, 449, 315, 418, 425, 0, 424, - 446, 534, 537, 391, 450, 396, 263, 385, 521, 0, - 0, 0, 449, 416, 0, 0, 420, 421, 0, 449, - 0, 457, 0, 0, 516, 578, 0, 577, 429, 443, - 444, 445, 0, 435, 436, 406, 330, 337, 335, 316, - 326, 327, 334, 426, 422, 447, 392, 451, 454, 397, - 264, 520, 59, 575, 431, 432, 0, 461, 0, 0, - 0, 0, 0, 213, 332, 0, 0, 0, 0, 0, - 0, 0, 433, 437, 458, 407, 331, 338, 336, 317, - 325, 0, 333, 427, 423, 0, 0, 455, 60, 576, - 0, 0, 0, 0, 340, 328, 448, 452, 0, 434, - 438, 459, 339, 0, 0, 0, 0, 341, 329, 456, - 465, 0, 462, 460, 463, 0, 464 + 295, 310, 345, 396, 73, 546, 74, 0, 547, 95, + 477, 508, 0, 463, 140, 464, 577, 0, 197, 43, + 25, 0, 562, 558, 559, 564, 561, 565, 563, 560, + 557, 0, 48, 569, 0, 0, 23, 96, 75, 67, + 27, 85, 271, 286, 277, 279, 0, 0, 213, 99, + 360, 357, 365, 370, 19, 11, 214, 13, 297, 0, + 21, 15, 17, 29, 469, 31, 519, 506, 33, 99, + 0, 0, 35, 37, 603, 0, 0, 0, 0, 89, + 475, 473, 516, 139, 0, 0, 597, 212, 200, 4, + 566, 0, 570, 0, 567, 186, 187, 188, 190, 193, + 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, + 594, 161, 162, 163, 165, 167, 169, 172, 175, 179, + 184, 593, 62, 0, 114, 105, 278, 196, 0, 362, + 0, 0, 0, 93, 0, 0, 0, 217, 213, 312, + 480, 523, 550, 543, 552, 600, 149, 266, 232, 259, + 260, 261, 267, 346, 397, 114, 0, 99, 514, 509, + 141, 578, 477, 0, 0, 3, 0, 49, 0, 180, + 181, 182, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 591, 0, 76, 136, 0, 113, 0, + 0, 213, 356, 213, 98, 358, 366, 371, 0, 215, + 0, 298, 302, 213, 213, 0, 114, 105, 385, 390, + 0, 501, 0, 0, 608, 383, 384, 604, 606, 0, + 610, 0, 602, 0, 213, 256, 213, 302, 0, 476, + 474, 0, 99, 584, 598, 204, 198, 0, 206, 199, + 0, 201, 207, 0, 0, 0, 0, 568, 185, 164, + 166, 168, 170, 171, 173, 174, 176, 177, 178, 213, + 63, 133, 131, 405, 406, 0, 116, 123, 0, 117, + 127, 125, 129, 0, 119, 121, 410, 111, 110, 0, + 104, 0, 106, 107, 0, 108, 0, 0, 0, 0, + 0, 0, 137, 218, 0, 219, 222, 307, 304, 303, + 0, 213, 0, 0, 0, 0, 0, 491, 0, 479, + 481, 483, 485, 487, 489, 493, 0, 0, 524, 0, + 522, 525, 527, 0, 0, 0, 0, 497, 496, 0, + 500, 499, 0, 0, 0, 0, 0, 0, 0, 601, + 150, 0, 257, 0, 347, 352, 213, 0, 515, 510, + 583, 213, 0, 202, 210, 203, 45, 571, 50, 0, + 134, 0, 69, 0, 115, 0, 0, 0, 0, 409, + 439, 436, 437, 438, 400, 408, 0, 0, 0, 87, + 112, 103, 0, 364, 363, 354, 0, 359, 367, 372, + 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, + 318, 319, 320, 321, 313, 322, 0, 0, 0, 478, + 0, 471, 0, 0, 0, 0, 0, 0, 529, 532, + 521, 0, 0, 0, 0, 386, 391, 495, 589, 590, + 609, 605, 607, 498, 611, 0, 380, 376, 379, 0, + 353, 0, 349, 0, 91, 0, 0, 0, 587, 0, + 0, 582, 0, 0, 0, 0, 592, 0, 132, 124, + 118, 128, 126, 130, 0, 120, 122, 411, 109, 0, + 223, 0, 222, 308, 305, 0, 504, 502, 503, 492, + 482, 484, 486, 488, 490, 494, 0, 0, 526, 528, + 545, 554, 0, 0, 151, 0, 377, 258, 348, 350, + 399, 511, 580, 581, 0, 585, 586, 205, 209, 208, + 0, 56, 42, 51, 55, 0, 135, 401, 0, 355, + 221, 0, 314, 414, 530, 533, 387, 392, 265, 381, + 378, 213, 0, 588, 58, 0, 0, 57, 0, 412, + 306, 0, 0, 0, 446, 446, 0, 450, 262, 0, + 351, 512, 0, 52, 54, 427, 402, 446, 315, 415, + 422, 0, 421, 443, 531, 534, 388, 447, 393, 263, + 382, 518, 0, 0, 0, 446, 413, 0, 0, 417, + 418, 0, 446, 0, 454, 0, 0, 513, 575, 0, + 574, 426, 440, 441, 442, 0, 432, 433, 403, 330, + 337, 335, 316, 326, 327, 334, 423, 419, 444, 389, + 448, 451, 394, 264, 517, 59, 572, 428, 429, 0, + 458, 0, 0, 0, 0, 0, 213, 332, 0, 0, + 0, 0, 0, 0, 0, 430, 434, 455, 404, 331, + 338, 336, 317, 325, 0, 333, 424, 420, 0, 0, + 452, 60, 573, 0, 0, 0, 0, 340, 328, 445, + 449, 0, 431, 435, 456, 339, 0, 0, 0, 0, + 341, 329, 453, 462, 0, 459, 457, 460, 0, 461 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -687, -687, 286, 293, 553, -603, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -597, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -158, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, 225, -687, - -687, 86, -687, -687, -687, 589, -687, -687, -687, -687, - -687, -687, -687, 592, -687, 257, -687, -687, -247, -687, - -687, 179, 103, -687, -687, -687, -319, -687, -360, -687, - -687, -687, -687, -687, -687, -687, -687, -340, -687, -687, - -22, -687, -687, -188, -10, -687, 17, -687, -687, -687, - -687, -191, -47, -236, -687, 220, 218, 222, -123, -122, - -176, -69, -687, -326, -687, -687, -687, -687, -687, -687, - -687, -687, 13, -89, 567, -687, -687, -687, -687, -81, - 2, 18, -687, 44, -687, -31, -304, -469, -687, -687, - -687, 4, -687, -687, -621, -151, -687, -687, -7, -687, - -66, -687, -687, -43, -42, -57, -55, -50, 239, -687, - -40, -687, -38, -687, -687, -687, -687, 175, 268, 123, - -687, -687, -687, -37, -687, -32, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -226, -687, -687, -687, -687, - -687, -225, -687, -687, -687, -687, -687, -687, -687, -41, - -687, -687, -687, -687, -687, -687, -687, -125, -687, -687, - -687, -687, -377, -687, -687, -687, -687, -687, -687, -687, - -75, -687, -687, -687, -70, -687, -687, -687, -687, -687, - -687, -687, -88, -687, -687, -333, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, 20, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -628, -687, -687, -687, -687, -687, -222, -687, - -687, -687, -687, -687, -687, -687, -687, -245, -687, -687, - -513, -687, -686, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, 22, 23, -687, - -687, -687, -687, -687, -687, -687, -687, -687, 252, -687, - -687, 107, -687, -687, -687, -687, -687, -687, -687, -332, - 203, -331, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687, 560, -687, -687, -687, -687, -687, -687, - -687, -687, -687, 250, -687, -687, -220, -687, -687, -687, - -687, -687, -687, -687, -28, -687, 272, -687, -687, 61, - -687, -687, -687, -687, -687, -687, -687, -687, -687, -687, - -687, -687, -687 + -673, -673, 295, 297, 563, -619, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -606, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -142, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, 261, -673, + -673, 58, -673, -673, -673, 598, -673, -673, -673, -673, + -673, -673, -673, 602, -673, 266, -673, -673, -246, -673, + -673, 197, 115, -673, -673, -673, -322, -673, -362, -673, + -673, -673, -673, -673, -673, -673, -673, -335, -673, -673, + -22, -673, -673, -192, -10, -673, 16, -673, -673, -673, + -673, -213, -34, -229, -673, 229, 231, 232, -109, -103, + -156, -53, -673, -320, -673, -673, -673, -673, -673, -673, + -673, -673, 13, -88, 576, -673, -673, -673, -673, -64, + 20, 6, -673, 61, -673, -31, -306, -462, -673, -673, + -673, 14, -673, -673, -617, -132, -673, -673, -7, -673, + -57, -673, -673, -45, -42, -56, -54, -50, 252, -673, + -40, -673, -38, -673, -673, -673, -673, 189, 286, 139, + -673, -673, -673, -37, -673, -32, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -204, -673, -673, -673, -673, + -673, -202, -673, -673, -673, -673, -673, -673, -673, -41, + -673, -673, -673, -673, -673, -673, -673, -105, -673, 235, + -673, -673, -673, -673, -673, -673, -673, -70, -673, -673, + -673, -69, -673, -673, -673, -673, -673, -673, -673, -67, + -673, -673, -343, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, 17, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -647, + -673, -673, -673, -673, -673, -199, -673, -673, -673, -673, + -673, -673, -673, -673, -226, -673, -673, -507, -673, -672, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, 18, 21, -673, -673, -673, -673, + -673, -673, -673, -673, -673, 275, -673, -673, 126, -673, + -673, -673, -673, -673, -673, -673, -333, 220, -328, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, + 573, -673, -673, -673, -673, -673, -673, -673, -673, -673, + 276, -673, -673, -201, -673, -673, -673, -673, -673, -673, + -673, -13, -673, 291, -673, -673, 79, -673, -673, -673, + -673, -673, -673, -673, -673, -673, -673, -673, -673, -673 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1558,45 +1551,44 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, - 314, 469, 679, 761, 738, 762, 739, 740, 779, 860, - 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, - 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, - 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, - 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, - 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, - 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, - 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, - 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, - 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, - 52, 370, 448, 663, 371, 753, 775, 812, 372, 373, + 82, 29, 84, 30, 115, 309, 464, 31, 32, 117, + 313, 466, 675, 755, 733, 756, 734, 735, 772, 853, + 33, 118, 404, 34, 35, 124, 344, 485, 36, 85, + 37, 151, 343, 38, 39, 40, 126, 345, 499, 41, + 227, 375, 567, 42, 269, 43, 102, 258, 353, 44, + 45, 409, 500, 602, 501, 502, 407, 408, 486, 585, + 596, 597, 583, 587, 586, 588, 581, 405, 481, 677, + 329, 232, 304, 109, 367, 46, 487, 83, 295, 443, + 655, 207, 330, 347, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 348, 48, 308, 383, 459, 572, 460, + 461, 674, 488, 50, 307, 357, 419, 514, 515, 613, + 516, 489, 86, 218, 296, 219, 154, 155, 156, 157, + 52, 368, 445, 659, 369, 747, 768, 805, 370, 371, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, - 619, 747, 618, 55, 88, 56, 280, 426, 700, 768, - 804, 851, 628, 829, 852, 830, 853, 894, 848, 831, - 854, 832, 850, 849, 883, 885, 893, 57, 58, 59, - 89, 298, 449, 665, 568, 666, 757, 569, 173, 269, - 416, 694, 352, 174, 356, 513, 175, 267, 413, 176, - 177, 357, 514, 178, 179, 358, 515, 180, 374, 447, - 661, 721, 662, 720, 776, 493, 438, 549, 717, 773, - 809, 439, 550, 718, 774, 811, 494, 90, 299, 450, - 667, 495, 688, 764, 802, 847, 496, 598, 508, 602, - 743, 784, 750, 769, 770, 788, 807, 856, 789, 805, - 855, 783, 800, 801, 822, 845, 880, 823, 846, 881, - 599, 824, 791, 808, 857, 795, 810, 858, 839, 859, - 888, 865, 882, 896, 901, 902, 905, 497, 498, 63, - 64, 65, 193, 362, 532, 66, 230, 379, 302, 378, - 427, 533, 636, 637, 638, 639, 640, 634, 641, 534, - 553, 535, 442, 555, 536, 537, 538, 67, 195, 68, - 105, 303, 455, 669, 758, 798, 381, 454, 814, 288, - 363, 543, 428, 544, 645, 646, 545, 711, 771, 546, - 712, 772, 69, 70, 71, 72, 73, 291, 429, 647, - 74, 75, 76, 198, 290, 77, 292, 430, 648, 78, - 251, 252, 315, 253, 816, 843, 817, 79, 111, 306, - 456, 670, 574, 575, 675, 729, 539, 255, 405, 342, - 80, 81, 112, 384, 203, 295, 444, 367, 445, 559, - 560, 558, 562 + 53, 87, 54, 187, 358, 520, 421, 521, 617, 519, + 615, 741, 614, 55, 88, 56, 279, 423, 695, 761, + 797, 844, 624, 822, 845, 823, 846, 887, 841, 824, + 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, + 89, 297, 446, 661, 564, 662, 751, 565, 173, 351, + 174, 354, 509, 175, 267, 411, 176, 177, 355, 510, + 178, 179, 356, 511, 180, 372, 444, 657, 716, 658, + 715, 769, 490, 435, 545, 712, 766, 802, 436, 546, + 713, 767, 804, 491, 90, 298, 447, 663, 492, 684, + 758, 795, 840, 493, 594, 505, 598, 738, 777, 744, + 762, 763, 781, 800, 849, 782, 798, 848, 776, 793, + 794, 815, 838, 873, 816, 839, 874, 595, 817, 784, + 801, 850, 788, 803, 851, 832, 852, 881, 858, 875, + 889, 894, 895, 898, 494, 495, 63, 64, 65, 193, + 360, 528, 66, 230, 377, 301, 376, 424, 529, 632, + 633, 634, 635, 636, 630, 637, 530, 549, 531, 439, + 551, 532, 533, 534, 67, 195, 68, 105, 302, 452, + 665, 752, 791, 379, 451, 807, 287, 361, 539, 425, + 540, 641, 642, 541, 706, 764, 542, 707, 765, 69, + 70, 71, 72, 73, 290, 426, 643, 74, 75, 76, + 198, 289, 77, 291, 427, 644, 78, 251, 252, 314, + 253, 809, 836, 810, 79, 111, 305, 453, 666, 570, + 571, 671, 724, 535, 255, 403, 341, 80, 81, 112, + 382, 203, 294, 441, 365, 442, 555, 556, 554, 558 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1604,432 +1596,430 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, - 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, - 51, 152, 60, 237, 61, 62, 211, 595, 212, 254, - 418, 419, 420, 213, 437, 440, 441, 650, 511, 512, - 209, 210, 722, 364, 304, 172, 168, 414, 169, 170, - 311, 506, 307, 664, 171, 106, 652, 106, 451, 826, - 91, 206, 216, 106, 152, 653, 47, 51, 542, 60, - 8, 61, 62, 551, 106, 217, 736, 220, 221, 222, - 223, 595, 737, -378, 751, 225, 792, 827, 828, 228, - 431, 432, 229, 394, 531, 231, -144, -145, 803, 184, - 4, 122, 122, -378, -146, 262, 264, 265, 263, 122, - 547, 527, 528, 233, 18, 765, 825, 382, 95, 660, - 433, 529, 123, 836, 8, 434, 18, 234, 435, 436, - 99, 588, 453, 114, 316, 317, 318, 319, 320, 321, - 322, 323, 107, 234, 107, 184, 184, 506, 431, 432, - 107, 184, 234, 324, 325, 188, 184, -324, -473, 736, - 197, 234, 277, 235, 197, 737, 214, 826, 326, 327, - 271, 215, 272, 328, 329, 208, 509, 234, 433, 351, - 224, 119, 226, 434, 211, 517, 212, -100, 506, 120, - 106, 213, 122, -342, 461, 827, 828, 531, 209, 210, - 431, 432, 398, 399, 752, -47, 608, -47, 573, 402, - 403, 404, 819, 820, 821, 431, 432, 400, 401, 206, - 202, -47, -47, 122, -47, -47, 479, 480, 481, -47, - 433, 827, 828, 516, 873, 434, 527, 528, 435, 436, - 94, 96, 672, 673, 674, 433, 529, 204, 595, -470, - 434, -47, -543, 435, 436, -47, 236, 391, 392, 393, - 890, 316, 317, 318, 319, 320, 321, 322, 323, -47, - 238, 423, 897, 98, 101, 475, 476, 107, 477, 478, - 324, 325, 240, 693, 239, 256, 368, 257, 259, 260, - 234, 261, 833, 275, 266, 326, 327, 268, 273, 274, - 328, 329, 276, -212, 279, 278, 281, 282, 283, 284, - 214, 285, 286, 106, 287, 215, 289, 745, 293, 208, - 294, -544, 408, 313, 510, 300, 351, 351, 211, 152, - 212, 301, 408, 863, 312, 213, 595, 526, 672, 673, - 674, 343, 209, 210, 466, 347, 350, 332, 353, 354, - 361, 380, 365, 366, 375, 388, 452, 376, 565, 383, - 567, 389, 471, 206, 396, 651, 390, 395, 412, 415, - -44, 397, 482, 657, 468, 554, 563, 595, 695, 564, - 577, 421, 172, 168, 566, 169, 170, 579, 580, 581, - 582, 171, 522, 583, 755, 586, 483, 584, 603, 49, - 609, 152, 460, 47, 51, 607, 60, 611, 61, 62, - 610, 552, 612, 556, 557, 613, 614, 615, 616, 649, - 552, 596, 106, 332, 507, 620, 597, -300, 696, 635, - 644, 654, 572, 655, -401, 656, 423, 658, 668, 677, - 530, 733, 701, 702, 703, -582, 682, 683, 684, 691, - 685, 686, 687, 578, 689, 690, 692, 698, 262, 704, - 624, 705, 706, 172, 168, 707, 169, 170, 708, 625, - 709, 626, 171, 522, 594, 596, 627, 710, 713, 714, - 597, 423, 152, 715, 716, 629, 724, 723, 152, 725, - 726, 727, 730, 316, 317, 318, 319, 320, 321, 322, - 323, 731, 732, 734, 623, 630, 631, 632, 742, 107, - 749, 744, 324, 325, 748, 759, 660, 875, 876, 763, - -419, 766, 767, 780, 785, 782, 787, 786, 594, 794, - 642, 643, 790, 329, 796, 172, 168, 799, 169, 170, - 813, 815, -428, 834, 171, 797, 838, 806, 895, 818, - 835, 861, 837, 842, 152, 864, 844, 862, 866, 868, - 886, 507, 869, 877, 892, 898, 887, 485, 899, -410, - 6, 900, 891, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 671, 12, - 903, 904, -410, -410, 13, 906, 386, 431, 432, 486, - 487, -410, 183, 387, 781, 351, 100, 14, 97, 548, - 605, 540, 719, 867, 473, 472, 746, 185, 697, 474, - 676, 541, 793, 699, 465, 570, 870, 604, 425, 872, - 22, 23, 777, 756, 874, 889, 457, 633, 199, 443, - 470, 879, 596, 728, 680, 561, 0, 597, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 0, 0, 741, - 0, 0, 0, 0, 0, -523, 106, 0, 567, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 108, 110, 172, 168, 92, 169, 170, 93, 51, 103, + 104, 171, 153, 214, 215, 49, 113, 414, 47, 60, + 61, 152, 434, 62, 237, 331, 208, 211, 310, 212, + 254, 591, 437, 213, 415, 416, 417, 438, 209, 646, + 303, 210, 717, 362, 412, 172, 168, 503, 169, 170, + 306, 660, 8, 448, 171, 51, 731, 91, 819, 106, + 745, 206, 216, 538, 152, 47, 60, 61, 648, 732, + 62, 649, 106, 106, 4, 217, 233, 220, 221, 222, + 223, 527, 819, 235, 591, 225, 820, 821, 547, 228, + 234, 759, 229, 785, 123, 231, 18, 234, 8, 392, + 95, -47, 18, -47, 543, 796, 99, -375, 114, -144, + 820, 821, 380, 262, 122, 184, 263, -47, -47, -145, + -47, -47, 119, 818, 122, -47, 584, -375, 106, 184, + 829, 450, 197, 618, 128, 129, 197, 731, 132, 133, + 134, 135, 503, 184, 184, 188, 107, -47, 12, 656, + 732, -47, 224, 122, 226, 234, -324, 120, 234, 107, + 234, -146, 276, 428, 429, -47, 122, 236, -100, -342, + 458, 214, 215, 122, 264, 265, 400, 401, 402, 204, + 350, 506, 503, 527, 208, 211, 202, 212, 106, 513, + 270, 213, 271, 430, 238, 605, 209, 606, 431, 210, + -467, 604, 428, 429, -540, 746, 569, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 239, 428, 429, 206, + 259, 184, 257, 523, 524, 240, 512, 256, 668, 106, + 260, 866, 430, 525, 812, 813, 814, 431, 669, 261, + 432, 433, 266, 670, 476, 477, 478, 430, 396, 397, + 591, 268, 431, 398, 399, 432, 433, 883, 234, 315, + 316, 317, 318, 319, 320, 321, 322, 820, 821, 890, + 420, 274, 389, 390, 391, 107, 94, 96, 323, 324, + 272, 184, 98, 101, 273, 366, 689, 472, 473, 275, + -212, 826, 277, 325, 326, 474, 475, 278, 327, 328, + 315, 316, 317, 318, 319, 320, 321, 322, 280, 281, + 282, 283, 285, 214, 215, 284, 107, 286, 288, 323, + 324, 406, 292, 507, 668, 350, 208, 211, 152, 212, + 406, 293, 856, 213, 669, 522, 591, -541, 209, 670, + 328, 210, 463, 299, 300, 106, 311, 312, 342, 346, + 331, 349, 352, 359, 449, 363, 561, 647, 563, 386, + 364, 206, 373, 374, 387, 653, 381, 395, 418, 378, + 468, 550, 388, -44, 410, 393, 413, 591, 394, 172, + 168, 690, 169, 170, 465, 479, 559, 562, 171, 518, + 51, 579, 560, 573, 480, 749, 575, 49, 152, 457, + 47, 60, 61, 577, 576, 62, 578, 610, 548, 580, + 552, 553, 582, 599, 612, 611, 603, 548, 428, 429, + 691, 607, 504, 592, 593, 608, 331, 609, 616, 568, + -300, 631, 640, 420, 696, 697, 698, 526, 645, 523, + 524, 673, 650, 651, 728, 652, 654, 678, 430, 525, + 574, -398, 664, 431, -579, 679, 432, 433, 680, 681, + 172, 168, 682, 169, 170, 620, 621, 683, 622, 171, + 518, 590, 623, 241, 685, 242, 592, 593, 420, 152, + 686, 625, 687, 688, 262, 152, -470, 106, 693, 243, + 244, 699, 245, 246, 700, 701, 702, 247, 703, 704, + 619, 626, 627, 628, 705, 708, 709, 719, 721, 710, + 737, 711, 718, 720, 722, 868, 869, 725, 726, 248, + 727, 729, 753, 249, 590, 757, 638, 639, 739, 760, + 743, 172, 168, 742, 169, 170, -416, 250, 656, 773, + 171, 778, 780, 775, 783, 779, 888, 787, 789, 792, + 152, 790, -425, 799, 806, 808, 827, 504, 315, 316, + 317, 318, 319, 320, 321, 322, 811, 5, 828, 830, + 6, 7, 8, 9, 107, 831, 835, 323, 324, 837, + 854, 855, 857, 859, 667, 861, 10, 11, 862, 12, + 885, 893, 325, 326, 13, 870, 884, 327, 328, 891, + 879, 897, 880, 899, 384, 892, 385, 14, 15, 16, + 17, 896, 183, 860, 774, 100, 18, 19, 97, 601, + 20, 714, 469, 21, 544, 470, 185, 471, 740, 694, + 22, 23, 692, 672, 786, 462, 566, 24, 25, 730, + 600, 863, 592, 593, 422, 865, 770, 882, 508, 750, + 867, 199, 629, 872, 723, 736, 440, 454, 676, 557, + 0, 26, 0, 563, 467, -53, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 590, 47, 60, 61, 0, 0, 62, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 748, 0, 754, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 106, 0, 592, 593, + 771, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 0, 0, 0, 594, 47, 51, 0, 60, - 0, 61, 62, 0, 0, 0, 0, 0, 92, 0, - 0, 754, 0, 760, 106, 6, 0, 0, 458, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, - 596, 0, 0, 0, 12, 597, 778, 141, 142, 0, + 142, 0, 0, 0, 0, 0, 92, 0, 864, 748, + 0, 0, 51, 0, 0, 0, 0, 0, 0, 592, + 593, 0, 47, 60, 61, 0, 590, 62, 0, 0, + 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 833, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, - -101, 0, 0, 92, 871, 122, 754, 0, 0, 0, - 0, 596, 0, 0, 0, 0, 597, 0, 0, 47, - 51, 0, 60, 594, 61, 62, 0, 0, 0, 0, - 0, 841, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 92, 0, 0, 840, 0, 0, 0, 0, - 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 172, 168, 0, 169, 170, 408, 408, 0, 0, 171, - 884, 0, 0, 0, 0, 485, 0, -410, 6, 152, - 878, 9, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, 10, 11, 408, 12, 0, 0, - -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, - 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 148, 149, 150, 107, 0, 0, 0, 590, 0, 0, + -101, 0, 0, 172, 168, 122, 169, 170, 406, 406, + 0, 0, 171, 877, 0, 0, 0, 0, 482, 0, + -407, 6, 152, 871, 9, -407, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, 10, 11, 406, + 12, 0, 0, -407, -407, 13, 0, 0, 428, 429, + 483, 484, -407, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 0, 0, 0, 0, 485, - -213, -410, 6, -86, 0, 9, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, -410, -410, 10, 11, - 0, 12, 0, 0, -410, -410, 13, 0, 0, 431, - 432, 486, 487, -410, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, - 0, 0, 22, 23, 622, 128, 129, 0, 0, 132, - 133, 134, 135, 0, 0, 0, 0, 0, 0, 12, - -410, -410, -410, -410, -410, -410, -410, -410, -410, 0, - 0, 0, 0, 485, -213, -410, 6, -556, 0, 9, - -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, 10, 11, 0, 12, 0, 0, -410, -410, - 13, 0, 0, 431, 432, 486, 487, -410, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, - 0, 0, 184, 0, 0, 0, 22, 23, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 0, 0, + 0, 0, 482, -213, -407, 6, -86, 0, 9, -407, + -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, + -407, 10, 11, 0, 12, 0, 0, -407, -407, 13, + 0, 0, 428, 429, 483, 484, -407, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -410, -410, -410, -410, -410, -410, - -410, -410, -410, 0, 0, 0, 0, 485, -213, -410, - 6, -68, 0, 9, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, -410, -410, 10, 11, 0, 12, - 0, 0, -410, -410, 13, 0, 0, 431, 432, 486, - 487, -410, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -407, -407, -407, -407, -407, -407, -407, + -407, -407, 0, 0, 0, 0, 482, -213, -407, 6, + -553, 0, 9, -407, -407, -407, -407, -407, -407, -407, + -407, -407, -407, -407, -407, 10, 11, 0, 12, 0, + 0, -407, -407, 13, 0, 0, 428, 429, 483, 484, + -407, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 537, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -407, -407, -407, + -407, -407, -407, -407, -407, -407, 0, 0, 0, 482, + 0, -407, 6, 0, -520, 9, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, + 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, + 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -410, -410, - -410, -410, -410, -410, -410, -410, -410, 0, 0, 0, - 0, 485, -213, -410, 6, -90, 0, 9, -410, -410, - -410, -410, -410, -410, -410, -410, -410, -410, -410, -410, - 10, 11, 0, 12, 0, 0, -410, -410, 13, 0, - 0, 431, 432, 486, 487, -410, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 0, 0, 6, 7, 8, 9, 0, 0, - 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, - 10, 11, 0, 12, 0, 0, 0, 0, 13, 0, - 0, 0, -410, -410, -410, -410, -410, -410, -410, -410, - -410, 14, 15, 16, 17, 0, -213, 0, 0, -547, - 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, - 0, 0, -2, 5, 22, 23, 6, 7, 8, 9, - 0, 24, 25, 735, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 26, 0, 0, 0, -53, - 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, - 0, 0, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 0, 22, 23, 521, 0, - 106, 0, 0, 24, 25, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, - 12, 139, 140, 141, 142, 0, 0, 26, -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, - 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, - 12, 0, 0, 0, 0, 13, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 14, 15, - 16, 17, 0, 184, 0, 0, 0, 18, 19, 0, - 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, - 5, 22, 23, 6, 7, 8, 9, 0, 24, 25, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 11, 0, 12, 0, 0, 5, 0, 13, 6, 7, - 8, 9, 26, -213, 0, 0, 0, 0, 0, 0, - 14, 15, 16, 17, 10, 11, 0, 12, 0, 18, - 19, 0, 13, 20, 0, 0, 21, 0, 0, 0, - 0, 0, 0, 22, 23, 14, 15, 16, 17, 0, - 24, 25, 735, 0, 18, 19, 0, 0, 20, 0, - 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, - 0, 0, 106, 0, 26, 24, 25, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 142, 106, 0, 26, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 0, 0, 0, 0, 139, 140, - 141, 142, 241, 0, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 243, 244, - 0, 245, 246, 0, 0, 0, 247, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 0, 0, 0, 0, 0, 184, 0, 0, 248, 0, - 0, 0, 249, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 485, 250, -410, 6, 0, - 184, 9, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, - -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, - 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 485, 0, -410, 6, 0, - 0, 9, -410, -410, -410, -410, -410, -410, -410, -410, - -410, -410, -410, -410, 10, 11, 0, 12, 0, 0, - -410, -410, 13, 0, 0, 431, 432, 486, 487, -410, - 521, 0, 106, 0, 0, 14, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 142, 0, 22, 23, + -407, -407, -407, -407, -407, -407, -407, -407, -407, 0, + 0, 0, 0, 482, -213, -407, 6, -68, 0, 9, + -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, + -407, -407, 10, 11, 0, 12, 0, 0, -407, -407, + 13, 0, 0, 428, 429, 483, 484, -407, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -410, -410, -410, -410, - -410, -410, -410, -410, -410, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 10, 11, 0, 12, 139, 140, 141, 142, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, - 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, - 0, 0, 593, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, - 0, 0, 0, 0, 0, 0, 141, 142, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 205, 0, 0, 0, 0, 0, 0, 0, - 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -407, -407, -407, -407, -407, -407, + -407, -407, -407, 0, 0, 0, 0, 482, -213, -407, + 6, -90, 0, 9, -407, -407, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, 10, 11, 0, 12, + 0, 0, -407, -407, 13, 0, 0, 428, 429, 483, + 484, -407, 0, 0, 106, 6, 0, 14, 455, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, + 0, 0, 0, 0, 12, 0, 0, 141, 142, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -407, -407, + -407, -407, -407, -407, -407, -407, -407, 0, 0, 0, + 0, 0, -213, 0, 0, -544, 0, 0, 0, 0, + 0, 0, 0, -2, 5, 0, 0, 6, 7, 8, + 9, 0, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 0, 10, 11, 0, 12, 106, 0, 0, + 456, 13, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 14, 15, 16, 17, 139, 140, + 141, 142, 0, 18, 19, 0, 0, 20, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 22, 23, 517, + 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 0, 0, 0, 0, 5, + 184, 0, 6, 7, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, + 15, 16, 17, 0, 184, 0, 0, 0, 18, 19, + 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, + 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, + 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, + 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, + 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, + 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, + 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, + 0, 24, 25, 730, 0, 18, 19, 0, 0, 20, + 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 0, 12, 139, 140, 141, 142, 0, 482, + 26, -407, 6, 0, 0, 9, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, + 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, + 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 0, 22, 23, 0, 0, 184, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -407, -407, -407, -407, -407, -407, -407, -407, -407, 482, + 0, -407, 6, 0, 0, 9, -407, -407, -407, -407, + -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, + 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, + 429, 483, 484, -407, 517, 0, 106, 0, 0, 14, + 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, + 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -407, -407, -407, -407, -407, -407, -407, -407, -407, 106, + 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, + 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, + 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, + 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, + 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, + 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 205, 0, 0, 0, + 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { - 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, - 2, 43, 2, 112, 2, 2, 83, 496, 83, 118, - 356, 357, 358, 83, 367, 367, 367, 550, 415, 416, - 83, 83, 663, 290, 232, 86, 86, 351, 86, 86, - 241, 411, 3, 3, 86, 3, 3, 3, 377, 1, - 3, 83, 84, 3, 86, 3, 49, 49, 428, 49, - 6, 49, 49, 19, 3, 85, 679, 87, 88, 89, - 90, 550, 679, 96, 712, 95, 772, 29, 30, 99, - 31, 32, 102, 329, 427, 105, 97, 97, 784, 96, - 0, 102, 102, 116, 97, 8, 8, 9, 11, 102, - 429, 52, 53, 76, 50, 743, 802, 305, 54, 116, - 61, 62, 36, 809, 6, 66, 50, 90, 69, 70, - 54, 491, 379, 100, 74, 75, 76, 77, 78, 79, - 80, 81, 90, 90, 90, 96, 96, 507, 31, 32, - 90, 96, 90, 93, 94, 22, 96, 99, 99, 762, - 74, 90, 184, 76, 78, 762, 241, 1, 108, 109, - 101, 241, 103, 113, 114, 241, 412, 90, 61, 268, - 94, 97, 96, 66, 241, 421, 241, 97, 548, 97, - 3, 241, 102, 97, 385, 29, 30, 530, 241, 241, - 31, 32, 91, 92, 717, 4, 510, 6, 455, 110, - 111, 112, 36, 37, 38, 31, 32, 108, 109, 241, - 98, 20, 21, 102, 23, 24, 402, 403, 404, 28, - 61, 29, 30, 421, 855, 66, 52, 53, 69, 70, - 15, 16, 575, 575, 575, 61, 62, 97, 717, 97, - 66, 50, 97, 69, 70, 54, 3, 326, 327, 328, - 881, 74, 75, 76, 77, 78, 79, 80, 81, 68, - 98, 360, 893, 16, 17, 398, 399, 90, 400, 401, - 93, 94, 97, 609, 98, 97, 296, 49, 98, 97, - 90, 98, 805, 97, 100, 108, 109, 100, 100, 100, - 113, 114, 97, 96, 98, 97, 97, 97, 97, 97, - 385, 98, 97, 3, 98, 385, 97, 694, 97, 385, - 97, 97, 344, 3, 413, 98, 415, 416, 385, 351, - 385, 102, 354, 846, 100, 385, 805, 426, 671, 671, - 671, 101, 385, 385, 385, 8, 100, 583, 100, 48, - 114, 102, 98, 98, 98, 3, 378, 98, 447, 98, - 449, 101, 115, 385, 106, 553, 103, 105, 103, 103, - 99, 107, 103, 561, 101, 59, 99, 846, 614, 104, - 97, 114, 423, 423, 103, 423, 423, 97, 99, 3, - 98, 423, 423, 482, 720, 99, 406, 103, 99, 386, - 103, 423, 385, 386, 386, 101, 386, 101, 386, 386, - 103, 433, 101, 435, 436, 101, 104, 115, 103, 32, - 442, 496, 3, 659, 411, 99, 496, 99, 616, 99, - 99, 97, 454, 97, 99, 97, 525, 97, 99, 30, - 427, 677, 630, 631, 632, 99, 97, 97, 97, 3, - 97, 97, 97, 463, 97, 97, 97, 97, 8, 97, - 526, 97, 97, 504, 504, 97, 504, 504, 97, 526, - 97, 526, 504, 504, 496, 550, 526, 97, 97, 97, - 550, 570, 504, 99, 99, 526, 103, 99, 510, 99, - 67, 99, 97, 74, 75, 76, 77, 78, 79, 80, - 81, 97, 97, 97, 526, 527, 528, 529, 3, 90, - 114, 101, 93, 94, 115, 97, 116, 857, 858, 97, - 36, 101, 97, 99, 98, 114, 36, 115, 550, 56, - 540, 541, 39, 114, 103, 576, 576, 100, 576, 576, - 60, 3, 115, 103, 576, 117, 63, 115, 888, 115, - 114, 103, 114, 101, 576, 40, 115, 103, 97, 102, - 115, 548, 99, 114, 102, 97, 115, 1, 115, 3, - 4, 76, 114, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, - 115, 103, 26, 27, 28, 76, 310, 31, 32, 33, - 34, 35, 49, 310, 762, 694, 17, 41, 16, 430, - 507, 45, 659, 849, 396, 395, 697, 50, 616, 397, - 576, 55, 773, 619, 385, 450, 852, 504, 360, 854, - 64, 65, 757, 721, 856, 880, 384, 530, 78, 367, - 390, 861, 717, 671, 583, 442, -1, 717, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, 681, - -1, -1, -1, -1, -1, 99, 3, -1, 757, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 22, 23, 43, 43, 14, 43, 43, 14, 2, 19, + 20, 43, 43, 83, 83, 2, 26, 352, 2, 2, + 2, 43, 365, 2, 112, 254, 83, 83, 241, 83, + 118, 493, 365, 83, 354, 355, 356, 365, 83, 546, + 232, 83, 659, 289, 350, 86, 86, 409, 86, 86, + 3, 3, 6, 375, 86, 49, 675, 3, 1, 3, + 707, 83, 84, 425, 86, 49, 49, 49, 3, 675, + 49, 3, 3, 3, 0, 85, 76, 87, 88, 89, + 90, 424, 1, 76, 546, 95, 29, 30, 19, 99, + 90, 738, 102, 765, 36, 105, 50, 90, 6, 328, + 54, 4, 50, 6, 426, 777, 54, 96, 100, 97, + 29, 30, 304, 8, 102, 96, 11, 20, 21, 97, + 23, 24, 97, 795, 102, 28, 488, 116, 3, 96, + 802, 377, 74, 8, 9, 10, 78, 756, 13, 14, + 15, 16, 504, 96, 96, 22, 90, 50, 23, 116, + 756, 54, 94, 102, 96, 90, 99, 97, 90, 90, + 90, 97, 184, 31, 32, 68, 102, 3, 97, 97, + 383, 241, 241, 102, 8, 9, 110, 111, 112, 97, + 268, 410, 544, 526, 241, 241, 98, 241, 3, 418, + 101, 241, 103, 61, 98, 101, 241, 103, 66, 241, + 97, 507, 31, 32, 97, 712, 452, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 98, 31, 32, 241, + 98, 96, 49, 52, 53, 97, 418, 97, 571, 3, + 97, 848, 61, 62, 36, 37, 38, 66, 571, 98, + 69, 70, 100, 571, 400, 401, 402, 61, 91, 92, + 712, 100, 66, 108, 109, 69, 70, 874, 90, 74, + 75, 76, 77, 78, 79, 80, 81, 29, 30, 886, + 358, 97, 325, 326, 327, 90, 15, 16, 93, 94, + 100, 96, 16, 17, 100, 295, 606, 396, 397, 97, + 96, 798, 97, 108, 109, 398, 399, 98, 113, 114, + 74, 75, 76, 77, 78, 79, 80, 81, 97, 97, + 97, 97, 97, 383, 383, 98, 90, 98, 97, 93, + 94, 343, 97, 411, 667, 413, 383, 383, 350, 383, + 352, 97, 839, 383, 667, 423, 798, 97, 383, 667, + 114, 383, 383, 98, 102, 3, 100, 3, 101, 8, + 579, 100, 48, 114, 376, 98, 444, 549, 446, 3, + 98, 383, 98, 98, 101, 557, 98, 107, 114, 102, + 115, 59, 103, 99, 103, 105, 103, 839, 106, 420, + 420, 610, 420, 420, 101, 103, 99, 103, 420, 420, + 384, 479, 104, 97, 404, 715, 97, 384, 420, 383, + 384, 384, 384, 3, 99, 384, 98, 104, 430, 103, + 432, 433, 99, 99, 103, 115, 101, 439, 31, 32, + 612, 101, 409, 493, 493, 101, 655, 101, 99, 451, + 99, 99, 99, 521, 626, 627, 628, 424, 32, 52, + 53, 30, 97, 97, 673, 97, 97, 97, 61, 62, + 460, 99, 99, 66, 99, 97, 69, 70, 97, 97, + 501, 501, 97, 501, 501, 522, 522, 97, 522, 501, + 501, 493, 522, 4, 97, 6, 546, 546, 566, 501, + 97, 522, 3, 97, 8, 507, 99, 3, 97, 20, + 21, 97, 23, 24, 97, 97, 97, 28, 97, 97, + 522, 523, 524, 525, 97, 97, 97, 103, 67, 99, + 3, 99, 99, 99, 99, 850, 851, 97, 97, 50, + 97, 97, 97, 54, 546, 97, 536, 537, 101, 97, + 114, 572, 572, 115, 572, 572, 36, 68, 116, 99, + 572, 98, 36, 114, 39, 115, 881, 56, 103, 100, + 572, 117, 115, 115, 60, 3, 103, 544, 74, 75, + 76, 77, 78, 79, 80, 81, 115, 1, 114, 114, + 4, 5, 6, 7, 90, 63, 101, 93, 94, 115, + 103, 103, 40, 97, 571, 102, 20, 21, 99, 23, + 102, 76, 108, 109, 28, 114, 114, 113, 114, 97, + 115, 103, 115, 76, 309, 115, 309, 41, 42, 43, + 44, 115, 49, 842, 756, 17, 50, 51, 16, 504, + 54, 655, 393, 57, 427, 394, 50, 395, 692, 615, + 64, 65, 612, 572, 766, 383, 447, 71, 72, 73, + 501, 845, 712, 712, 358, 847, 751, 873, 413, 716, + 849, 78, 526, 854, 667, 677, 365, 382, 579, 439, + -1, 95, -1, 751, 388, 99, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 675, -1, -1, -1, -1, -1, -1, -1, -1, + 712, 675, 675, 675, -1, -1, 675, -1, -1, -1, + -1, -1, -1, 713, -1, -1, 713, -1, 730, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3, -1, 798, 798, + 752, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, -1, -1, -1, 717, 679, 679, -1, 679, - -1, 679, 679, -1, -1, -1, -1, -1, 718, -1, - -1, 718, -1, 735, 3, 4, -1, -1, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 805, -1, -1, -1, 23, 805, 758, 26, 27, -1, + 27, -1, -1, -1, -1, -1, 766, -1, 846, 766, + -1, -1, 756, -1, -1, -1, -1, -1, -1, 839, + 839, -1, 756, 756, 756, -1, 798, 756, -1, -1, + -1, -1, -1, -1, 806, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 805, -1, -1, 805, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, - 97, -1, -1, 773, 853, 102, 773, -1, -1, -1, - -1, 846, -1, -1, -1, -1, 846, -1, -1, 762, - 762, -1, 762, 805, 762, 762, -1, -1, -1, -1, - -1, 813, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 812, -1, -1, 812, -1, -1, -1, -1, - 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 846, -1, -1, -1, -1, -1, - 871, 871, -1, 871, 871, 857, 858, -1, -1, 871, - 871, -1, -1, -1, -1, 1, -1, 3, 4, 871, - 860, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 888, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + 87, 88, 89, 90, -1, -1, -1, 839, -1, -1, + 97, -1, -1, 864, 864, 102, 864, 864, 850, 851, + -1, -1, 864, 864, -1, -1, -1, -1, 1, -1, + 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, + 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, + 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, + -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, - 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, + -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, + 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, + 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, + -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, - -1, -1, 64, 65, 8, 9, 10, -1, -1, 13, - 14, 15, 16, -1, -1, -1, -1, -1, -1, 23, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, -1, 96, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 34, 35, -1, -1, 3, 4, -1, 41, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + -1, -1, -1, -1, 23, -1, -1, 26, 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, + -1, -1, 96, -1, -1, 99, -1, -1, -1, -1, + -1, -1, -1, 0, 1, -1, -1, 4, 5, 6, + 7, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, -1, 20, 21, -1, 23, 3, -1, -1, + 99, 28, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 41, 42, 43, 44, 24, 25, + 26, 27, -1, 50, 51, -1, -1, 54, -1, -1, + 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, + -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, + 96, -1, 4, 5, 6, 7, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, + 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, + -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, + -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, + 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, + 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, + -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, + 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, + -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, + -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, + -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, - -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, - -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, - -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, + 20, 21, -1, 23, 24, 25, 26, 27, -1, 1, + 95, 3, 4, -1, -1, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, + -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 41, 42, 43, 44, -1, 96, -1, -1, 99, - 50, 51, -1, -1, 54, -1, -1, 57, -1, -1, - -1, -1, 0, 1, 64, 65, 4, 5, 6, 7, - -1, 71, 72, 73, -1, -1, -1, -1, -1, -1, - -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, - 28, -1, -1, -1, -1, 95, -1, -1, -1, 99, - -1, -1, -1, 41, 42, 43, 44, -1, -1, -1, - -1, -1, 50, 51, -1, -1, 54, -1, -1, 57, - -1, -1, -1, -1, -1, -1, 64, 65, 1, -1, - 3, -1, -1, 71, 72, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, - 23, 24, 25, 26, 27, -1, -1, 95, 96, -1, + 90, -1, 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, - -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 20, 21, -1, - 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 41, 42, - 43, 44, -1, 96, -1, -1, -1, 50, 51, -1, - -1, 54, -1, -1, 57, -1, -1, -1, -1, -1, - 1, 64, 65, 4, 5, 6, 7, -1, 71, 72, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, - 21, -1, 23, -1, -1, 1, -1, 28, 4, 5, - 6, 7, 95, 96, -1, -1, -1, -1, -1, -1, - 41, 42, 43, 44, 20, 21, -1, 23, -1, 50, - 51, -1, 28, 54, -1, -1, 57, -1, -1, -1, - -1, -1, -1, 64, 65, 41, 42, 43, 44, -1, - 71, 72, 73, -1, 50, 51, -1, -1, 54, -1, - -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, - -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, 27, 3, -1, 95, - -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, - 26, 27, 4, -1, 6, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, 24, -1, -1, -1, 28, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - -1, -1, -1, -1, -1, 96, -1, -1, 50, -1, - -1, -1, 54, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 1, 68, 3, 4, -1, - 96, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 1, + -1, 3, 4, -1, -1, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, 1, -1, 3, -1, -1, 41, + -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, + 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 1, -1, 3, 4, -1, - -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - 1, -1, 3, -1, -1, 41, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, 27, -1, 64, 65, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, + -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, + -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, + 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, + -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, - -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, -1, 26, 27, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, - -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, - -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, + 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90 + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2042,91 +2032,90 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 364, 415, 416, 417, 418, 419, 423, 445, 447, 470, - 471, 472, 473, 474, 478, 479, 480, 483, 487, 495, - 508, 509, 138, 215, 140, 167, 250, 279, 292, 318, - 365, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 448, 3, 90, 208, 211, - 208, 496, 510, 212, 100, 142, 131, 147, 159, 97, + 361, 412, 413, 414, 415, 416, 420, 442, 444, 467, + 468, 469, 470, 471, 475, 476, 477, 480, 484, 492, + 505, 506, 138, 215, 140, 167, 250, 279, 292, 318, + 362, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 445, 3, 90, 208, 211, + 208, 493, 507, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 331, 334, 337, 338, 341, 342, - 345, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 420, 134, 446, 135, 169, 481, 481, - 136, 137, 98, 512, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 338, 342, 208, 212, 251, 253, + 291, 293, 317, 326, 328, 331, 334, 335, 338, 339, + 342, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 417, 134, 443, 135, 169, 478, 478, + 136, 137, 98, 509, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 335, 339, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 424, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 421, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 488, 489, 491, 241, 505, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 335, 100, 327, - 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, - 294, 97, 97, 97, 97, 98, 97, 98, 457, 97, - 482, 475, 484, 97, 97, 513, 216, 252, 319, 366, - 98, 102, 426, 449, 211, 210, 497, 3, 242, 233, - 143, 219, 100, 3, 148, 490, 74, 75, 76, 77, - 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, - 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 507, 101, 170, 164, 175, 8, 221, 231, - 100, 241, 330, 100, 48, 186, 332, 339, 343, 243, - 282, 114, 421, 458, 186, 98, 98, 515, 212, 212, - 259, 262, 266, 267, 346, 98, 98, 179, 427, 425, - 102, 454, 211, 98, 511, 234, 120, 121, 3, 101, - 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, - 108, 109, 110, 111, 112, 506, 160, 205, 208, 194, - 195, 189, 103, 336, 254, 103, 328, 205, 231, 231, - 231, 114, 244, 241, 284, 286, 295, 428, 460, 476, - 485, 31, 32, 61, 66, 69, 70, 353, 354, 359, - 437, 439, 440, 504, 514, 516, 217, 347, 260, 320, - 367, 194, 208, 186, 455, 450, 498, 426, 7, 99, - 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, - 491, 115, 223, 224, 225, 226, 226, 227, 227, 228, - 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, - 214, 240, 249, 353, 364, 369, 374, 415, 416, 45, - 46, 47, 176, 190, 192, 193, 196, 240, 376, 221, - 241, 330, 330, 333, 340, 344, 211, 221, 245, 246, - 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, - 240, 353, 422, 429, 437, 439, 442, 443, 444, 504, - 45, 55, 196, 459, 461, 464, 467, 194, 189, 355, - 360, 19, 208, 438, 59, 441, 208, 208, 519, 517, - 518, 438, 520, 99, 104, 241, 103, 241, 322, 325, - 285, 180, 208, 186, 500, 501, 236, 97, 212, 97, - 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, - 202, 201, 203, 35, 208, 255, 338, 342, 375, 398, - 198, 199, 377, 99, 287, 190, 191, 101, 254, 103, - 103, 101, 101, 101, 104, 115, 103, 247, 290, 288, - 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, - 208, 208, 208, 429, 435, 99, 430, 431, 432, 433, - 434, 436, 212, 212, 99, 462, 463, 477, 486, 32, - 398, 211, 3, 3, 97, 97, 97, 211, 97, 218, - 116, 348, 350, 261, 3, 321, 323, 368, 99, 451, - 499, 240, 353, 437, 439, 502, 251, 30, 239, 150, - 507, 207, 97, 97, 97, 97, 97, 97, 370, 97, - 97, 3, 97, 231, 329, 221, 211, 248, 97, 259, - 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, - 97, 465, 468, 97, 97, 99, 99, 356, 361, 220, - 351, 349, 262, 99, 103, 99, 67, 99, 502, 503, - 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, - 155, 208, 3, 378, 101, 330, 247, 289, 115, 114, - 380, 380, 398, 263, 266, 231, 350, 324, 452, 97, - 208, 151, 153, 97, 371, 380, 101, 97, 297, 381, - 382, 466, 469, 357, 362, 264, 352, 325, 208, 156, - 99, 154, 114, 389, 379, 98, 115, 36, 383, 386, - 39, 400, 400, 263, 56, 403, 103, 117, 453, 100, - 390, 391, 372, 400, 298, 387, 115, 384, 401, 358, - 404, 363, 265, 60, 456, 3, 492, 494, 115, 36, - 37, 38, 392, 395, 399, 400, 1, 29, 30, 301, - 303, 307, 309, 398, 103, 114, 400, 114, 63, 406, - 266, 208, 101, 493, 115, 393, 396, 373, 306, 311, - 310, 299, 302, 304, 308, 388, 385, 402, 405, 407, - 157, 103, 103, 398, 40, 409, 97, 221, 102, 99, - 303, 241, 309, 262, 386, 205, 205, 114, 212, 494, - 394, 397, 410, 312, 253, 313, 115, 115, 408, 395, - 262, 114, 102, 314, 305, 205, 411, 262, 97, 115, - 76, 412, 413, 115, 103, 414, 76 + 68, 485, 486, 488, 241, 502, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 332, 100, 182, + 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, + 97, 97, 97, 97, 98, 97, 98, 454, 97, 479, + 472, 481, 97, 97, 510, 216, 252, 319, 363, 98, + 102, 423, 446, 211, 210, 494, 3, 242, 233, 143, + 219, 100, 3, 148, 487, 74, 75, 76, 77, 78, + 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 504, 101, 170, 164, 175, 8, 221, 231, 100, + 241, 327, 48, 186, 329, 336, 340, 243, 282, 114, + 418, 455, 186, 98, 98, 512, 212, 212, 259, 262, + 266, 267, 343, 98, 98, 179, 424, 422, 102, 451, + 211, 98, 508, 234, 120, 121, 3, 101, 103, 229, + 229, 229, 221, 105, 106, 107, 91, 92, 108, 109, + 110, 111, 112, 503, 160, 205, 208, 194, 195, 189, + 103, 333, 254, 103, 205, 231, 231, 231, 114, 244, + 241, 284, 286, 295, 425, 457, 473, 482, 31, 32, + 61, 66, 69, 70, 350, 351, 356, 434, 436, 437, + 501, 511, 513, 217, 344, 260, 320, 364, 194, 208, + 186, 452, 447, 495, 423, 7, 99, 214, 219, 235, + 237, 238, 276, 317, 144, 101, 149, 488, 115, 223, + 224, 225, 226, 226, 227, 227, 228, 228, 228, 103, + 212, 206, 1, 33, 34, 165, 196, 214, 240, 249, + 350, 361, 366, 371, 412, 413, 45, 46, 47, 176, + 190, 192, 193, 196, 240, 373, 221, 241, 327, 330, + 337, 341, 211, 221, 245, 246, 248, 1, 253, 287, + 283, 285, 241, 52, 53, 62, 240, 350, 419, 426, + 434, 436, 439, 440, 441, 501, 45, 55, 196, 456, + 458, 461, 464, 194, 189, 352, 357, 19, 208, 435, + 59, 438, 208, 208, 516, 514, 515, 435, 517, 99, + 104, 241, 103, 241, 322, 325, 285, 180, 208, 186, + 497, 498, 236, 97, 212, 97, 99, 3, 98, 241, + 103, 204, 99, 200, 196, 197, 202, 201, 203, 35, + 208, 255, 335, 339, 372, 395, 198, 199, 374, 99, + 287, 190, 191, 101, 254, 101, 103, 101, 101, 101, + 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, + 268, 273, 274, 275, 300, 317, 208, 208, 208, 426, + 432, 99, 427, 428, 429, 430, 431, 433, 212, 212, + 99, 459, 460, 474, 483, 32, 395, 211, 3, 3, + 97, 97, 97, 211, 97, 218, 116, 345, 347, 261, + 3, 321, 323, 365, 99, 448, 496, 240, 350, 434, + 436, 499, 251, 30, 239, 150, 504, 207, 97, 97, + 97, 97, 97, 97, 367, 97, 97, 3, 97, 231, + 221, 211, 248, 97, 259, 296, 211, 211, 211, 97, + 97, 97, 97, 97, 97, 97, 462, 465, 97, 97, + 99, 99, 353, 358, 220, 348, 346, 262, 99, 103, + 99, 67, 99, 499, 500, 97, 97, 97, 221, 97, + 73, 123, 139, 152, 154, 155, 208, 3, 375, 101, + 247, 289, 115, 114, 377, 377, 395, 263, 266, 231, + 347, 324, 449, 97, 208, 151, 153, 97, 368, 377, + 97, 297, 378, 379, 463, 466, 354, 359, 264, 349, + 325, 208, 156, 99, 154, 114, 386, 376, 98, 115, + 36, 380, 383, 39, 397, 397, 263, 56, 400, 103, + 117, 450, 100, 387, 388, 369, 397, 298, 384, 115, + 381, 398, 355, 401, 360, 265, 60, 453, 3, 489, + 491, 115, 36, 37, 38, 389, 392, 396, 397, 1, + 29, 30, 301, 303, 307, 309, 395, 103, 114, 397, + 114, 63, 403, 266, 208, 101, 490, 115, 390, 393, + 370, 306, 311, 310, 299, 302, 304, 308, 385, 382, + 399, 402, 404, 157, 103, 103, 395, 40, 406, 97, + 221, 102, 99, 303, 241, 309, 262, 383, 205, 205, + 114, 212, 491, 391, 394, 407, 312, 253, 313, 115, + 115, 405, 392, 262, 114, 102, 314, 305, 205, 408, + 262, 97, 115, 76, 409, 410, 115, 103, 411, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2167,33 +2156,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 328, 329, 326, 326, 330, - 332, 333, 331, 331, 335, 336, 334, 337, 339, 340, - 338, 338, 341, 343, 344, 342, 342, 345, 347, 346, - 348, 349, 349, 351, 352, 350, 353, 353, 355, 356, - 357, 358, 354, 360, 361, 362, 363, 359, 365, 366, - 367, 368, 364, 370, 371, 372, 373, 369, 374, 374, - 374, 375, 375, 377, 378, 379, 376, 381, 380, 382, - 380, 383, 385, 384, 384, 387, 388, 386, 390, 389, - 391, 389, 392, 394, 393, 393, 396, 397, 395, 398, - 398, 398, 398, 399, 399, 399, 401, 402, 400, 400, - 404, 405, 403, 403, 407, 408, 406, 406, 410, 411, - 409, 409, 412, 414, 413, 413, 415, 416, 417, 417, - 418, 420, 421, 422, 419, 424, 425, 423, 427, 426, - 426, 428, 428, 428, 430, 429, 431, 429, 432, 429, - 433, 429, 434, 429, 435, 429, 436, 429, 437, 438, - 438, 439, 440, 441, 441, 442, 443, 444, 446, 445, - 448, 449, 450, 451, 452, 453, 447, 455, 454, 454, - 456, 456, 458, 459, 457, 460, 460, 461, 462, 461, - 463, 461, 465, 466, 464, 468, 469, 467, 470, 470, - 470, 471, 471, 472, 473, 475, 476, 477, 474, 478, - 479, 480, 482, 481, 484, 485, 486, 483, 487, 487, - 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, - 489, 490, 490, 491, 491, 492, 493, 493, 494, 496, - 497, 498, 499, 495, 500, 500, 501, 501, 502, 502, - 503, 502, 504, 504, 505, 506, 506, 507, 508, 510, - 511, 509, 513, 514, 512, 515, 515, 517, 516, 518, - 516, 519, 516, 520, 516 + 324, 323, 323, 325, 326, 326, 327, 329, 330, 328, + 328, 332, 333, 331, 334, 336, 337, 335, 335, 338, + 340, 341, 339, 339, 342, 344, 343, 345, 346, 346, + 348, 349, 347, 350, 350, 352, 353, 354, 355, 351, + 357, 358, 359, 360, 356, 362, 363, 364, 365, 361, + 367, 368, 369, 370, 366, 371, 371, 371, 372, 372, + 374, 375, 376, 373, 378, 377, 379, 377, 380, 382, + 381, 381, 384, 385, 383, 387, 386, 388, 386, 389, + 391, 390, 390, 393, 394, 392, 395, 395, 395, 395, + 396, 396, 396, 398, 399, 397, 397, 401, 402, 400, + 400, 404, 405, 403, 403, 407, 408, 406, 406, 409, + 411, 410, 410, 412, 413, 414, 414, 415, 417, 418, + 419, 416, 421, 422, 420, 424, 423, 423, 425, 425, + 425, 427, 426, 428, 426, 429, 426, 430, 426, 431, + 426, 432, 426, 433, 426, 434, 435, 435, 436, 437, + 438, 438, 439, 440, 441, 443, 442, 445, 446, 447, + 448, 449, 450, 444, 452, 451, 451, 453, 453, 455, + 456, 454, 457, 457, 458, 459, 458, 460, 458, 462, + 463, 461, 465, 466, 464, 467, 467, 467, 468, 468, + 469, 470, 472, 473, 474, 471, 475, 476, 477, 479, + 478, 481, 482, 483, 480, 484, 484, 485, 485, 485, + 485, 485, 485, 485, 485, 485, 485, 486, 487, 487, + 488, 488, 489, 490, 490, 491, 493, 494, 495, 496, + 492, 497, 497, 498, 498, 499, 499, 500, 499, 501, + 501, 502, 503, 503, 504, 505, 507, 508, 506, 510, + 511, 509, 512, 512, 514, 513, 515, 513, 516, 513, + 517, 513 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2234,33 +2223,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 0, 0, 9, 8, 2, - 0, 0, 6, 2, 0, 0, 6, 6, 0, 0, - 6, 1, 1, 0, 0, 6, 1, 1, 0, 4, - 2, 2, 0, 0, 0, 5, 1, 1, 0, 0, - 0, 0, 9, 0, 0, 0, 0, 9, 0, 0, - 0, 0, 9, 0, 0, 0, 0, 10, 1, 1, - 0, 1, 1, 0, 0, 0, 7, 0, 3, 0, - 4, 2, 0, 4, 0, 0, 0, 5, 0, 3, - 0, 4, 2, 0, 4, 0, 0, 0, 5, 1, - 1, 1, 1, 1, 1, 1, 0, 0, 6, 0, - 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, - 6, 0, 2, 0, 4, 0, 3, 3, 1, 1, - 2, 0, 0, 0, 7, 0, 0, 6, 0, 3, - 0, 3, 2, 0, 0, 3, 0, 3, 0, 3, - 0, 3, 0, 3, 0, 3, 0, 3, 3, 1, - 1, 3, 2, 1, 0, 3, 3, 3, 0, 3, - 0, 0, 0, 0, 0, 0, 13, 0, 3, 0, - 2, 0, 0, 0, 5, 2, 0, 1, 0, 3, - 0, 3, 0, 0, 6, 0, 0, 6, 1, 1, - 1, 1, 1, 2, 3, 0, 0, 0, 8, 3, - 3, 2, 0, 3, 0, 0, 0, 8, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 3, 0, 2, 5, 2, 3, 0, 1, 0, - 0, 0, 0, 9, 3, 2, 1, 0, 2, 2, - 0, 3, 3, 3, 3, 4, 0, 1, 2, 0, - 0, 6, 0, 0, 5, 2, 0, 0, 3, 0, - 3, 0, 3, 0, 3 + 0, 4, 0, 2, 6, 8, 2, 0, 0, 6, + 2, 0, 0, 6, 6, 0, 0, 6, 1, 1, + 0, 0, 6, 1, 1, 0, 4, 2, 2, 0, + 0, 0, 5, 1, 1, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 10, 1, 1, 0, 1, 1, + 0, 0, 0, 7, 0, 3, 0, 4, 2, 0, + 4, 0, 0, 0, 5, 0, 3, 0, 4, 2, + 0, 4, 0, 0, 0, 5, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 6, 0, 0, 0, 6, + 0, 0, 0, 6, 0, 0, 0, 6, 0, 2, + 0, 4, 0, 3, 3, 1, 1, 2, 0, 0, + 0, 7, 0, 0, 6, 0, 3, 0, 3, 2, + 0, 0, 3, 0, 3, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 3, 3, 1, 1, 3, 2, + 1, 0, 3, 3, 3, 0, 3, 0, 0, 0, + 0, 0, 0, 13, 0, 3, 0, 2, 0, 0, + 0, 5, 2, 0, 1, 0, 3, 0, 3, 0, + 0, 6, 0, 0, 6, 1, 1, 1, 1, 1, + 2, 3, 0, 0, 0, 8, 3, 3, 2, 0, + 3, 0, 0, 0, 8, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 3, 0, + 2, 5, 2, 3, 0, 1, 0, 0, 0, 0, + 9, 3, 2, 1, 0, 2, 2, 0, 3, 3, + 3, 3, 4, 0, 1, 2, 0, 0, 6, 0, + 0, 5, 2, 0, 0, 3, 0, 3, 0, 3, + 0, 3 }; @@ -2739,7 +2728,7 @@ yyparse (void) } delete annotations; } -#line 2743 "fe/idl.tab.cpp" +#line 2732 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2747,7 +2736,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2751 "fe/idl.tab.cpp" +#line 2740 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2755,7 +2744,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2759 "fe/idl.tab.cpp" +#line 2748 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2763,7 +2752,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2767 "fe/idl.tab.cpp" +#line 2756 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2771,7 +2760,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2775 "fe/idl.tab.cpp" +#line 2764 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2779,7 +2768,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2783 "fe/idl.tab.cpp" +#line 2772 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2787,7 +2776,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2791 "fe/idl.tab.cpp" +#line 2780 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2795,7 +2784,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2799 "fe/idl.tab.cpp" +#line 2788 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2803,7 +2792,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2807 "fe/idl.tab.cpp" +#line 2796 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2811,7 +2800,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2815 "fe/idl.tab.cpp" +#line 2804 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2819,7 +2808,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2823 "fe/idl.tab.cpp" +#line 2812 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2827,7 +2816,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2831 "fe/idl.tab.cpp" +#line 2820 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2835,7 +2824,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2839 "fe/idl.tab.cpp" +#line 2828 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2843,7 +2832,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2847 "fe/idl.tab.cpp" +#line 2836 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2851,7 +2840,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2855 "fe/idl.tab.cpp" +#line 2844 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2859,7 +2848,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2863 "fe/idl.tab.cpp" +#line 2852 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2867,7 +2856,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2871 "fe/idl.tab.cpp" +#line 2860 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2875,7 +2864,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2879 "fe/idl.tab.cpp" +#line 2868 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2883,7 +2872,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2887 "fe/idl.tab.cpp" +#line 2876 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2891,7 +2880,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2895 "fe/idl.tab.cpp" +#line 2884 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2899,7 +2888,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2903 "fe/idl.tab.cpp" +#line 2892 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2907,7 +2896,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2911 "fe/idl.tab.cpp" +#line 2900 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2915,7 +2904,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2919 "fe/idl.tab.cpp" +#line 2908 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2923,7 +2912,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2927 "fe/idl.tab.cpp" +#line 2916 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2931,7 +2920,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2935 "fe/idl.tab.cpp" +#line 2924 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2939,7 +2928,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2943 "fe/idl.tab.cpp" +#line 2932 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2947,7 +2936,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2951 "fe/idl.tab.cpp" +#line 2940 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2955,7 +2944,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2959 "fe/idl.tab.cpp" +#line 2948 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2963,7 +2952,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2967 "fe/idl.tab.cpp" +#line 2956 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2971,7 +2960,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2975 "fe/idl.tab.cpp" +#line 2964 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -2981,7 +2970,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 2985 "fe/idl.tab.cpp" +#line 2974 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -2989,7 +2978,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2993 "fe/idl.tab.cpp" +#line 2982 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -2997,7 +2986,7 @@ yyparse (void) { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3001 "fe/idl.tab.cpp" +#line 2990 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3040,7 +3029,7 @@ yyparse (void) (yyval.dcval) = m; } -#line 3044 "fe/idl.tab.cpp" +#line 3033 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3048,7 +3037,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3052 "fe/idl.tab.cpp" +#line 3041 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3056,7 +3045,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3060 "fe/idl.tab.cpp" +#line 3049 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3070,7 +3059,7 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3074 "fe/idl.tab.cpp" +#line 3063 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3078,7 +3067,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3082 "fe/idl.tab.cpp" +#line 3071 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3096,7 +3085,7 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3100 "fe/idl.tab.cpp" +#line 3089 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3110,7 +3099,7 @@ yyparse (void) return 1; } } -#line 3114 "fe/idl.tab.cpp" +#line 3103 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3144,7 +3133,7 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3148 "fe/idl.tab.cpp" +#line 3137 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3152,7 +3141,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3156 "fe/idl.tab.cpp" +#line 3145 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3160,7 +3149,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3164 "fe/idl.tab.cpp" +#line 3153 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3183,7 +3172,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3187 "fe/idl.tab.cpp" +#line 3176 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3192,7 +3181,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3196 "fe/idl.tab.cpp" +#line 3185 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3201,7 +3190,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3205 "fe/idl.tab.cpp" +#line 3194 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3283,7 +3272,7 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3287 "fe/idl.tab.cpp" +#line 3276 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3292,7 +3281,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3296 "fe/idl.tab.cpp" +#line 3285 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3301,7 +3290,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3305 "fe/idl.tab.cpp" +#line 3294 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3369,7 +3358,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3373 "fe/idl.tab.cpp" +#line 3362 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3411,7 +3400,7 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3415 "fe/idl.tab.cpp" +#line 3404 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3419,7 +3408,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3423 "fe/idl.tab.cpp" +#line 3412 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3427,7 +3416,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3431 "fe/idl.tab.cpp" +#line 3420 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3441,7 +3430,7 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3445 "fe/idl.tab.cpp" +#line 3434 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3449,7 +3438,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3453 "fe/idl.tab.cpp" +#line 3442 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3458,7 +3447,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3462 "fe/idl.tab.cpp" +#line 3451 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3498,7 +3487,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3502 "fe/idl.tab.cpp" +#line 3491 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3531,7 +3520,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3535 "fe/idl.tab.cpp" +#line 3524 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3564,7 +3553,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3568 "fe/idl.tab.cpp" +#line 3557 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3572,7 +3561,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3576 "fe/idl.tab.cpp" +#line 3565 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3581,7 +3570,7 @@ yyparse (void) (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3585 "fe/idl.tab.cpp" +#line 3574 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3589,7 +3578,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3593 "fe/idl.tab.cpp" +#line 3582 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3598,7 +3587,7 @@ yyparse (void) idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3602 "fe/idl.tab.cpp" +#line 3591 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3649,7 +3638,7 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3653 "fe/idl.tab.cpp" +#line 3642 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3657,7 +3646,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3661 "fe/idl.tab.cpp" +#line 3650 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3665,7 +3654,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3669 "fe/idl.tab.cpp" +#line 3658 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3690,7 +3679,7 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3694 "fe/idl.tab.cpp" +#line 3683 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3737,7 +3726,7 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3741 "fe/idl.tab.cpp" +#line 3730 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3745,7 +3734,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3749 "fe/idl.tab.cpp" +#line 3738 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3753,7 +3742,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3757 "fe/idl.tab.cpp" +#line 3746 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3768,7 +3757,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3772 "fe/idl.tab.cpp" +#line 3761 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3776,7 +3765,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3780 "fe/idl.tab.cpp" +#line 3769 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3811,7 +3800,7 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3815 "fe/idl.tab.cpp" +#line 3804 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3819,7 +3808,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3823 "fe/idl.tab.cpp" +#line 3812 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3828,7 +3817,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3832 "fe/idl.tab.cpp" +#line 3821 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3836,7 +3825,7 @@ yyparse (void) { (yyval.bval) = true; } -#line 3840 "fe/idl.tab.cpp" +#line 3829 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3844,7 +3833,7 @@ yyparse (void) { (yyval.bval) = false; } -#line 3848 "fe/idl.tab.cpp" +#line 3837 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3852,7 +3841,7 @@ yyparse (void) { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3856 "fe/idl.tab.cpp" +#line 3845 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3860,7 +3849,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3864 "fe/idl.tab.cpp" +#line 3853 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3887,7 +3876,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3891 "fe/idl.tab.cpp" +#line 3880 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3916,7 +3905,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3920 "fe/idl.tab.cpp" +#line 3909 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -3983,7 +3972,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3987 "fe/idl.tab.cpp" +#line 3976 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -4006,7 +3995,7 @@ yyparse (void) delete annotations; delete decls; } -#line 4010 "fe/idl.tab.cpp" +#line 3999 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4014,7 +4003,7 @@ yyparse (void) { delete (yyvsp[0].decls_val); } -#line 4018 "fe/idl.tab.cpp" +#line 4007 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4029,7 +4018,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4033 "fe/idl.tab.cpp" +#line 4022 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4044,7 +4033,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4048 "fe/idl.tab.cpp" +#line 4037 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4052,7 +4041,7 @@ yyparse (void) { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4056 "fe/idl.tab.cpp" +#line 4045 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4060,7 +4049,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4064 "fe/idl.tab.cpp" +#line 4053 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4068,7 +4057,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4072 "fe/idl.tab.cpp" +#line 4061 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4090,7 +4079,7 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4094 "fe/idl.tab.cpp" +#line 4083 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4109,7 +4098,7 @@ yyparse (void) } delete annotations; } -#line 4113 "fe/idl.tab.cpp" +#line 4102 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4117,7 +4106,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4121 "fe/idl.tab.cpp" +#line 4110 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4125,7 +4114,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4129 "fe/idl.tab.cpp" +#line 4118 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4133,7 +4122,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4137 "fe/idl.tab.cpp" +#line 4126 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4141,7 +4130,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4145 "fe/idl.tab.cpp" +#line 4134 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4149,7 +4138,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4153 "fe/idl.tab.cpp" +#line 4142 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4157,7 +4146,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4161 "fe/idl.tab.cpp" +#line 4150 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4165,7 +4154,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4169 "fe/idl.tab.cpp" +#line 4158 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4173,7 +4162,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4177 "fe/idl.tab.cpp" +#line 4166 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4181,7 +4170,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4185 "fe/idl.tab.cpp" +#line 4174 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4189,7 +4178,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4193 "fe/idl.tab.cpp" +#line 4182 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4197,7 +4186,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4201 "fe/idl.tab.cpp" +#line 4190 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4205,7 +4194,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4209 "fe/idl.tab.cpp" +#line 4198 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4213,7 +4202,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4217 "fe/idl.tab.cpp" +#line 4206 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4221,7 +4210,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4225 "fe/idl.tab.cpp" +#line 4214 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4229,7 +4218,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4233 "fe/idl.tab.cpp" +#line 4222 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4239,7 +4228,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 4243 "fe/idl.tab.cpp" +#line 4232 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4250,7 +4239,7 @@ yyparse (void) (yyvsp[0].nlval)), 1); } -#line 4254 "fe/idl.tab.cpp" +#line 4243 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4258,7 +4247,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4262 "fe/idl.tab.cpp" +#line 4251 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4282,7 +4271,7 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4286 "fe/idl.tab.cpp" +#line 4275 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4290,7 +4279,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 4294 "fe/idl.tab.cpp" +#line 4283 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4303,7 +4292,7 @@ yyparse (void) 0), 1); } -#line 4307 "fe/idl.tab.cpp" +#line 4296 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4311,7 +4300,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4315 "fe/idl.tab.cpp" +#line 4304 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4335,7 +4324,7 @@ yyparse (void) sn), 1); } -#line 4339 "fe/idl.tab.cpp" +#line 4328 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4349,7 +4338,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4353 "fe/idl.tab.cpp" +#line 4342 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4365,7 +4354,7 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4369 "fe/idl.tab.cpp" +#line 4358 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4377,7 +4366,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4381 "fe/idl.tab.cpp" +#line 4370 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4389,7 +4378,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4393 "fe/idl.tab.cpp" +#line 4382 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4436,7 +4425,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4440 "fe/idl.tab.cpp" +#line 4429 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4466,7 +4455,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4470 "fe/idl.tab.cpp" +#line 4459 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4498,7 +4487,7 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4502 "fe/idl.tab.cpp" +#line 4491 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4506,7 +4495,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4510 "fe/idl.tab.cpp" +#line 4499 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4514,7 +4503,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4518 "fe/idl.tab.cpp" +#line 4507 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4522,7 +4511,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4526 "fe/idl.tab.cpp" +#line 4515 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4530,7 +4519,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4534 "fe/idl.tab.cpp" +#line 4523 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4590,7 +4579,7 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4594 "fe/idl.tab.cpp" +#line 4583 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4598,7 +4587,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_string; } -#line 4602 "fe/idl.tab.cpp" +#line 4591 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4606,7 +4595,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4610 "fe/idl.tab.cpp" +#line 4599 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4676,7 +4665,7 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4680 "fe/idl.tab.cpp" +#line 4669 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4689,7 +4678,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4693 "fe/idl.tab.cpp" +#line 4682 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4702,7 +4691,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4706 "fe/idl.tab.cpp" +#line 4695 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4715,7 +4704,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4719 "fe/idl.tab.cpp" +#line 4708 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4728,7 +4717,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4732 "fe/idl.tab.cpp" +#line 4721 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4741,7 +4730,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4745 "fe/idl.tab.cpp" +#line 4734 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4754,7 +4743,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4758 "fe/idl.tab.cpp" +#line 4747 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4767,7 +4756,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4771 "fe/idl.tab.cpp" +#line 4760 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4780,7 +4769,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4784 "fe/idl.tab.cpp" +#line 4773 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4793,7 +4782,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4797 "fe/idl.tab.cpp" +#line 4786 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4806,7 +4795,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4810 "fe/idl.tab.cpp" +#line 4799 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4819,7 +4808,7 @@ yyparse (void) 0 ); } -#line 4823 "fe/idl.tab.cpp" +#line 4812 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4832,7 +4821,7 @@ yyparse (void) 0 ); } -#line 4836 "fe/idl.tab.cpp" +#line 4825 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4845,7 +4834,7 @@ yyparse (void) 0 ); } -#line 4849 "fe/idl.tab.cpp" +#line 4838 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4906,7 +4895,7 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4910 "fe/idl.tab.cpp" +#line 4899 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4914,7 +4903,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[-1].exval); } -#line 4918 "fe/idl.tab.cpp" +#line 4907 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4922,7 +4911,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4926 "fe/idl.tab.cpp" +#line 4915 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4931,7 +4920,7 @@ yyparse (void) (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4935 "fe/idl.tab.cpp" +#line 4924 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4942,7 +4931,7 @@ yyparse (void) delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4946 "fe/idl.tab.cpp" +#line 4935 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4953,7 +4942,7 @@ yyparse (void) ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4957 "fe/idl.tab.cpp" +#line 4946 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4961,7 +4950,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4965 "fe/idl.tab.cpp" +#line 4954 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4970,7 +4959,7 @@ yyparse (void) ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4974 "fe/idl.tab.cpp" +#line 4963 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -4978,7 +4967,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4982 "fe/idl.tab.cpp" +#line 4971 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -4986,7 +4975,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4990 "fe/idl.tab.cpp" +#line 4979 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -4994,7 +4983,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 4998 "fe/idl.tab.cpp" +#line 4987 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -5002,7 +4991,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5006 "fe/idl.tab.cpp" +#line 4995 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5071,7 +5060,7 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5075 "fe/idl.tab.cpp" +#line 5064 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5092,7 +5081,7 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5096 "fe/idl.tab.cpp" +#line 5085 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5105,7 +5094,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5109 "fe/idl.tab.cpp" +#line 5098 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5114,7 +5103,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5118 "fe/idl.tab.cpp" +#line 5107 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5171,7 +5160,7 @@ yyparse (void) delete result; } } -#line 5175 "fe/idl.tab.cpp" +#line 5164 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5179,7 +5168,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[0].exval); } -#line 5183 "fe/idl.tab.cpp" +#line 5172 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5187,7 +5176,7 @@ yyparse (void) { (yyval.exval) = 0; } -#line 5191 "fe/idl.tab.cpp" +#line 5180 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5201,7 +5190,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5205 "fe/idl.tab.cpp" +#line 5194 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5215,7 +5204,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5219 "fe/idl.tab.cpp" +#line 5208 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5223,7 +5212,7 @@ yyparse (void) { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5227 "fe/idl.tab.cpp" +#line 5216 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5284,7 +5273,7 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5288 "fe/idl.tab.cpp" +#line 5277 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5316,7 +5305,7 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5320 "fe/idl.tab.cpp" +#line 5309 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5324,7 +5313,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5328 "fe/idl.tab.cpp" +#line 5317 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5332,7 +5321,7 @@ yyparse (void) { (yyval.annotation_params_val) = 0; } -#line 5336 "fe/idl.tab.cpp" +#line 5325 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5345,7 +5334,7 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5349 "fe/idl.tab.cpp" +#line 5338 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5353,7 +5342,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5357 "fe/idl.tab.cpp" +#line 5346 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5363,7 +5352,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5367 "fe/idl.tab.cpp" +#line 5356 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5373,7 +5362,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5377 "fe/idl.tab.cpp" +#line 5366 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5381,7 +5370,7 @@ yyparse (void) { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5385 "fe/idl.tab.cpp" +#line 5374 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5394,7 +5383,7 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5398 "fe/idl.tab.cpp" +#line 5387 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5403,7 +5392,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5407 "fe/idl.tab.cpp" +#line 5396 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5411,7 +5400,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5415 "fe/idl.tab.cpp" +#line 5404 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5419,7 +5408,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5423 "fe/idl.tab.cpp" +#line 5412 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5427,7 +5416,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5431 "fe/idl.tab.cpp" +#line 5420 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5435,7 +5424,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5439 "fe/idl.tab.cpp" +#line 5428 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5467,7 +5456,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5471 "fe/idl.tab.cpp" +#line 5460 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5475,7 +5464,7 @@ yyparse (void) { (yyval.dcval) = 0; } -#line 5479 "fe/idl.tab.cpp" +#line 5468 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5483,7 +5472,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5487 "fe/idl.tab.cpp" +#line 5476 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5551,7 +5540,7 @@ yyparse (void) (yyval.dcval) = t; } -#line 5555 "fe/idl.tab.cpp" +#line 5544 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5562,7 +5551,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 5566 "fe/idl.tab.cpp" +#line 5555 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5589,7 +5578,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 5593 "fe/idl.tab.cpp" +#line 5582 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5600,7 +5589,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5604 "fe/idl.tab.cpp" +#line 5593 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5608,7 +5597,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5612 "fe/idl.tab.cpp" +#line 5601 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5632,7 +5621,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5636 "fe/idl.tab.cpp" +#line 5625 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5640,7 +5629,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5644 "fe/idl.tab.cpp" +#line 5633 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5651,7 +5640,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5655 "fe/idl.tab.cpp" +#line 5644 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5659,7 +5648,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5663 "fe/idl.tab.cpp" +#line 5652 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5683,7 +5672,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5687 "fe/idl.tab.cpp" +#line 5676 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5691,7 +5680,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5695 "fe/idl.tab.cpp" +#line 5684 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5708,7 +5697,7 @@ yyparse (void) 0), 1); } -#line 5712 "fe/idl.tab.cpp" +#line 5701 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5727,7 +5716,7 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5731 "fe/idl.tab.cpp" +#line 5720 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5735,7 +5724,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5739 "fe/idl.tab.cpp" +#line 5728 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5743,7 +5732,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5747 "fe/idl.tab.cpp" +#line 5736 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5751,7 +5740,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5755 "fe/idl.tab.cpp" +#line 5744 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5759,7 +5748,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_int8; } -#line 5763 "fe/idl.tab.cpp" +#line 5752 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5767,7 +5756,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5771 "fe/idl.tab.cpp" +#line 5760 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5775,7 +5764,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5779 "fe/idl.tab.cpp" +#line 5768 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5783,7 +5772,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5787 "fe/idl.tab.cpp" +#line 5776 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5791,7 +5780,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5795 "fe/idl.tab.cpp" +#line 5784 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5799,7 +5788,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5803 "fe/idl.tab.cpp" +#line 5792 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5807,7 +5796,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5811 "fe/idl.tab.cpp" +#line 5800 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5815,7 +5804,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5819 "fe/idl.tab.cpp" +#line 5808 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5823,7 +5812,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5827 "fe/idl.tab.cpp" +#line 5816 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5831,7 +5820,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5835 "fe/idl.tab.cpp" +#line 5824 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5839,7 +5828,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5843 "fe/idl.tab.cpp" +#line 5832 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5847,7 +5836,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_double; } -#line 5851 "fe/idl.tab.cpp" +#line 5840 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5855,7 +5844,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_float; } -#line 5859 "fe/idl.tab.cpp" +#line 5848 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5863,7 +5852,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5867 "fe/idl.tab.cpp" +#line 5856 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5871,7 +5860,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5875 "fe/idl.tab.cpp" +#line 5864 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5879,7 +5868,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_char; } -#line 5883 "fe/idl.tab.cpp" +#line 5872 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5887,7 +5876,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5891 "fe/idl.tab.cpp" +#line 5880 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5895,7 +5884,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_octet; } -#line 5899 "fe/idl.tab.cpp" +#line 5888 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5903,7 +5892,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_bool; } -#line 5907 "fe/idl.tab.cpp" +#line 5896 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5911,7 +5900,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_any; } -#line 5915 "fe/idl.tab.cpp" +#line 5904 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5919,7 +5908,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_object; } -#line 5923 "fe/idl.tab.cpp" +#line 5912 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5927,7 +5916,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5931 "fe/idl.tab.cpp" +#line 5920 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5936,7 +5925,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5940 "fe/idl.tab.cpp" +#line 5929 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5971,7 +5960,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5975 "fe/idl.tab.cpp" +#line 5964 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -5979,7 +5968,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5983 "fe/idl.tab.cpp" +#line 5972 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -5987,7 +5976,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 5991 "fe/idl.tab.cpp" +#line 5980 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -6003,7 +5992,7 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6007 "fe/idl.tab.cpp" +#line 5996 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6021,7 +6010,7 @@ yyparse (void) delete annotations; delete members; } -#line 6025 "fe/idl.tab.cpp" +#line 6014 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6029,7 +6018,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6033 "fe/idl.tab.cpp" +#line 6022 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6037,7 +6026,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6041 "fe/idl.tab.cpp" +#line 6030 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6095,7 +6084,7 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6099 "fe/idl.tab.cpp" +#line 6088 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6103,7 +6092,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6107 "fe/idl.tab.cpp" +#line 6096 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6112,7 +6101,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6116 "fe/idl.tab.cpp" +#line 6105 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6120,7 +6109,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6124 "fe/idl.tab.cpp" +#line 6113 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6129,7 +6118,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6133 "fe/idl.tab.cpp" +#line 6122 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6137,7 +6126,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6141 "fe/idl.tab.cpp" +#line 6130 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6174,7 +6163,7 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6178 "fe/idl.tab.cpp" +#line 6167 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6182,7 +6171,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6186 "fe/idl.tab.cpp" +#line 6175 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6245,7 +6234,7 @@ yyparse (void) delete disc_annotations; } -#line 6249 "fe/idl.tab.cpp" +#line 6238 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6253,7 +6242,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6257 "fe/idl.tab.cpp" +#line 6246 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6261,7 +6250,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6265 "fe/idl.tab.cpp" +#line 6254 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6281,7 +6270,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6285 "fe/idl.tab.cpp" +#line 6274 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6292,7 +6281,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6296 "fe/idl.tab.cpp" +#line 6285 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6309,7 +6298,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6313 "fe/idl.tab.cpp" +#line 6302 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6322,7 +6311,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6326 "fe/idl.tab.cpp" +#line 6315 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6333,7 +6322,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6337 "fe/idl.tab.cpp" +#line 6326 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6444,7 +6433,7 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6448 "fe/idl.tab.cpp" +#line 6437 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6452,7 +6441,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6456 "fe/idl.tab.cpp" +#line 6445 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6460,7 +6449,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6464 "fe/idl.tab.cpp" +#line 6453 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6496,7 +6485,7 @@ yyparse (void) delete annotations; } -#line 6500 "fe/idl.tab.cpp" +#line 6489 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6504,7 +6493,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6508 "fe/idl.tab.cpp" +#line 6497 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6513,7 +6502,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6517 "fe/idl.tab.cpp" +#line 6506 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6524,7 +6513,7 @@ yyparse (void) (yyvsp[0].llval)), 1); } -#line 6528 "fe/idl.tab.cpp" +#line 6517 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6546,7 +6535,7 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6550 "fe/idl.tab.cpp" +#line 6539 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6554,7 +6543,7 @@ yyparse (void) { (yyval.llval) = 0; } -#line 6558 "fe/idl.tab.cpp" +#line 6547 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6562,7 +6551,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6566 "fe/idl.tab.cpp" +#line 6555 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6575,7 +6564,7 @@ yyparse (void) 0 ); } -#line 6579 "fe/idl.tab.cpp" +#line 6568 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6583,7 +6572,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6587 "fe/idl.tab.cpp" +#line 6576 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6591,7 +6580,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6595 "fe/idl.tab.cpp" +#line 6584 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6604,7 +6593,7 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6608 "fe/idl.tab.cpp" +#line 6597 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6612,7 +6601,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6616 "fe/idl.tab.cpp" +#line 6605 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6659,7 +6648,7 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6663 "fe/idl.tab.cpp" +#line 6652 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6685,7 +6674,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 6689 "fe/idl.tab.cpp" +#line 6678 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6709,7 +6698,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6713 "fe/idl.tab.cpp" +#line 6702 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6717,7 +6706,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6721 "fe/idl.tab.cpp" +#line 6710 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6752,7 +6741,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6756 "fe/idl.tab.cpp" +#line 6745 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6760,7 +6749,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6764 "fe/idl.tab.cpp" +#line 6753 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6768,7 +6757,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6772 "fe/idl.tab.cpp" +#line 6761 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6791,7 +6780,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6795 "fe/idl.tab.cpp" +#line 6784 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6799,7 +6788,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6803 "fe/idl.tab.cpp" +#line 6792 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6838,43 +6827,17 @@ yyparse (void) delete annotations; } -#line 6842 "fe/idl.tab.cpp" +#line 6831 "fe/idl.tab.cpp" break; - case 354: /* $@91: %empty */ -#line 3897 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); - idl_global->scopes().push(0); - } -#line 6851 "fe/idl.tab.cpp" - break; - - case 355: /* $@92: %empty */ + case 354: /* map_type_spec: IDL_MAP '<' map_type ',' map_type '>' */ #line 3902 "fe/idl.ypp" { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); - } -#line 6859 "fe/idl.tab.cpp" - break; - - case 356: /* $@93: %empty */ -#line 3907 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); - } -#line 6867 "fe/idl.tab.cpp" - break; - - case 357: /* map_type_spec: IDL_MAP $@91 '<' $@92 map_type ',' $@93 map_type '>' */ -#line 3912 "fe/idl.ypp" - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - Decl_Annotations_Pair *key_type = (yyvsp[-4].decl_annotations_pair_val); + Decl_Annotations_Pair *key_type = (yyvsp[-3].decl_annotations_pair_val); Decl_Annotations_Pair *val_type = (yyvsp[-1].decl_annotations_pair_val); - + /* * Remove sequence marker from scopes stack. */ @@ -6923,11 +6886,11 @@ yyparse (void) (yyval.dcval) = map; } -#line 6927 "fe/idl.tab.cpp" +#line 6890 "fe/idl.tab.cpp" break; - case 358: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ -#line 3975 "fe/idl.ypp" + case 355: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ +#line 3964 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); @@ -6978,11 +6941,11 @@ yyparse (void) } (yyval.dcval) = map; } -#line 6982 "fe/idl.tab.cpp" +#line 6945 "fe/idl.tab.cpp" break; - case 359: /* map_type: annotations_maybe simple_type_spec */ -#line 4029 "fe/idl.ypp" + case 356: /* map_type: annotations_maybe simple_type_spec */ +#line 4018 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; @@ -6990,27 +6953,27 @@ yyparse (void) pair->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = pair; } -#line 6994 "fe/idl.tab.cpp" +#line 6957 "fe/idl.tab.cpp" break; - case 360: /* $@94: %empty */ -#line 4041 "fe/idl.ypp" + case 357: /* $@91: %empty */ +#line 4030 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7002 "fe/idl.tab.cpp" +#line 6965 "fe/idl.tab.cpp" break; - case 361: /* $@95: %empty */ -#line 4045 "fe/idl.ypp" + case 358: /* $@92: %empty */ +#line 4034 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7010 "fe/idl.tab.cpp" +#line 6973 "fe/idl.tab.cpp" break; - case 362: /* sequence_type_spec: seq_head ',' $@94 positive_int_expr $@95 '>' */ -#line 4049 "fe/idl.ypp" + case 359: /* sequence_type_spec: seq_head ',' $@91 positive_int_expr $@92 '>' */ +#line 4038 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7091,11 +7054,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7095 "fe/idl.tab.cpp" +#line 7058 "fe/idl.tab.cpp" break; - case 363: /* sequence_type_spec: seq_head '>' */ -#line 4131 "fe/idl.ypp" + case 360: /* sequence_type_spec: seq_head '>' */ +#line 4120 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7157,11 +7120,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7161 "fe/idl.tab.cpp" +#line 7124 "fe/idl.tab.cpp" break; - case 364: /* $@96: %empty */ -#line 4196 "fe/idl.ypp" + case 361: /* $@93: %empty */ +#line 4185 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7170,19 +7133,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7174 "fe/idl.tab.cpp" +#line 7137 "fe/idl.tab.cpp" break; - case 365: /* $@97: %empty */ -#line 4205 "fe/idl.ypp" + case 362: /* $@94: %empty */ +#line 4194 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7182 "fe/idl.tab.cpp" +#line 7145 "fe/idl.tab.cpp" break; - case 366: /* seq_head: IDL_SEQUENCE $@96 '<' $@97 annotations_maybe simple_type_spec */ -#line 4209 "fe/idl.ypp" + case 363: /* seq_head: IDL_SEQUENCE $@93 '<' $@94 annotations_maybe simple_type_spec */ +#line 4198 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7190,36 +7153,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7194 "fe/idl.tab.cpp" +#line 7157 "fe/idl.tab.cpp" break; - case 367: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4220 "fe/idl.ypp" + case 364: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4209 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7203 "fe/idl.tab.cpp" +#line 7166 "fe/idl.tab.cpp" break; - case 368: /* $@98: %empty */ -#line 4229 "fe/idl.ypp" + case 365: /* $@95: %empty */ +#line 4218 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7211 "fe/idl.tab.cpp" +#line 7174 "fe/idl.tab.cpp" break; - case 369: /* $@99: %empty */ -#line 4233 "fe/idl.ypp" + case 366: /* $@96: %empty */ +#line 4222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7219 "fe/idl.tab.cpp" +#line 7182 "fe/idl.tab.cpp" break; - case 370: /* string_type_spec: string_head '<' $@98 positive_int_expr $@99 '>' */ -#line 4237 "fe/idl.ypp" + case 367: /* string_type_spec: string_head '<' $@95 positive_int_expr $@96 '>' */ +#line 4226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7258,11 +7221,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7262 "fe/idl.tab.cpp" +#line 7225 "fe/idl.tab.cpp" break; - case 371: /* string_type_spec: string_head */ -#line 4276 "fe/idl.ypp" + case 368: /* string_type_spec: string_head */ +#line 4265 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7285,35 +7248,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7289 "fe/idl.tab.cpp" +#line 7252 "fe/idl.tab.cpp" break; - case 372: /* string_head: IDL_STRING */ -#line 4302 "fe/idl.ypp" + case 369: /* string_head: IDL_STRING */ +#line 4291 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7297 "fe/idl.tab.cpp" +#line 7260 "fe/idl.tab.cpp" break; - case 373: /* $@100: %empty */ -#line 4310 "fe/idl.ypp" + case 370: /* $@97: %empty */ +#line 4299 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7305 "fe/idl.tab.cpp" +#line 7268 "fe/idl.tab.cpp" break; - case 374: /* $@101: %empty */ -#line 4314 "fe/idl.ypp" + case 371: /* $@98: %empty */ +#line 4303 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7313 "fe/idl.tab.cpp" +#line 7276 "fe/idl.tab.cpp" break; - case 375: /* wstring_type_spec: wstring_head '<' $@100 positive_int_expr $@101 '>' */ -#line 4318 "fe/idl.ypp" + case 372: /* wstring_type_spec: wstring_head '<' $@97 positive_int_expr $@98 '>' */ +#line 4307 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7352,11 +7315,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7356 "fe/idl.tab.cpp" +#line 7319 "fe/idl.tab.cpp" break; - case 376: /* wstring_type_spec: wstring_head */ -#line 4357 "fe/idl.ypp" + case 373: /* wstring_type_spec: wstring_head */ +#line 4346 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7379,27 +7342,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7383 "fe/idl.tab.cpp" +#line 7346 "fe/idl.tab.cpp" break; - case 377: /* wstring_head: IDL_WSTRING */ -#line 4383 "fe/idl.ypp" + case 374: /* wstring_head: IDL_WSTRING */ +#line 4372 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7391 "fe/idl.tab.cpp" +#line 7354 "fe/idl.tab.cpp" break; - case 378: /* $@102: %empty */ -#line 4390 "fe/idl.ypp" + case 375: /* $@99: %empty */ +#line 4379 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7399 "fe/idl.tab.cpp" +#line 7362 "fe/idl.tab.cpp" break; - case 379: /* array_declarator: defining_id $@102 annotations_maybe at_least_one_array_dim */ -#line 4394 "fe/idl.ypp" + case 376: /* array_declarator: defining_id $@99 annotations_maybe at_least_one_array_dim */ +#line 4383 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7435,22 +7398,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7439 "fe/idl.tab.cpp" +#line 7402 "fe/idl.tab.cpp" break; - case 380: /* at_least_one_array_dim: array_dim array_dims */ -#line 4433 "fe/idl.ypp" + case 377: /* at_least_one_array_dim: array_dim array_dims */ +#line 4422 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7450 "fe/idl.tab.cpp" +#line 7413 "fe/idl.tab.cpp" break; - case 381: /* array_dims: array_dims array_dim */ -#line 4443 "fe/idl.ypp" + case 378: /* array_dims: array_dims array_dim */ +#line 4432 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7468,35 +7431,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7472 "fe/idl.tab.cpp" +#line 7435 "fe/idl.tab.cpp" break; - case 382: /* array_dims: %empty */ -#line 4461 "fe/idl.ypp" + case 379: /* array_dims: %empty */ +#line 4450 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7480 "fe/idl.tab.cpp" +#line 7443 "fe/idl.tab.cpp" break; - case 383: /* $@103: %empty */ -#line 4468 "fe/idl.ypp" + case 380: /* $@100: %empty */ +#line 4457 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7488 "fe/idl.tab.cpp" +#line 7451 "fe/idl.tab.cpp" break; - case 384: /* $@104: %empty */ -#line 4472 "fe/idl.ypp" + case 381: /* $@101: %empty */ +#line 4461 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7496 "fe/idl.tab.cpp" +#line 7459 "fe/idl.tab.cpp" break; - case 385: /* array_dim: '[' $@103 positive_int_expr $@104 ']' */ -#line 4476 "fe/idl.ypp" + case 382: /* array_dim: '[' $@100 positive_int_expr $@101 ']' */ +#line 4465 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7550,43 +7513,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7554 "fe/idl.tab.cpp" +#line 7517 "fe/idl.tab.cpp" break; - case 388: /* $@105: %empty */ -#line 4538 "fe/idl.ypp" + case 385: /* $@102: %empty */ +#line 4527 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7562 "fe/idl.tab.cpp" +#line 7525 "fe/idl.tab.cpp" break; - case 389: /* $@106: %empty */ -#line 4542 "fe/idl.ypp" + case 386: /* $@103: %empty */ +#line 4531 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7570 "fe/idl.tab.cpp" +#line 7533 "fe/idl.tab.cpp" break; - case 390: /* $@107: %empty */ -#line 4546 "fe/idl.ypp" + case 387: /* $@104: %empty */ +#line 4535 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7578 "fe/idl.tab.cpp" +#line 7541 "fe/idl.tab.cpp" break; - case 391: /* $@108: %empty */ -#line 4550 "fe/idl.ypp" + case 388: /* $@105: %empty */ +#line 4539 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7586 "fe/idl.tab.cpp" +#line 7549 "fe/idl.tab.cpp" break; - case 392: /* attribute_readonly: IDL_READONLY $@105 IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_raises */ -#line 4554 "fe/idl.ypp" + case 389: /* attribute_readonly: IDL_READONLY $@102 IDL_ATTRIBUTE $@103 param_type_spec $@104 at_least_one_simple_declarator $@105 opt_raises */ +#line 4543 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7638,43 +7601,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7642 "fe/idl.tab.cpp" +#line 7605 "fe/idl.tab.cpp" break; - case 393: /* $@109: %empty */ -#line 4609 "fe/idl.ypp" + case 390: /* $@106: %empty */ +#line 4598 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7650 "fe/idl.tab.cpp" +#line 7613 "fe/idl.tab.cpp" break; - case 394: /* $@110: %empty */ -#line 4613 "fe/idl.ypp" + case 391: /* $@107: %empty */ +#line 4602 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7658 "fe/idl.tab.cpp" +#line 7621 "fe/idl.tab.cpp" break; - case 395: /* $@111: %empty */ -#line 4617 "fe/idl.ypp" + case 392: /* $@108: %empty */ +#line 4606 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7666 "fe/idl.tab.cpp" +#line 7629 "fe/idl.tab.cpp" break; - case 396: /* $@112: %empty */ -#line 4621 "fe/idl.ypp" + case 393: /* $@109: %empty */ +#line 4610 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7674 "fe/idl.tab.cpp" +#line 7637 "fe/idl.tab.cpp" break; - case 397: /* attribute_readwrite: IDL_ATTRIBUTE $@109 param_type_spec $@110 at_least_one_simple_declarator $@111 opt_getraises $@112 opt_setraises */ -#line 4625 "fe/idl.ypp" + case 394: /* attribute_readwrite: IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_getraises $@109 opt_setraises */ +#line 4614 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7735,19 +7698,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7739 "fe/idl.tab.cpp" +#line 7702 "fe/idl.tab.cpp" break; - case 398: /* $@113: %empty */ -#line 4689 "fe/idl.ypp" + case 395: /* $@110: %empty */ +#line 4678 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7747 "fe/idl.tab.cpp" +#line 7710 "fe/idl.tab.cpp" break; - case 399: /* @114: %empty */ -#line 4693 "fe/idl.ypp" + case 396: /* @111: %empty */ +#line 4682 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7779,27 +7742,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7783 "fe/idl.tab.cpp" +#line 7746 "fe/idl.tab.cpp" break; - case 400: /* $@115: %empty */ -#line 4725 "fe/idl.ypp" + case 397: /* $@112: %empty */ +#line 4714 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7791 "fe/idl.tab.cpp" +#line 7754 "fe/idl.tab.cpp" break; - case 401: /* $@116: %empty */ -#line 4729 "fe/idl.ypp" + case 398: /* $@113: %empty */ +#line 4718 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7799 "fe/idl.tab.cpp" +#line 7762 "fe/idl.tab.cpp" break; - case 402: /* exception: IDL_EXCEPTION $@113 defining_id @114 '{' $@115 members $@116 '}' */ -#line 4733 "fe/idl.ypp" + case 399: /* exception: IDL_EXCEPTION $@110 defining_id @111 '{' $@112 members $@113 '}' */ +#line 4722 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7809,19 +7772,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7813 "fe/idl.tab.cpp" +#line 7776 "fe/idl.tab.cpp" break; - case 403: /* $@117: %empty */ -#line 4746 "fe/idl.ypp" + case 400: /* $@114: %empty */ +#line 4735 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7821 "fe/idl.tab.cpp" +#line 7784 "fe/idl.tab.cpp" break; - case 404: /* $@118: %empty */ -#line 4750 "fe/idl.ypp" + case 401: /* $@115: %empty */ +#line 4739 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7882,27 +7845,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7886 "fe/idl.tab.cpp" +#line 7849 "fe/idl.tab.cpp" break; - case 405: /* $@119: %empty */ -#line 4811 "fe/idl.ypp" + case 402: /* $@116: %empty */ +#line 4800 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7894 "fe/idl.tab.cpp" +#line 7857 "fe/idl.tab.cpp" break; - case 406: /* $@120: %empty */ -#line 4815 "fe/idl.ypp" + case 403: /* $@117: %empty */ +#line 4804 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7902 "fe/idl.tab.cpp" +#line 7865 "fe/idl.tab.cpp" break; - case 407: /* operation: opt_op_attribute op_type_spec $@117 IDENTIFIER $@118 parameter_list $@119 opt_raises $@120 opt_context */ -#line 4819 "fe/idl.ypp" + case 404: /* operation: opt_op_attribute op_type_spec $@114 IDENTIFIER $@115 parameter_list $@116 opt_raises $@117 opt_context */ +#line 4808 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7933,57 +7896,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7937 "fe/idl.tab.cpp" +#line 7900 "fe/idl.tab.cpp" break; - case 408: /* opt_op_attribute: IDL_ONEWAY */ -#line 4853 "fe/idl.ypp" + case 405: /* opt_op_attribute: IDL_ONEWAY */ +#line 4842 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7946 "fe/idl.tab.cpp" +#line 7909 "fe/idl.tab.cpp" break; - case 409: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4858 "fe/idl.ypp" + case 406: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4847 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7955 "fe/idl.tab.cpp" +#line 7918 "fe/idl.tab.cpp" break; - case 410: /* opt_op_attribute: %empty */ -#line 4863 "fe/idl.ypp" + case 407: /* opt_op_attribute: %empty */ +#line 4852 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7963 "fe/idl.tab.cpp" +#line 7926 "fe/idl.tab.cpp" break; - case 412: /* op_type_spec: IDL_VOID */ -#line 4871 "fe/idl.ypp" + case 409: /* op_type_spec: IDL_VOID */ +#line 4860 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7974 "fe/idl.tab.cpp" +#line 7937 "fe/idl.tab.cpp" break; - case 413: /* $@121: %empty */ -#line 4881 "fe/idl.ypp" + case 410: /* $@118: %empty */ +#line 4870 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7983 "fe/idl.tab.cpp" +#line 7946 "fe/idl.tab.cpp" break; - case 414: /* @122: %empty */ -#line 4886 "fe/idl.ypp" + case 411: /* @119: %empty */ +#line 4875 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8026,19 +7989,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8030 "fe/idl.tab.cpp" +#line 7993 "fe/idl.tab.cpp" break; - case 415: /* $@123: %empty */ -#line 4929 "fe/idl.ypp" + case 412: /* $@120: %empty */ +#line 4918 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8038 "fe/idl.tab.cpp" +#line 8001 "fe/idl.tab.cpp" break; - case 416: /* init_decl: IDL_FACTORY $@121 IDENTIFIER @122 init_parameter_list $@123 opt_raises */ -#line 4933 "fe/idl.ypp" + case 413: /* init_decl: IDL_FACTORY $@118 IDENTIFIER @119 init_parameter_list $@120 opt_raises */ +#line 4922 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8053,67 +8016,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8057 "fe/idl.tab.cpp" +#line 8020 "fe/idl.tab.cpp" break; - case 417: /* $@124: %empty */ -#line 4951 "fe/idl.ypp" + case 414: /* $@121: %empty */ +#line 4940 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8065 "fe/idl.tab.cpp" +#line 8028 "fe/idl.tab.cpp" break; - case 418: /* init_parameter_list: '(' $@124 ')' */ -#line 4955 "fe/idl.ypp" + case 415: /* init_parameter_list: '(' $@121 ')' */ +#line 4944 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8073 "fe/idl.tab.cpp" +#line 8036 "fe/idl.tab.cpp" break; - case 419: /* $@125: %empty */ -#line 4959 "fe/idl.ypp" + case 416: /* $@122: %empty */ +#line 4948 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8081 "fe/idl.tab.cpp" +#line 8044 "fe/idl.tab.cpp" break; - case 420: /* init_parameter_list: '(' $@125 at_least_one_in_parameter ')' */ -#line 4964 "fe/idl.ypp" + case 417: /* init_parameter_list: '(' $@122 at_least_one_in_parameter ')' */ +#line 4953 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8089 "fe/idl.tab.cpp" +#line 8052 "fe/idl.tab.cpp" break; - case 422: /* $@126: %empty */ -#line 4974 "fe/idl.ypp" + case 419: /* $@123: %empty */ +#line 4963 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8097 "fe/idl.tab.cpp" +#line 8060 "fe/idl.tab.cpp" break; - case 425: /* $@127: %empty */ -#line 4983 "fe/idl.ypp" + case 422: /* $@124: %empty */ +#line 4972 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8105 "fe/idl.tab.cpp" +#line 8068 "fe/idl.tab.cpp" break; - case 426: /* $@128: %empty */ -#line 4987 "fe/idl.ypp" + case 423: /* $@125: %empty */ +#line 4976 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8113 "fe/idl.tab.cpp" +#line 8076 "fe/idl.tab.cpp" break; - case 427: /* in_parameter: IDL_IN $@127 param_type_spec $@128 declarator */ -#line 4991 "fe/idl.ypp" + case 424: /* in_parameter: IDL_IN $@124 param_type_spec $@125 declarator */ +#line 4980 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8145,67 +8108,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8149 "fe/idl.tab.cpp" +#line 8112 "fe/idl.tab.cpp" break; - case 428: /* $@129: %empty */ -#line 5026 "fe/idl.ypp" + case 425: /* $@126: %empty */ +#line 5015 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8157 "fe/idl.tab.cpp" +#line 8120 "fe/idl.tab.cpp" break; - case 429: /* parameter_list: '(' $@129 ')' */ -#line 5030 "fe/idl.ypp" + case 426: /* parameter_list: '(' $@126 ')' */ +#line 5019 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8165 "fe/idl.tab.cpp" +#line 8128 "fe/idl.tab.cpp" break; - case 430: /* $@130: %empty */ -#line 5034 "fe/idl.ypp" + case 427: /* $@127: %empty */ +#line 5023 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8173 "fe/idl.tab.cpp" +#line 8136 "fe/idl.tab.cpp" break; - case 431: /* parameter_list: '(' $@130 at_least_one_parameter ')' */ -#line 5039 "fe/idl.ypp" + case 428: /* parameter_list: '(' $@127 at_least_one_parameter ')' */ +#line 5028 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8181 "fe/idl.tab.cpp" +#line 8144 "fe/idl.tab.cpp" break; - case 433: /* $@131: %empty */ -#line 5049 "fe/idl.ypp" + case 430: /* $@128: %empty */ +#line 5038 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8189 "fe/idl.tab.cpp" +#line 8152 "fe/idl.tab.cpp" break; - case 436: /* $@132: %empty */ -#line 5058 "fe/idl.ypp" + case 433: /* $@129: %empty */ +#line 5047 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8197 "fe/idl.tab.cpp" +#line 8160 "fe/idl.tab.cpp" break; - case 437: /* $@133: %empty */ -#line 5062 "fe/idl.ypp" + case 434: /* $@130: %empty */ +#line 5051 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8205 "fe/idl.tab.cpp" +#line 8168 "fe/idl.tab.cpp" break; - case 438: /* parameter: direction $@132 param_type_spec $@133 declarator */ -#line 5066 "fe/idl.ypp" + case 435: /* parameter: direction $@129 param_type_spec $@130 declarator */ +#line 5055 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8244,22 +8207,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8248 "fe/idl.tab.cpp" +#line 8211 "fe/idl.tab.cpp" break; - case 439: /* param_type_spec: base_type_spec */ -#line 5108 "fe/idl.ypp" + case 436: /* param_type_spec: base_type_spec */ +#line 5097 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8259 "fe/idl.tab.cpp" +#line 8222 "fe/idl.tab.cpp" break; - case 442: /* param_type_spec: scoped_name */ -#line 5117 "fe/idl.ypp" + case 439: /* param_type_spec: scoped_name */ +#line 5106 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8363,186 +8326,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8367 "fe/idl.tab.cpp" +#line 8330 "fe/idl.tab.cpp" break; - case 443: /* direction: IDL_IN */ -#line 5224 "fe/idl.ypp" + case 440: /* direction: IDL_IN */ +#line 5213 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8375 "fe/idl.tab.cpp" +#line 8338 "fe/idl.tab.cpp" break; - case 444: /* direction: IDL_OUT */ -#line 5228 "fe/idl.ypp" + case 441: /* direction: IDL_OUT */ +#line 5217 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8383 "fe/idl.tab.cpp" +#line 8346 "fe/idl.tab.cpp" break; - case 445: /* direction: IDL_INOUT */ -#line 5232 "fe/idl.ypp" + case 442: /* direction: IDL_INOUT */ +#line 5221 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8391 "fe/idl.tab.cpp" +#line 8354 "fe/idl.tab.cpp" break; - case 446: /* $@134: %empty */ -#line 5239 "fe/idl.ypp" + case 443: /* $@131: %empty */ +#line 5228 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8399 "fe/idl.tab.cpp" +#line 8362 "fe/idl.tab.cpp" break; - case 447: /* $@135: %empty */ -#line 5243 "fe/idl.ypp" + case 444: /* $@132: %empty */ +#line 5232 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8407 "fe/idl.tab.cpp" +#line 8370 "fe/idl.tab.cpp" break; - case 448: /* opt_raises: IDL_RAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ -#line 5248 "fe/idl.ypp" + case 445: /* opt_raises: IDL_RAISES $@131 '(' $@132 at_least_one_scoped_name ')' */ +#line 5237 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8416 "fe/idl.tab.cpp" +#line 8379 "fe/idl.tab.cpp" break; - case 449: /* opt_raises: %empty */ -#line 5253 "fe/idl.ypp" + case 446: /* opt_raises: %empty */ +#line 5242 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8424 "fe/idl.tab.cpp" +#line 8387 "fe/idl.tab.cpp" break; - case 450: /* $@136: %empty */ -#line 5260 "fe/idl.ypp" + case 447: /* $@133: %empty */ +#line 5249 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8432 "fe/idl.tab.cpp" +#line 8395 "fe/idl.tab.cpp" break; - case 451: /* $@137: %empty */ -#line 5264 "fe/idl.ypp" + case 448: /* $@134: %empty */ +#line 5253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8440 "fe/idl.tab.cpp" +#line 8403 "fe/idl.tab.cpp" break; - case 452: /* opt_getraises: IDL_GETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ -#line 5269 "fe/idl.ypp" + case 449: /* opt_getraises: IDL_GETRAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ +#line 5258 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8449 "fe/idl.tab.cpp" +#line 8412 "fe/idl.tab.cpp" break; - case 453: /* opt_getraises: %empty */ -#line 5274 "fe/idl.ypp" + case 450: /* opt_getraises: %empty */ +#line 5263 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8457 "fe/idl.tab.cpp" +#line 8420 "fe/idl.tab.cpp" break; - case 454: /* $@138: %empty */ -#line 5281 "fe/idl.ypp" + case 451: /* $@135: %empty */ +#line 5270 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8465 "fe/idl.tab.cpp" +#line 8428 "fe/idl.tab.cpp" break; - case 455: /* $@139: %empty */ -#line 5285 "fe/idl.ypp" + case 452: /* $@136: %empty */ +#line 5274 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8473 "fe/idl.tab.cpp" +#line 8436 "fe/idl.tab.cpp" break; - case 456: /* opt_setraises: IDL_SETRAISES $@138 '(' $@139 at_least_one_scoped_name ')' */ -#line 5290 "fe/idl.ypp" + case 453: /* opt_setraises: IDL_SETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ +#line 5279 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8482 "fe/idl.tab.cpp" +#line 8445 "fe/idl.tab.cpp" break; - case 457: /* opt_setraises: %empty */ -#line 5295 "fe/idl.ypp" + case 454: /* opt_setraises: %empty */ +#line 5284 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8490 "fe/idl.tab.cpp" +#line 8453 "fe/idl.tab.cpp" break; - case 458: /* $@140: %empty */ -#line 5302 "fe/idl.ypp" + case 455: /* $@137: %empty */ +#line 5291 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8498 "fe/idl.tab.cpp" +#line 8461 "fe/idl.tab.cpp" break; - case 459: /* $@141: %empty */ -#line 5306 "fe/idl.ypp" + case 456: /* $@138: %empty */ +#line 5295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8506 "fe/idl.tab.cpp" +#line 8469 "fe/idl.tab.cpp" break; - case 460: /* opt_context: IDL_CONTEXT $@140 '(' $@141 at_least_one_string_literal ')' */ -#line 5311 "fe/idl.ypp" + case 457: /* opt_context: IDL_CONTEXT $@137 '(' $@138 at_least_one_string_literal ')' */ +#line 5300 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8515 "fe/idl.tab.cpp" +#line 8478 "fe/idl.tab.cpp" break; - case 461: /* opt_context: %empty */ -#line 5316 "fe/idl.ypp" + case 458: /* opt_context: %empty */ +#line 5305 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8523 "fe/idl.tab.cpp" +#line 8486 "fe/idl.tab.cpp" break; - case 462: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5323 "fe/idl.ypp" + case 459: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5312 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8534 "fe/idl.tab.cpp" +#line 8497 "fe/idl.tab.cpp" break; - case 463: /* $@142: %empty */ -#line 5334 "fe/idl.ypp" + case 460: /* $@139: %empty */ +#line 5323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8542 "fe/idl.tab.cpp" +#line 8505 "fe/idl.tab.cpp" break; - case 464: /* string_literals: string_literals ',' $@142 IDL_STRING_LITERAL */ -#line 5338 "fe/idl.ypp" + case 461: /* string_literals: string_literals ',' $@139 IDL_STRING_LITERAL */ +#line 5327 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8560,19 +8523,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8564 "fe/idl.tab.cpp" +#line 8527 "fe/idl.tab.cpp" break; - case 465: /* string_literals: %empty */ -#line 5356 "fe/idl.ypp" + case 462: /* string_literals: %empty */ +#line 5345 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8572 "fe/idl.tab.cpp" +#line 8535 "fe/idl.tab.cpp" break; - case 466: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5363 "fe/idl.ypp" + case 463: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5352 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8599,11 +8562,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8603 "fe/idl.tab.cpp" +#line 8566 "fe/idl.tab.cpp" break; - case 467: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5393 "fe/idl.ypp" + case 464: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5382 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8639,11 +8602,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8643 "fe/idl.tab.cpp" +#line 8606 "fe/idl.tab.cpp" break; - case 470: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5438 "fe/idl.ypp" + case 467: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5427 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8669,11 +8632,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8673 "fe/idl.tab.cpp" +#line 8636 "fe/idl.tab.cpp" break; - case 471: /* @143: %empty */ -#line 5467 "fe/idl.ypp" + case 468: /* @140: %empty */ +#line 5456 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8715,27 +8678,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8719 "fe/idl.tab.cpp" +#line 8682 "fe/idl.tab.cpp" break; - case 472: /* $@144: %empty */ -#line 5509 "fe/idl.ypp" + case 469: /* $@141: %empty */ +#line 5498 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8727 "fe/idl.tab.cpp" +#line 8690 "fe/idl.tab.cpp" break; - case 473: /* $@145: %empty */ -#line 5513 "fe/idl.ypp" + case 470: /* $@142: %empty */ +#line 5502 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8735 "fe/idl.tab.cpp" +#line 8698 "fe/idl.tab.cpp" break; - case 474: /* component_decl: component_header @143 '{' $@144 component_exports $@145 '}' */ -#line 5517 "fe/idl.ypp" + case 471: /* component_decl: component_header @140 '{' $@141 component_exports $@142 '}' */ +#line 5506 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8746,27 +8709,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8750 "fe/idl.tab.cpp" +#line 8713 "fe/idl.tab.cpp" break; - case 475: /* $@146: %empty */ -#line 5532 "fe/idl.ypp" + case 472: /* $@143: %empty */ +#line 5521 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8758 "fe/idl.tab.cpp" +#line 8721 "fe/idl.tab.cpp" break; - case 476: /* $@147: %empty */ -#line 5536 "fe/idl.ypp" + case 473: /* $@144: %empty */ +#line 5525 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8766 "fe/idl.tab.cpp" +#line 8729 "fe/idl.tab.cpp" break; - case 477: /* component_header: IDL_COMPONENT defining_id $@146 component_inheritance_spec $@147 supports_spec */ -#line 5540 "fe/idl.ypp" + case 474: /* component_header: IDL_COMPONENT defining_id $@143 component_inheritance_spec $@144 supports_spec */ +#line 5529 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8800,35 +8763,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8804 "fe/idl.tab.cpp" +#line 8767 "fe/idl.tab.cpp" break; - case 478: /* $@148: %empty */ -#line 5577 "fe/idl.ypp" + case 475: /* $@145: %empty */ +#line 5566 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8812 "fe/idl.tab.cpp" +#line 8775 "fe/idl.tab.cpp" break; - case 479: /* component_inheritance_spec: ':' $@148 scoped_name */ -#line 5581 "fe/idl.ypp" + case 476: /* component_inheritance_spec: ':' $@145 scoped_name */ +#line 5570 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8820 "fe/idl.tab.cpp" +#line 8783 "fe/idl.tab.cpp" break; - case 480: /* component_inheritance_spec: %empty */ -#line 5585 "fe/idl.ypp" + case 477: /* component_inheritance_spec: %empty */ +#line 5574 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8828 "fe/idl.tab.cpp" +#line 8791 "fe/idl.tab.cpp" break; - case 481: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5592 "fe/idl.ypp" + case 478: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5581 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8843,130 +8806,130 @@ yyparse (void) } delete annotations; } -#line 8847 "fe/idl.tab.cpp" +#line 8810 "fe/idl.tab.cpp" break; - case 484: /* $@149: %empty */ -#line 5612 "fe/idl.ypp" + case 481: /* $@146: %empty */ +#line 5601 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8855 "fe/idl.tab.cpp" +#line 8818 "fe/idl.tab.cpp" break; - case 485: /* component_export: provides_decl $@149 ';' */ -#line 5616 "fe/idl.ypp" + case 482: /* component_export: provides_decl $@146 ';' */ +#line 5605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8864 "fe/idl.tab.cpp" +#line 8827 "fe/idl.tab.cpp" break; - case 486: /* $@150: %empty */ -#line 5621 "fe/idl.ypp" + case 483: /* $@147: %empty */ +#line 5610 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8872 "fe/idl.tab.cpp" +#line 8835 "fe/idl.tab.cpp" break; - case 487: /* component_export: uses_decl $@150 ';' */ -#line 5625 "fe/idl.ypp" + case 484: /* component_export: uses_decl $@147 ';' */ +#line 5614 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8881 "fe/idl.tab.cpp" +#line 8844 "fe/idl.tab.cpp" break; - case 488: /* $@151: %empty */ -#line 5630 "fe/idl.ypp" + case 485: /* $@148: %empty */ +#line 5619 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8889 "fe/idl.tab.cpp" +#line 8852 "fe/idl.tab.cpp" break; - case 489: /* component_export: emits_decl $@151 ';' */ -#line 5634 "fe/idl.ypp" + case 486: /* component_export: emits_decl $@148 ';' */ +#line 5623 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8898 "fe/idl.tab.cpp" +#line 8861 "fe/idl.tab.cpp" break; - case 490: /* $@152: %empty */ -#line 5639 "fe/idl.ypp" + case 487: /* $@149: %empty */ +#line 5628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8906 "fe/idl.tab.cpp" +#line 8869 "fe/idl.tab.cpp" break; - case 491: /* component_export: publishes_decl $@152 ';' */ -#line 5643 "fe/idl.ypp" + case 488: /* component_export: publishes_decl $@149 ';' */ +#line 5632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8915 "fe/idl.tab.cpp" +#line 8878 "fe/idl.tab.cpp" break; - case 492: /* $@153: %empty */ -#line 5648 "fe/idl.ypp" + case 489: /* $@150: %empty */ +#line 5637 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8923 "fe/idl.tab.cpp" +#line 8886 "fe/idl.tab.cpp" break; - case 493: /* component_export: consumes_decl $@153 ';' */ -#line 5652 "fe/idl.ypp" + case 490: /* component_export: consumes_decl $@150 ';' */ +#line 5641 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8932 "fe/idl.tab.cpp" +#line 8895 "fe/idl.tab.cpp" break; - case 494: /* $@154: %empty */ -#line 5657 "fe/idl.ypp" + case 491: /* $@151: %empty */ +#line 5646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8940 "fe/idl.tab.cpp" +#line 8903 "fe/idl.tab.cpp" break; - case 495: /* component_export: attribute $@154 ';' */ -#line 5661 "fe/idl.ypp" + case 492: /* component_export: attribute $@151 ';' */ +#line 5650 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8949 "fe/idl.tab.cpp" +#line 8912 "fe/idl.tab.cpp" break; - case 496: /* $@155: %empty */ -#line 5666 "fe/idl.ypp" + case 493: /* $@152: %empty */ +#line 5655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8957 "fe/idl.tab.cpp" +#line 8920 "fe/idl.tab.cpp" break; - case 497: /* component_export: extended_port_decl $@155 ';' */ -#line 5670 "fe/idl.ypp" + case 494: /* component_export: extended_port_decl $@152 ';' */ +#line 5659 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8966 "fe/idl.tab.cpp" +#line 8929 "fe/idl.tab.cpp" break; - case 498: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5677 "fe/idl.ypp" + case 495: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5666 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9056,21 +9019,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9060 "fe/idl.tab.cpp" +#line 9023 "fe/idl.tab.cpp" break; - case 499: /* interface_type: scoped_name */ -#line 5770 "fe/idl.ypp" + case 496: /* interface_type: scoped_name */ +#line 5759 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9070 "fe/idl.tab.cpp" +#line 9033 "fe/idl.tab.cpp" break; - case 500: /* interface_type: IDL_OBJECT */ -#line 5776 "fe/idl.ypp" + case 497: /* interface_type: IDL_OBJECT */ +#line 5765 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9093,11 +9056,11 @@ yyparse (void) conc_name), 1); } -#line 9097 "fe/idl.tab.cpp" +#line 9060 "fe/idl.tab.cpp" break; - case 501: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5801 "fe/idl.ypp" + case 498: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5790 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9201,37 +9164,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9205 "fe/idl.tab.cpp" +#line 9168 "fe/idl.tab.cpp" break; - case 502: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5908 "fe/idl.ypp" + case 499: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5897 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9215 "fe/idl.tab.cpp" +#line 9178 "fe/idl.tab.cpp" break; - case 503: /* opt_multiple: IDL_MULTIPLE */ -#line 5917 "fe/idl.ypp" + case 500: /* opt_multiple: IDL_MULTIPLE */ +#line 5906 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9223 "fe/idl.tab.cpp" +#line 9186 "fe/idl.tab.cpp" break; - case 504: /* opt_multiple: %empty */ -#line 5921 "fe/idl.ypp" + case 501: /* opt_multiple: %empty */ +#line 5910 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9231 "fe/idl.tab.cpp" +#line 9194 "fe/idl.tab.cpp" break; - case 505: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5928 "fe/idl.ypp" + case 502: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5917 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9303,11 +9266,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9307 "fe/idl.tab.cpp" +#line 9270 "fe/idl.tab.cpp" break; - case 506: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6003 "fe/idl.ypp" + case 503: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 5992 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9376,11 +9339,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9380 "fe/idl.tab.cpp" +#line 9343 "fe/idl.tab.cpp" break; - case 507: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6075 "fe/idl.ypp" + case 504: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6064 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9452,11 +9415,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9456 "fe/idl.tab.cpp" +#line 9419 "fe/idl.tab.cpp" break; - case 508: /* $@156: %empty */ -#line 6150 "fe/idl.ypp" + case 505: /* $@153: %empty */ +#line 6139 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9493,11 +9456,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9497 "fe/idl.tab.cpp" +#line 9460 "fe/idl.tab.cpp" break; - case 509: /* home_decl: home_header $@156 home_body */ -#line 6187 "fe/idl.ypp" + case 506: /* home_decl: home_header $@153 home_body */ +#line 6176 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9506,59 +9469,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9510 "fe/idl.tab.cpp" +#line 9473 "fe/idl.tab.cpp" break; - case 510: /* $@157: %empty */ -#line 6199 "fe/idl.ypp" + case 507: /* $@154: %empty */ +#line 6188 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9518 "fe/idl.tab.cpp" +#line 9481 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6203 "fe/idl.ypp" + case 508: /* $@155: %empty */ +#line 6192 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9526 "fe/idl.tab.cpp" +#line 9489 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6207 "fe/idl.ypp" + case 509: /* $@156: %empty */ +#line 6196 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9534 "fe/idl.tab.cpp" +#line 9497 "fe/idl.tab.cpp" break; - case 513: /* $@160: %empty */ -#line 6211 "fe/idl.ypp" + case 510: /* $@157: %empty */ +#line 6200 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9542 "fe/idl.tab.cpp" +#line 9505 "fe/idl.tab.cpp" break; - case 514: /* $@161: %empty */ -#line 6215 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6204 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9550 "fe/idl.tab.cpp" +#line 9513 "fe/idl.tab.cpp" break; - case 515: /* $@162: %empty */ -#line 6219 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9558 "fe/idl.tab.cpp" +#line 9521 "fe/idl.tab.cpp" break; - case 516: /* home_header: IDL_HOME $@157 defining_id $@158 home_inheritance_spec $@159 supports_spec $@160 IDL_MANAGES $@161 scoped_name $@162 primary_key_spec */ -#line 6223 "fe/idl.ypp" + case 513: /* home_header: IDL_HOME $@154 defining_id $@155 home_inheritance_spec $@156 supports_spec $@157 IDL_MANAGES $@158 scoped_name $@159 primary_key_spec */ +#line 6212 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9604,107 +9567,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9608 "fe/idl.tab.cpp" +#line 9571 "fe/idl.tab.cpp" break; - case 517: /* $@163: %empty */ -#line 6272 "fe/idl.ypp" + case 514: /* $@160: %empty */ +#line 6261 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9616 "fe/idl.tab.cpp" +#line 9579 "fe/idl.tab.cpp" break; - case 518: /* home_inheritance_spec: ':' $@163 scoped_name */ -#line 6276 "fe/idl.ypp" + case 515: /* home_inheritance_spec: ':' $@160 scoped_name */ +#line 6265 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9624 "fe/idl.tab.cpp" +#line 9587 "fe/idl.tab.cpp" break; - case 519: /* home_inheritance_spec: %empty */ -#line 6280 "fe/idl.ypp" + case 516: /* home_inheritance_spec: %empty */ +#line 6269 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9632 "fe/idl.tab.cpp" +#line 9595 "fe/idl.tab.cpp" break; - case 520: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6288 "fe/idl.ypp" + case 517: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6277 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9640 "fe/idl.tab.cpp" +#line 9603 "fe/idl.tab.cpp" break; - case 521: /* primary_key_spec: %empty */ -#line 6292 "fe/idl.ypp" + case 518: /* primary_key_spec: %empty */ +#line 6281 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9648 "fe/idl.tab.cpp" +#line 9611 "fe/idl.tab.cpp" break; - case 522: /* $@164: %empty */ -#line 6299 "fe/idl.ypp" + case 519: /* $@161: %empty */ +#line 6288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9656 "fe/idl.tab.cpp" +#line 9619 "fe/idl.tab.cpp" break; - case 523: /* $@165: %empty */ -#line 6303 "fe/idl.ypp" + case 520: /* $@162: %empty */ +#line 6292 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9664 "fe/idl.tab.cpp" +#line 9627 "fe/idl.tab.cpp" break; - case 524: /* home_body: '{' $@164 home_exports $@165 '}' */ -#line 6307 "fe/idl.ypp" + case 521: /* home_body: '{' $@161 home_exports $@162 '}' */ +#line 6296 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9672 "fe/idl.tab.cpp" +#line 9635 "fe/idl.tab.cpp" break; - case 528: /* $@166: %empty */ -#line 6320 "fe/idl.ypp" + case 525: /* $@163: %empty */ +#line 6309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9680 "fe/idl.tab.cpp" +#line 9643 "fe/idl.tab.cpp" break; - case 529: /* home_export: factory_decl $@166 ';' */ -#line 6324 "fe/idl.ypp" + case 526: /* home_export: factory_decl $@163 ';' */ +#line 6313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9688 "fe/idl.tab.cpp" +#line 9651 "fe/idl.tab.cpp" break; - case 530: /* $@167: %empty */ -#line 6328 "fe/idl.ypp" + case 527: /* $@164: %empty */ +#line 6317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9696 "fe/idl.tab.cpp" +#line 9659 "fe/idl.tab.cpp" break; - case 531: /* home_export: finder_decl $@167 ';' */ -#line 6332 "fe/idl.ypp" + case 528: /* home_export: finder_decl $@164 ';' */ +#line 6321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9704 "fe/idl.tab.cpp" +#line 9667 "fe/idl.tab.cpp" break; - case 532: /* $@168: %empty */ -#line 6340 "fe/idl.ypp" + case 529: /* $@165: %empty */ +#line 6329 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9727,19 +9690,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9731 "fe/idl.tab.cpp" +#line 9694 "fe/idl.tab.cpp" break; - case 533: /* $@169: %empty */ -#line 6363 "fe/idl.ypp" + case 530: /* $@166: %empty */ +#line 6352 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9739 "fe/idl.tab.cpp" +#line 9702 "fe/idl.tab.cpp" break; - case 534: /* factory_decl: IDL_FACTORY defining_id $@168 init_parameter_list $@169 opt_raises */ -#line 6367 "fe/idl.ypp" + case 531: /* factory_decl: IDL_FACTORY defining_id $@165 init_parameter_list $@166 opt_raises */ +#line 6356 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9757,11 +9720,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9761 "fe/idl.tab.cpp" +#line 9724 "fe/idl.tab.cpp" break; - case 535: /* $@170: %empty */ -#line 6389 "fe/idl.ypp" + case 532: /* $@167: %empty */ +#line 6378 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9788,19 +9751,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9792 "fe/idl.tab.cpp" +#line 9755 "fe/idl.tab.cpp" break; - case 536: /* $@171: %empty */ -#line 6416 "fe/idl.ypp" + case 533: /* $@168: %empty */ +#line 6405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9800 "fe/idl.tab.cpp" +#line 9763 "fe/idl.tab.cpp" break; - case 537: /* finder_decl: IDL_FINDER defining_id $@170 init_parameter_list $@171 opt_raises */ -#line 6420 "fe/idl.ypp" + case 534: /* finder_decl: IDL_FINDER defining_id $@167 init_parameter_list $@168 opt_raises */ +#line 6409 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9818,11 +9781,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9822 "fe/idl.tab.cpp" +#line 9785 "fe/idl.tab.cpp" break; - case 543: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6453 "fe/idl.ypp" + case 540: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6442 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9847,11 +9810,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9851 "fe/idl.tab.cpp" +#line 9814 "fe/idl.tab.cpp" break; - case 544: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6483 "fe/idl.ypp" + case 541: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6472 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9876,11 +9839,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9880 "fe/idl.tab.cpp" +#line 9843 "fe/idl.tab.cpp" break; - case 545: /* $@172: %empty */ -#line 6512 "fe/idl.ypp" + case 542: /* $@169: %empty */ +#line 6501 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9924,27 +9887,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9928 "fe/idl.tab.cpp" +#line 9891 "fe/idl.tab.cpp" break; - case 546: /* $@173: %empty */ -#line 6556 "fe/idl.ypp" + case 543: /* $@170: %empty */ +#line 6545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9936 "fe/idl.tab.cpp" +#line 9899 "fe/idl.tab.cpp" break; - case 547: /* $@174: %empty */ -#line 6560 "fe/idl.ypp" + case 544: /* $@171: %empty */ +#line 6549 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9944 "fe/idl.tab.cpp" +#line 9907 "fe/idl.tab.cpp" break; - case 548: /* event_abs_decl: event_abs_header event_rest_of_header $@172 '{' $@173 exports $@174 '}' */ -#line 6564 "fe/idl.ypp" + case 545: /* event_abs_decl: event_abs_header event_rest_of_header $@169 '{' $@170 exports $@171 '}' */ +#line 6553 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9955,19 +9918,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9959 "fe/idl.tab.cpp" +#line 9922 "fe/idl.tab.cpp" break; - case 549: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6580 "fe/idl.ypp" + case 546: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6569 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9967 "fe/idl.tab.cpp" +#line 9930 "fe/idl.tab.cpp" break; - case 550: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6589 "fe/idl.ypp" + case 547: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9980,29 +9943,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9984 "fe/idl.tab.cpp" +#line 9947 "fe/idl.tab.cpp" break; - case 551: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6606 "fe/idl.ypp" + case 548: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6595 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9994 "fe/idl.tab.cpp" +#line 9957 "fe/idl.tab.cpp" break; - case 552: /* $@175: %empty */ -#line 6615 "fe/idl.ypp" + case 549: /* $@172: %empty */ +#line 6604 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10002 "fe/idl.tab.cpp" +#line 9965 "fe/idl.tab.cpp" break; - case 553: /* event_rest_of_header: inheritance_spec $@175 supports_spec */ -#line 6619 "fe/idl.ypp" + case 550: /* event_rest_of_header: inheritance_spec $@172 supports_spec */ +#line 6608 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10031,11 +9994,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10035 "fe/idl.tab.cpp" +#line 9998 "fe/idl.tab.cpp" break; - case 554: /* @176: %empty */ -#line 6652 "fe/idl.ypp" + case 551: /* @173: %empty */ +#line 6641 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10086,27 +10049,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10090 "fe/idl.tab.cpp" +#line 10053 "fe/idl.tab.cpp" break; - case 555: /* $@177: %empty */ -#line 6703 "fe/idl.ypp" + case 552: /* $@174: %empty */ +#line 6692 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10098 "fe/idl.tab.cpp" +#line 10061 "fe/idl.tab.cpp" break; - case 556: /* $@178: %empty */ -#line 6707 "fe/idl.ypp" + case 553: /* $@175: %empty */ +#line 6696 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10106 "fe/idl.tab.cpp" +#line 10069 "fe/idl.tab.cpp" break; - case 557: /* event_decl: event_header event_rest_of_header @176 '{' $@177 value_elements $@178 '}' */ -#line 6711 "fe/idl.ypp" + case 554: /* event_decl: event_header event_rest_of_header @173 '{' $@174 value_elements $@175 '}' */ +#line 6700 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10117,108 +10080,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10121 "fe/idl.tab.cpp" +#line 10084 "fe/idl.tab.cpp" break; - case 558: /* event_header: event_custom_header */ -#line 6725 "fe/idl.ypp" + case 555: /* event_header: event_custom_header */ +#line 6714 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10129 "fe/idl.tab.cpp" +#line 10092 "fe/idl.tab.cpp" break; - case 559: /* event_header: event_plain_header */ -#line 6729 "fe/idl.ypp" + case 556: /* event_header: event_plain_header */ +#line 6718 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10137 "fe/idl.tab.cpp" +#line 10100 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_TYPENAME */ -#line 6736 "fe/idl.ypp" + case 557: /* formal_parameter_type: IDL_TYPENAME */ +#line 6725 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10145 "fe/idl.tab.cpp" +#line 10108 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_STRUCT */ -#line 6740 "fe/idl.ypp" + case 558: /* formal_parameter_type: IDL_STRUCT */ +#line 6729 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10153 "fe/idl.tab.cpp" +#line 10116 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_UNION */ -#line 6744 "fe/idl.ypp" + case 559: /* formal_parameter_type: IDL_UNION */ +#line 6733 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10161 "fe/idl.tab.cpp" +#line 10124 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6748 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6737 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10169 "fe/idl.tab.cpp" +#line 10132 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6752 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6741 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10177 "fe/idl.tab.cpp" +#line 10140 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_INTERFACE */ -#line 6756 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_INTERFACE */ +#line 6745 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10185 "fe/idl.tab.cpp" +#line 10148 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6760 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6749 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10193 "fe/idl.tab.cpp" +#line 10156 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_ENUM */ -#line 6764 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_ENUM */ +#line 6753 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10201 "fe/idl.tab.cpp" +#line 10164 "fe/idl.tab.cpp" break; - case 568: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6768 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6757 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10209 "fe/idl.tab.cpp" +#line 10172 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_type: IDL_CONST const_type */ -#line 6772 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_CONST const_type */ +#line 6761 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10218 "fe/idl.tab.cpp" +#line 10181 "fe/idl.tab.cpp" break; - case 570: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6780 "fe/idl.ypp" + case 567: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6769 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10246,11 +10209,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10250 "fe/idl.tab.cpp" +#line 10213 "fe/idl.tab.cpp" break; - case 571: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6811 "fe/idl.ypp" + case 568: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6800 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10263,19 +10226,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10267 "fe/idl.tab.cpp" +#line 10230 "fe/idl.tab.cpp" break; - case 572: /* formal_parameters: %empty */ -#line 6824 "fe/idl.ypp" + case 569: /* formal_parameters: %empty */ +#line 6813 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10275 "fe/idl.tab.cpp" +#line 10238 "fe/idl.tab.cpp" break; - case 573: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6831 "fe/idl.ypp" + case 570: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6820 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10300,11 +10263,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10304 "fe/idl.tab.cpp" +#line 10267 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6856 "fe/idl.ypp" + case 571: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6845 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10319,19 +10282,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10323 "fe/idl.tab.cpp" +#line 10286 "fe/idl.tab.cpp" break; - case 575: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6874 "fe/idl.ypp" + case 572: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6863 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10331 "fe/idl.tab.cpp" +#line 10294 "fe/idl.tab.cpp" break; - case 576: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6881 "fe/idl.ypp" + case 573: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6870 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10346,37 +10309,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10350 "fe/idl.tab.cpp" +#line 10313 "fe/idl.tab.cpp" break; - case 577: /* formal_parameter_names: %empty */ -#line 6896 "fe/idl.ypp" + case 574: /* formal_parameter_names: %empty */ +#line 6885 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10358 "fe/idl.tab.cpp" +#line 10321 "fe/idl.tab.cpp" break; - case 578: /* formal_parameter_name: IDENTIFIER */ -#line 6903 "fe/idl.ypp" + case 575: /* formal_parameter_name: IDENTIFIER */ +#line 6892 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10368 "fe/idl.tab.cpp" +#line 10331 "fe/idl.tab.cpp" break; - case 579: /* $@179: %empty */ -#line 6912 "fe/idl.ypp" + case 576: /* $@176: %empty */ +#line 6901 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10376 "fe/idl.tab.cpp" +#line 10339 "fe/idl.tab.cpp" break; - case 580: /* @180: %empty */ -#line 6916 "fe/idl.ypp" + case 577: /* @177: %empty */ +#line 6905 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10395,27 +10358,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10399 "fe/idl.tab.cpp" +#line 10362 "fe/idl.tab.cpp" break; - case 581: /* $@181: %empty */ -#line 6935 "fe/idl.ypp" + case 578: /* $@178: %empty */ +#line 6924 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10407 "fe/idl.tab.cpp" +#line 10370 "fe/idl.tab.cpp" break; - case 582: /* $@182: %empty */ -#line 6943 "fe/idl.ypp" + case 579: /* $@179: %empty */ +#line 6932 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10415 "fe/idl.tab.cpp" +#line 10378 "fe/idl.tab.cpp" break; - case 583: /* porttype_decl: IDL_PORTTYPE $@179 IDENTIFIER @180 '{' $@181 at_least_one_port_export $@182 '}' */ -#line 6947 "fe/idl.ypp" + case 580: /* porttype_decl: IDL_PORTTYPE $@176 IDENTIFIER @177 '{' $@178 at_least_one_port_export $@179 '}' */ +#line 6936 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10424,11 +10387,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10428 "fe/idl.tab.cpp" +#line 10391 "fe/idl.tab.cpp" break; - case 584: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6959 "fe/idl.ypp" + case 581: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6948 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10443,27 +10406,27 @@ yyparse (void) } delete annotations; } -#line 10447 "fe/idl.tab.cpp" +#line 10410 "fe/idl.tab.cpp" break; - case 590: /* $@183: %empty */ -#line 6985 "fe/idl.ypp" + case 587: /* $@180: %empty */ +#line 6974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10455 "fe/idl.tab.cpp" +#line 10418 "fe/idl.tab.cpp" break; - case 591: /* port_export: attribute $@183 ';' */ -#line 6989 "fe/idl.ypp" + case 588: /* port_export: attribute $@180 ';' */ +#line 6978 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10463 "fe/idl.tab.cpp" +#line 10426 "fe/idl.tab.cpp" break; - case 592: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6996 "fe/idl.ypp" + case 589: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 6985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10530,11 +10493,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10534 "fe/idl.tab.cpp" +#line 10497 "fe/idl.tab.cpp" break; - case 593: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7063 "fe/idl.ypp" + case 590: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7052 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10579,11 +10542,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10583 "fe/idl.tab.cpp" +#line 10546 "fe/idl.tab.cpp" break; - case 594: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7111 "fe/idl.ypp" + case 591: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7100 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10596,11 +10559,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10600 "fe/idl.tab.cpp" +#line 10563 "fe/idl.tab.cpp" break; - case 595: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7127 "fe/idl.ypp" + case 592: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7116 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10613,19 +10576,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10617 "fe/idl.tab.cpp" +#line 10580 "fe/idl.tab.cpp" break; - case 596: /* actual_parameters: %empty */ -#line 7140 "fe/idl.ypp" + case 593: /* actual_parameters: %empty */ +#line 7129 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10625 "fe/idl.tab.cpp" +#line 10588 "fe/idl.tab.cpp" break; - case 597: /* actual_parameter: expression */ -#line 7147 "fe/idl.ypp" + case 594: /* actual_parameter: expression */ +#line 7136 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10681,35 +10644,35 @@ yyparse (void) 0); } } -#line 10685 "fe/idl.tab.cpp" +#line 10648 "fe/idl.tab.cpp" break; - case 598: /* connector_decl: connector_header connector_body */ -#line 7206 "fe/idl.ypp" + case 595: /* connector_decl: connector_header connector_body */ +#line 7195 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10693 "fe/idl.tab.cpp" +#line 10656 "fe/idl.tab.cpp" break; - case 599: /* $@184: %empty */ -#line 7213 "fe/idl.ypp" + case 596: /* $@181: %empty */ +#line 7202 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10701 "fe/idl.tab.cpp" +#line 10664 "fe/idl.tab.cpp" break; - case 600: /* $@185: %empty */ -#line 7217 "fe/idl.ypp" + case 597: /* $@182: %empty */ +#line 7206 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10709 "fe/idl.tab.cpp" +#line 10672 "fe/idl.tab.cpp" break; - case 601: /* connector_header: IDL_CONNECTOR $@184 annotations_maybe IDENTIFIER $@185 component_inheritance_spec */ -#line 7221 "fe/idl.ypp" + case 598: /* connector_header: IDL_CONNECTOR $@181 annotations_maybe IDENTIFIER $@182 component_inheritance_spec */ +#line 7210 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10763,102 +10726,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10767 "fe/idl.tab.cpp" +#line 10730 "fe/idl.tab.cpp" break; - case 602: /* $@186: %empty */ -#line 7278 "fe/idl.ypp" + case 599: /* $@183: %empty */ +#line 7267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10775 "fe/idl.tab.cpp" +#line 10738 "fe/idl.tab.cpp" break; - case 603: /* $@187: %empty */ -#line 7282 "fe/idl.ypp" + case 600: /* $@184: %empty */ +#line 7271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10783 "fe/idl.tab.cpp" +#line 10746 "fe/idl.tab.cpp" break; - case 604: /* connector_body: '{' $@186 connector_exports $@187 '}' */ -#line 7286 "fe/idl.ypp" + case 601: /* connector_body: '{' $@183 connector_exports $@184 '}' */ +#line 7275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10794 "fe/idl.tab.cpp" +#line 10757 "fe/idl.tab.cpp" break; - case 607: /* $@188: %empty */ -#line 7301 "fe/idl.ypp" + case 604: /* $@185: %empty */ +#line 7290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10802 "fe/idl.tab.cpp" +#line 10765 "fe/idl.tab.cpp" break; - case 608: /* connector_export: provides_decl $@188 ';' */ -#line 7305 "fe/idl.ypp" + case 605: /* connector_export: provides_decl $@185 ';' */ +#line 7294 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10810 "fe/idl.tab.cpp" +#line 10773 "fe/idl.tab.cpp" break; - case 609: /* $@189: %empty */ -#line 7309 "fe/idl.ypp" + case 606: /* $@186: %empty */ +#line 7298 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10818 "fe/idl.tab.cpp" +#line 10781 "fe/idl.tab.cpp" break; - case 610: /* connector_export: uses_decl $@189 ';' */ -#line 7313 "fe/idl.ypp" + case 607: /* connector_export: uses_decl $@186 ';' */ +#line 7302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10826 "fe/idl.tab.cpp" +#line 10789 "fe/idl.tab.cpp" break; - case 611: /* $@190: %empty */ -#line 7317 "fe/idl.ypp" + case 608: /* $@187: %empty */ +#line 7306 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10834 "fe/idl.tab.cpp" +#line 10797 "fe/idl.tab.cpp" break; - case 612: /* connector_export: attribute $@190 ';' */ -#line 7321 "fe/idl.ypp" + case 609: /* connector_export: attribute $@187 ';' */ +#line 7310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10842 "fe/idl.tab.cpp" +#line 10805 "fe/idl.tab.cpp" break; - case 613: /* $@191: %empty */ -#line 7325 "fe/idl.ypp" + case 610: /* $@188: %empty */ +#line 7314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10850 "fe/idl.tab.cpp" +#line 10813 "fe/idl.tab.cpp" break; - case 614: /* connector_export: extended_port_decl $@191 ';' */ -#line 7329 "fe/idl.ypp" + case 611: /* connector_export: extended_port_decl $@188 ';' */ +#line 7318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10858 "fe/idl.tab.cpp" +#line 10821 "fe/idl.tab.cpp" break; -#line 10862 "fe/idl.tab.cpp" +#line 10825 "fe/idl.tab.cpp" default: break; } @@ -11051,7 +11014,7 @@ yyparse (void) return yyresult; } -#line 7334 "fe/idl.ypp" +#line 7323 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 7b69968977be7..df13d081dad0e 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3894,28 +3894,17 @@ enumerator : map_type_spec : IDL_MAP - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSeen); - idl_global->scopes().push(0); - } '<' - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapSqSeen); - } map_type ',' - { - idl_global->set_parse_state(IDL_GlobalData::PS_MapCommaSeen); - } map_type '>' { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $5; - Decl_Annotations_Pair *val_type = $8; - + Decl_Annotations_Pair *key_type = $3; + Decl_Annotations_Pair *val_type = $5; + /* * Remove sequence marker from scopes stack. */ From f154d189c948af51e9089e9e7cb69cca62d19bc0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 21:32:15 -0400 Subject: [PATCH 015/445] removed whitespace --- TAO/tests/IDLv4/maps/main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 11ee11669cfe6..a75730911af7b 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -4,6 +4,5 @@ #include "ace/OS_main.h" int ACE_TMAIN(int, ACE_TCHAR *[]) { - return EXIT_SUCCESS; } From 78a6345eb1a1a6d553322f804a481fb81d0a5172 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 25 May 2022 21:35:42 -0400 Subject: [PATCH 016/445] trailing whitespace --- TAO/TAO_IDL/include/ast_generator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_generator.h b/TAO/TAO_IDL/include/ast_generator.h index fef79fe1d65ad..ea333341f8bac 100644 --- a/TAO/TAO_IDL/include/ast_generator.h +++ b/TAO/TAO_IDL/include/ast_generator.h @@ -330,7 +330,7 @@ class TAO_IDL_FE_Export AST_Generator bool is_abstract); // Create a node representing a map type. - virtual AST_Map *create_map(AST_Expression *v, + virtual AST_Map *create_map(AST_Expression *v, AST_Type *key_bt, AST_Type *val_bt, UTL_ScopedName *n, From d6d2babde4b3ad5e1f94de008e7c778c8dfc07c8 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 1 Jun 2022 21:21:08 -0400 Subject: [PATCH 017/445] cleaned up --- TAO/TAO_IDL/ast/ast_map.cpp | 16 ++++++++++++++-- TAO/TAO_IDL/include/ast_map.h | 19 +++++++++++++++---- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index f516e0dd6ee98..64f757502803a 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -94,7 +94,7 @@ AST_Map::AST_Map (AST_Expression *ms, UTL_ScopedName *n, bool local, bool abstract) - : COMMON_Base (key_bt->is_local () || local, + : COMMON_Base (key_bt->is_local () || val_bt->is_local() || local, abstract), AST_Decl (AST_Decl::NT_map, n, @@ -256,7 +256,7 @@ AST_Map::value_type () const } AST_Type * -AST_Map::primitive_base_type () const +AST_Map::primitive_key_type () const { AST_Type *type_node = key_type (); if (type_node && type_node->node_type () == AST_Decl::NT_typedef) @@ -268,6 +268,18 @@ AST_Map::primitive_base_type () const return type_node; } +AST_Type * +AST_Map::primitive_value_type () const { + AST_Type *type_node = value_type(); + if (type_node && type_node->node_type() == AST_Decl::NT_typedef) + { + AST_Typedef * const typedef_node = dynamic_cast(type_node); + if(!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type(); + } + return type_node; +} + bool AST_Map::unbounded () const { diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 05e7332f9e098..5c0dbaf8cfae3 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -94,9 +94,15 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType /** * Returns the fully dealiased base type if it's a typedef. If it's not a - * typedef, the it returns the same value as as base_type(). + * typedef, the it returns the same value as as key_type(). */ - AST_Type *primitive_base_type () const; + AST_Type *primitive_key_type () const; + + /** + * Returns the fully dealiased base type if it's a typedef. If it's not a + * typedef, the it returns the same value as as value_type(). + */ + AST_Type *primitive_value_type () const; virtual bool unbounded () const; // Is this map bounded or not. @@ -147,9 +153,14 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType // responsible for destroying it. /** - * Annotations on the base type + * Annotations on the key type + */ + AST_Annotation_Appls key_type_annotations_; + + /** + * Annotations on the value type */ - AST_Annotation_Appls base_type_annotations_; + AST_Annotation_Appls value_type_annotations_; }; #endif // _AST_MAP_AST_MAP_HH From 06a095923fa6d722738eba9a5e721aff3b7c544d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 2 Jun 2022 20:33:17 -0400 Subject: [PATCH 018/445] fixes based on the code review --- TAO/TAO_IDL/ast/ast_generator.cpp | 10 ++++----- TAO/TAO_IDL/ast/ast_map.cpp | 37 ++++++++++++++++++++++++------- TAO/TAO_IDL/include/ast_map.h | 27 ++++++++++++++-------- TAO/tests/IDLv4/maps/.gitignore | 2 +- TAO/tests/IDLv4/maps/main.cpp | 3 ++- TAO/tests/IDLv4/maps/test.idl | 22 ++++++++++++++++-- 6 files changed, 75 insertions(+), 26 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_generator.cpp b/TAO/TAO_IDL/ast/ast_generator.cpp index 4a9f25bfd9b84..f7870d57fd424 100644 --- a/TAO/TAO_IDL/ast/ast_generator.cpp +++ b/TAO/TAO_IDL/ast/ast_generator.cpp @@ -870,11 +870,11 @@ AST_Generator::create_sequence (AST_Expression *ms, AST_Map * AST_Generator::create_map (AST_Expression *ms, - AST_Type *key_bt, - AST_Type *val_bt, - UTL_ScopedName *n, - bool is_local, - bool is_abstract) + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract) { AST_Map *retval = nullptr; ACE_NEW_RETURN (retval, diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 64f757502803a..1f56fa1d9d761 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -214,8 +214,8 @@ AST_Map::dump (ACE_OSTREAM_TYPE &o) { this->dump_i (o, "map <"); AST_Annotation_Appls::iterator i, - finished = base_type_annotations ().end (); - for (i = base_type_annotations ().begin (); i != finished; ++i) + finished = key_type_annotations ().end (); + for (i = key_type_annotations ().begin (); i != finished; ++i) { AST_Annotation_Appl *a = i->get (); a->dump (o); @@ -223,6 +223,14 @@ AST_Map::dump (ACE_OSTREAM_TYPE &o) } this->key_pd_type->dump (o); this->dump_i (o, ", "); + + finished = value_type_annotations ().end (); + for (i = value_type_annotations ().begin (); i != finished; ++i) + { + AST_Annotation_Appl *a = i->get (); + a->dump (o); + dump_i (o, " "); + } this->value_pd_type->dump (o); this->dump_i (o, ", "); this->pd_max_size->dump (o); @@ -269,12 +277,13 @@ AST_Map::primitive_key_type () const } AST_Type * -AST_Map::primitive_value_type () const { +AST_Map::primitive_value_type () const +{ AST_Type *type_node = value_type(); if (type_node && type_node->node_type() == AST_Decl::NT_typedef) { AST_Typedef * const typedef_node = dynamic_cast(type_node); - if(!typedef_node) return nullptr; + if (!typedef_node) return nullptr; type_node = typedef_node->primitive_base_type(); } return type_node; @@ -316,13 +325,25 @@ AST_Map::destroy () } AST_Annotation_Appls & -AST_Map::base_type_annotations () +AST_Map::key_type_annotations () { - return base_type_annotations_; + return value_type_annotations_; } void -AST_Map::base_type_annotations (const AST_Annotation_Appls &annotations) +AST_Map::key_type_annotations (const AST_Annotation_Appls &annotations) { - base_type_annotations_ = annotations; + key_type_annotations_ = annotations; } + +AST_Annotation_Appls & +AST_Map::value_type_annotations () +{ + return value_type_annotations_; +} + +void +AST_Map::value_type_annotations (const AST_Annotation_Appls &annotations) +{ + value_type_annotations_ = annotations; +} \ No newline at end of file diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 5c0dbaf8cfae3..5a051bd102e6d 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -75,11 +75,11 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType { public: AST_Map (AST_Expression *max_size, - AST_Type *key_bt, - AST_Type *val_bt, - UTL_ScopedName *n, - bool local, - bool abstract); + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract); virtual ~AST_Map (); @@ -90,7 +90,7 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType AST_Expression *max_size (); AST_Type *key_type () const; - AST_Type *value_type() const; + AST_Type *value_type () const; /** * Returns the fully dealiased base type if it's a typedef. If it's not a @@ -128,11 +128,20 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType static AST_Decl::NodeType const NT; /** - * Get and Set Annotations on the base type + * Get and Set Annotations on the key type */ ///{ - AST_Annotation_Appls &base_type_annotations (); - void base_type_annotations (const AST_Annotation_Appls &annotations); + AST_Annotation_Appls &key_type_annotations (); + void key_type_annotations (const AST_Annotation_Appls &annotations); + ///} + + + /** + * Get and Set Annotations on the value type + */ + ///{ + AST_Annotation_Appls &value_type_annotations (); + void value_type_annotations (const AST_Annotation_Appls &annotations); ///} private: diff --git a/TAO/tests/IDLv4/maps/.gitignore b/TAO/tests/IDLv4/maps/.gitignore index 2d381ab3d39cb..3091aa5100dcb 100644 --- a/TAO/tests/IDLv4/maps/.gitignore +++ b/TAO/tests/IDLv4/maps/.gitignore @@ -3,4 +3,4 @@ /testC.inl /testS.cpp /testS.h -/explicit_ints +/maps diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index a75730911af7b..6de0976948d36 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -3,6 +3,7 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" -int ACE_TMAIN(int, ACE_TCHAR *[]) { +int ACE_TMAIN(int, ACE_TCHAR *[]) +{ return EXIT_SUCCESS; } diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index dc10d6cd29940..c777654e4238e 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,5 +1,23 @@ +struct TestStruct { + int32 id; + string msg; +}; + +typedef sequence TestStructSeq; + +// This fails +// typedef map TestStructMap; + struct DataStruct { - sequence seqData; map mapData; - map mapData; + map mapDataBounded; + + map mapStructs; + map mapStructsBounded; + + map stringSequenceMap; + map stringSequenceMapBounded; + + // map stringMapMap; + // map stringMapMapBounded; }; From ed7e91bf7781fddd89c8601ed316d19ae4d91c21 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 2 Jun 2022 20:34:41 -0400 Subject: [PATCH 019/445] Removed MPC submodule --- MPC | 1 - 1 file changed, 1 deletion(-) delete mode 160000 MPC diff --git a/MPC b/MPC deleted file mode 160000 index 7de9f4cebd58a..0000000000000 --- a/MPC +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7de9f4cebd58a91f707ea936ba0cce1726cefde8 From 17a670ad1d51f425f82dd3fbb4b9dafdb4437b32 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 20:13:34 -0400 Subject: [PATCH 020/445] key_type + value_type code, and cleanup --- TAO/TAO_IDL/ast/ast_map.cpp | 59 ++++++++++++++++++++++++++--------- TAO/TAO_IDL/include/ast_map.h | 9 ++++-- TAO/tests/IDLv4/maps/test.idl | 2 +- 3 files changed, 51 insertions(+), 19 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 1f56fa1d9d761..4f017c2a66e29 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -89,11 +89,11 @@ AST_Decl::NodeType const AST_Map::NT = AST_Decl::NT_map; AST_Map::AST_Map (AST_Expression *ms, - AST_Type *key_bt, - AST_Type *val_bt, - UTL_ScopedName *n, - bool local, - bool abstract) + AST_Type *key_bt, + AST_Type *val_bt, + UTL_ScopedName *n, + bool local, + bool abstract) : COMMON_Base (key_bt->is_local () || val_bt->is_local() || local, abstract), AST_Decl (AST_Decl::NT_map, @@ -107,13 +107,14 @@ AST_Map::AST_Map (AST_Expression *ms, key_pd_type (key_bt), value_pd_type (val_bt), unbounded_ (true), - owns_base_type_ (false) + owns_key_type_ (false), + owns_value_type_ (false) { FE_Utils::tmpl_mod_ref_check (this, key_bt); - AST_Decl::NodeType bnt = key_bt->node_type (); + AST_Decl::NodeType knt = key_bt->node_type (); - if (bnt == AST_Decl::NT_param_holder) + if (knt == AST_Decl::NT_param_holder) { AST_Param_Holder *ph = dynamic_cast (key_bt); @@ -127,6 +128,24 @@ AST_Map::AST_Map (AST_Expression *ms, } } + FE_Utils::tmpl_mod_ref_check (this, val_bt); + + AST_Decl::NodeType vnt = val_bt->node_type (); + + if (vnt == AST_Decl::NT_param_holder) + { + AST_Param_Holder *ph = dynamic_cast (val_bt); + + if (ph->info ()->type_ == AST_Decl::NT_const) + { + idl_global->err ()->not_a_type (val_bt); + val_bt->destroy (); + delete val_bt; + val_bt = nullptr; + throw Bailout (); + } + } + // Check if we are bounded or unbounded. An expression value of 0 means // unbounded. If our bound is a template parameter, skip the // check altogether, this node will trigger no code generation. @@ -138,12 +157,15 @@ AST_Map::AST_Map (AST_Expression *ms, // A map data type is always VARIABLE. this->size_type (AST_Type::VARIABLE); - AST_Decl::NodeType nt = key_bt->node_type (); + this->owns_key_type_ = + knt == AST_Decl::NT_array + || knt == AST_Decl::NT_map + || knt == AST_Decl::NT_param_holder; - this->owns_base_type_ = - nt == AST_Decl::NT_array - || nt == AST_Decl::NT_map - || nt == AST_Decl::NT_param_holder; + this->owns_value_type_ = + vnt == AST_Decl::NT_array + || vnt == AST_Decl::NT_map + || vnt == AST_Decl::NT_param_holder; } AST_Map::~AST_Map () @@ -310,12 +332,19 @@ AST_Map::is_defined () void AST_Map::destroy () { - if (this->owns_base_type_) + if (this->owns_key_type_) { this->key_pd_type->destroy (); delete this->key_pd_type; this->key_pd_type = nullptr; } + + if (this->owns_value_type_) + { + this->value_pd_type->destroy(); + delete this->value_pd_type; + this->value_pd_type = nullptr; + } this->pd_max_size->destroy (); delete this->pd_max_size; @@ -346,4 +375,4 @@ void AST_Map::value_type_annotations (const AST_Annotation_Appls &annotations) { value_type_annotations_ = annotations; -} \ No newline at end of file +} diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 5a051bd102e6d..a83e437ac68c2 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -157,15 +157,18 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType bool unbounded_; // Whether we are bounded or unbounded. - bool owns_base_type_; - // If our base type is anonymous array or map, we're + bool owns_key_type_; + // If our key type is anonymous array or map, we're + // responsible for destroying it. + bool owns_value_type_; + // If our value type is anonymous array or map, we're // responsible for destroying it. /** * Annotations on the key type */ AST_Annotation_Appls key_type_annotations_; - + /** * Annotations on the value type */ diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index c777654e4238e..bf1f1024a1eda 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -14,7 +14,7 @@ struct DataStruct { map mapStructs; map mapStructsBounded; - + map stringSequenceMap; map stringSequenceMapBounded; From 42c8ff76ccda538223e0664f65de4cd5fa42f287 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 20:14:48 -0400 Subject: [PATCH 021/445] Updated bison, pushing null scope --- TAO/TAO_IDL/fe/idl.ypp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index df13d081dad0e..2428deef0b98f 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3894,6 +3894,11 @@ enumerator : map_type_spec : IDL_MAP + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); + + idl_global->scopes ().push (0); + } '<' map_type ',' @@ -3945,15 +3950,23 @@ map_type_spec : s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + delete key_type->annotation; + delete val_type->annotation; $$ = map; } | IDL_MAP + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); + + idl_global->scopes ().push (0); + } '<' map_type ',' @@ -4004,11 +4017,15 @@ map_type_spec : s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + + delete key_type->annotation; + delete val_type->annotation; $$ = map; } ; From 00099e694c5d415386a105afd98311a6d5387adc Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:04:24 -0400 Subject: [PATCH 022/445] Updated idl for null scope --- TAO/TAO_IDL/fe/idl.tab.cpp | 3871 +++++++++++++++--------------- TAO/TAO_IDL/fe/idl.ypp | 13 +- TAO/TAO_IDL/include/idl_global.h | 2 +- 3 files changed, 1963 insertions(+), 1923 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index db6afe1bfd833..ef50491e5c07e 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -517,197 +517,198 @@ enum yysymbol_kind_t YYSYMBOL_324_90 = 324, /* $@90 */ YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ - YYSYMBOL_map_type = 327, /* map_type */ - YYSYMBOL_sequence_type_spec = 328, /* sequence_type_spec */ - YYSYMBOL_329_91 = 329, /* $@91 */ + YYSYMBOL_327_91 = 327, /* $@91 */ + YYSYMBOL_map_type = 328, /* map_type */ + YYSYMBOL_sequence_type_spec = 329, /* sequence_type_spec */ YYSYMBOL_330_92 = 330, /* $@92 */ - YYSYMBOL_seq_head = 331, /* seq_head */ - YYSYMBOL_332_93 = 332, /* $@93 */ + YYSYMBOL_331_93 = 331, /* $@93 */ + YYSYMBOL_seq_head = 332, /* seq_head */ YYSYMBOL_333_94 = 333, /* $@94 */ - YYSYMBOL_fixed_type_spec = 334, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 335, /* string_type_spec */ - YYSYMBOL_336_95 = 336, /* $@95 */ + YYSYMBOL_334_95 = 334, /* $@95 */ + YYSYMBOL_fixed_type_spec = 335, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 336, /* string_type_spec */ YYSYMBOL_337_96 = 337, /* $@96 */ - YYSYMBOL_string_head = 338, /* string_head */ - YYSYMBOL_wstring_type_spec = 339, /* wstring_type_spec */ - YYSYMBOL_340_97 = 340, /* $@97 */ + YYSYMBOL_338_97 = 338, /* $@97 */ + YYSYMBOL_string_head = 339, /* string_head */ + YYSYMBOL_wstring_type_spec = 340, /* wstring_type_spec */ YYSYMBOL_341_98 = 341, /* $@98 */ - YYSYMBOL_wstring_head = 342, /* wstring_head */ - YYSYMBOL_array_declarator = 343, /* array_declarator */ - YYSYMBOL_344_99 = 344, /* $@99 */ - YYSYMBOL_at_least_one_array_dim = 345, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 346, /* array_dims */ - YYSYMBOL_array_dim = 347, /* array_dim */ - YYSYMBOL_348_100 = 348, /* $@100 */ + YYSYMBOL_342_99 = 342, /* $@99 */ + YYSYMBOL_wstring_head = 343, /* wstring_head */ + YYSYMBOL_array_declarator = 344, /* array_declarator */ + YYSYMBOL_345_100 = 345, /* $@100 */ + YYSYMBOL_at_least_one_array_dim = 346, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 347, /* array_dims */ + YYSYMBOL_array_dim = 348, /* array_dim */ YYSYMBOL_349_101 = 349, /* $@101 */ - YYSYMBOL_attribute = 350, /* attribute */ - YYSYMBOL_attribute_readonly = 351, /* attribute_readonly */ - YYSYMBOL_352_102 = 352, /* $@102 */ + YYSYMBOL_350_102 = 350, /* $@102 */ + YYSYMBOL_attribute = 351, /* attribute */ + YYSYMBOL_attribute_readonly = 352, /* attribute_readonly */ YYSYMBOL_353_103 = 353, /* $@103 */ YYSYMBOL_354_104 = 354, /* $@104 */ YYSYMBOL_355_105 = 355, /* $@105 */ - YYSYMBOL_attribute_readwrite = 356, /* attribute_readwrite */ - YYSYMBOL_357_106 = 357, /* $@106 */ + YYSYMBOL_356_106 = 356, /* $@106 */ + YYSYMBOL_attribute_readwrite = 357, /* attribute_readwrite */ YYSYMBOL_358_107 = 358, /* $@107 */ YYSYMBOL_359_108 = 359, /* $@108 */ YYSYMBOL_360_109 = 360, /* $@109 */ - YYSYMBOL_exception = 361, /* exception */ - YYSYMBOL_362_110 = 362, /* $@110 */ - YYSYMBOL_363_111 = 363, /* @111 */ - YYSYMBOL_364_112 = 364, /* $@112 */ + YYSYMBOL_361_110 = 361, /* $@110 */ + YYSYMBOL_exception = 362, /* exception */ + YYSYMBOL_363_111 = 363, /* $@111 */ + YYSYMBOL_364_112 = 364, /* @112 */ YYSYMBOL_365_113 = 365, /* $@113 */ - YYSYMBOL_operation = 366, /* operation */ - YYSYMBOL_367_114 = 367, /* $@114 */ + YYSYMBOL_366_114 = 366, /* $@114 */ + YYSYMBOL_operation = 367, /* operation */ YYSYMBOL_368_115 = 368, /* $@115 */ YYSYMBOL_369_116 = 369, /* $@116 */ YYSYMBOL_370_117 = 370, /* $@117 */ - YYSYMBOL_opt_op_attribute = 371, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 372, /* op_type_spec */ - YYSYMBOL_init_decl = 373, /* init_decl */ - YYSYMBOL_374_118 = 374, /* $@118 */ - YYSYMBOL_375_119 = 375, /* @119 */ - YYSYMBOL_376_120 = 376, /* $@120 */ - YYSYMBOL_init_parameter_list = 377, /* init_parameter_list */ - YYSYMBOL_378_121 = 378, /* $@121 */ + YYSYMBOL_371_118 = 371, /* $@118 */ + YYSYMBOL_opt_op_attribute = 372, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 373, /* op_type_spec */ + YYSYMBOL_init_decl = 374, /* init_decl */ + YYSYMBOL_375_119 = 375, /* $@119 */ + YYSYMBOL_376_120 = 376, /* @120 */ + YYSYMBOL_377_121 = 377, /* $@121 */ + YYSYMBOL_init_parameter_list = 378, /* init_parameter_list */ YYSYMBOL_379_122 = 379, /* $@122 */ - YYSYMBOL_at_least_one_in_parameter = 380, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 381, /* in_parameters */ - YYSYMBOL_382_123 = 382, /* $@123 */ - YYSYMBOL_in_parameter = 383, /* in_parameter */ - YYSYMBOL_384_124 = 384, /* $@124 */ + YYSYMBOL_380_123 = 380, /* $@123 */ + YYSYMBOL_at_least_one_in_parameter = 381, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 382, /* in_parameters */ + YYSYMBOL_383_124 = 383, /* $@124 */ + YYSYMBOL_in_parameter = 384, /* in_parameter */ YYSYMBOL_385_125 = 385, /* $@125 */ - YYSYMBOL_parameter_list = 386, /* parameter_list */ - YYSYMBOL_387_126 = 387, /* $@126 */ + YYSYMBOL_386_126 = 386, /* $@126 */ + YYSYMBOL_parameter_list = 387, /* parameter_list */ YYSYMBOL_388_127 = 388, /* $@127 */ - YYSYMBOL_at_least_one_parameter = 389, /* at_least_one_parameter */ - YYSYMBOL_parameters = 390, /* parameters */ - YYSYMBOL_391_128 = 391, /* $@128 */ - YYSYMBOL_parameter = 392, /* parameter */ - YYSYMBOL_393_129 = 393, /* $@129 */ + YYSYMBOL_389_128 = 389, /* $@128 */ + YYSYMBOL_at_least_one_parameter = 390, /* at_least_one_parameter */ + YYSYMBOL_parameters = 391, /* parameters */ + YYSYMBOL_392_129 = 392, /* $@129 */ + YYSYMBOL_parameter = 393, /* parameter */ YYSYMBOL_394_130 = 394, /* $@130 */ - YYSYMBOL_param_type_spec = 395, /* param_type_spec */ - YYSYMBOL_direction = 396, /* direction */ - YYSYMBOL_opt_raises = 397, /* opt_raises */ - YYSYMBOL_398_131 = 398, /* $@131 */ + YYSYMBOL_395_131 = 395, /* $@131 */ + YYSYMBOL_param_type_spec = 396, /* param_type_spec */ + YYSYMBOL_direction = 397, /* direction */ + YYSYMBOL_opt_raises = 398, /* opt_raises */ YYSYMBOL_399_132 = 399, /* $@132 */ - YYSYMBOL_opt_getraises = 400, /* opt_getraises */ - YYSYMBOL_401_133 = 401, /* $@133 */ + YYSYMBOL_400_133 = 400, /* $@133 */ + YYSYMBOL_opt_getraises = 401, /* opt_getraises */ YYSYMBOL_402_134 = 402, /* $@134 */ - YYSYMBOL_opt_setraises = 403, /* opt_setraises */ - YYSYMBOL_404_135 = 404, /* $@135 */ + YYSYMBOL_403_135 = 403, /* $@135 */ + YYSYMBOL_opt_setraises = 404, /* opt_setraises */ YYSYMBOL_405_136 = 405, /* $@136 */ - YYSYMBOL_opt_context = 406, /* opt_context */ - YYSYMBOL_407_137 = 407, /* $@137 */ + YYSYMBOL_406_137 = 406, /* $@137 */ + YYSYMBOL_opt_context = 407, /* opt_context */ YYSYMBOL_408_138 = 408, /* $@138 */ - YYSYMBOL_at_least_one_string_literal = 409, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 410, /* string_literals */ - YYSYMBOL_411_139 = 411, /* $@139 */ - YYSYMBOL_typeid_dcl = 412, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 413, /* typeprefix_dcl */ - YYSYMBOL_component = 414, /* component */ - YYSYMBOL_component_forward_decl = 415, /* component_forward_decl */ - YYSYMBOL_component_decl = 416, /* component_decl */ - YYSYMBOL_417_140 = 417, /* @140 */ - YYSYMBOL_418_141 = 418, /* $@141 */ + YYSYMBOL_409_139 = 409, /* $@139 */ + YYSYMBOL_at_least_one_string_literal = 410, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 411, /* string_literals */ + YYSYMBOL_412_140 = 412, /* $@140 */ + YYSYMBOL_typeid_dcl = 413, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 414, /* typeprefix_dcl */ + YYSYMBOL_component = 415, /* component */ + YYSYMBOL_component_forward_decl = 416, /* component_forward_decl */ + YYSYMBOL_component_decl = 417, /* component_decl */ + YYSYMBOL_418_141 = 418, /* @141 */ YYSYMBOL_419_142 = 419, /* $@142 */ - YYSYMBOL_component_header = 420, /* component_header */ - YYSYMBOL_421_143 = 421, /* $@143 */ + YYSYMBOL_420_143 = 420, /* $@143 */ + YYSYMBOL_component_header = 421, /* component_header */ YYSYMBOL_422_144 = 422, /* $@144 */ - YYSYMBOL_component_inheritance_spec = 423, /* component_inheritance_spec */ - YYSYMBOL_424_145 = 424, /* $@145 */ - YYSYMBOL_component_exports = 425, /* component_exports */ - YYSYMBOL_component_export = 426, /* component_export */ - YYSYMBOL_427_146 = 427, /* $@146 */ + YYSYMBOL_423_145 = 423, /* $@145 */ + YYSYMBOL_component_inheritance_spec = 424, /* component_inheritance_spec */ + YYSYMBOL_425_146 = 425, /* $@146 */ + YYSYMBOL_component_exports = 426, /* component_exports */ + YYSYMBOL_component_export = 427, /* component_export */ YYSYMBOL_428_147 = 428, /* $@147 */ YYSYMBOL_429_148 = 429, /* $@148 */ YYSYMBOL_430_149 = 430, /* $@149 */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ - YYSYMBOL_provides_decl = 434, /* provides_decl */ - YYSYMBOL_interface_type = 435, /* interface_type */ - YYSYMBOL_uses_decl = 436, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 437, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 438, /* opt_multiple */ - YYSYMBOL_emits_decl = 439, /* emits_decl */ - YYSYMBOL_publishes_decl = 440, /* publishes_decl */ - YYSYMBOL_consumes_decl = 441, /* consumes_decl */ - YYSYMBOL_home_decl = 442, /* home_decl */ - YYSYMBOL_443_153 = 443, /* $@153 */ - YYSYMBOL_home_header = 444, /* home_header */ - YYSYMBOL_445_154 = 445, /* $@154 */ + YYSYMBOL_434_153 = 434, /* $@153 */ + YYSYMBOL_provides_decl = 435, /* provides_decl */ + YYSYMBOL_interface_type = 436, /* interface_type */ + YYSYMBOL_uses_decl = 437, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 438, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 439, /* opt_multiple */ + YYSYMBOL_emits_decl = 440, /* emits_decl */ + YYSYMBOL_publishes_decl = 441, /* publishes_decl */ + YYSYMBOL_consumes_decl = 442, /* consumes_decl */ + YYSYMBOL_home_decl = 443, /* home_decl */ + YYSYMBOL_444_154 = 444, /* $@154 */ + YYSYMBOL_home_header = 445, /* home_header */ YYSYMBOL_446_155 = 446, /* $@155 */ YYSYMBOL_447_156 = 447, /* $@156 */ YYSYMBOL_448_157 = 448, /* $@157 */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ - YYSYMBOL_home_inheritance_spec = 451, /* home_inheritance_spec */ - YYSYMBOL_452_160 = 452, /* $@160 */ - YYSYMBOL_primary_key_spec = 453, /* primary_key_spec */ - YYSYMBOL_home_body = 454, /* home_body */ - YYSYMBOL_455_161 = 455, /* $@161 */ + YYSYMBOL_451_160 = 451, /* $@160 */ + YYSYMBOL_home_inheritance_spec = 452, /* home_inheritance_spec */ + YYSYMBOL_453_161 = 453, /* $@161 */ + YYSYMBOL_primary_key_spec = 454, /* primary_key_spec */ + YYSYMBOL_home_body = 455, /* home_body */ YYSYMBOL_456_162 = 456, /* $@162 */ - YYSYMBOL_home_exports = 457, /* home_exports */ - YYSYMBOL_home_export = 458, /* home_export */ - YYSYMBOL_459_163 = 459, /* $@163 */ + YYSYMBOL_457_163 = 457, /* $@163 */ + YYSYMBOL_home_exports = 458, /* home_exports */ + YYSYMBOL_home_export = 459, /* home_export */ YYSYMBOL_460_164 = 460, /* $@164 */ - YYSYMBOL_factory_decl = 461, /* factory_decl */ - YYSYMBOL_462_165 = 462, /* $@165 */ + YYSYMBOL_461_165 = 461, /* $@165 */ + YYSYMBOL_factory_decl = 462, /* factory_decl */ YYSYMBOL_463_166 = 463, /* $@166 */ - YYSYMBOL_finder_decl = 464, /* finder_decl */ - YYSYMBOL_465_167 = 465, /* $@167 */ + YYSYMBOL_464_167 = 464, /* $@167 */ + YYSYMBOL_finder_decl = 465, /* finder_decl */ YYSYMBOL_466_168 = 466, /* $@168 */ - YYSYMBOL_event = 467, /* event */ - YYSYMBOL_event_forward_decl = 468, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 469, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 470, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 471, /* event_abs_decl */ - YYSYMBOL_472_169 = 472, /* $@169 */ + YYSYMBOL_467_169 = 467, /* $@169 */ + YYSYMBOL_event = 468, /* event */ + YYSYMBOL_event_forward_decl = 469, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 470, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 471, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 472, /* event_abs_decl */ YYSYMBOL_473_170 = 473, /* $@170 */ YYSYMBOL_474_171 = 474, /* $@171 */ - YYSYMBOL_event_abs_header = 475, /* event_abs_header */ - YYSYMBOL_event_custom_header = 476, /* event_custom_header */ - YYSYMBOL_event_plain_header = 477, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 478, /* event_rest_of_header */ - YYSYMBOL_479_172 = 479, /* $@172 */ - YYSYMBOL_event_decl = 480, /* event_decl */ - YYSYMBOL_481_173 = 481, /* @173 */ - YYSYMBOL_482_174 = 482, /* $@174 */ + YYSYMBOL_475_172 = 475, /* $@172 */ + YYSYMBOL_event_abs_header = 476, /* event_abs_header */ + YYSYMBOL_event_custom_header = 477, /* event_custom_header */ + YYSYMBOL_event_plain_header = 478, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 479, /* event_rest_of_header */ + YYSYMBOL_480_173 = 480, /* $@173 */ + YYSYMBOL_event_decl = 481, /* event_decl */ + YYSYMBOL_482_174 = 482, /* @174 */ YYSYMBOL_483_175 = 483, /* $@175 */ - YYSYMBOL_event_header = 484, /* event_header */ - YYSYMBOL_formal_parameter_type = 485, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 486, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 487, /* formal_parameters */ - YYSYMBOL_formal_parameter = 488, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 489, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 490, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 491, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 492, /* porttype_decl */ - YYSYMBOL_493_176 = 493, /* $@176 */ - YYSYMBOL_494_177 = 494, /* @177 */ - YYSYMBOL_495_178 = 495, /* $@178 */ + YYSYMBOL_484_176 = 484, /* $@176 */ + YYSYMBOL_event_header = 485, /* event_header */ + YYSYMBOL_formal_parameter_type = 486, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 487, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 488, /* formal_parameters */ + YYSYMBOL_formal_parameter = 489, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 490, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 491, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 492, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 493, /* porttype_decl */ + YYSYMBOL_494_177 = 494, /* $@177 */ + YYSYMBOL_495_178 = 495, /* @178 */ YYSYMBOL_496_179 = 496, /* $@179 */ - YYSYMBOL_at_least_one_port_export = 497, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 498, /* port_exports */ - YYSYMBOL_port_export = 499, /* port_export */ - YYSYMBOL_500_180 = 500, /* $@180 */ - YYSYMBOL_extended_port_decl = 501, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 502, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 503, /* actual_parameters */ - YYSYMBOL_actual_parameter = 504, /* actual_parameter */ - YYSYMBOL_connector_decl = 505, /* connector_decl */ - YYSYMBOL_connector_header = 506, /* connector_header */ - YYSYMBOL_507_181 = 507, /* $@181 */ + YYSYMBOL_497_180 = 497, /* $@180 */ + YYSYMBOL_at_least_one_port_export = 498, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 499, /* port_exports */ + YYSYMBOL_port_export = 500, /* port_export */ + YYSYMBOL_501_181 = 501, /* $@181 */ + YYSYMBOL_extended_port_decl = 502, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 503, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 504, /* actual_parameters */ + YYSYMBOL_actual_parameter = 505, /* actual_parameter */ + YYSYMBOL_connector_decl = 506, /* connector_decl */ + YYSYMBOL_connector_header = 507, /* connector_header */ YYSYMBOL_508_182 = 508, /* $@182 */ - YYSYMBOL_connector_body = 509, /* connector_body */ - YYSYMBOL_510_183 = 510, /* $@183 */ + YYSYMBOL_509_183 = 509, /* $@183 */ + YYSYMBOL_connector_body = 510, /* connector_body */ YYSYMBOL_511_184 = 511, /* $@184 */ - YYSYMBOL_connector_exports = 512, /* connector_exports */ - YYSYMBOL_connector_export = 513, /* connector_export */ - YYSYMBOL_514_185 = 514, /* $@185 */ + YYSYMBOL_512_185 = 512, /* $@185 */ + YYSYMBOL_connector_exports = 513, /* connector_exports */ + YYSYMBOL_connector_export = 514, /* connector_export */ YYSYMBOL_515_186 = 515, /* $@186 */ YYSYMBOL_516_187 = 516, /* $@187 */ - YYSYMBOL_517_188 = 517 /* $@188 */ + YYSYMBOL_517_188 = 517, /* $@188 */ + YYSYMBOL_518_189 = 518 /* $@189 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1035,16 +1036,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2099 +#define YYLAST 2202 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 400 +#define YYNNTS 401 /* YYNRULES -- Number of rules. */ -#define YYNRULES 611 +#define YYNRULES 612 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 900 +#define YYNSTATES 905 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1138,33 +1139,33 @@ static const yytype_int16 yyrline[] = 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3896, 3956, 4017, 4030, 4034, 4028, - 4118, 4185, 4194, 4184, 4208, 4218, 4222, 4216, 4264, 4290, - 4299, 4303, 4297, 4345, 4371, 4379, 4378, 4421, 4431, 4449, - 4457, 4461, 4456, 4521, 4522, 4527, 4531, 4535, 4539, 4526, - 4598, 4602, 4606, 4610, 4597, 4678, 4682, 4714, 4718, 4677, - 4735, 4739, 4800, 4804, 4734, 4841, 4846, 4851, 4858, 4859, - 4870, 4875, 4918, 4869, 4940, 4939, 4948, 4947, 4958, 4963, - 4961, 4967, 4972, 4976, 4971, 5015, 5014, 5023, 5022, 5033, - 5038, 5036, 5042, 5047, 5051, 5046, 5096, 5103, 5104, 5105, - 5212, 5216, 5220, 5228, 5232, 5227, 5241, 5249, 5253, 5248, - 5262, 5270, 5274, 5269, 5283, 5291, 5295, 5290, 5304, 5311, - 5323, 5321, 5344, 5351, 5381, 5420, 5421, 5425, 5456, 5498, - 5502, 5455, 5521, 5525, 5519, 5566, 5565, 5573, 5580, 5595, - 5596, 5601, 5600, 5610, 5609, 5619, 5618, 5628, 5627, 5637, - 5636, 5646, 5645, 5655, 5654, 5665, 5758, 5764, 5789, 5896, - 5905, 5909, 5916, 5991, 6063, 6139, 6138, 6188, 6192, 6196, - 6200, 6204, 6208, 6187, 6261, 6260, 6268, 6275, 6280, 6288, - 6292, 6287, 6302, 6303, 6307, 6309, 6308, 6317, 6316, 6329, - 6352, 6327, 6378, 6405, 6376, 6429, 6430, 6431, 6435, 6436, - 6440, 6469, 6501, 6545, 6549, 6499, 6566, 6575, 6593, 6604, - 6603, 6641, 6692, 6696, 6639, 6713, 6717, 6724, 6728, 6732, - 6736, 6740, 6744, 6748, 6752, 6756, 6760, 6768, 6799, 6812, - 6819, 6844, 6862, 6869, 6884, 6891, 6901, 6905, 6924, 6932, - 6900, 6947, 6962, 6966, 6967, 6971, 6972, 6974, 6973, 6984, - 7051, 7099, 7115, 7128, 7135, 7194, 7202, 7206, 7201, 7267, - 7271, 7266, 7284, 7285, 7290, 7289, 7298, 7297, 7306, 7305, - 7314, 7313 + 3850, 3848, 3854, 3858, 3897, 3896, 3962, 4031, 4044, 4048, + 4042, 4132, 4199, 4208, 4198, 4222, 4232, 4236, 4230, 4278, + 4304, 4313, 4317, 4311, 4359, 4385, 4393, 4392, 4435, 4445, + 4463, 4471, 4475, 4470, 4535, 4536, 4541, 4545, 4549, 4553, + 4540, 4612, 4616, 4620, 4624, 4611, 4692, 4696, 4728, 4732, + 4691, 4749, 4753, 4814, 4818, 4748, 4855, 4860, 4865, 4872, + 4873, 4884, 4889, 4932, 4883, 4954, 4953, 4962, 4961, 4972, + 4977, 4975, 4981, 4986, 4990, 4985, 5029, 5028, 5037, 5036, + 5047, 5052, 5050, 5056, 5061, 5065, 5060, 5110, 5117, 5118, + 5119, 5226, 5230, 5234, 5242, 5246, 5241, 5255, 5263, 5267, + 5262, 5276, 5284, 5288, 5283, 5297, 5305, 5309, 5304, 5318, + 5325, 5337, 5335, 5358, 5365, 5395, 5434, 5435, 5439, 5470, + 5512, 5516, 5469, 5535, 5539, 5533, 5580, 5579, 5587, 5594, + 5609, 5610, 5615, 5614, 5624, 5623, 5633, 5632, 5642, 5641, + 5651, 5650, 5660, 5659, 5669, 5668, 5679, 5772, 5778, 5803, + 5910, 5919, 5923, 5930, 6005, 6077, 6153, 6152, 6202, 6206, + 6210, 6214, 6218, 6222, 6201, 6275, 6274, 6282, 6289, 6294, + 6302, 6306, 6301, 6316, 6317, 6321, 6323, 6322, 6331, 6330, + 6343, 6366, 6341, 6392, 6419, 6390, 6443, 6444, 6445, 6449, + 6450, 6454, 6483, 6515, 6559, 6563, 6513, 6580, 6589, 6607, + 6618, 6617, 6655, 6706, 6710, 6653, 6727, 6731, 6738, 6742, + 6746, 6750, 6754, 6758, 6762, 6766, 6770, 6774, 6782, 6813, + 6826, 6833, 6858, 6876, 6883, 6898, 6905, 6915, 6919, 6938, + 6946, 6914, 6961, 6976, 6980, 6981, 6985, 6986, 6988, 6987, + 6998, 7065, 7113, 7129, 7142, 7149, 7208, 7216, 7220, 7215, + 7281, 7285, 7280, 7298, 7299, 7304, 7303, 7312, 7311, 7320, + 7319, 7328, 7327 }; #endif @@ -1248,47 +1249,47 @@ static const char *const yytname[] = "$@82", "$@83", "$@84", "element_spec", "$@85", "struct_forward_type", "union_forward_type", "enum_type", "$@86", "$@87", "$@88", "$@89", "at_least_one_enumerator", "enumerators", "$@90", "enumerator", - "map_type_spec", "map_type", "sequence_type_spec", "$@91", "$@92", - "seq_head", "$@93", "$@94", "fixed_type_spec", "string_type_spec", - "$@95", "$@96", "string_head", "wstring_type_spec", "$@97", "$@98", - "wstring_head", "array_declarator", "$@99", "at_least_one_array_dim", - "array_dims", "array_dim", "$@100", "$@101", "attribute", - "attribute_readonly", "$@102", "$@103", "$@104", "$@105", - "attribute_readwrite", "$@106", "$@107", "$@108", "$@109", "exception", - "$@110", "@111", "$@112", "$@113", "operation", "$@114", "$@115", - "$@116", "$@117", "opt_op_attribute", "op_type_spec", "init_decl", - "$@118", "@119", "$@120", "init_parameter_list", "$@121", "$@122", - "at_least_one_in_parameter", "in_parameters", "$@123", "in_parameter", - "$@124", "$@125", "parameter_list", "$@126", "$@127", - "at_least_one_parameter", "parameters", "$@128", "parameter", "$@129", - "$@130", "param_type_spec", "direction", "opt_raises", "$@131", "$@132", - "opt_getraises", "$@133", "$@134", "opt_setraises", "$@135", "$@136", - "opt_context", "$@137", "$@138", "at_least_one_string_literal", - "string_literals", "$@139", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@140", "$@141", "$@142", - "component_header", "$@143", "$@144", "component_inheritance_spec", - "$@145", "component_exports", "component_export", "$@146", "$@147", - "$@148", "$@149", "$@150", "$@151", "$@152", "provides_decl", + "map_type_spec", "$@91", "map_type", "sequence_type_spec", "$@92", + "$@93", "seq_head", "$@94", "$@95", "fixed_type_spec", + "string_type_spec", "$@96", "$@97", "string_head", "wstring_type_spec", + "$@98", "$@99", "wstring_head", "array_declarator", "$@100", + "at_least_one_array_dim", "array_dims", "array_dim", "$@101", "$@102", + "attribute", "attribute_readonly", "$@103", "$@104", "$@105", "$@106", + "attribute_readwrite", "$@107", "$@108", "$@109", "$@110", "exception", + "$@111", "@112", "$@113", "$@114", "operation", "$@115", "$@116", + "$@117", "$@118", "opt_op_attribute", "op_type_spec", "init_decl", + "$@119", "@120", "$@121", "init_parameter_list", "$@122", "$@123", + "at_least_one_in_parameter", "in_parameters", "$@124", "in_parameter", + "$@125", "$@126", "parameter_list", "$@127", "$@128", + "at_least_one_parameter", "parameters", "$@129", "parameter", "$@130", + "$@131", "param_type_spec", "direction", "opt_raises", "$@132", "$@133", + "opt_getraises", "$@134", "$@135", "opt_setraises", "$@136", "$@137", + "opt_context", "$@138", "$@139", "at_least_one_string_literal", + "string_literals", "$@140", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@141", "$@142", "$@143", + "component_header", "$@144", "$@145", "component_inheritance_spec", + "$@146", "component_exports", "component_export", "$@147", "$@148", + "$@149", "$@150", "$@151", "$@152", "$@153", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@153", - "home_header", "$@154", "$@155", "$@156", "$@157", "$@158", "$@159", - "home_inheritance_spec", "$@160", "primary_key_spec", "home_body", - "$@161", "$@162", "home_exports", "home_export", "$@163", "$@164", - "factory_decl", "$@165", "$@166", "finder_decl", "$@167", "$@168", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@154", + "home_header", "$@155", "$@156", "$@157", "$@158", "$@159", "$@160", + "home_inheritance_spec", "$@161", "primary_key_spec", "home_body", + "$@162", "$@163", "home_exports", "home_export", "$@164", "$@165", + "factory_decl", "$@166", "$@167", "finder_decl", "$@168", "$@169", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@169", "$@170", "$@171", + "event_abs_forward_decl", "event_abs_decl", "$@170", "$@171", "$@172", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@172", "event_decl", "@173", "$@174", "$@175", + "event_rest_of_header", "$@173", "event_decl", "@174", "$@175", "$@176", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@176", "@177", "$@178", - "$@179", "at_least_one_port_export", "port_exports", "port_export", - "$@180", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@177", "@178", "$@179", + "$@180", "at_least_one_port_export", "port_exports", "port_export", + "$@181", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@181", "$@182", "connector_body", "$@183", "$@184", - "connector_exports", "connector_export", "$@185", "$@186", "$@187", - "$@188", YY_NULLPTR + "connector_header", "$@182", "$@183", "connector_body", "$@184", "$@185", + "connector_exports", "connector_export", "$@186", "$@187", "$@188", + "$@189", YY_NULLPTR }; static const char * @@ -1298,12 +1299,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-673) +#define YYPACT_NINF (-685) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-580) +#define YYTABLE_NINF (-581) #define yytable_value_is_error(Yyn) \ 0 @@ -1312,96 +1313,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -673, 74, 1413, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 54, 92, 46, 52, -673, 54, - 54, -673, 56, 56, -673, -673, 54, -673, -673, 8, - -673, 97, 25, 60, -673, -673, 12, -673, -673, -673, - -673, -673, -673, 723, -673, -673, -673, -673, -673, 1615, - 19, -673, -673, 72, -673, 123, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 51, -673, -673, -673, 51, -673, - -673, 88, 82, 2009, 56, 54, 1886, 54, 54, 54, - 54, -673, -673, -673, 22, 54, 64, -673, 71, 54, - -673, 51, 54, 103, 107, 54, -673, -673, 0, -673, - 7, 164, -673, 96, -673, 118, 128, 469, -673, -673, - -673, 130, 173, -673, 122, 133, 141, 105, -673, 166, - -673, -673, -673, -673, -673, -673, 142, -673, -673, -673, - 151, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, 168, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - 123, -673, -673, -673, -673, 89, -673, -673, 180, -673, - 184, 174, 192, -673, 56, 194, 195, 199, -673, 211, - 212, 213, 214, 217, 215, 219, 221, -673, -673, -673, - 225, 234, -673, -673, -673, -673, 168, -673, -673, -673, - -673, -673, -673, -673, -673, -673, 168, -673, -673, -673, - -673, -673, -673, -673, -673, 240, -673, 245, -673, -673, - 242, -673, 342, -673, -673, -673, -673, 47, -673, -673, - -673, 2009, -673, -673, -673, -673, 246, -673, -673, -673, - -673, 344, -673, -673, 185, 247, -673, -673, -673, -673, - -673, -673, -673, -673, 341, -673, 484, 251, -673, 304, - -673, -673, -673, -673, -673, -673, 168, -673, -673, 239, - -673, -673, -673, -673, -673, -673, -673, -673, -673, 304, - 257, 262, -673, -673, -673, 54, 54, 264, 265, -673, - -673, -673, 267, -673, 342, 268, -673, -673, -673, -673, - -673, 356, -673, 263, 269, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, 226, 226, 226, 484, 168, - -673, -673, 270, 272, 260, 157, 145, 66, -673, -673, - -673, -673, -673, 56, -673, -673, -673, -673, 271, -673, - 1434, 273, 56, -673, 484, 484, 484, 254, -673, -673, - -673, -673, -673, -673, -673, 186, -673, 11, -673, -673, - -673, -673, -673, -673, -673, -673, 56, 304, -673, -673, - -673, -673, 242, 1341, 1528, 274, 283, -673, 469, -673, - -673, -673, 255, 484, 484, 484, 484, 484, 484, 484, - 484, 484, 484, 282, 54, -673, 168, 1118, -673, 837, - 484, -673, -673, -673, -673, -673, -673, -673, 484, -673, - 1478, -673, -673, -673, 387, 1025, -673, -673, -673, -673, - 69, 312, 56, 56, -673, -673, -673, -673, -673, 69, - -673, 287, -673, 288, -673, 284, -673, -673, 1212, 168, - -673, 56, 304, -673, -673, -673, -673, 296, -673, -673, - 54, -673, -673, 299, 305, 400, 308, -673, -673, 272, - 260, 157, 145, 145, 66, 66, -673, -673, -673, -673, - -673, 306, -673, -673, -673, 313, -673, -673, 1798, -673, - -673, -673, -673, 1921, -673, -673, -673, -673, -673, 314, - -673, 1833, -673, -673, 1708, -673, 315, 1434, 94, 320, - 324, 326, 303, -673, 300, -673, 311, -673, -673, -673, - 329, 331, 125, 56, 56, 56, 171, -673, 332, -673, - -673, -673, -673, -673, -673, -673, 54, 54, -673, 333, - -673, -673, -673, 1306, 931, 406, 1974, -673, 168, 342, - -673, -673, 65, 68, 345, 346, 348, 342, 349, -673, - -673, 33, -673, 48, -673, -673, 352, 353, 168, -673, - 355, 132, 1886, -673, 411, -673, -673, -673, -673, 185, - -673, 350, -673, 358, -673, 361, 362, 365, 370, -673, - 168, -673, -673, -673, -673, -673, 377, 383, 479, -673, - -673, -673, 386, -673, -673, -673, 484, -673, -673, -673, - 484, -673, 342, -673, 391, 54, -673, -673, 476, 168, - -673, -673, -673, -673, -673, -673, 70, 70, 70, -673, - 394, -673, 397, 398, 399, 401, 402, 407, -673, -673, - -673, 408, 409, 410, 412, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, 484, -673, -673, -673, 54, - -673, 413, 404, 414, -673, 441, 415, 132, -673, 420, - 421, -673, 423, 484, 424, 1590, -673, 56, -673, -673, - -673, -673, -673, -673, 507, -673, -673, -673, -673, 427, - -673, 303, 311, -673, -673, 418, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, 416, 416, -673, -673, - -673, -673, 1974, 54, -673, 484, 422, -673, -673, -673, - -673, -673, -673, -673, 425, -673, -673, -673, -673, -673, - 56, -673, -673, -673, -673, 428, 168, -673, 416, -673, - -673, 432, -673, 500, -673, -673, -673, -673, -673, -673, - -673, -673, 56, -673, 168, 440, 566, -673, 429, -673, - -673, 443, 430, 506, 505, 505, 54, 491, 445, 434, - -673, 168, 449, -673, -673, 437, -673, 505, -673, -673, - -673, 438, -673, -673, -673, -673, -673, -673, -673, -673, - -673, 494, 552, 451, 198, 505, -673, 81, 1974, -673, - 453, 454, 505, 455, 512, 54, 56, -673, -673, 475, - -673, -673, -673, -673, -673, 464, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 168, -673, 477, -673, 478, 1974, - 542, 486, 484, 483, 489, 57, -673, 238, 54, 506, - 56, 56, 481, 54, 552, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 1680, -673, -673, -673, 485, 487, - -673, -673, -673, 198, 54, 482, 488, -673, -673, -673, - -673, 56, -673, -673, -673, -673, 54, 502, 490, 515, - -673, -673, -673, -673, 496, 498, -673, -673, 527, -673 + -685, 90, 1482, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, 41, 67, 68, 52, -685, 41, + 41, -685, 48, 48, -685, -685, 41, -685, -685, 33, + -685, 472, 71, 106, -685, -685, 6, -685, -685, -685, + -685, -685, -685, 566, -685, -685, -685, -685, -685, 1631, + 19, -685, -685, 121, -685, 132, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, 122, -685, -685, -685, 122, -685, + -685, 72, 130, 2112, 48, 41, 1989, 41, 41, 41, + 41, -685, -685, -685, 77, 41, 80, -685, 86, 41, + -685, 122, 41, 139, 144, 41, -685, -685, 15, -685, + 59, 240, -685, 148, -685, 149, 170, 616, -685, -685, + -685, 172, 221, -685, 175, 179, 180, 88, -685, 133, + -685, -685, -685, -685, -685, -685, 181, -685, -685, -685, + 182, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, 189, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + 132, -685, -685, -685, -685, 47, -685, -685, 183, -685, + 185, 191, 194, -685, 48, 184, 196, 199, -685, 201, + 202, 203, 204, 205, 209, 213, 210, -685, -685, -685, + 217, 219, -685, -685, -685, -685, 189, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 189, -685, -685, -685, + -685, -685, -685, -685, -685, 220, -685, 222, -685, -685, + 187, -685, 284, -685, -685, -685, -685, 49, -685, -685, + -685, 2112, -685, -685, -685, -685, 218, -685, -685, -685, + -685, 291, -685, -685, 50, 224, -685, -685, -685, -685, + -685, -685, -685, -685, 294, -685, 136, 223, -685, 226, + 273, -685, -685, -685, -685, -685, -685, 189, -685, -685, + 227, -685, -685, -685, -685, -685, -685, -685, -685, -685, + 273, 229, 245, -685, -685, -685, 41, 41, 247, 248, + -685, -685, -685, 246, -685, 284, 251, -685, -685, -685, + -685, -685, 348, -685, 252, 254, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 178, 178, 178, 136, + 189, -685, -685, 249, 253, 255, 69, 92, 2, -685, + -685, -685, -685, -685, 48, -685, -685, -685, -685, 258, + -685, 1721, 261, -685, 48, -685, 136, 136, 136, 241, + -685, -685, -685, -685, -685, -685, -685, 162, -685, 1, + -685, -685, -685, -685, -685, -685, -685, -685, 48, 273, + -685, -685, -685, -685, 187, 1432, 1544, 259, 264, -685, + 616, -685, -685, -685, 257, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 263, 41, -685, 189, 1123, + -685, 842, 136, -685, -685, -685, 265, -685, -685, -685, + -685, 136, -685, 728, -685, -685, -685, 243, 1030, -685, + -685, -685, -685, 44, 308, 48, 48, -685, -685, -685, + -685, -685, 44, -685, 270, -685, 266, -685, 271, -685, + -685, 1217, 189, -685, 48, 273, -685, -685, -685, -685, + 279, -685, -685, 41, -685, -685, 280, 281, 376, 283, + -685, -685, 253, 255, 69, 92, 92, 2, 2, -685, + -685, -685, -685, -685, 285, -685, -685, -685, 288, -685, + -685, 1901, -685, -685, -685, -685, 2024, -685, -685, -685, + -685, -685, 290, -685, 1936, -685, -685, 1811, -685, 289, + 1721, 292, -685, 293, 296, 297, 301, -685, 269, -685, + 307, -685, -685, -685, 313, 319, 542, 48, 48, 48, + 385, -685, 323, -685, -685, -685, -685, -685, -685, -685, + 41, 41, -685, 326, -685, -685, -685, 1311, 936, 361, + 2077, -685, 189, 284, -685, -685, 62, 65, 303, 330, + 331, 284, 336, -685, -685, 4, -685, 57, -685, -685, + 335, 340, 189, -685, 343, 141, 1989, -685, 405, -685, + -685, -685, -685, 50, -685, 346, -685, 347, -685, 351, + 353, 355, 359, -685, 189, -685, -685, -685, -685, -685, + 360, 362, 442, -685, -685, -685, 364, -685, -685, 136, + 357, -685, -685, -685, 136, -685, 284, -685, 365, 41, + -685, -685, 460, 189, -685, -685, -685, -685, -685, -685, + 66, 66, 66, -685, 373, -685, 380, 382, 384, 386, + 387, 389, -685, -685, -685, 390, 392, 391, 398, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, 136, + -685, -685, -685, 41, -685, 399, 388, 400, -685, 434, + 403, 141, -685, 406, 411, -685, 412, 136, 413, 1606, + -685, 48, -685, -685, -685, -685, -685, -685, 508, -685, + -685, -685, -685, 416, -685, -685, 301, 307, -685, -685, + 397, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, 404, 404, -685, -685, -685, -685, 2077, 41, -685, + 136, 407, -685, -685, -685, -685, -685, -685, -685, 417, + -685, -685, -685, -685, -685, 48, -685, -685, -685, -685, + 422, 189, -685, 404, -685, -685, 423, -685, 477, -685, + -685, -685, -685, -685, -685, -685, -685, 48, -685, 189, + 425, 1361, -685, 415, -685, -685, 427, 418, 485, 488, + 488, 41, 476, 431, 420, -685, 189, 441, -685, -685, + 428, -685, 488, -685, -685, -685, 432, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 482, 545, 438, 197, + 488, -685, 81, 2077, -685, 446, 445, 488, 448, 497, + 41, 48, -685, -685, 462, -685, -685, -685, -685, -685, + 449, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, 189, + -685, 463, -685, 464, 2077, 528, 473, 136, 469, 474, + 58, -685, 160, 41, 485, 48, 48, 458, 41, 545, + -685, -685, -685, -685, -685, -685, -685, -685, -685, 1696, + -685, -685, -685, 479, 480, -685, -685, -685, 197, 41, + 483, 494, -685, -685, -685, -685, 48, -685, -685, -685, + -685, 41, 501, 484, 524, -685, -685, -685, -685, 486, + 499, -685, -685, 527, -685 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1410,140 +1412,142 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 395, 0, 0, 0, 0, 94, 0, - 0, 507, 0, 0, 576, 596, 0, 6, 7, 42, + 294, 309, 344, 396, 0, 0, 0, 0, 94, 0, + 0, 508, 0, 0, 577, 597, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 466, 465, 468, 30, 505, 32, - 537, 539, 538, 536, 77, 555, 556, 535, 77, 34, + 20, 14, 16, 28, 467, 466, 469, 30, 506, 32, + 538, 540, 539, 537, 77, 556, 557, 536, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 472, 548, 0, 142, 138, 0, 137, + 82, 77, 0, 473, 549, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 361, - 0, 369, 374, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 362, + 0, 370, 375, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 246, 0, 249, 247, 368, 248, - 373, 0, 0, 5, 0, 211, 0, 0, 311, 0, - 0, 0, 0, 0, 0, 0, 0, 549, 542, 551, - 0, 0, 599, 595, 39, 287, 160, 148, 152, 156, + 0, 252, 253, 250, 246, 0, 249, 247, 369, 248, + 374, 0, 0, 5, 0, 211, 0, 0, 311, 0, + 0, 0, 0, 0, 0, 0, 0, 550, 543, 552, + 0, 0, 600, 596, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, - 295, 310, 345, 396, 73, 546, 74, 0, 547, 95, - 477, 508, 0, 463, 140, 464, 577, 0, 197, 43, - 25, 0, 562, 558, 559, 564, 561, 565, 563, 560, - 557, 0, 48, 569, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 213, 99, - 360, 357, 365, 370, 19, 11, 214, 13, 297, 0, - 21, 15, 17, 29, 469, 31, 519, 506, 33, 99, - 0, 0, 35, 37, 603, 0, 0, 0, 0, 89, - 475, 473, 516, 139, 0, 0, 597, 212, 200, 4, - 566, 0, 570, 0, 567, 186, 187, 188, 190, 193, - 192, 194, 195, 191, 189, 0, 0, 0, 0, 183, - 594, 161, 162, 163, 165, 167, 169, 172, 175, 179, - 184, 593, 62, 0, 114, 105, 278, 196, 0, 362, - 0, 0, 0, 93, 0, 0, 0, 217, 213, 312, - 480, 523, 550, 543, 552, 600, 149, 266, 232, 259, - 260, 261, 267, 346, 397, 114, 0, 99, 514, 509, - 141, 578, 477, 0, 0, 3, 0, 49, 0, 180, - 181, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 591, 0, 76, 136, 0, 113, 0, - 0, 213, 356, 213, 98, 358, 366, 371, 0, 215, - 0, 298, 302, 213, 213, 0, 114, 105, 385, 390, - 0, 501, 0, 0, 608, 383, 384, 604, 606, 0, - 610, 0, 602, 0, 213, 256, 213, 302, 0, 476, - 474, 0, 99, 584, 598, 204, 198, 0, 206, 199, - 0, 201, 207, 0, 0, 0, 0, 568, 185, 164, - 166, 168, 170, 171, 173, 174, 176, 177, 178, 213, - 63, 133, 131, 405, 406, 0, 116, 123, 0, 117, - 127, 125, 129, 0, 119, 121, 410, 111, 110, 0, - 104, 0, 106, 107, 0, 108, 0, 0, 0, 0, - 0, 0, 137, 218, 0, 219, 222, 307, 304, 303, - 0, 213, 0, 0, 0, 0, 0, 491, 0, 479, - 481, 483, 485, 487, 489, 493, 0, 0, 524, 0, - 522, 525, 527, 0, 0, 0, 0, 497, 496, 0, - 500, 499, 0, 0, 0, 0, 0, 0, 0, 601, - 150, 0, 257, 0, 347, 352, 213, 0, 515, 510, - 583, 213, 0, 202, 210, 203, 45, 571, 50, 0, - 134, 0, 69, 0, 115, 0, 0, 0, 0, 409, - 439, 436, 437, 438, 400, 408, 0, 0, 0, 87, - 112, 103, 0, 364, 363, 354, 0, 359, 367, 372, - 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, - 318, 319, 320, 321, 313, 322, 0, 0, 0, 478, - 0, 471, 0, 0, 0, 0, 0, 0, 529, 532, - 521, 0, 0, 0, 0, 386, 391, 495, 589, 590, - 609, 605, 607, 498, 611, 0, 380, 376, 379, 0, - 353, 0, 349, 0, 91, 0, 0, 0, 587, 0, - 0, 582, 0, 0, 0, 0, 592, 0, 132, 124, - 118, 128, 126, 130, 0, 120, 122, 411, 109, 0, - 223, 0, 222, 308, 305, 0, 504, 502, 503, 492, - 482, 484, 486, 488, 490, 494, 0, 0, 526, 528, - 545, 554, 0, 0, 151, 0, 377, 258, 348, 350, - 399, 511, 580, 581, 0, 585, 586, 205, 209, 208, - 0, 56, 42, 51, 55, 0, 135, 401, 0, 355, - 221, 0, 314, 414, 530, 533, 387, 392, 265, 381, - 378, 213, 0, 588, 58, 0, 0, 57, 0, 412, - 306, 0, 0, 0, 446, 446, 0, 450, 262, 0, - 351, 512, 0, 52, 54, 427, 402, 446, 315, 415, - 422, 0, 421, 443, 531, 534, 388, 447, 393, 263, - 382, 518, 0, 0, 0, 446, 413, 0, 0, 417, - 418, 0, 446, 0, 454, 0, 0, 513, 575, 0, - 574, 426, 440, 441, 442, 0, 432, 433, 403, 330, - 337, 335, 316, 326, 327, 334, 423, 419, 444, 389, - 448, 451, 394, 264, 517, 59, 572, 428, 429, 0, - 458, 0, 0, 0, 0, 0, 213, 332, 0, 0, - 0, 0, 0, 0, 0, 430, 434, 455, 404, 331, - 338, 336, 317, 325, 0, 333, 424, 420, 0, 0, - 452, 60, 573, 0, 0, 0, 0, 340, 328, 445, - 449, 0, 431, 435, 456, 339, 0, 0, 0, 0, - 341, 329, 453, 462, 0, 459, 457, 460, 0, 461 + 295, 310, 345, 397, 73, 547, 74, 0, 548, 95, + 478, 509, 0, 464, 140, 465, 578, 0, 197, 43, + 25, 0, 563, 559, 560, 565, 562, 566, 564, 561, + 558, 0, 48, 570, 0, 0, 23, 96, 75, 67, + 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, + 99, 361, 358, 366, 371, 19, 11, 214, 13, 297, + 0, 21, 15, 17, 29, 470, 31, 520, 507, 33, + 99, 0, 0, 35, 37, 604, 0, 0, 0, 0, + 89, 476, 474, 517, 139, 0, 0, 598, 212, 200, + 4, 567, 0, 571, 0, 568, 186, 187, 188, 190, + 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, + 183, 595, 161, 162, 163, 165, 167, 169, 172, 175, + 179, 184, 594, 62, 0, 114, 105, 278, 196, 0, + 363, 0, 0, 213, 0, 93, 0, 0, 0, 217, + 213, 312, 481, 524, 551, 544, 553, 601, 149, 266, + 232, 259, 260, 261, 267, 346, 398, 114, 0, 99, + 515, 510, 141, 579, 478, 0, 0, 3, 0, 49, + 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 592, 0, 76, 136, 0, + 113, 0, 0, 213, 357, 213, 0, 98, 359, 367, + 372, 0, 215, 0, 298, 302, 213, 213, 0, 114, + 105, 386, 391, 0, 502, 0, 0, 609, 384, 385, + 605, 607, 0, 611, 0, 603, 0, 213, 256, 213, + 302, 0, 477, 475, 0, 99, 585, 599, 204, 198, + 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, + 569, 185, 164, 166, 168, 170, 171, 173, 174, 176, + 177, 178, 213, 63, 133, 131, 406, 407, 0, 116, + 123, 0, 117, 127, 125, 129, 0, 119, 121, 411, + 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, + 0, 0, 213, 0, 0, 0, 137, 218, 0, 219, + 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, + 0, 492, 0, 480, 482, 484, 486, 488, 490, 494, + 0, 0, 525, 0, 523, 526, 528, 0, 0, 0, + 0, 498, 497, 0, 501, 500, 0, 0, 0, 0, + 0, 0, 0, 602, 150, 0, 257, 0, 347, 352, + 213, 0, 516, 511, 584, 213, 0, 202, 210, 203, + 45, 572, 50, 0, 134, 0, 69, 0, 115, 0, + 0, 0, 0, 410, 440, 437, 438, 439, 401, 409, + 0, 0, 0, 87, 112, 103, 0, 365, 364, 0, + 0, 360, 368, 373, 0, 216, 0, 220, 0, 0, + 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, + 0, 0, 0, 479, 0, 472, 0, 0, 0, 0, + 0, 0, 530, 533, 522, 0, 0, 0, 0, 387, + 392, 496, 590, 591, 610, 606, 608, 499, 612, 0, + 381, 377, 380, 0, 353, 0, 349, 0, 91, 0, + 0, 0, 588, 0, 0, 583, 0, 0, 0, 0, + 593, 0, 132, 124, 118, 128, 126, 130, 0, 120, + 122, 412, 109, 0, 355, 223, 0, 222, 308, 305, + 0, 505, 503, 504, 493, 483, 485, 487, 489, 491, + 495, 0, 0, 527, 529, 546, 555, 0, 0, 151, + 0, 378, 258, 348, 350, 400, 512, 581, 582, 0, + 586, 587, 205, 209, 208, 0, 56, 42, 51, 55, + 0, 135, 402, 0, 356, 221, 0, 314, 415, 531, + 534, 388, 393, 265, 382, 379, 213, 0, 589, 58, + 0, 0, 57, 0, 413, 306, 0, 0, 0, 447, + 447, 0, 451, 262, 0, 351, 513, 0, 52, 54, + 428, 403, 447, 315, 416, 423, 0, 422, 444, 532, + 535, 389, 448, 394, 263, 383, 519, 0, 0, 0, + 447, 414, 0, 0, 418, 419, 0, 447, 0, 455, + 0, 0, 514, 576, 0, 575, 427, 441, 442, 443, + 0, 433, 434, 404, 330, 337, 335, 316, 326, 327, + 334, 424, 420, 445, 390, 449, 452, 395, 264, 518, + 59, 573, 429, 430, 0, 459, 0, 0, 0, 0, + 0, 213, 332, 0, 0, 0, 0, 0, 0, 0, + 431, 435, 456, 405, 331, 338, 336, 317, 325, 0, + 333, 425, 421, 0, 0, 453, 60, 574, 0, 0, + 0, 0, 340, 328, 446, 450, 0, 432, 436, 457, + 339, 0, 0, 0, 0, 341, 329, 454, 463, 0, + 460, 458, 461, 0, 462 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -673, -673, 295, 297, 563, -619, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -606, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -142, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, 261, -673, - -673, 58, -673, -673, -673, 598, -673, -673, -673, -673, - -673, -673, -673, 602, -673, 266, -673, -673, -246, -673, - -673, 197, 115, -673, -673, -673, -322, -673, -362, -673, - -673, -673, -673, -673, -673, -673, -673, -335, -673, -673, - -22, -673, -673, -192, -10, -673, 16, -673, -673, -673, - -673, -213, -34, -229, -673, 229, 231, 232, -109, -103, - -156, -53, -673, -320, -673, -673, -673, -673, -673, -673, - -673, -673, 13, -88, 576, -673, -673, -673, -673, -64, - 20, 6, -673, 61, -673, -31, -306, -462, -673, -673, - -673, 14, -673, -673, -617, -132, -673, -673, -7, -673, - -57, -673, -673, -45, -42, -56, -54, -50, 252, -673, - -40, -673, -38, -673, -673, -673, -673, 189, 286, 139, - -673, -673, -673, -37, -673, -32, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -204, -673, -673, -673, -673, - -673, -202, -673, -673, -673, -673, -673, -673, -673, -41, - -673, -673, -673, -673, -673, -673, -673, -105, -673, 235, - -673, -673, -673, -673, -673, -673, -673, -70, -673, -673, - -673, -69, -673, -673, -673, -673, -673, -673, -673, -67, - -673, -673, -343, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, 17, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -647, - -673, -673, -673, -673, -673, -199, -673, -673, -673, -673, - -673, -673, -673, -673, -226, -673, -673, -507, -673, -672, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, 18, 21, -673, -673, -673, -673, - -673, -673, -673, -673, -673, 275, -673, -673, 126, -673, - -673, -673, -673, -673, -673, -673, -333, 220, -328, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673, - 573, -673, -673, -673, -673, -673, -673, -673, -673, -673, - 276, -673, -673, -201, -673, -673, -673, -673, -673, -673, - -673, -13, -673, 291, -673, -673, 79, -673, -673, -673, - -673, -673, -673, -673, -673, -673, -673, -673, -673, -673 + -685, -685, 295, 298, 555, -629, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -596, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -155, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, 190, -685, + -685, 73, -685, -685, -685, 590, -685, -685, -685, -685, + -685, -685, -685, 593, -685, 192, -685, -685, -260, -685, + -685, 186, 103, -685, -685, -685, -293, -685, -370, -685, + -685, -685, -685, -685, -685, -685, -685, -340, -685, -685, + -22, -685, -685, -201, -10, -685, 17, -685, -685, -685, + -685, -198, -47, -236, -685, 228, 225, 216, -177, -162, + -142, -62, -685, -301, -685, -685, -685, -685, -685, -685, + -685, -685, 13, -76, 564, -685, -685, -685, -685, -82, + 3, 18, -685, 42, -685, -31, -311, -469, -685, -685, + -685, -2, -685, -685, -628, -138, -685, -685, -7, -685, + -66, -685, -685, -50, -45, -61, -57, -55, 250, -685, + -40, -685, -38, -685, -685, -685, -685, 193, 274, 137, + -685, -685, -685, -37, -685, -32, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -205, -685, -685, -685, -685, + -685, -206, -685, -685, -685, -685, -685, -685, -685, -41, + -685, -685, -685, -685, -685, -685, -685, -99, -685, -685, + -314, -685, -685, -685, -685, -685, -685, -685, -75, -685, + -685, -685, -70, -685, -685, -685, -685, -685, -685, -685, + -63, -685, -685, -333, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, 21, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -636, -685, -685, -685, -685, -685, -194, -685, -685, -685, + -685, -685, -685, -685, -685, -217, -685, -685, -513, -685, + -684, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, 22, 23, -685, -685, -685, + -685, -685, -685, -685, -685, -685, 278, -685, -685, 134, + -685, -685, -685, -685, -685, -685, -685, -338, 230, -335, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685, 587, -685, -685, -685, -685, -685, -685, -685, -685, + -685, 277, -685, -685, -190, -685, -685, -685, -685, -685, + -685, -685, 0, -685, 306, -685, -685, 91, -685, -685, + -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, + -685 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1551,44 +1555,45 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 309, 464, 31, 32, 117, - 313, 466, 675, 755, 733, 756, 734, 735, 772, 853, - 33, 118, 404, 34, 35, 124, 344, 485, 36, 85, - 37, 151, 343, 38, 39, 40, 126, 345, 499, 41, - 227, 375, 567, 42, 269, 43, 102, 258, 353, 44, - 45, 409, 500, 602, 501, 502, 407, 408, 486, 585, - 596, 597, 583, 587, 586, 588, 581, 405, 481, 677, - 329, 232, 304, 109, 367, 46, 487, 83, 295, 443, - 655, 207, 330, 347, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 348, 48, 308, 383, 459, 572, 460, - 461, 674, 488, 50, 307, 357, 419, 514, 515, 613, - 516, 489, 86, 218, 296, 219, 154, 155, 156, 157, - 52, 368, 445, 659, 369, 747, 768, 805, 370, 371, + 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, + 314, 469, 679, 760, 738, 761, 739, 740, 777, 858, + 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, + 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, + 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, + 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, + 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, + 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, + 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, + 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, + 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, + 52, 370, 448, 663, 371, 752, 773, 810, 372, 373, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 358, 520, 421, 521, 617, 519, - 615, 741, 614, 55, 88, 56, 279, 423, 695, 761, - 797, 844, 624, 822, 845, 823, 846, 887, 841, 824, - 847, 825, 843, 842, 876, 878, 886, 57, 58, 59, - 89, 297, 446, 661, 564, 662, 751, 565, 173, 351, - 174, 354, 509, 175, 267, 411, 176, 177, 355, 510, - 178, 179, 356, 511, 180, 372, 444, 657, 716, 658, - 715, 769, 490, 435, 545, 712, 766, 802, 436, 546, - 713, 767, 804, 491, 90, 298, 447, 663, 492, 684, - 758, 795, 840, 493, 594, 505, 598, 738, 777, 744, - 762, 763, 781, 800, 849, 782, 798, 848, 776, 793, - 794, 815, 838, 873, 816, 839, 874, 595, 817, 784, - 801, 850, 788, 803, 851, 832, 852, 881, 858, 875, - 889, 894, 895, 898, 494, 495, 63, 64, 65, 193, - 360, 528, 66, 230, 377, 301, 376, 424, 529, 632, - 633, 634, 635, 636, 630, 637, 530, 549, 531, 439, - 551, 532, 533, 534, 67, 195, 68, 105, 302, 452, - 665, 752, 791, 379, 451, 807, 287, 361, 539, 425, - 540, 641, 642, 541, 706, 764, 542, 707, 765, 69, - 70, 71, 72, 73, 290, 426, 643, 74, 75, 76, - 198, 289, 77, 291, 427, 644, 78, 251, 252, 314, - 253, 809, 836, 810, 79, 111, 305, 453, 666, 570, - 571, 671, 724, 535, 255, 403, 341, 80, 81, 112, - 382, 203, 294, 441, 365, 442, 555, 556, 554, 558 + 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, + 619, 746, 618, 55, 88, 56, 280, 426, 700, 766, + 802, 849, 628, 827, 850, 828, 851, 892, 846, 829, + 852, 830, 848, 847, 881, 883, 891, 57, 58, 59, + 89, 298, 449, 665, 568, 666, 756, 569, 173, 269, + 352, 174, 356, 513, 175, 267, 413, 176, 177, 357, + 514, 178, 179, 358, 515, 180, 374, 447, 661, 721, + 662, 720, 774, 493, 438, 549, 717, 771, 807, 439, + 550, 718, 772, 809, 494, 90, 299, 450, 667, 495, + 688, 763, 800, 845, 496, 598, 508, 602, 743, 782, + 749, 767, 768, 786, 805, 854, 787, 803, 853, 781, + 798, 799, 820, 843, 878, 821, 844, 879, 599, 822, + 789, 806, 855, 793, 808, 856, 837, 857, 886, 863, + 880, 894, 899, 900, 903, 497, 498, 63, 64, 65, + 193, 362, 532, 66, 230, 379, 302, 378, 427, 533, + 636, 637, 638, 639, 640, 634, 641, 534, 553, 535, + 442, 555, 536, 537, 538, 67, 195, 68, 105, 303, + 455, 669, 757, 796, 381, 454, 812, 288, 363, 543, + 428, 544, 645, 646, 545, 711, 769, 546, 712, 770, + 69, 70, 71, 72, 73, 291, 429, 647, 74, 75, + 76, 198, 290, 77, 292, 430, 648, 78, 251, 252, + 315, 253, 814, 841, 815, 79, 111, 306, 456, 670, + 574, 575, 675, 729, 539, 255, 405, 342, 80, 81, + 112, 384, 203, 295, 444, 367, 445, 559, 560, 558, + 562 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1596,309 +1601,358 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 51, 103, - 104, 171, 153, 214, 215, 49, 113, 414, 47, 60, - 61, 152, 434, 62, 237, 331, 208, 211, 310, 212, - 254, 591, 437, 213, 415, 416, 417, 438, 209, 646, - 303, 210, 717, 362, 412, 172, 168, 503, 169, 170, - 306, 660, 8, 448, 171, 51, 731, 91, 819, 106, - 745, 206, 216, 538, 152, 47, 60, 61, 648, 732, - 62, 649, 106, 106, 4, 217, 233, 220, 221, 222, - 223, 527, 819, 235, 591, 225, 820, 821, 547, 228, - 234, 759, 229, 785, 123, 231, 18, 234, 8, 392, - 95, -47, 18, -47, 543, 796, 99, -375, 114, -144, - 820, 821, 380, 262, 122, 184, 263, -47, -47, -145, - -47, -47, 119, 818, 122, -47, 584, -375, 106, 184, - 829, 450, 197, 618, 128, 129, 197, 731, 132, 133, - 134, 135, 503, 184, 184, 188, 107, -47, 12, 656, - 732, -47, 224, 122, 226, 234, -324, 120, 234, 107, - 234, -146, 276, 428, 429, -47, 122, 236, -100, -342, - 458, 214, 215, 122, 264, 265, 400, 401, 402, 204, - 350, 506, 503, 527, 208, 211, 202, 212, 106, 513, - 270, 213, 271, 430, 238, 605, 209, 606, 431, 210, - -467, 604, 428, 429, -540, 746, 569, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 239, 428, 429, 206, - 259, 184, 257, 523, 524, 240, 512, 256, 668, 106, - 260, 866, 430, 525, 812, 813, 814, 431, 669, 261, - 432, 433, 266, 670, 476, 477, 478, 430, 396, 397, - 591, 268, 431, 398, 399, 432, 433, 883, 234, 315, - 316, 317, 318, 319, 320, 321, 322, 820, 821, 890, - 420, 274, 389, 390, 391, 107, 94, 96, 323, 324, - 272, 184, 98, 101, 273, 366, 689, 472, 473, 275, - -212, 826, 277, 325, 326, 474, 475, 278, 327, 328, - 315, 316, 317, 318, 319, 320, 321, 322, 280, 281, - 282, 283, 285, 214, 215, 284, 107, 286, 288, 323, - 324, 406, 292, 507, 668, 350, 208, 211, 152, 212, - 406, 293, 856, 213, 669, 522, 591, -541, 209, 670, - 328, 210, 463, 299, 300, 106, 311, 312, 342, 346, - 331, 349, 352, 359, 449, 363, 561, 647, 563, 386, - 364, 206, 373, 374, 387, 653, 381, 395, 418, 378, - 468, 550, 388, -44, 410, 393, 413, 591, 394, 172, - 168, 690, 169, 170, 465, 479, 559, 562, 171, 518, - 51, 579, 560, 573, 480, 749, 575, 49, 152, 457, - 47, 60, 61, 577, 576, 62, 578, 610, 548, 580, - 552, 553, 582, 599, 612, 611, 603, 548, 428, 429, - 691, 607, 504, 592, 593, 608, 331, 609, 616, 568, - -300, 631, 640, 420, 696, 697, 698, 526, 645, 523, - 524, 673, 650, 651, 728, 652, 654, 678, 430, 525, - 574, -398, 664, 431, -579, 679, 432, 433, 680, 681, - 172, 168, 682, 169, 170, 620, 621, 683, 622, 171, - 518, 590, 623, 241, 685, 242, 592, 593, 420, 152, - 686, 625, 687, 688, 262, 152, -470, 106, 693, 243, - 244, 699, 245, 246, 700, 701, 702, 247, 703, 704, - 619, 626, 627, 628, 705, 708, 709, 719, 721, 710, - 737, 711, 718, 720, 722, 868, 869, 725, 726, 248, - 727, 729, 753, 249, 590, 757, 638, 639, 739, 760, - 743, 172, 168, 742, 169, 170, -416, 250, 656, 773, - 171, 778, 780, 775, 783, 779, 888, 787, 789, 792, - 152, 790, -425, 799, 806, 808, 827, 504, 315, 316, - 317, 318, 319, 320, 321, 322, 811, 5, 828, 830, - 6, 7, 8, 9, 107, 831, 835, 323, 324, 837, - 854, 855, 857, 859, 667, 861, 10, 11, 862, 12, - 885, 893, 325, 326, 13, 870, 884, 327, 328, 891, - 879, 897, 880, 899, 384, 892, 385, 14, 15, 16, - 17, 896, 183, 860, 774, 100, 18, 19, 97, 601, - 20, 714, 469, 21, 544, 470, 185, 471, 740, 694, - 22, 23, 692, 672, 786, 462, 566, 24, 25, 730, - 600, 863, 592, 593, 422, 865, 770, 882, 508, 750, - 867, 199, 629, 872, 723, 736, 440, 454, 676, 557, - 0, 26, 0, 563, 467, -53, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 590, 47, 60, 61, 0, 0, 62, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 748, 0, 754, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, + 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, + 51, 152, 211, 60, 61, 62, 212, 595, 213, 440, + 364, 304, 441, 209, 437, 722, 237, 650, 210, 416, + 414, 506, 254, 311, 91, 172, 168, 106, 169, 170, + 736, 106, 307, 106, 171, 418, 419, 420, 542, 824, + 664, 206, 216, 551, 152, 652, 47, 51, 653, 106, + 60, 61, 62, 8, 8, 217, 750, 220, 221, 222, + 223, 595, 824, 737, 451, 225, 790, 825, 826, 228, + 4, 233, 229, 394, 531, 231, 262, -376, 801, 263, + 184, 511, 18, -144, 382, 234, 99, 764, 122, 123, + 825, 826, 402, 403, 404, 184, 823, -376, 18, 453, + 660, 588, 95, 834, 316, 317, 318, 319, 320, 321, + 322, 323, 736, 114, 107, 235, 547, 506, 107, 106, + 107, 264, 265, 324, 325, 184, 184, 197, 271, 234, + 272, 197, 234, 184, 188, 234, 234, -324, 326, 327, + 398, 399, 277, 328, 329, 737, 214, 224, 119, 226, + 202, 215, 431, 432, -145, 208, 509, -146, 506, 122, + 211, 106, 122, -100, 212, 517, 213, 461, 122, 825, + 826, 209, 351, 431, 432, 573, 210, 531, 610, 608, + 400, 401, 433, 120, 751, 94, 96, 434, 98, 101, + 316, 317, 318, 319, 320, 321, 322, 323, -342, 206, + 516, 475, 476, 433, 122, 871, 107, 204, 434, 324, + 325, 435, 436, 817, 818, 819, -468, 673, 477, 478, + 674, -541, 672, 236, 326, 327, 238, 239, 595, 328, + 329, 888, 316, 317, 318, 319, 320, 321, 322, 323, + 479, 480, 481, 895, 391, 392, 393, 240, 107, 256, + 257, 324, 325, 259, 431, 432, 260, 351, 261, 234, + -212, 266, 268, 273, 423, 274, 368, 106, 275, 301, + 831, 276, 329, 278, 313, 527, 528, 279, 281, 282, + 283, 284, 347, 285, 433, 529, 286, 289, 693, 434, + 214, 287, 435, 436, 293, 215, 294, -542, 312, 208, + 300, 354, 408, 350, 211, 343, 353, 365, 212, 152, + 213, 861, 408, 673, 595, 209, 674, 510, 672, 351, + 210, 361, -471, 366, 466, 375, 376, 332, 380, 383, + 526, 388, 651, 389, 395, 421, 452, 390, -44, 396, + 657, 412, 397, 206, 415, 468, 482, 554, 512, 563, + 564, 565, 471, 567, 566, 595, 577, 579, 695, 581, + 580, 582, 172, 168, 615, 169, 170, 586, 584, 603, + 607, 171, 522, 649, 611, 609, 483, 612, 613, 49, + 654, 152, 460, 47, 51, 614, 583, 60, 61, 62, + 616, 552, 620, 556, 557, 696, 431, 432, -300, 754, + 552, 596, 635, 332, 507, 644, 597, 655, 656, 701, + 702, 703, 572, 658, -399, 677, 351, 527, 528, 668, + 530, 733, -580, 682, 683, 691, 433, 529, 684, 423, + 685, 434, 686, 578, 435, 436, 687, 689, 694, 690, + 624, 692, 698, 172, 168, 625, 169, 170, 262, 626, + 704, 627, 171, 522, 594, 596, -47, 705, -47, 706, + 597, 707, 152, 708, 709, 629, 710, 713, 152, 714, + 715, 724, -47, -47, 423, -47, -47, 716, 723, 725, + -47, 726, 727, 730, 623, 630, 631, 632, 731, 732, + 734, 742, 747, -417, 758, 873, 874, 744, 748, 762, + 765, 785, -47, 660, 778, 783, -47, 788, 594, 780, + 642, 643, 792, 784, 794, 172, 168, 795, 169, 170, + -47, 797, 811, -426, 171, 106, 893, 804, 813, 832, + 622, 128, 129, 816, 152, 132, 133, 134, 135, 833, + 836, 507, 835, 840, 842, 12, 859, 860, 862, 106, + 864, 866, 875, 867, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 671, 12, + 139, 140, 141, 142, 884, 885, 890, 889, 896, 897, + 898, 901, 902, 904, 183, 386, 779, 100, 387, 97, + 605, 865, 719, 474, 185, 745, 548, 699, 676, 697, + 241, 473, 242, 472, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 791, 425, 465, 243, 244, 184, 245, + 246, 604, 596, 570, 247, 868, 870, 597, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 775, 755, 741, + 872, 887, 457, -101, 633, 199, 248, 470, 122, 877, + 249, 728, 561, 443, 680, 0, 0, 0, 0, 0, + 567, 0, 0, 0, 250, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 594, 47, 51, 0, 0, + 60, 61, 62, 0, 0, 0, 0, 0, 92, 0, + 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 596, 521, + 0, 106, 0, 597, 0, 776, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 0, 0, 0, + 0, 92, 0, 0, 753, 0, 0, 0, 0, 596, + 0, 0, 0, 0, 597, 869, 0, 0, 47, 51, + 0, 594, 60, 61, 62, 0, 0, 0, 0, 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 106, 0, 592, 593, - 771, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 0, 0, 0, 0, 92, 0, 864, 748, - 0, 0, 51, 0, 0, 0, 0, 0, 0, 592, - 593, 0, 47, 60, 61, 0, 590, 62, 0, 0, - 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 833, 0, - 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 0, 0, 0, 590, 0, 0, - -101, 0, 0, 172, 168, 122, 169, 170, 406, 406, - 0, 0, 171, 877, 0, 0, 0, 0, 482, 0, - -407, 6, 152, 871, 9, -407, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, 10, 11, 406, - 12, 0, 0, -407, -407, 13, 0, 0, 428, 429, - 483, 484, -407, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 496, 497, 498, 0, 0, 0, 0, 0, + 92, 0, 0, 838, 0, 0, 0, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, + 0, 0, 594, 0, 184, 0, 0, 0, 172, 168, + 0, 169, 170, 408, 408, 0, 0, 171, 882, 0, + 0, 0, 0, 485, 0, -408, 6, 152, 876, 9, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 10, 11, 408, 12, 0, 0, -408, -408, + 13, 0, 0, 431, 432, 486, 487, -408, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 0, 0, - 0, 0, 482, -213, -407, 6, -86, 0, 9, -407, - -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, - -407, 10, 11, 0, 12, 0, 0, -407, -407, 13, - 0, 0, 428, 429, 483, 484, -407, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 496, 497, 498, 0, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 0, 0, 0, 0, 485, -213, -408, + 6, -86, 0, 9, -408, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, 10, 11, 0, 12, + 0, 0, -408, -408, 13, 0, 0, 431, 432, 486, + 487, -408, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -407, -407, -407, -407, -407, -407, -407, - -407, -407, 0, 0, 0, 0, 482, -213, -407, 6, - -553, 0, 9, -407, -407, -407, -407, -407, -407, -407, - -407, -407, -407, -407, -407, 10, 11, 0, 12, 0, - 0, -407, -407, 13, 0, 0, 428, 429, 483, 484, - -407, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 537, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -407, -407, -407, - -407, -407, -407, -407, -407, -407, 0, 0, 0, 482, - 0, -407, 6, 0, -520, 9, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, - 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, - 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, + 0, 485, -213, -408, 6, -554, 0, 9, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 10, 11, 0, 12, 0, 0, -408, -408, 13, 0, + 0, 431, 432, 486, 487, -408, 0, 0, 0, 0, + 0, 14, 0, 0, 0, 540, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, + 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 0, 0, 0, 485, 0, -408, 6, 0, -521, + 9, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 10, 11, 0, 12, 0, 0, -408, + -408, 13, 0, 0, 431, 432, 486, 487, -408, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, -407, -407, -407, -407, -407, -407, -407, -407, 0, - 0, 0, 0, 482, -213, -407, 6, -68, 0, 9, - -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, - -407, -407, 10, 11, 0, 12, 0, 0, -407, -407, - 13, 0, 0, 428, 429, 483, 484, -407, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -408, -408, -408, -408, -408, + -408, -408, -408, -408, 0, 0, 0, 0, 485, -213, + -408, 6, -68, 0, 9, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 10, 11, 0, + 12, 0, 0, -408, -408, 13, 0, 0, 431, 432, + 486, 487, -408, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -407, -407, -407, -407, -407, -407, - -407, -407, -407, 0, 0, 0, 0, 482, -213, -407, - 6, -90, 0, 9, -407, -407, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, 10, 11, 0, 12, - 0, 0, -407, -407, 13, 0, 0, 428, 429, 483, - 484, -407, 0, 0, 106, 6, 0, 14, 455, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, - 0, 0, 0, 0, 12, 0, 0, 141, 142, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -407, -407, - -407, -407, -407, -407, -407, -407, -407, 0, 0, 0, - 0, 0, -213, 0, 0, -544, 0, 0, 0, 0, - 0, 0, 0, -2, 5, 0, 0, 6, 7, 8, - 9, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 0, 10, 11, 0, 12, 106, 0, 0, - 456, 13, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 14, 15, 16, 17, 139, 140, - 141, 142, 0, 18, 19, 0, 0, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 517, - 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 0, 0, 0, 0, 5, - 184, 0, 6, 7, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, - 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, - 15, 16, 17, 0, 184, 0, 0, 0, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, - 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, - 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, - 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, - 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, - 0, 24, 25, 730, 0, 18, 19, 0, 0, 20, - 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 10, 11, 0, 12, 139, 140, 141, 142, 0, 482, - 26, -407, 6, 0, 0, 9, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, - 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, - 429, 483, 484, -407, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 496, 497, 498, 0, 0, 0, 0, - 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 0, 22, 23, 0, 0, 184, 0, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, + -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, + 0, 0, 485, -213, -408, 6, -90, 0, 9, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, + 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 6, 7, 8, 9, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, + 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 14, 15, 16, 17, 0, -213, 0, 0, + -545, 18, 19, 0, 0, 20, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 24, 25, 735, 106, 6, 0, 0, 458, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, + 137, 0, 0, 0, 0, 12, 26, 0, 141, 142, + -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, -407, -407, -407, -407, -407, -407, -407, -407, 482, - 0, -407, 6, 0, 0, 9, -407, -407, -407, -407, - -407, -407, -407, -407, -407, -407, -407, -407, 10, 11, - 0, 12, 0, 0, -407, -407, 13, 0, 0, 428, - 429, 483, 484, -407, 517, 0, 106, 0, 0, 14, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, -2, 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -407, -407, -407, -407, -407, -407, -407, -407, -407, 106, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, + 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, + 13, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 14, 15, 16, 17, 0, 0, 0, + 0, 459, 18, 19, 0, 0, 20, 0, 0, 21, + 0, 0, 0, 0, 0, 5, 22, 23, 6, 7, + 8, 9, 0, 24, 25, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, + 0, 0, 13, 0, 0, 0, 0, 26, -213, 0, + 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, + 0, 21, 0, 0, 0, 0, 0, 5, 22, 23, + 6, 7, 8, 9, 0, 24, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 10, 11, 0, 12, + 0, 0, 5, 0, 13, 6, 7, 8, 9, 26, + -213, 0, 0, 0, 0, 0, 0, 14, 15, 16, + 17, 10, 11, 0, 12, 0, 18, 19, 0, 13, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 22, 23, 14, 15, 16, 17, 0, 24, 25, 735, + 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 106, + 0, 26, 24, 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, - 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, - 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, - 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, + 139, 140, 141, 142, 106, 0, 26, 0, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 0, 0, 0, 0, 139, 140, 141, 142, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, + 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 485, 0, -408, 6, 0, 184, 9, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, + 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 485, 0, -408, 6, 0, 0, 9, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, + 0, 0, 431, 432, 486, 487, -408, 521, 0, 106, + 0, 0, 14, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, + 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, - 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 205, 0, 0, 0, - 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, + 141, 142, 0, 0, 0, 0, 0, 0, 0, 593, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, + 0, 0, 0, 141, 142, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, + 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107 + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107 }; static const yytype_int16 yycheck[] = { - 22, 23, 43, 43, 14, 43, 43, 14, 2, 19, - 20, 43, 43, 83, 83, 2, 26, 352, 2, 2, - 2, 43, 365, 2, 112, 254, 83, 83, 241, 83, - 118, 493, 365, 83, 354, 355, 356, 365, 83, 546, - 232, 83, 659, 289, 350, 86, 86, 409, 86, 86, - 3, 3, 6, 375, 86, 49, 675, 3, 1, 3, - 707, 83, 84, 425, 86, 49, 49, 49, 3, 675, - 49, 3, 3, 3, 0, 85, 76, 87, 88, 89, - 90, 424, 1, 76, 546, 95, 29, 30, 19, 99, - 90, 738, 102, 765, 36, 105, 50, 90, 6, 328, - 54, 4, 50, 6, 426, 777, 54, 96, 100, 97, - 29, 30, 304, 8, 102, 96, 11, 20, 21, 97, - 23, 24, 97, 795, 102, 28, 488, 116, 3, 96, - 802, 377, 74, 8, 9, 10, 78, 756, 13, 14, - 15, 16, 504, 96, 96, 22, 90, 50, 23, 116, - 756, 54, 94, 102, 96, 90, 99, 97, 90, 90, - 90, 97, 184, 31, 32, 68, 102, 3, 97, 97, - 383, 241, 241, 102, 8, 9, 110, 111, 112, 97, - 268, 410, 544, 526, 241, 241, 98, 241, 3, 418, - 101, 241, 103, 61, 98, 101, 241, 103, 66, 241, - 97, 507, 31, 32, 97, 712, 452, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 98, 31, 32, 241, - 98, 96, 49, 52, 53, 97, 418, 97, 571, 3, - 97, 848, 61, 62, 36, 37, 38, 66, 571, 98, - 69, 70, 100, 571, 400, 401, 402, 61, 91, 92, - 712, 100, 66, 108, 109, 69, 70, 874, 90, 74, - 75, 76, 77, 78, 79, 80, 81, 29, 30, 886, - 358, 97, 325, 326, 327, 90, 15, 16, 93, 94, - 100, 96, 16, 17, 100, 295, 606, 396, 397, 97, - 96, 798, 97, 108, 109, 398, 399, 98, 113, 114, - 74, 75, 76, 77, 78, 79, 80, 81, 97, 97, - 97, 97, 97, 383, 383, 98, 90, 98, 97, 93, - 94, 343, 97, 411, 667, 413, 383, 383, 350, 383, - 352, 97, 839, 383, 667, 423, 798, 97, 383, 667, - 114, 383, 383, 98, 102, 3, 100, 3, 101, 8, - 579, 100, 48, 114, 376, 98, 444, 549, 446, 3, - 98, 383, 98, 98, 101, 557, 98, 107, 114, 102, - 115, 59, 103, 99, 103, 105, 103, 839, 106, 420, - 420, 610, 420, 420, 101, 103, 99, 103, 420, 420, - 384, 479, 104, 97, 404, 715, 97, 384, 420, 383, - 384, 384, 384, 3, 99, 384, 98, 104, 430, 103, - 432, 433, 99, 99, 103, 115, 101, 439, 31, 32, - 612, 101, 409, 493, 493, 101, 655, 101, 99, 451, - 99, 99, 99, 521, 626, 627, 628, 424, 32, 52, - 53, 30, 97, 97, 673, 97, 97, 97, 61, 62, - 460, 99, 99, 66, 99, 97, 69, 70, 97, 97, - 501, 501, 97, 501, 501, 522, 522, 97, 522, 501, - 501, 493, 522, 4, 97, 6, 546, 546, 566, 501, - 97, 522, 3, 97, 8, 507, 99, 3, 97, 20, - 21, 97, 23, 24, 97, 97, 97, 28, 97, 97, - 522, 523, 524, 525, 97, 97, 97, 103, 67, 99, - 3, 99, 99, 99, 99, 850, 851, 97, 97, 50, - 97, 97, 97, 54, 546, 97, 536, 537, 101, 97, - 114, 572, 572, 115, 572, 572, 36, 68, 116, 99, - 572, 98, 36, 114, 39, 115, 881, 56, 103, 100, - 572, 117, 115, 115, 60, 3, 103, 544, 74, 75, - 76, 77, 78, 79, 80, 81, 115, 1, 114, 114, - 4, 5, 6, 7, 90, 63, 101, 93, 94, 115, - 103, 103, 40, 97, 571, 102, 20, 21, 99, 23, - 102, 76, 108, 109, 28, 114, 114, 113, 114, 97, - 115, 103, 115, 76, 309, 115, 309, 41, 42, 43, - 44, 115, 49, 842, 756, 17, 50, 51, 16, 504, - 54, 655, 393, 57, 427, 394, 50, 395, 692, 615, - 64, 65, 612, 572, 766, 383, 447, 71, 72, 73, - 501, 845, 712, 712, 358, 847, 751, 873, 413, 716, - 849, 78, 526, 854, 667, 677, 365, 382, 579, 439, - -1, 95, -1, 751, 388, 99, -1, -1, -1, -1, + 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, + 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, + 2, 43, 83, 2, 2, 2, 83, 496, 83, 367, + 290, 232, 367, 83, 367, 663, 112, 550, 83, 353, + 351, 411, 118, 241, 3, 86, 86, 3, 86, 86, + 679, 3, 3, 3, 86, 356, 357, 358, 428, 1, + 3, 83, 84, 19, 86, 3, 49, 49, 3, 3, + 49, 49, 49, 6, 6, 85, 712, 87, 88, 89, + 90, 550, 1, 679, 377, 95, 770, 29, 30, 99, + 0, 76, 102, 329, 427, 105, 8, 96, 782, 11, + 96, 415, 50, 97, 305, 90, 54, 743, 102, 36, + 29, 30, 110, 111, 112, 96, 800, 116, 50, 379, + 116, 491, 54, 807, 74, 75, 76, 77, 78, 79, + 80, 81, 761, 100, 90, 76, 429, 507, 90, 3, + 90, 8, 9, 93, 94, 96, 96, 74, 101, 90, + 103, 78, 90, 96, 22, 90, 90, 99, 108, 109, + 91, 92, 184, 113, 114, 761, 241, 94, 97, 96, + 98, 241, 31, 32, 97, 241, 412, 97, 548, 102, + 241, 3, 102, 97, 241, 421, 241, 385, 102, 29, + 30, 241, 268, 31, 32, 455, 241, 530, 512, 510, + 108, 109, 61, 97, 717, 15, 16, 66, 16, 17, + 74, 75, 76, 77, 78, 79, 80, 81, 97, 241, + 421, 398, 399, 61, 102, 853, 90, 97, 66, 93, + 94, 69, 70, 36, 37, 38, 97, 575, 400, 401, + 575, 97, 575, 3, 108, 109, 98, 98, 717, 113, + 114, 879, 74, 75, 76, 77, 78, 79, 80, 81, + 402, 403, 404, 891, 326, 327, 328, 97, 90, 97, + 49, 93, 94, 98, 31, 32, 97, 353, 98, 90, + 96, 100, 100, 100, 360, 100, 296, 3, 97, 102, + 803, 97, 114, 97, 3, 52, 53, 98, 97, 97, + 97, 97, 8, 98, 61, 62, 97, 97, 609, 66, + 385, 98, 69, 70, 97, 385, 97, 97, 100, 385, + 98, 48, 344, 100, 385, 101, 100, 98, 385, 351, + 385, 844, 354, 671, 803, 385, 671, 413, 671, 415, + 385, 114, 99, 98, 385, 98, 98, 583, 102, 98, + 426, 3, 553, 101, 105, 114, 378, 103, 99, 106, + 561, 103, 107, 385, 103, 101, 103, 59, 103, 99, + 104, 447, 115, 449, 103, 844, 97, 97, 614, 3, + 99, 98, 423, 423, 115, 423, 423, 99, 103, 99, + 101, 423, 423, 32, 101, 103, 406, 101, 101, 386, + 97, 423, 385, 386, 386, 104, 482, 386, 386, 386, + 103, 433, 99, 435, 436, 616, 31, 32, 99, 720, + 442, 496, 99, 659, 411, 99, 496, 97, 97, 630, + 631, 632, 454, 97, 99, 30, 512, 52, 53, 99, + 427, 677, 99, 97, 97, 3, 61, 62, 97, 525, + 97, 66, 97, 463, 69, 70, 97, 97, 101, 97, + 526, 97, 97, 504, 504, 526, 504, 504, 8, 526, + 97, 526, 504, 504, 496, 550, 4, 97, 6, 97, + 550, 97, 504, 97, 97, 526, 97, 97, 510, 97, + 99, 103, 20, 21, 570, 23, 24, 99, 99, 99, + 28, 67, 99, 97, 526, 527, 528, 529, 97, 97, + 97, 3, 115, 36, 97, 855, 856, 101, 114, 97, + 97, 36, 50, 116, 99, 98, 54, 39, 550, 114, + 540, 541, 56, 115, 103, 576, 576, 117, 576, 576, + 68, 100, 60, 115, 576, 3, 886, 115, 3, 103, + 8, 9, 10, 115, 576, 13, 14, 15, 16, 114, + 63, 548, 114, 101, 115, 23, 103, 103, 40, 3, + 97, 102, 114, 99, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, + 24, 25, 26, 27, 115, 115, 102, 114, 97, 115, + 76, 115, 103, 76, 49, 310, 761, 17, 310, 16, + 507, 847, 659, 397, 50, 697, 430, 619, 576, 616, + 4, 396, 6, 395, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 771, 360, 385, 20, 21, 96, 23, + 24, 504, 717, 450, 28, 850, 852, 717, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 756, 721, 681, + 854, 878, 384, 97, 530, 78, 50, 390, 102, 859, + 54, 671, 442, 367, 583, -1, -1, -1, -1, -1, + 756, -1, -1, -1, 68, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 717, 679, 679, -1, -1, + 679, 679, 679, -1, -1, -1, -1, -1, 718, -1, + -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 803, 1, + -1, 3, -1, 803, -1, 757, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, -1, -1, -1, + -1, 771, -1, -1, 771, -1, -1, -1, -1, 844, + -1, -1, -1, -1, 844, 851, -1, -1, 761, 761, + -1, 803, 761, 761, 761, -1, -1, -1, -1, 811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 675, -1, -1, -1, -1, -1, -1, -1, -1, - 712, 675, 675, 675, -1, -1, 675, -1, -1, -1, - -1, -1, -1, 713, -1, -1, 713, -1, 730, -1, + 810, -1, -1, 810, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, 844, -1, 96, -1, -1, -1, 869, 869, + -1, 869, 869, 855, 856, -1, -1, 869, 869, -1, + -1, -1, -1, 1, -1, 3, 4, 869, 858, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 886, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, + 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, + -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, + -1, 41, -1, -1, -1, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, + -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, -1, -1, 1, -1, 3, 4, -1, 99, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, + 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, + -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3, -1, 798, 798, - 752, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, -1, -1, -1, -1, 766, -1, 846, 766, - -1, -1, 756, -1, -1, -1, -1, -1, -1, 839, - 839, -1, 756, 756, 756, -1, 798, 756, -1, -1, - -1, -1, -1, -1, 806, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 805, -1, -1, 805, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, -1, -1, -1, 839, -1, -1, - 97, -1, -1, 864, 864, 102, 864, 864, 850, 851, - -1, -1, 864, 864, -1, -1, -1, -1, 1, -1, - 3, 4, 864, 853, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 881, + 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, + 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, @@ -1907,119 +1961,92 @@ static const yytype_int16 yycheck[] = 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, - 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, -1, -1, -1, 1, - -1, 3, 4, -1, 99, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 89, 90, 41, 42, 43, 44, -1, 96, -1, -1, + 99, 50, 51, -1, -1, 54, -1, -1, 57, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, 71, 72, 73, 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, - 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, + 18, -1, -1, -1, -1, 23, 95, -1, 26, 27, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, 0, 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, - 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, + -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, + 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 41, 42, 43, 44, -1, -1, -1, + -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, + -1, -1, -1, -1, -1, 1, 64, 65, 4, 5, + 6, 7, -1, 71, 72, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, + -1, -1, 28, -1, -1, -1, -1, 95, 96, -1, + -1, -1, -1, -1, -1, 41, 42, 43, 44, -1, + -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, + -1, 57, -1, -1, -1, -1, -1, 1, 64, 65, + 4, 5, 6, 7, -1, 71, 72, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 20, 21, -1, 23, + -1, -1, 1, -1, 28, 4, 5, 6, 7, 95, + 96, -1, -1, -1, -1, -1, -1, 41, 42, 43, + 44, 20, 21, -1, 23, -1, 50, 51, -1, 28, + 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 64, 65, 41, 42, 43, 44, -1, 71, 72, 73, + -1, 50, 51, -1, -1, 54, -1, -1, 57, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, 3, + -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, 3, 4, -1, 41, 7, 8, + 24, 25, 26, 27, 3, -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - -1, -1, -1, -1, 23, -1, -1, 26, 27, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + 19, -1, -1, -1, -1, 24, 25, 26, 27, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, -1, 96, -1, -1, 99, -1, -1, -1, -1, - -1, -1, -1, 0, 1, -1, -1, 4, 5, 6, - 7, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, 20, 21, -1, 23, 3, -1, -1, - 99, 28, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 41, 42, 43, 44, 24, 25, - 26, 27, -1, 50, 51, -1, -1, 54, -1, -1, - 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, - -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, - 96, -1, 4, 5, 6, 7, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, - 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, - -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, - -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, - 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, - 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, - -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, - 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, - -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, - -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, - -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, 24, 25, 26, 27, -1, 1, - 95, 3, 4, -1, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, 64, 65, -1, -1, 96, -1, -1, -1, + -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 1, -1, 3, 4, -1, 96, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, + -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 1, - -1, 3, 4, -1, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, 1, -1, 3, -1, -1, 41, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, 64, 65, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, - -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 1, -1, 3, 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, - -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, + -1, -1, 31, 32, 33, 34, 35, 1, -1, 3, + -1, -1, 41, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + 24, 25, 26, 27, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, - 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, - -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, + 26, 27, -1, -1, -1, -1, -1, -1, -1, 35, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, + -1, -1, -1, 26, 27, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90 + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2032,90 +2059,91 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 361, 412, 413, 414, 415, 416, 420, 442, 444, 467, - 468, 469, 470, 471, 475, 476, 477, 480, 484, 492, - 505, 506, 138, 215, 140, 167, 250, 279, 292, 318, - 362, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 445, 3, 90, 208, 211, - 208, 493, 507, 212, 100, 142, 131, 147, 159, 97, + 362, 413, 414, 415, 416, 417, 421, 443, 445, 468, + 469, 470, 471, 472, 476, 477, 478, 481, 485, 493, + 506, 507, 138, 215, 140, 167, 250, 279, 292, 318, + 363, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 446, 3, 90, 208, 211, + 208, 494, 508, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 328, 331, 334, 335, 338, 339, - 342, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 417, 134, 443, 135, 169, 478, 478, - 136, 137, 98, 509, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 335, 339, 208, 212, 251, 253, + 291, 293, 317, 326, 329, 332, 335, 336, 339, 340, + 343, 128, 124, 122, 96, 242, 125, 281, 22, 129, + 126, 127, 133, 418, 134, 444, 135, 169, 479, 479, + 136, 137, 98, 510, 97, 17, 208, 219, 268, 271, + 272, 273, 274, 275, 336, 340, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 421, 212, 209, 76, 90, 76, 3, 241, 98, 98, + 422, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 485, 486, 488, 241, 502, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 332, 100, 182, - 101, 103, 100, 100, 97, 97, 208, 97, 98, 294, - 97, 97, 97, 97, 98, 97, 98, 454, 97, 479, - 472, 481, 97, 97, 510, 216, 252, 319, 363, 98, - 102, 423, 446, 211, 210, 494, 3, 242, 233, 143, - 219, 100, 3, 148, 487, 74, 75, 76, 77, 78, - 79, 80, 81, 93, 94, 108, 109, 113, 114, 208, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 504, 101, 170, 164, 175, 8, 221, 231, 100, - 241, 327, 48, 186, 329, 336, 340, 243, 282, 114, - 418, 455, 186, 98, 98, 512, 212, 212, 259, 262, - 266, 267, 343, 98, 98, 179, 424, 422, 102, 451, - 211, 98, 508, 234, 120, 121, 3, 101, 103, 229, - 229, 229, 221, 105, 106, 107, 91, 92, 108, 109, - 110, 111, 112, 503, 160, 205, 208, 194, 195, 189, - 103, 333, 254, 103, 205, 231, 231, 231, 114, 244, - 241, 284, 286, 295, 425, 457, 473, 482, 31, 32, - 61, 66, 69, 70, 350, 351, 356, 434, 436, 437, - 501, 511, 513, 217, 344, 260, 320, 364, 194, 208, - 186, 452, 447, 495, 423, 7, 99, 214, 219, 235, - 237, 238, 276, 317, 144, 101, 149, 488, 115, 223, - 224, 225, 226, 226, 227, 227, 228, 228, 228, 103, - 212, 206, 1, 33, 34, 165, 196, 214, 240, 249, - 350, 361, 366, 371, 412, 413, 45, 46, 47, 176, - 190, 192, 193, 196, 240, 373, 221, 241, 327, 330, - 337, 341, 211, 221, 245, 246, 248, 1, 253, 287, - 283, 285, 241, 52, 53, 62, 240, 350, 419, 426, - 434, 436, 439, 440, 441, 501, 45, 55, 196, 456, - 458, 461, 464, 194, 189, 352, 357, 19, 208, 435, - 59, 438, 208, 208, 516, 514, 515, 435, 517, 99, - 104, 241, 103, 241, 322, 325, 285, 180, 208, 186, - 497, 498, 236, 97, 212, 97, 99, 3, 98, 241, - 103, 204, 99, 200, 196, 197, 202, 201, 203, 35, - 208, 255, 335, 339, 372, 395, 198, 199, 374, 99, - 287, 190, 191, 101, 254, 101, 103, 101, 101, 101, - 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, - 268, 273, 274, 275, 300, 317, 208, 208, 208, 426, - 432, 99, 427, 428, 429, 430, 431, 433, 212, 212, - 99, 459, 460, 474, 483, 32, 395, 211, 3, 3, - 97, 97, 97, 211, 97, 218, 116, 345, 347, 261, - 3, 321, 323, 365, 99, 448, 496, 240, 350, 434, - 436, 499, 251, 30, 239, 150, 504, 207, 97, 97, - 97, 97, 97, 97, 367, 97, 97, 3, 97, 231, - 221, 211, 248, 97, 259, 296, 211, 211, 211, 97, - 97, 97, 97, 97, 97, 97, 462, 465, 97, 97, - 99, 99, 353, 358, 220, 348, 346, 262, 99, 103, - 99, 67, 99, 499, 500, 97, 97, 97, 221, 97, - 73, 123, 139, 152, 154, 155, 208, 3, 375, 101, - 247, 289, 115, 114, 377, 377, 395, 263, 266, 231, - 347, 324, 449, 97, 208, 151, 153, 97, 368, 377, - 97, 297, 378, 379, 463, 466, 354, 359, 264, 349, - 325, 208, 156, 99, 154, 114, 386, 376, 98, 115, - 36, 380, 383, 39, 397, 397, 263, 56, 400, 103, - 117, 450, 100, 387, 388, 369, 397, 298, 384, 115, - 381, 398, 355, 401, 360, 265, 60, 453, 3, 489, - 491, 115, 36, 37, 38, 389, 392, 396, 397, 1, - 29, 30, 301, 303, 307, 309, 395, 103, 114, 397, - 114, 63, 403, 266, 208, 101, 490, 115, 390, 393, - 370, 306, 311, 310, 299, 302, 304, 308, 385, 382, - 399, 402, 404, 157, 103, 103, 395, 40, 406, 97, - 221, 102, 99, 303, 241, 309, 262, 383, 205, 205, - 114, 212, 491, 391, 394, 407, 312, 253, 313, 115, - 115, 405, 392, 262, 114, 102, 314, 305, 205, 408, - 262, 97, 115, 76, 409, 410, 115, 103, 411, 76 + 68, 486, 487, 489, 241, 503, 97, 49, 185, 98, + 97, 98, 8, 11, 8, 9, 100, 333, 100, 327, + 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, + 294, 97, 97, 97, 97, 98, 97, 98, 455, 97, + 480, 473, 482, 97, 97, 511, 216, 252, 319, 364, + 98, 102, 424, 447, 211, 210, 495, 3, 242, 233, + 143, 219, 100, 3, 148, 488, 74, 75, 76, 77, + 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, + 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 505, 101, 170, 164, 175, 8, 221, 231, + 100, 241, 328, 100, 48, 186, 330, 337, 341, 243, + 282, 114, 419, 456, 186, 98, 98, 513, 212, 212, + 259, 262, 266, 267, 344, 98, 98, 179, 425, 423, + 102, 452, 211, 98, 509, 234, 120, 121, 3, 101, + 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, + 108, 109, 110, 111, 112, 504, 160, 205, 208, 194, + 195, 189, 103, 334, 254, 103, 328, 205, 231, 231, + 231, 114, 244, 241, 284, 286, 295, 426, 458, 474, + 483, 31, 32, 61, 66, 69, 70, 351, 352, 357, + 435, 437, 438, 502, 512, 514, 217, 345, 260, 320, + 365, 194, 208, 186, 453, 448, 496, 424, 7, 99, + 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, + 489, 115, 223, 224, 225, 226, 226, 227, 227, 228, + 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, + 214, 240, 249, 351, 362, 367, 372, 413, 414, 45, + 46, 47, 176, 190, 192, 193, 196, 240, 374, 221, + 241, 328, 103, 331, 338, 342, 211, 221, 245, 246, + 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, + 240, 351, 420, 427, 435, 437, 440, 441, 442, 502, + 45, 55, 196, 457, 459, 462, 465, 194, 189, 353, + 358, 19, 208, 436, 59, 439, 208, 208, 517, 515, + 516, 436, 518, 99, 104, 241, 103, 241, 322, 325, + 285, 180, 208, 186, 498, 499, 236, 97, 212, 97, + 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, + 202, 201, 203, 35, 208, 255, 336, 340, 373, 396, + 198, 199, 375, 99, 287, 190, 191, 101, 254, 103, + 328, 101, 101, 101, 104, 115, 103, 247, 290, 288, + 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, + 208, 208, 208, 427, 433, 99, 428, 429, 430, 431, + 432, 434, 212, 212, 99, 460, 461, 475, 484, 32, + 396, 211, 3, 3, 97, 97, 97, 211, 97, 218, + 116, 346, 348, 261, 3, 321, 323, 366, 99, 449, + 497, 240, 351, 435, 437, 500, 251, 30, 239, 150, + 505, 207, 97, 97, 97, 97, 97, 97, 368, 97, + 97, 3, 97, 231, 101, 221, 211, 248, 97, 259, + 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, + 97, 463, 466, 97, 97, 99, 99, 354, 359, 220, + 349, 347, 262, 99, 103, 99, 67, 99, 500, 501, + 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, + 155, 208, 3, 376, 101, 247, 289, 115, 114, 378, + 378, 396, 263, 266, 231, 348, 324, 450, 97, 208, + 151, 153, 97, 369, 378, 97, 297, 379, 380, 464, + 467, 355, 360, 264, 350, 325, 208, 156, 99, 154, + 114, 387, 377, 98, 115, 36, 381, 384, 39, 398, + 398, 263, 56, 401, 103, 117, 451, 100, 388, 389, + 370, 398, 298, 385, 115, 382, 399, 356, 402, 361, + 265, 60, 454, 3, 490, 492, 115, 36, 37, 38, + 390, 393, 397, 398, 1, 29, 30, 301, 303, 307, + 309, 396, 103, 114, 398, 114, 63, 404, 266, 208, + 101, 491, 115, 391, 394, 371, 306, 311, 310, 299, + 302, 304, 308, 386, 383, 400, 403, 405, 157, 103, + 103, 396, 40, 407, 97, 221, 102, 99, 303, 241, + 309, 262, 384, 205, 205, 114, 212, 492, 392, 395, + 408, 312, 253, 313, 115, 115, 406, 393, 262, 114, + 102, 314, 305, 205, 409, 262, 97, 115, 76, 410, + 411, 115, 103, 412, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2156,33 +2184,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 326, 326, 327, 329, 330, 328, - 328, 332, 333, 331, 334, 336, 337, 335, 335, 338, - 340, 341, 339, 339, 342, 344, 343, 345, 346, 346, - 348, 349, 347, 350, 350, 352, 353, 354, 355, 351, - 357, 358, 359, 360, 356, 362, 363, 364, 365, 361, - 367, 368, 369, 370, 366, 371, 371, 371, 372, 372, - 374, 375, 376, 373, 378, 377, 379, 377, 380, 382, - 381, 381, 384, 385, 383, 387, 386, 388, 386, 389, - 391, 390, 390, 393, 394, 392, 395, 395, 395, 395, - 396, 396, 396, 398, 399, 397, 397, 401, 402, 400, - 400, 404, 405, 403, 403, 407, 408, 406, 406, 409, - 411, 410, 410, 412, 413, 414, 414, 415, 417, 418, - 419, 416, 421, 422, 420, 424, 423, 423, 425, 425, - 425, 427, 426, 428, 426, 429, 426, 430, 426, 431, - 426, 432, 426, 433, 426, 434, 435, 435, 436, 437, - 438, 438, 439, 440, 441, 443, 442, 445, 446, 447, - 448, 449, 450, 444, 452, 451, 451, 453, 453, 455, - 456, 454, 457, 457, 458, 459, 458, 460, 458, 462, - 463, 461, 465, 466, 464, 467, 467, 467, 468, 468, - 469, 470, 472, 473, 474, 471, 475, 476, 477, 479, - 478, 481, 482, 483, 480, 484, 484, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 486, 487, 487, - 488, 488, 489, 490, 490, 491, 493, 494, 495, 496, - 492, 497, 497, 498, 498, 499, 499, 500, 499, 501, - 501, 502, 503, 503, 504, 505, 507, 508, 506, 510, - 511, 509, 512, 512, 514, 513, 515, 513, 516, 513, - 517, 513 + 324, 323, 323, 325, 327, 326, 326, 328, 330, 331, + 329, 329, 333, 334, 332, 335, 337, 338, 336, 336, + 339, 341, 342, 340, 340, 343, 345, 344, 346, 347, + 347, 349, 350, 348, 351, 351, 353, 354, 355, 356, + 352, 358, 359, 360, 361, 357, 363, 364, 365, 366, + 362, 368, 369, 370, 371, 367, 372, 372, 372, 373, + 373, 375, 376, 377, 374, 379, 378, 380, 378, 381, + 383, 382, 382, 385, 386, 384, 388, 387, 389, 387, + 390, 392, 391, 391, 394, 395, 393, 396, 396, 396, + 396, 397, 397, 397, 399, 400, 398, 398, 402, 403, + 401, 401, 405, 406, 404, 404, 408, 409, 407, 407, + 410, 412, 411, 411, 413, 414, 415, 415, 416, 418, + 419, 420, 417, 422, 423, 421, 425, 424, 424, 426, + 426, 426, 428, 427, 429, 427, 430, 427, 431, 427, + 432, 427, 433, 427, 434, 427, 435, 436, 436, 437, + 438, 439, 439, 440, 441, 442, 444, 443, 446, 447, + 448, 449, 450, 451, 445, 453, 452, 452, 454, 454, + 456, 457, 455, 458, 458, 459, 460, 459, 461, 459, + 463, 464, 462, 466, 467, 465, 468, 468, 468, 469, + 469, 470, 471, 473, 474, 475, 472, 476, 477, 478, + 480, 479, 482, 483, 484, 481, 485, 485, 486, 486, + 486, 486, 486, 486, 486, 486, 486, 486, 487, 488, + 488, 489, 489, 490, 491, 491, 492, 494, 495, 496, + 497, 493, 498, 498, 499, 499, 500, 500, 501, 500, + 502, 502, 503, 504, 504, 505, 506, 508, 509, 507, + 511, 512, 510, 513, 513, 515, 514, 516, 514, 517, + 514, 518, 514 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2223,33 +2251,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 6, 8, 2, 0, 0, 6, - 2, 0, 0, 6, 6, 0, 0, 6, 1, 1, - 0, 0, 6, 1, 1, 0, 4, 2, 2, 0, - 0, 0, 5, 1, 1, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 10, 1, 1, 0, 1, 1, - 0, 0, 0, 7, 0, 3, 0, 4, 2, 0, - 4, 0, 0, 0, 5, 0, 3, 0, 4, 2, - 0, 4, 0, 0, 0, 5, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 6, 0, 0, 0, 6, - 0, 0, 0, 6, 0, 0, 0, 6, 0, 2, - 0, 4, 0, 3, 3, 1, 1, 2, 0, 0, - 0, 7, 0, 0, 6, 0, 3, 0, 3, 2, - 0, 0, 3, 0, 3, 0, 3, 0, 3, 0, - 3, 0, 3, 0, 3, 3, 1, 1, 3, 2, - 1, 0, 3, 3, 3, 0, 3, 0, 0, 0, - 0, 0, 0, 13, 0, 3, 0, 2, 0, 0, - 0, 5, 2, 0, 1, 0, 3, 0, 3, 0, - 0, 6, 0, 0, 6, 1, 1, 1, 1, 1, - 2, 3, 0, 0, 0, 8, 3, 3, 2, 0, - 3, 0, 0, 0, 8, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 3, 0, - 2, 5, 2, 3, 0, 1, 0, 0, 0, 0, - 9, 3, 2, 1, 0, 2, 2, 0, 3, 3, - 3, 3, 4, 0, 1, 2, 0, 0, 6, 0, - 0, 5, 2, 0, 0, 3, 0, 3, 0, 3, - 0, 3 + 0, 4, 0, 2, 0, 7, 8, 2, 0, 0, + 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, + 1, 0, 0, 6, 1, 1, 0, 4, 2, 2, + 0, 0, 0, 5, 1, 1, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 10, 1, 1, 0, 1, + 1, 0, 0, 0, 7, 0, 3, 0, 4, 2, + 0, 4, 0, 0, 0, 5, 0, 3, 0, 4, + 2, 0, 4, 0, 0, 0, 5, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 6, 0, 0, 0, 6, 0, + 2, 0, 4, 0, 3, 3, 1, 1, 2, 0, + 0, 0, 7, 0, 0, 6, 0, 3, 0, 3, + 2, 0, 0, 3, 0, 3, 0, 3, 0, 3, + 0, 3, 0, 3, 0, 3, 3, 1, 1, 3, + 2, 1, 0, 3, 3, 3, 0, 3, 0, 0, + 0, 0, 0, 0, 13, 0, 3, 0, 2, 0, + 0, 0, 5, 2, 0, 1, 0, 3, 0, 3, + 0, 0, 6, 0, 0, 6, 1, 1, 1, 1, + 1, 2, 3, 0, 0, 0, 8, 3, 3, 2, + 0, 3, 0, 0, 0, 8, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, + 0, 2, 5, 2, 3, 0, 1, 0, 0, 0, + 0, 9, 3, 2, 1, 0, 2, 2, 0, 3, + 3, 3, 3, 4, 0, 1, 2, 0, 0, 6, + 0, 0, 5, 2, 0, 0, 3, 0, 3, 0, + 3, 0, 3 }; @@ -2728,7 +2756,7 @@ yyparse (void) } delete annotations; } -#line 2732 "fe/idl.tab.cpp" +#line 2760 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2736,7 +2764,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2740 "fe/idl.tab.cpp" +#line 2768 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2744,7 +2772,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2748 "fe/idl.tab.cpp" +#line 2776 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2752,7 +2780,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2756 "fe/idl.tab.cpp" +#line 2784 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2760,7 +2788,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2764 "fe/idl.tab.cpp" +#line 2792 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2768,7 +2796,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2772 "fe/idl.tab.cpp" +#line 2800 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2776,7 +2804,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2780 "fe/idl.tab.cpp" +#line 2808 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2784,7 +2812,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2788 "fe/idl.tab.cpp" +#line 2816 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2792,7 +2820,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2796 "fe/idl.tab.cpp" +#line 2824 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2800,7 +2828,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2804 "fe/idl.tab.cpp" +#line 2832 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2808,7 +2836,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2812 "fe/idl.tab.cpp" +#line 2840 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2816,7 +2844,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2820 "fe/idl.tab.cpp" +#line 2848 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2824,7 +2852,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2828 "fe/idl.tab.cpp" +#line 2856 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2832,7 +2860,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2836 "fe/idl.tab.cpp" +#line 2864 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2840,7 +2868,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2844 "fe/idl.tab.cpp" +#line 2872 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2848,7 +2876,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2852 "fe/idl.tab.cpp" +#line 2880 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2856,7 +2884,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2860 "fe/idl.tab.cpp" +#line 2888 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2864,7 +2892,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2868 "fe/idl.tab.cpp" +#line 2896 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2872,7 +2900,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2876 "fe/idl.tab.cpp" +#line 2904 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2880,7 +2908,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2884 "fe/idl.tab.cpp" +#line 2912 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2888,7 +2916,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2892 "fe/idl.tab.cpp" +#line 2920 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2896,7 +2924,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2900 "fe/idl.tab.cpp" +#line 2928 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2904,7 +2932,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2908 "fe/idl.tab.cpp" +#line 2936 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2912,7 +2940,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2916 "fe/idl.tab.cpp" +#line 2944 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2920,7 +2948,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2924 "fe/idl.tab.cpp" +#line 2952 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2928,7 +2956,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2932 "fe/idl.tab.cpp" +#line 2960 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2936,7 +2964,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2940 "fe/idl.tab.cpp" +#line 2968 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2944,7 +2972,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2948 "fe/idl.tab.cpp" +#line 2976 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2952,7 +2980,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2956 "fe/idl.tab.cpp" +#line 2984 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2960,7 +2988,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2964 "fe/idl.tab.cpp" +#line 2992 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -2970,7 +2998,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 2974 "fe/idl.tab.cpp" +#line 3002 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -2978,7 +3006,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2982 "fe/idl.tab.cpp" +#line 3010 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -2986,7 +3014,7 @@ yyparse (void) { (yyval.idlist) = (yyvsp[0].idlist); } -#line 2990 "fe/idl.tab.cpp" +#line 3018 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3029,7 +3057,7 @@ yyparse (void) (yyval.dcval) = m; } -#line 3033 "fe/idl.tab.cpp" +#line 3061 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3037,7 +3065,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3041 "fe/idl.tab.cpp" +#line 3069 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3045,7 +3073,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3049 "fe/idl.tab.cpp" +#line 3077 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3059,7 +3087,7 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3063 "fe/idl.tab.cpp" +#line 3091 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3067,7 +3095,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3071 "fe/idl.tab.cpp" +#line 3099 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3085,7 +3113,7 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3089 "fe/idl.tab.cpp" +#line 3117 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3099,7 +3127,7 @@ yyparse (void) return 1; } } -#line 3103 "fe/idl.tab.cpp" +#line 3131 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3133,7 +3161,7 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3137 "fe/idl.tab.cpp" +#line 3165 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3141,7 +3169,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3145 "fe/idl.tab.cpp" +#line 3173 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3149,7 +3177,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3153 "fe/idl.tab.cpp" +#line 3181 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3172,7 +3200,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3176 "fe/idl.tab.cpp" +#line 3204 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3181,7 +3209,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3185 "fe/idl.tab.cpp" +#line 3213 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3190,7 +3218,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3194 "fe/idl.tab.cpp" +#line 3222 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3272,7 +3300,7 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3276 "fe/idl.tab.cpp" +#line 3304 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3281,7 +3309,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3285 "fe/idl.tab.cpp" +#line 3313 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3290,7 +3318,7 @@ yyparse (void) idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3294 "fe/idl.tab.cpp" +#line 3322 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3358,7 +3386,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3362 "fe/idl.tab.cpp" +#line 3390 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3400,7 +3428,7 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3404 "fe/idl.tab.cpp" +#line 3432 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3408,7 +3436,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3412 "fe/idl.tab.cpp" +#line 3440 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3416,7 +3444,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3420 "fe/idl.tab.cpp" +#line 3448 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3430,7 +3458,7 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3434 "fe/idl.tab.cpp" +#line 3462 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3438,7 +3466,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3442 "fe/idl.tab.cpp" +#line 3470 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3447,7 +3475,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3451 "fe/idl.tab.cpp" +#line 3479 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3487,7 +3515,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3491 "fe/idl.tab.cpp" +#line 3519 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3520,7 +3548,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3524 "fe/idl.tab.cpp" +#line 3552 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3553,7 +3581,7 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3557 "fe/idl.tab.cpp" +#line 3585 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3561,7 +3589,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3565 "fe/idl.tab.cpp" +#line 3593 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3570,7 +3598,7 @@ yyparse (void) (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3574 "fe/idl.tab.cpp" +#line 3602 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3578,7 +3606,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3582 "fe/idl.tab.cpp" +#line 3610 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3587,7 +3615,7 @@ yyparse (void) idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3591 "fe/idl.tab.cpp" +#line 3619 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3638,7 +3666,7 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3642 "fe/idl.tab.cpp" +#line 3670 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3646,7 +3674,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3650 "fe/idl.tab.cpp" +#line 3678 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3654,7 +3682,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3658 "fe/idl.tab.cpp" +#line 3686 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3679,7 +3707,7 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3683 "fe/idl.tab.cpp" +#line 3711 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3726,7 +3754,7 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3730 "fe/idl.tab.cpp" +#line 3758 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3734,7 +3762,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3738 "fe/idl.tab.cpp" +#line 3766 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3742,7 +3770,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3746 "fe/idl.tab.cpp" +#line 3774 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3757,7 +3785,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3761 "fe/idl.tab.cpp" +#line 3789 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3765,7 +3793,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3769 "fe/idl.tab.cpp" +#line 3797 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3800,7 +3828,7 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3804 "fe/idl.tab.cpp" +#line 3832 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3808,7 +3836,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3812 "fe/idl.tab.cpp" +#line 3840 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3817,7 +3845,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3821 "fe/idl.tab.cpp" +#line 3849 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3825,7 +3853,7 @@ yyparse (void) { (yyval.bval) = true; } -#line 3829 "fe/idl.tab.cpp" +#line 3857 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3833,7 +3861,7 @@ yyparse (void) { (yyval.bval) = false; } -#line 3837 "fe/idl.tab.cpp" +#line 3865 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3841,7 +3869,7 @@ yyparse (void) { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3845 "fe/idl.tab.cpp" +#line 3873 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3849,7 +3877,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 3853 "fe/idl.tab.cpp" +#line 3881 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3876,7 +3904,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3880 "fe/idl.tab.cpp" +#line 3908 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3905,7 +3933,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3909 "fe/idl.tab.cpp" +#line 3937 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -3972,7 +4000,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3976 "fe/idl.tab.cpp" +#line 4004 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -3995,7 +4023,7 @@ yyparse (void) delete annotations; delete decls; } -#line 3999 "fe/idl.tab.cpp" +#line 4027 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4003,7 +4031,7 @@ yyparse (void) { delete (yyvsp[0].decls_val); } -#line 4007 "fe/idl.tab.cpp" +#line 4035 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4018,7 +4046,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4022 "fe/idl.tab.cpp" +#line 4050 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4033,7 +4061,7 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4037 "fe/idl.tab.cpp" +#line 4065 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4041,7 +4069,7 @@ yyparse (void) { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4045 "fe/idl.tab.cpp" +#line 4073 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4049,7 +4077,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4053 "fe/idl.tab.cpp" +#line 4081 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4057,7 +4085,7 @@ yyparse (void) { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4061 "fe/idl.tab.cpp" +#line 4089 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4079,7 +4107,7 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4083 "fe/idl.tab.cpp" +#line 4111 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4098,7 +4126,7 @@ yyparse (void) } delete annotations; } -#line 4102 "fe/idl.tab.cpp" +#line 4130 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4106,7 +4134,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4110 "fe/idl.tab.cpp" +#line 4138 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4114,7 +4142,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4118 "fe/idl.tab.cpp" +#line 4146 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4122,7 +4150,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4126 "fe/idl.tab.cpp" +#line 4154 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4130,7 +4158,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4134 "fe/idl.tab.cpp" +#line 4162 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4138,7 +4166,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4142 "fe/idl.tab.cpp" +#line 4170 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4146,7 +4174,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4150 "fe/idl.tab.cpp" +#line 4178 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4154,7 +4182,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4158 "fe/idl.tab.cpp" +#line 4186 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4162,7 +4190,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4166 "fe/idl.tab.cpp" +#line 4194 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4170,7 +4198,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4174 "fe/idl.tab.cpp" +#line 4202 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4178,7 +4206,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4182 "fe/idl.tab.cpp" +#line 4210 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4186,7 +4214,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4190 "fe/idl.tab.cpp" +#line 4218 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4194,7 +4222,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4198 "fe/idl.tab.cpp" +#line 4226 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4202,7 +4230,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4206 "fe/idl.tab.cpp" +#line 4234 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4210,7 +4238,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4214 "fe/idl.tab.cpp" +#line 4242 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4218,7 +4246,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4222 "fe/idl.tab.cpp" +#line 4250 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4228,7 +4256,7 @@ yyparse (void) yyerrok; (yyval.dcval) = 0; } -#line 4232 "fe/idl.tab.cpp" +#line 4260 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4239,7 +4267,7 @@ yyparse (void) (yyvsp[0].nlval)), 1); } -#line 4243 "fe/idl.tab.cpp" +#line 4271 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4247,7 +4275,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4251 "fe/idl.tab.cpp" +#line 4279 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4271,7 +4299,7 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4275 "fe/idl.tab.cpp" +#line 4303 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4279,7 +4307,7 @@ yyparse (void) { (yyval.nlval) = 0; } -#line 4283 "fe/idl.tab.cpp" +#line 4311 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4292,7 +4320,7 @@ yyparse (void) 0), 1); } -#line 4296 "fe/idl.tab.cpp" +#line 4324 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4300,7 +4328,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4304 "fe/idl.tab.cpp" +#line 4332 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4324,7 +4352,7 @@ yyparse (void) sn), 1); } -#line 4328 "fe/idl.tab.cpp" +#line 4356 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4338,7 +4366,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4342 "fe/idl.tab.cpp" +#line 4370 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4354,7 +4382,7 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4358 "fe/idl.tab.cpp" +#line 4386 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4366,7 +4394,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4370 "fe/idl.tab.cpp" +#line 4398 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4378,7 +4406,7 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4382 "fe/idl.tab.cpp" +#line 4410 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4425,7 +4453,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4429 "fe/idl.tab.cpp" +#line 4457 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4455,7 +4483,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4459 "fe/idl.tab.cpp" +#line 4487 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4487,7 +4515,7 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4491 "fe/idl.tab.cpp" +#line 4519 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4495,7 +4523,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4499 "fe/idl.tab.cpp" +#line 4527 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4503,7 +4531,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4507 "fe/idl.tab.cpp" +#line 4535 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4511,7 +4539,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4515 "fe/idl.tab.cpp" +#line 4543 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4519,7 +4547,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4523 "fe/idl.tab.cpp" +#line 4551 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4579,7 +4607,7 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4583 "fe/idl.tab.cpp" +#line 4611 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4587,7 +4615,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_string; } -#line 4591 "fe/idl.tab.cpp" +#line 4619 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4595,7 +4623,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4599 "fe/idl.tab.cpp" +#line 4627 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4665,7 +4693,7 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4669 "fe/idl.tab.cpp" +#line 4697 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4678,7 +4706,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4682 "fe/idl.tab.cpp" +#line 4710 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4691,7 +4719,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4695 "fe/idl.tab.cpp" +#line 4723 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4704,7 +4732,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4708 "fe/idl.tab.cpp" +#line 4736 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4717,7 +4745,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4721 "fe/idl.tab.cpp" +#line 4749 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4730,7 +4758,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4734 "fe/idl.tab.cpp" +#line 4762 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4743,7 +4771,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4747 "fe/idl.tab.cpp" +#line 4775 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4756,7 +4784,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4760 "fe/idl.tab.cpp" +#line 4788 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4769,7 +4797,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4773 "fe/idl.tab.cpp" +#line 4801 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4782,7 +4810,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4786 "fe/idl.tab.cpp" +#line 4814 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4795,7 +4823,7 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4799 "fe/idl.tab.cpp" +#line 4827 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4808,7 +4836,7 @@ yyparse (void) 0 ); } -#line 4812 "fe/idl.tab.cpp" +#line 4840 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4821,7 +4849,7 @@ yyparse (void) 0 ); } -#line 4825 "fe/idl.tab.cpp" +#line 4853 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4834,7 +4862,7 @@ yyparse (void) 0 ); } -#line 4838 "fe/idl.tab.cpp" +#line 4866 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4895,7 +4923,7 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4899 "fe/idl.tab.cpp" +#line 4927 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4903,7 +4931,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[-1].exval); } -#line 4907 "fe/idl.tab.cpp" +#line 4935 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4911,7 +4939,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4915 "fe/idl.tab.cpp" +#line 4943 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4920,7 +4948,7 @@ yyparse (void) (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4924 "fe/idl.tab.cpp" +#line 4952 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4931,7 +4959,7 @@ yyparse (void) delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4935 "fe/idl.tab.cpp" +#line 4963 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4942,7 +4970,7 @@ yyparse (void) ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4946 "fe/idl.tab.cpp" +#line 4974 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4950,7 +4978,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4954 "fe/idl.tab.cpp" +#line 4982 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4959,7 +4987,7 @@ yyparse (void) ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4963 "fe/idl.tab.cpp" +#line 4991 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -4967,7 +4995,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4971 "fe/idl.tab.cpp" +#line 4999 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -4975,7 +5003,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4979 "fe/idl.tab.cpp" +#line 5007 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -4983,7 +5011,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 4987 "fe/idl.tab.cpp" +#line 5015 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -4991,7 +5019,7 @@ yyparse (void) { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 4995 "fe/idl.tab.cpp" +#line 5023 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5060,7 +5088,7 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5064 "fe/idl.tab.cpp" +#line 5092 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5081,7 +5109,7 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5085 "fe/idl.tab.cpp" +#line 5113 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5094,7 +5122,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5098 "fe/idl.tab.cpp" +#line 5126 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5103,7 +5131,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5107 "fe/idl.tab.cpp" +#line 5135 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5160,7 +5188,7 @@ yyparse (void) delete result; } } -#line 5164 "fe/idl.tab.cpp" +#line 5192 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5168,7 +5196,7 @@ yyparse (void) { (yyval.exval) = (yyvsp[0].exval); } -#line 5172 "fe/idl.tab.cpp" +#line 5200 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5176,7 +5204,7 @@ yyparse (void) { (yyval.exval) = 0; } -#line 5180 "fe/idl.tab.cpp" +#line 5208 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5190,7 +5218,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5194 "fe/idl.tab.cpp" +#line 5222 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5204,7 +5232,7 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5208 "fe/idl.tab.cpp" +#line 5236 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5212,7 +5240,7 @@ yyparse (void) { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5216 "fe/idl.tab.cpp" +#line 5244 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5273,7 +5301,7 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5277 "fe/idl.tab.cpp" +#line 5305 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5305,7 +5333,7 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5309 "fe/idl.tab.cpp" +#line 5337 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5313,7 +5341,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5317 "fe/idl.tab.cpp" +#line 5345 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5321,7 +5349,7 @@ yyparse (void) { (yyval.annotation_params_val) = 0; } -#line 5325 "fe/idl.tab.cpp" +#line 5353 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5334,7 +5362,7 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5338 "fe/idl.tab.cpp" +#line 5366 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5342,7 +5370,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5346 "fe/idl.tab.cpp" +#line 5374 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5352,7 +5380,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5356 "fe/idl.tab.cpp" +#line 5384 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5362,7 +5390,7 @@ yyparse (void) params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5366 "fe/idl.tab.cpp" +#line 5394 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5370,7 +5398,7 @@ yyparse (void) { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5374 "fe/idl.tab.cpp" +#line 5402 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5383,7 +5411,7 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5387 "fe/idl.tab.cpp" +#line 5415 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5392,7 +5420,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5396 "fe/idl.tab.cpp" +#line 5424 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5400,7 +5428,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5404 "fe/idl.tab.cpp" +#line 5432 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5408,7 +5436,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5412 "fe/idl.tab.cpp" +#line 5440 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5416,7 +5444,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5420 "fe/idl.tab.cpp" +#line 5448 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5424,7 +5452,7 @@ yyparse (void) { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5428 "fe/idl.tab.cpp" +#line 5456 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5456,7 +5484,7 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5460 "fe/idl.tab.cpp" +#line 5488 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5464,7 +5492,7 @@ yyparse (void) { (yyval.dcval) = 0; } -#line 5468 "fe/idl.tab.cpp" +#line 5496 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5472,7 +5500,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5476 "fe/idl.tab.cpp" +#line 5504 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5540,7 +5568,7 @@ yyparse (void) (yyval.dcval) = t; } -#line 5544 "fe/idl.tab.cpp" +#line 5572 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5551,7 +5579,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 5555 "fe/idl.tab.cpp" +#line 5583 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5578,7 +5606,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 5582 "fe/idl.tab.cpp" +#line 5610 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5589,7 +5617,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5593 "fe/idl.tab.cpp" +#line 5621 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5597,7 +5625,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5601 "fe/idl.tab.cpp" +#line 5629 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5621,7 +5649,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5625 "fe/idl.tab.cpp" +#line 5653 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5629,7 +5657,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5633 "fe/idl.tab.cpp" +#line 5661 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5640,7 +5668,7 @@ yyparse (void) (yyvsp[0].dlval)), 1); } -#line 5644 "fe/idl.tab.cpp" +#line 5672 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5648,7 +5676,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5652 "fe/idl.tab.cpp" +#line 5680 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5672,7 +5700,7 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5676 "fe/idl.tab.cpp" +#line 5704 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5680,7 +5708,7 @@ yyparse (void) { (yyval.dlval) = 0; } -#line 5684 "fe/idl.tab.cpp" +#line 5712 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5697,7 +5725,7 @@ yyparse (void) 0), 1); } -#line 5701 "fe/idl.tab.cpp" +#line 5729 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5716,7 +5744,7 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5720 "fe/idl.tab.cpp" +#line 5748 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5724,7 +5752,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5728 "fe/idl.tab.cpp" +#line 5756 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5732,7 +5760,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5736 "fe/idl.tab.cpp" +#line 5764 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5740,7 +5768,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5744 "fe/idl.tab.cpp" +#line 5772 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5748,7 +5776,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_int8; } -#line 5752 "fe/idl.tab.cpp" +#line 5780 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5756,7 +5784,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_short; } -#line 5760 "fe/idl.tab.cpp" +#line 5788 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5764,7 +5792,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_long; } -#line 5768 "fe/idl.tab.cpp" +#line 5796 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5772,7 +5800,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5776 "fe/idl.tab.cpp" +#line 5804 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5780,7 +5808,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5784 "fe/idl.tab.cpp" +#line 5812 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5788,7 +5816,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5792 "fe/idl.tab.cpp" +#line 5820 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5796,7 +5824,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5800 "fe/idl.tab.cpp" +#line 5828 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5804,7 +5832,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5808 "fe/idl.tab.cpp" +#line 5836 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5812,7 +5840,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5816 "fe/idl.tab.cpp" +#line 5844 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5820,7 +5848,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5824 "fe/idl.tab.cpp" +#line 5852 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5828,7 +5856,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5832 "fe/idl.tab.cpp" +#line 5860 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5836,7 +5864,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_double; } -#line 5840 "fe/idl.tab.cpp" +#line 5868 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5844,7 +5872,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_float; } -#line 5848 "fe/idl.tab.cpp" +#line 5876 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5852,7 +5880,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5856 "fe/idl.tab.cpp" +#line 5884 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5860,7 +5888,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5864 "fe/idl.tab.cpp" +#line 5892 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5868,7 +5896,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_char; } -#line 5872 "fe/idl.tab.cpp" +#line 5900 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5876,7 +5904,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5880 "fe/idl.tab.cpp" +#line 5908 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5884,7 +5912,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_octet; } -#line 5888 "fe/idl.tab.cpp" +#line 5916 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5892,7 +5920,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_bool; } -#line 5896 "fe/idl.tab.cpp" +#line 5924 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5900,7 +5928,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_any; } -#line 5904 "fe/idl.tab.cpp" +#line 5932 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5908,7 +5936,7 @@ yyparse (void) { (yyval.etval) = AST_Expression::EV_object; } -#line 5912 "fe/idl.tab.cpp" +#line 5940 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5916,7 +5944,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5920 "fe/idl.tab.cpp" +#line 5948 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5925,7 +5953,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5929 "fe/idl.tab.cpp" +#line 5957 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5960,7 +5988,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5964 "fe/idl.tab.cpp" +#line 5992 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -5968,7 +5996,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5972 "fe/idl.tab.cpp" +#line 6000 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -5976,7 +6004,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 5980 "fe/idl.tab.cpp" +#line 6008 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -5992,7 +6020,7 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 5996 "fe/idl.tab.cpp" +#line 6024 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6010,7 +6038,7 @@ yyparse (void) delete annotations; delete members; } -#line 6014 "fe/idl.tab.cpp" +#line 6042 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6018,7 +6046,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6022 "fe/idl.tab.cpp" +#line 6050 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6026,7 +6054,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6030 "fe/idl.tab.cpp" +#line 6058 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6084,7 +6112,7 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6088 "fe/idl.tab.cpp" +#line 6116 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6092,7 +6120,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6096 "fe/idl.tab.cpp" +#line 6124 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6101,7 +6129,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6105 "fe/idl.tab.cpp" +#line 6133 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6109,7 +6137,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6113 "fe/idl.tab.cpp" +#line 6141 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6118,7 +6146,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6122 "fe/idl.tab.cpp" +#line 6150 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6126,7 +6154,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6130 "fe/idl.tab.cpp" +#line 6158 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6163,7 +6191,7 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6167 "fe/idl.tab.cpp" +#line 6195 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6171,7 +6199,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6175 "fe/idl.tab.cpp" +#line 6203 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6234,7 +6262,7 @@ yyparse (void) delete disc_annotations; } -#line 6238 "fe/idl.tab.cpp" +#line 6266 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6242,7 +6270,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6246 "fe/idl.tab.cpp" +#line 6274 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6250,7 +6278,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6254 "fe/idl.tab.cpp" +#line 6282 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6270,7 +6298,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6274 "fe/idl.tab.cpp" +#line 6302 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6281,7 +6309,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6285 "fe/idl.tab.cpp" +#line 6313 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6298,7 +6326,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6302 "fe/idl.tab.cpp" +#line 6330 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6311,7 +6339,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6315 "fe/idl.tab.cpp" +#line 6343 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6322,7 +6350,7 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6326 "fe/idl.tab.cpp" +#line 6354 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6433,7 +6461,7 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6437 "fe/idl.tab.cpp" +#line 6465 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6441,7 +6469,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6445 "fe/idl.tab.cpp" +#line 6473 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6449,7 +6477,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6453 "fe/idl.tab.cpp" +#line 6481 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6485,7 +6513,7 @@ yyparse (void) delete annotations; } -#line 6489 "fe/idl.tab.cpp" +#line 6517 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6493,7 +6521,7 @@ yyparse (void) { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6497 "fe/idl.tab.cpp" +#line 6525 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6502,7 +6530,7 @@ yyparse (void) idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6506 "fe/idl.tab.cpp" +#line 6534 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6513,7 +6541,7 @@ yyparse (void) (yyvsp[0].llval)), 1); } -#line 6517 "fe/idl.tab.cpp" +#line 6545 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6535,7 +6563,7 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6539 "fe/idl.tab.cpp" +#line 6567 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6543,7 +6571,7 @@ yyparse (void) { (yyval.llval) = 0; } -#line 6547 "fe/idl.tab.cpp" +#line 6575 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6551,7 +6579,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6555 "fe/idl.tab.cpp" +#line 6583 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6564,7 +6592,7 @@ yyparse (void) 0 ); } -#line 6568 "fe/idl.tab.cpp" +#line 6596 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6572,7 +6600,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6576 "fe/idl.tab.cpp" +#line 6604 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6580,7 +6608,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6584 "fe/idl.tab.cpp" +#line 6612 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6593,7 +6621,7 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6597 "fe/idl.tab.cpp" +#line 6625 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6601,7 +6629,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6605 "fe/idl.tab.cpp" +#line 6633 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6648,7 +6676,7 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6652 "fe/idl.tab.cpp" +#line 6680 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6674,7 +6702,7 @@ yyparse (void) (yyval.dcval) = d; } -#line 6678 "fe/idl.tab.cpp" +#line 6706 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6698,7 +6726,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6702 "fe/idl.tab.cpp" +#line 6730 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6706,7 +6734,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6710 "fe/idl.tab.cpp" +#line 6738 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6741,7 +6769,7 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6745 "fe/idl.tab.cpp" +#line 6773 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6749,7 +6777,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6753 "fe/idl.tab.cpp" +#line 6781 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6757,7 +6785,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6761 "fe/idl.tab.cpp" +#line 6789 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6780,7 +6808,7 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6784 "fe/idl.tab.cpp" +#line 6812 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6788,7 +6816,7 @@ yyparse (void) { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6792 "fe/idl.tab.cpp" +#line 6820 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6827,11 +6855,19 @@ yyparse (void) delete annotations; } -#line 6831 "fe/idl.tab.cpp" +#line 6859 "fe/idl.tab.cpp" + break; + + case 354: /* $@91: %empty */ +#line 3897 "fe/idl.ypp" + { + idl_global->scopes ().push (0); + } +#line 6867 "fe/idl.tab.cpp" break; - case 354: /* map_type_spec: IDL_MAP '<' map_type ',' map_type '>' */ -#line 3902 "fe/idl.ypp" + case 355: /* map_type_spec: IDL_MAP $@91 '<' map_type ',' map_type '>' */ +#line 3905 "fe/idl.ypp" { AST_Map *map = 0; @@ -6878,19 +6914,22 @@ yyparse (void) s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + delete key_type->annotation; + delete val_type->annotation; (yyval.dcval) = map; } -#line 6890 "fe/idl.tab.cpp" +#line 6929 "fe/idl.tab.cpp" break; - case 355: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ -#line 3964 "fe/idl.ypp" + case 356: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ +#line 3974 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); @@ -6934,18 +6973,22 @@ yyparse (void) s->is_local (), s->is_abstract () ); - // map->base_type_annotations (*type_annotations); + map->key_type_annotations (*key_type->annotations); + map->value_type_annotations (*val_type->annotations); idl_global->err ()->anonymous_type_diagnostic (); } } + + delete key_type->annotation; + delete val_type->annotation; (yyval.dcval) = map; } -#line 6945 "fe/idl.tab.cpp" +#line 6988 "fe/idl.tab.cpp" break; - case 356: /* map_type: annotations_maybe simple_type_spec */ -#line 4018 "fe/idl.ypp" + case 357: /* map_type: annotations_maybe simple_type_spec */ +#line 4032 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; @@ -6953,27 +6996,27 @@ yyparse (void) pair->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = pair; } -#line 6957 "fe/idl.tab.cpp" +#line 7000 "fe/idl.tab.cpp" break; - case 357: /* $@91: %empty */ -#line 4030 "fe/idl.ypp" + case 358: /* $@92: %empty */ +#line 4044 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6965 "fe/idl.tab.cpp" +#line 7008 "fe/idl.tab.cpp" break; - case 358: /* $@92: %empty */ -#line 4034 "fe/idl.ypp" + case 359: /* $@93: %empty */ +#line 4048 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6973 "fe/idl.tab.cpp" +#line 7016 "fe/idl.tab.cpp" break; - case 359: /* sequence_type_spec: seq_head ',' $@91 positive_int_expr $@92 '>' */ -#line 4038 "fe/idl.ypp" + case 360: /* sequence_type_spec: seq_head ',' $@92 positive_int_expr $@93 '>' */ +#line 4052 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7054,11 +7097,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7058 "fe/idl.tab.cpp" +#line 7101 "fe/idl.tab.cpp" break; - case 360: /* sequence_type_spec: seq_head '>' */ -#line 4120 "fe/idl.ypp" + case 361: /* sequence_type_spec: seq_head '>' */ +#line 4134 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7120,11 +7163,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7124 "fe/idl.tab.cpp" +#line 7167 "fe/idl.tab.cpp" break; - case 361: /* $@93: %empty */ -#line 4185 "fe/idl.ypp" + case 362: /* $@94: %empty */ +#line 4199 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7133,19 +7176,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7137 "fe/idl.tab.cpp" +#line 7180 "fe/idl.tab.cpp" break; - case 362: /* $@94: %empty */ -#line 4194 "fe/idl.ypp" + case 363: /* $@95: %empty */ +#line 4208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7145 "fe/idl.tab.cpp" +#line 7188 "fe/idl.tab.cpp" break; - case 363: /* seq_head: IDL_SEQUENCE $@93 '<' $@94 annotations_maybe simple_type_spec */ -#line 4198 "fe/idl.ypp" + case 364: /* seq_head: IDL_SEQUENCE $@94 '<' $@95 annotations_maybe simple_type_spec */ +#line 4212 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7153,36 +7196,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7157 "fe/idl.tab.cpp" +#line 7200 "fe/idl.tab.cpp" break; - case 364: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4209 "fe/idl.ypp" + case 365: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4223 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7166 "fe/idl.tab.cpp" +#line 7209 "fe/idl.tab.cpp" break; - case 365: /* $@95: %empty */ -#line 4218 "fe/idl.ypp" + case 366: /* $@96: %empty */ +#line 4232 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7174 "fe/idl.tab.cpp" +#line 7217 "fe/idl.tab.cpp" break; - case 366: /* $@96: %empty */ -#line 4222 "fe/idl.ypp" + case 367: /* $@97: %empty */ +#line 4236 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7182 "fe/idl.tab.cpp" +#line 7225 "fe/idl.tab.cpp" break; - case 367: /* string_type_spec: string_head '<' $@95 positive_int_expr $@96 '>' */ -#line 4226 "fe/idl.ypp" + case 368: /* string_type_spec: string_head '<' $@96 positive_int_expr $@97 '>' */ +#line 4240 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7221,11 +7264,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7225 "fe/idl.tab.cpp" +#line 7268 "fe/idl.tab.cpp" break; - case 368: /* string_type_spec: string_head */ -#line 4265 "fe/idl.ypp" + case 369: /* string_type_spec: string_head */ +#line 4279 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7248,35 +7291,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7252 "fe/idl.tab.cpp" +#line 7295 "fe/idl.tab.cpp" break; - case 369: /* string_head: IDL_STRING */ -#line 4291 "fe/idl.ypp" + case 370: /* string_head: IDL_STRING */ +#line 4305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7260 "fe/idl.tab.cpp" +#line 7303 "fe/idl.tab.cpp" break; - case 370: /* $@97: %empty */ -#line 4299 "fe/idl.ypp" + case 371: /* $@98: %empty */ +#line 4313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7268 "fe/idl.tab.cpp" +#line 7311 "fe/idl.tab.cpp" break; - case 371: /* $@98: %empty */ -#line 4303 "fe/idl.ypp" + case 372: /* $@99: %empty */ +#line 4317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7276 "fe/idl.tab.cpp" +#line 7319 "fe/idl.tab.cpp" break; - case 372: /* wstring_type_spec: wstring_head '<' $@97 positive_int_expr $@98 '>' */ -#line 4307 "fe/idl.ypp" + case 373: /* wstring_type_spec: wstring_head '<' $@98 positive_int_expr $@99 '>' */ +#line 4321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7315,11 +7358,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7319 "fe/idl.tab.cpp" +#line 7362 "fe/idl.tab.cpp" break; - case 373: /* wstring_type_spec: wstring_head */ -#line 4346 "fe/idl.ypp" + case 374: /* wstring_type_spec: wstring_head */ +#line 4360 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7342,27 +7385,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7346 "fe/idl.tab.cpp" +#line 7389 "fe/idl.tab.cpp" break; - case 374: /* wstring_head: IDL_WSTRING */ -#line 4372 "fe/idl.ypp" + case 375: /* wstring_head: IDL_WSTRING */ +#line 4386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7354 "fe/idl.tab.cpp" +#line 7397 "fe/idl.tab.cpp" break; - case 375: /* $@99: %empty */ -#line 4379 "fe/idl.ypp" + case 376: /* $@100: %empty */ +#line 4393 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7362 "fe/idl.tab.cpp" +#line 7405 "fe/idl.tab.cpp" break; - case 376: /* array_declarator: defining_id $@99 annotations_maybe at_least_one_array_dim */ -#line 4383 "fe/idl.ypp" + case 377: /* array_declarator: defining_id $@100 annotations_maybe at_least_one_array_dim */ +#line 4397 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7398,22 +7441,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7402 "fe/idl.tab.cpp" +#line 7445 "fe/idl.tab.cpp" break; - case 377: /* at_least_one_array_dim: array_dim array_dims */ -#line 4422 "fe/idl.ypp" + case 378: /* at_least_one_array_dim: array_dim array_dims */ +#line 4436 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7413 "fe/idl.tab.cpp" +#line 7456 "fe/idl.tab.cpp" break; - case 378: /* array_dims: array_dims array_dim */ -#line 4432 "fe/idl.ypp" + case 379: /* array_dims: array_dims array_dim */ +#line 4446 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7431,35 +7474,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7435 "fe/idl.tab.cpp" +#line 7478 "fe/idl.tab.cpp" break; - case 379: /* array_dims: %empty */ -#line 4450 "fe/idl.ypp" + case 380: /* array_dims: %empty */ +#line 4464 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7443 "fe/idl.tab.cpp" +#line 7486 "fe/idl.tab.cpp" break; - case 380: /* $@100: %empty */ -#line 4457 "fe/idl.ypp" + case 381: /* $@101: %empty */ +#line 4471 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7451 "fe/idl.tab.cpp" +#line 7494 "fe/idl.tab.cpp" break; - case 381: /* $@101: %empty */ -#line 4461 "fe/idl.ypp" + case 382: /* $@102: %empty */ +#line 4475 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7459 "fe/idl.tab.cpp" +#line 7502 "fe/idl.tab.cpp" break; - case 382: /* array_dim: '[' $@100 positive_int_expr $@101 ']' */ -#line 4465 "fe/idl.ypp" + case 383: /* array_dim: '[' $@101 positive_int_expr $@102 ']' */ +#line 4479 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7513,43 +7556,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7517 "fe/idl.tab.cpp" +#line 7560 "fe/idl.tab.cpp" break; - case 385: /* $@102: %empty */ -#line 4527 "fe/idl.ypp" + case 386: /* $@103: %empty */ +#line 4541 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7525 "fe/idl.tab.cpp" +#line 7568 "fe/idl.tab.cpp" break; - case 386: /* $@103: %empty */ -#line 4531 "fe/idl.ypp" + case 387: /* $@104: %empty */ +#line 4545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7533 "fe/idl.tab.cpp" +#line 7576 "fe/idl.tab.cpp" break; - case 387: /* $@104: %empty */ -#line 4535 "fe/idl.ypp" + case 388: /* $@105: %empty */ +#line 4549 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7541 "fe/idl.tab.cpp" +#line 7584 "fe/idl.tab.cpp" break; - case 388: /* $@105: %empty */ -#line 4539 "fe/idl.ypp" + case 389: /* $@106: %empty */ +#line 4553 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7549 "fe/idl.tab.cpp" +#line 7592 "fe/idl.tab.cpp" break; - case 389: /* attribute_readonly: IDL_READONLY $@102 IDL_ATTRIBUTE $@103 param_type_spec $@104 at_least_one_simple_declarator $@105 opt_raises */ -#line 4543 "fe/idl.ypp" + case 390: /* attribute_readonly: IDL_READONLY $@103 IDL_ATTRIBUTE $@104 param_type_spec $@105 at_least_one_simple_declarator $@106 opt_raises */ +#line 4557 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7601,43 +7644,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7605 "fe/idl.tab.cpp" +#line 7648 "fe/idl.tab.cpp" break; - case 390: /* $@106: %empty */ -#line 4598 "fe/idl.ypp" + case 391: /* $@107: %empty */ +#line 4612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7613 "fe/idl.tab.cpp" +#line 7656 "fe/idl.tab.cpp" break; - case 391: /* $@107: %empty */ -#line 4602 "fe/idl.ypp" + case 392: /* $@108: %empty */ +#line 4616 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7621 "fe/idl.tab.cpp" +#line 7664 "fe/idl.tab.cpp" break; - case 392: /* $@108: %empty */ -#line 4606 "fe/idl.ypp" + case 393: /* $@109: %empty */ +#line 4620 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7629 "fe/idl.tab.cpp" +#line 7672 "fe/idl.tab.cpp" break; - case 393: /* $@109: %empty */ -#line 4610 "fe/idl.ypp" + case 394: /* $@110: %empty */ +#line 4624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7637 "fe/idl.tab.cpp" +#line 7680 "fe/idl.tab.cpp" break; - case 394: /* attribute_readwrite: IDL_ATTRIBUTE $@106 param_type_spec $@107 at_least_one_simple_declarator $@108 opt_getraises $@109 opt_setraises */ -#line 4614 "fe/idl.ypp" + case 395: /* attribute_readwrite: IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_getraises $@110 opt_setraises */ +#line 4628 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7698,19 +7741,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7702 "fe/idl.tab.cpp" +#line 7745 "fe/idl.tab.cpp" break; - case 395: /* $@110: %empty */ -#line 4678 "fe/idl.ypp" + case 396: /* $@111: %empty */ +#line 4692 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7710 "fe/idl.tab.cpp" +#line 7753 "fe/idl.tab.cpp" break; - case 396: /* @111: %empty */ -#line 4682 "fe/idl.ypp" + case 397: /* @112: %empty */ +#line 4696 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7742,27 +7785,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7746 "fe/idl.tab.cpp" +#line 7789 "fe/idl.tab.cpp" break; - case 397: /* $@112: %empty */ -#line 4714 "fe/idl.ypp" + case 398: /* $@113: %empty */ +#line 4728 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7754 "fe/idl.tab.cpp" +#line 7797 "fe/idl.tab.cpp" break; - case 398: /* $@113: %empty */ -#line 4718 "fe/idl.ypp" + case 399: /* $@114: %empty */ +#line 4732 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7762 "fe/idl.tab.cpp" +#line 7805 "fe/idl.tab.cpp" break; - case 399: /* exception: IDL_EXCEPTION $@110 defining_id @111 '{' $@112 members $@113 '}' */ -#line 4722 "fe/idl.ypp" + case 400: /* exception: IDL_EXCEPTION $@111 defining_id @112 '{' $@113 members $@114 '}' */ +#line 4736 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7772,19 +7815,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7776 "fe/idl.tab.cpp" +#line 7819 "fe/idl.tab.cpp" break; - case 400: /* $@114: %empty */ -#line 4735 "fe/idl.ypp" + case 401: /* $@115: %empty */ +#line 4749 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7784 "fe/idl.tab.cpp" +#line 7827 "fe/idl.tab.cpp" break; - case 401: /* $@115: %empty */ -#line 4739 "fe/idl.ypp" + case 402: /* $@116: %empty */ +#line 4753 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7845,27 +7888,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7849 "fe/idl.tab.cpp" +#line 7892 "fe/idl.tab.cpp" break; - case 402: /* $@116: %empty */ -#line 4800 "fe/idl.ypp" + case 403: /* $@117: %empty */ +#line 4814 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7857 "fe/idl.tab.cpp" +#line 7900 "fe/idl.tab.cpp" break; - case 403: /* $@117: %empty */ -#line 4804 "fe/idl.ypp" + case 404: /* $@118: %empty */ +#line 4818 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7865 "fe/idl.tab.cpp" +#line 7908 "fe/idl.tab.cpp" break; - case 404: /* operation: opt_op_attribute op_type_spec $@114 IDENTIFIER $@115 parameter_list $@116 opt_raises $@117 opt_context */ -#line 4808 "fe/idl.ypp" + case 405: /* operation: opt_op_attribute op_type_spec $@115 IDENTIFIER $@116 parameter_list $@117 opt_raises $@118 opt_context */ +#line 4822 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7896,57 +7939,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7900 "fe/idl.tab.cpp" +#line 7943 "fe/idl.tab.cpp" break; - case 405: /* opt_op_attribute: IDL_ONEWAY */ -#line 4842 "fe/idl.ypp" + case 406: /* opt_op_attribute: IDL_ONEWAY */ +#line 4856 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7909 "fe/idl.tab.cpp" +#line 7952 "fe/idl.tab.cpp" break; - case 406: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4847 "fe/idl.ypp" + case 407: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4861 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7918 "fe/idl.tab.cpp" +#line 7961 "fe/idl.tab.cpp" break; - case 407: /* opt_op_attribute: %empty */ -#line 4852 "fe/idl.ypp" + case 408: /* opt_op_attribute: %empty */ +#line 4866 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7926 "fe/idl.tab.cpp" +#line 7969 "fe/idl.tab.cpp" break; - case 409: /* op_type_spec: IDL_VOID */ -#line 4860 "fe/idl.ypp" + case 410: /* op_type_spec: IDL_VOID */ +#line 4874 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7937 "fe/idl.tab.cpp" +#line 7980 "fe/idl.tab.cpp" break; - case 410: /* $@118: %empty */ -#line 4870 "fe/idl.ypp" + case 411: /* $@119: %empty */ +#line 4884 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7946 "fe/idl.tab.cpp" +#line 7989 "fe/idl.tab.cpp" break; - case 411: /* @119: %empty */ -#line 4875 "fe/idl.ypp" + case 412: /* @120: %empty */ +#line 4889 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7989,19 +8032,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 7993 "fe/idl.tab.cpp" +#line 8036 "fe/idl.tab.cpp" break; - case 412: /* $@120: %empty */ -#line 4918 "fe/idl.ypp" + case 413: /* $@121: %empty */ +#line 4932 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8001 "fe/idl.tab.cpp" +#line 8044 "fe/idl.tab.cpp" break; - case 413: /* init_decl: IDL_FACTORY $@118 IDENTIFIER @119 init_parameter_list $@120 opt_raises */ -#line 4922 "fe/idl.ypp" + case 414: /* init_decl: IDL_FACTORY $@119 IDENTIFIER @120 init_parameter_list $@121 opt_raises */ +#line 4936 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8016,67 +8059,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8020 "fe/idl.tab.cpp" +#line 8063 "fe/idl.tab.cpp" break; - case 414: /* $@121: %empty */ -#line 4940 "fe/idl.ypp" + case 415: /* $@122: %empty */ +#line 4954 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8028 "fe/idl.tab.cpp" +#line 8071 "fe/idl.tab.cpp" break; - case 415: /* init_parameter_list: '(' $@121 ')' */ -#line 4944 "fe/idl.ypp" + case 416: /* init_parameter_list: '(' $@122 ')' */ +#line 4958 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8036 "fe/idl.tab.cpp" +#line 8079 "fe/idl.tab.cpp" break; - case 416: /* $@122: %empty */ -#line 4948 "fe/idl.ypp" + case 417: /* $@123: %empty */ +#line 4962 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8044 "fe/idl.tab.cpp" +#line 8087 "fe/idl.tab.cpp" break; - case 417: /* init_parameter_list: '(' $@122 at_least_one_in_parameter ')' */ -#line 4953 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@123 at_least_one_in_parameter ')' */ +#line 4967 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8052 "fe/idl.tab.cpp" +#line 8095 "fe/idl.tab.cpp" break; - case 419: /* $@123: %empty */ -#line 4963 "fe/idl.ypp" + case 420: /* $@124: %empty */ +#line 4977 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8060 "fe/idl.tab.cpp" +#line 8103 "fe/idl.tab.cpp" break; - case 422: /* $@124: %empty */ -#line 4972 "fe/idl.ypp" + case 423: /* $@125: %empty */ +#line 4986 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8068 "fe/idl.tab.cpp" +#line 8111 "fe/idl.tab.cpp" break; - case 423: /* $@125: %empty */ -#line 4976 "fe/idl.ypp" + case 424: /* $@126: %empty */ +#line 4990 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8076 "fe/idl.tab.cpp" +#line 8119 "fe/idl.tab.cpp" break; - case 424: /* in_parameter: IDL_IN $@124 param_type_spec $@125 declarator */ -#line 4980 "fe/idl.ypp" + case 425: /* in_parameter: IDL_IN $@125 param_type_spec $@126 declarator */ +#line 4994 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8108,67 +8151,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8112 "fe/idl.tab.cpp" +#line 8155 "fe/idl.tab.cpp" break; - case 425: /* $@126: %empty */ -#line 5015 "fe/idl.ypp" + case 426: /* $@127: %empty */ +#line 5029 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8120 "fe/idl.tab.cpp" +#line 8163 "fe/idl.tab.cpp" break; - case 426: /* parameter_list: '(' $@126 ')' */ -#line 5019 "fe/idl.ypp" + case 427: /* parameter_list: '(' $@127 ')' */ +#line 5033 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8128 "fe/idl.tab.cpp" +#line 8171 "fe/idl.tab.cpp" break; - case 427: /* $@127: %empty */ -#line 5023 "fe/idl.ypp" + case 428: /* $@128: %empty */ +#line 5037 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8136 "fe/idl.tab.cpp" +#line 8179 "fe/idl.tab.cpp" break; - case 428: /* parameter_list: '(' $@127 at_least_one_parameter ')' */ -#line 5028 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@128 at_least_one_parameter ')' */ +#line 5042 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8144 "fe/idl.tab.cpp" +#line 8187 "fe/idl.tab.cpp" break; - case 430: /* $@128: %empty */ -#line 5038 "fe/idl.ypp" + case 431: /* $@129: %empty */ +#line 5052 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8152 "fe/idl.tab.cpp" +#line 8195 "fe/idl.tab.cpp" break; - case 433: /* $@129: %empty */ -#line 5047 "fe/idl.ypp" + case 434: /* $@130: %empty */ +#line 5061 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8160 "fe/idl.tab.cpp" +#line 8203 "fe/idl.tab.cpp" break; - case 434: /* $@130: %empty */ -#line 5051 "fe/idl.ypp" + case 435: /* $@131: %empty */ +#line 5065 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8168 "fe/idl.tab.cpp" +#line 8211 "fe/idl.tab.cpp" break; - case 435: /* parameter: direction $@129 param_type_spec $@130 declarator */ -#line 5055 "fe/idl.ypp" + case 436: /* parameter: direction $@130 param_type_spec $@131 declarator */ +#line 5069 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8207,22 +8250,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8211 "fe/idl.tab.cpp" +#line 8254 "fe/idl.tab.cpp" break; - case 436: /* param_type_spec: base_type_spec */ -#line 5097 "fe/idl.ypp" + case 437: /* param_type_spec: base_type_spec */ +#line 5111 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8222 "fe/idl.tab.cpp" +#line 8265 "fe/idl.tab.cpp" break; - case 439: /* param_type_spec: scoped_name */ -#line 5106 "fe/idl.ypp" + case 440: /* param_type_spec: scoped_name */ +#line 5120 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8326,186 +8369,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8330 "fe/idl.tab.cpp" +#line 8373 "fe/idl.tab.cpp" break; - case 440: /* direction: IDL_IN */ -#line 5213 "fe/idl.ypp" + case 441: /* direction: IDL_IN */ +#line 5227 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8338 "fe/idl.tab.cpp" +#line 8381 "fe/idl.tab.cpp" break; - case 441: /* direction: IDL_OUT */ -#line 5217 "fe/idl.ypp" + case 442: /* direction: IDL_OUT */ +#line 5231 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8346 "fe/idl.tab.cpp" +#line 8389 "fe/idl.tab.cpp" break; - case 442: /* direction: IDL_INOUT */ -#line 5221 "fe/idl.ypp" + case 443: /* direction: IDL_INOUT */ +#line 5235 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8354 "fe/idl.tab.cpp" +#line 8397 "fe/idl.tab.cpp" break; - case 443: /* $@131: %empty */ -#line 5228 "fe/idl.ypp" + case 444: /* $@132: %empty */ +#line 5242 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8362 "fe/idl.tab.cpp" +#line 8405 "fe/idl.tab.cpp" break; - case 444: /* $@132: %empty */ -#line 5232 "fe/idl.ypp" + case 445: /* $@133: %empty */ +#line 5246 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8370 "fe/idl.tab.cpp" +#line 8413 "fe/idl.tab.cpp" break; - case 445: /* opt_raises: IDL_RAISES $@131 '(' $@132 at_least_one_scoped_name ')' */ -#line 5237 "fe/idl.ypp" + case 446: /* opt_raises: IDL_RAISES $@132 '(' $@133 at_least_one_scoped_name ')' */ +#line 5251 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8379 "fe/idl.tab.cpp" +#line 8422 "fe/idl.tab.cpp" break; - case 446: /* opt_raises: %empty */ -#line 5242 "fe/idl.ypp" + case 447: /* opt_raises: %empty */ +#line 5256 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8387 "fe/idl.tab.cpp" +#line 8430 "fe/idl.tab.cpp" break; - case 447: /* $@133: %empty */ -#line 5249 "fe/idl.ypp" + case 448: /* $@134: %empty */ +#line 5263 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8395 "fe/idl.tab.cpp" +#line 8438 "fe/idl.tab.cpp" break; - case 448: /* $@134: %empty */ -#line 5253 "fe/idl.ypp" + case 449: /* $@135: %empty */ +#line 5267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8403 "fe/idl.tab.cpp" +#line 8446 "fe/idl.tab.cpp" break; - case 449: /* opt_getraises: IDL_GETRAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ -#line 5258 "fe/idl.ypp" + case 450: /* opt_getraises: IDL_GETRAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ +#line 5272 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8412 "fe/idl.tab.cpp" +#line 8455 "fe/idl.tab.cpp" break; - case 450: /* opt_getraises: %empty */ -#line 5263 "fe/idl.ypp" + case 451: /* opt_getraises: %empty */ +#line 5277 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8420 "fe/idl.tab.cpp" +#line 8463 "fe/idl.tab.cpp" break; - case 451: /* $@135: %empty */ -#line 5270 "fe/idl.ypp" + case 452: /* $@136: %empty */ +#line 5284 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8428 "fe/idl.tab.cpp" +#line 8471 "fe/idl.tab.cpp" break; - case 452: /* $@136: %empty */ -#line 5274 "fe/idl.ypp" + case 453: /* $@137: %empty */ +#line 5288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8436 "fe/idl.tab.cpp" +#line 8479 "fe/idl.tab.cpp" break; - case 453: /* opt_setraises: IDL_SETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5279 "fe/idl.ypp" + case 454: /* opt_setraises: IDL_SETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ +#line 5293 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8445 "fe/idl.tab.cpp" +#line 8488 "fe/idl.tab.cpp" break; - case 454: /* opt_setraises: %empty */ -#line 5284 "fe/idl.ypp" + case 455: /* opt_setraises: %empty */ +#line 5298 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8453 "fe/idl.tab.cpp" +#line 8496 "fe/idl.tab.cpp" break; - case 455: /* $@137: %empty */ -#line 5291 "fe/idl.ypp" + case 456: /* $@138: %empty */ +#line 5305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8461 "fe/idl.tab.cpp" +#line 8504 "fe/idl.tab.cpp" break; - case 456: /* $@138: %empty */ -#line 5295 "fe/idl.ypp" + case 457: /* $@139: %empty */ +#line 5309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8469 "fe/idl.tab.cpp" +#line 8512 "fe/idl.tab.cpp" break; - case 457: /* opt_context: IDL_CONTEXT $@137 '(' $@138 at_least_one_string_literal ')' */ -#line 5300 "fe/idl.ypp" + case 458: /* opt_context: IDL_CONTEXT $@138 '(' $@139 at_least_one_string_literal ')' */ +#line 5314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8478 "fe/idl.tab.cpp" +#line 8521 "fe/idl.tab.cpp" break; - case 458: /* opt_context: %empty */ -#line 5305 "fe/idl.ypp" + case 459: /* opt_context: %empty */ +#line 5319 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8486 "fe/idl.tab.cpp" +#line 8529 "fe/idl.tab.cpp" break; - case 459: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5312 "fe/idl.ypp" + case 460: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5326 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8497 "fe/idl.tab.cpp" +#line 8540 "fe/idl.tab.cpp" break; - case 460: /* $@139: %empty */ -#line 5323 "fe/idl.ypp" + case 461: /* $@140: %empty */ +#line 5337 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8505 "fe/idl.tab.cpp" +#line 8548 "fe/idl.tab.cpp" break; - case 461: /* string_literals: string_literals ',' $@139 IDL_STRING_LITERAL */ -#line 5327 "fe/idl.ypp" + case 462: /* string_literals: string_literals ',' $@140 IDL_STRING_LITERAL */ +#line 5341 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8523,19 +8566,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8527 "fe/idl.tab.cpp" +#line 8570 "fe/idl.tab.cpp" break; - case 462: /* string_literals: %empty */ -#line 5345 "fe/idl.ypp" + case 463: /* string_literals: %empty */ +#line 5359 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8535 "fe/idl.tab.cpp" +#line 8578 "fe/idl.tab.cpp" break; - case 463: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5352 "fe/idl.ypp" + case 464: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5366 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8562,11 +8605,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8566 "fe/idl.tab.cpp" +#line 8609 "fe/idl.tab.cpp" break; - case 464: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5382 "fe/idl.ypp" + case 465: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5396 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8602,11 +8645,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8606 "fe/idl.tab.cpp" +#line 8649 "fe/idl.tab.cpp" break; - case 467: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5427 "fe/idl.ypp" + case 468: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5441 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8632,11 +8675,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8636 "fe/idl.tab.cpp" +#line 8679 "fe/idl.tab.cpp" break; - case 468: /* @140: %empty */ -#line 5456 "fe/idl.ypp" + case 469: /* @141: %empty */ +#line 5470 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8678,27 +8721,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8682 "fe/idl.tab.cpp" +#line 8725 "fe/idl.tab.cpp" break; - case 469: /* $@141: %empty */ -#line 5498 "fe/idl.ypp" + case 470: /* $@142: %empty */ +#line 5512 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8690 "fe/idl.tab.cpp" +#line 8733 "fe/idl.tab.cpp" break; - case 470: /* $@142: %empty */ -#line 5502 "fe/idl.ypp" + case 471: /* $@143: %empty */ +#line 5516 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8698 "fe/idl.tab.cpp" +#line 8741 "fe/idl.tab.cpp" break; - case 471: /* component_decl: component_header @140 '{' $@141 component_exports $@142 '}' */ -#line 5506 "fe/idl.ypp" + case 472: /* component_decl: component_header @141 '{' $@142 component_exports $@143 '}' */ +#line 5520 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8709,27 +8752,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8713 "fe/idl.tab.cpp" +#line 8756 "fe/idl.tab.cpp" break; - case 472: /* $@143: %empty */ -#line 5521 "fe/idl.ypp" + case 473: /* $@144: %empty */ +#line 5535 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8721 "fe/idl.tab.cpp" +#line 8764 "fe/idl.tab.cpp" break; - case 473: /* $@144: %empty */ -#line 5525 "fe/idl.ypp" + case 474: /* $@145: %empty */ +#line 5539 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8729 "fe/idl.tab.cpp" +#line 8772 "fe/idl.tab.cpp" break; - case 474: /* component_header: IDL_COMPONENT defining_id $@143 component_inheritance_spec $@144 supports_spec */ -#line 5529 "fe/idl.ypp" + case 475: /* component_header: IDL_COMPONENT defining_id $@144 component_inheritance_spec $@145 supports_spec */ +#line 5543 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8763,35 +8806,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8767 "fe/idl.tab.cpp" +#line 8810 "fe/idl.tab.cpp" break; - case 475: /* $@145: %empty */ -#line 5566 "fe/idl.ypp" + case 476: /* $@146: %empty */ +#line 5580 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8775 "fe/idl.tab.cpp" +#line 8818 "fe/idl.tab.cpp" break; - case 476: /* component_inheritance_spec: ':' $@145 scoped_name */ -#line 5570 "fe/idl.ypp" + case 477: /* component_inheritance_spec: ':' $@146 scoped_name */ +#line 5584 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8783 "fe/idl.tab.cpp" +#line 8826 "fe/idl.tab.cpp" break; - case 477: /* component_inheritance_spec: %empty */ -#line 5574 "fe/idl.ypp" + case 478: /* component_inheritance_spec: %empty */ +#line 5588 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8791 "fe/idl.tab.cpp" +#line 8834 "fe/idl.tab.cpp" break; - case 478: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5581 "fe/idl.ypp" + case 479: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5595 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8806,130 +8849,130 @@ yyparse (void) } delete annotations; } -#line 8810 "fe/idl.tab.cpp" +#line 8853 "fe/idl.tab.cpp" break; - case 481: /* $@146: %empty */ -#line 5601 "fe/idl.ypp" + case 482: /* $@147: %empty */ +#line 5615 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8818 "fe/idl.tab.cpp" +#line 8861 "fe/idl.tab.cpp" break; - case 482: /* component_export: provides_decl $@146 ';' */ -#line 5605 "fe/idl.ypp" + case 483: /* component_export: provides_decl $@147 ';' */ +#line 5619 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8827 "fe/idl.tab.cpp" +#line 8870 "fe/idl.tab.cpp" break; - case 483: /* $@147: %empty */ -#line 5610 "fe/idl.ypp" + case 484: /* $@148: %empty */ +#line 5624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8835 "fe/idl.tab.cpp" +#line 8878 "fe/idl.tab.cpp" break; - case 484: /* component_export: uses_decl $@147 ';' */ -#line 5614 "fe/idl.ypp" + case 485: /* component_export: uses_decl $@148 ';' */ +#line 5628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8844 "fe/idl.tab.cpp" +#line 8887 "fe/idl.tab.cpp" break; - case 485: /* $@148: %empty */ -#line 5619 "fe/idl.ypp" + case 486: /* $@149: %empty */ +#line 5633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8852 "fe/idl.tab.cpp" +#line 8895 "fe/idl.tab.cpp" break; - case 486: /* component_export: emits_decl $@148 ';' */ -#line 5623 "fe/idl.ypp" + case 487: /* component_export: emits_decl $@149 ';' */ +#line 5637 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8861 "fe/idl.tab.cpp" +#line 8904 "fe/idl.tab.cpp" break; - case 487: /* $@149: %empty */ -#line 5628 "fe/idl.ypp" + case 488: /* $@150: %empty */ +#line 5642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8869 "fe/idl.tab.cpp" +#line 8912 "fe/idl.tab.cpp" break; - case 488: /* component_export: publishes_decl $@149 ';' */ -#line 5632 "fe/idl.ypp" + case 489: /* component_export: publishes_decl $@150 ';' */ +#line 5646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8878 "fe/idl.tab.cpp" +#line 8921 "fe/idl.tab.cpp" break; - case 489: /* $@150: %empty */ -#line 5637 "fe/idl.ypp" + case 490: /* $@151: %empty */ +#line 5651 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8886 "fe/idl.tab.cpp" +#line 8929 "fe/idl.tab.cpp" break; - case 490: /* component_export: consumes_decl $@150 ';' */ -#line 5641 "fe/idl.ypp" + case 491: /* component_export: consumes_decl $@151 ';' */ +#line 5655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8895 "fe/idl.tab.cpp" +#line 8938 "fe/idl.tab.cpp" break; - case 491: /* $@151: %empty */ -#line 5646 "fe/idl.ypp" + case 492: /* $@152: %empty */ +#line 5660 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8903 "fe/idl.tab.cpp" +#line 8946 "fe/idl.tab.cpp" break; - case 492: /* component_export: attribute $@151 ';' */ -#line 5650 "fe/idl.ypp" + case 493: /* component_export: attribute $@152 ';' */ +#line 5664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8912 "fe/idl.tab.cpp" +#line 8955 "fe/idl.tab.cpp" break; - case 493: /* $@152: %empty */ -#line 5655 "fe/idl.ypp" + case 494: /* $@153: %empty */ +#line 5669 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8920 "fe/idl.tab.cpp" +#line 8963 "fe/idl.tab.cpp" break; - case 494: /* component_export: extended_port_decl $@152 ';' */ -#line 5659 "fe/idl.ypp" + case 495: /* component_export: extended_port_decl $@153 ';' */ +#line 5673 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8929 "fe/idl.tab.cpp" +#line 8972 "fe/idl.tab.cpp" break; - case 495: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5666 "fe/idl.ypp" + case 496: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5680 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9019,21 +9062,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9023 "fe/idl.tab.cpp" +#line 9066 "fe/idl.tab.cpp" break; - case 496: /* interface_type: scoped_name */ -#line 5759 "fe/idl.ypp" + case 497: /* interface_type: scoped_name */ +#line 5773 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9033 "fe/idl.tab.cpp" +#line 9076 "fe/idl.tab.cpp" break; - case 497: /* interface_type: IDL_OBJECT */ -#line 5765 "fe/idl.ypp" + case 498: /* interface_type: IDL_OBJECT */ +#line 5779 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9056,11 +9099,11 @@ yyparse (void) conc_name), 1); } -#line 9060 "fe/idl.tab.cpp" +#line 9103 "fe/idl.tab.cpp" break; - case 498: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5790 "fe/idl.ypp" + case 499: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5804 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9164,37 +9207,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9168 "fe/idl.tab.cpp" +#line 9211 "fe/idl.tab.cpp" break; - case 499: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5897 "fe/idl.ypp" + case 500: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5911 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9178 "fe/idl.tab.cpp" +#line 9221 "fe/idl.tab.cpp" break; - case 500: /* opt_multiple: IDL_MULTIPLE */ -#line 5906 "fe/idl.ypp" + case 501: /* opt_multiple: IDL_MULTIPLE */ +#line 5920 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9186 "fe/idl.tab.cpp" +#line 9229 "fe/idl.tab.cpp" break; - case 501: /* opt_multiple: %empty */ -#line 5910 "fe/idl.ypp" + case 502: /* opt_multiple: %empty */ +#line 5924 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9194 "fe/idl.tab.cpp" +#line 9237 "fe/idl.tab.cpp" break; - case 502: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5917 "fe/idl.ypp" + case 503: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5931 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9266,11 +9309,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9270 "fe/idl.tab.cpp" +#line 9313 "fe/idl.tab.cpp" break; - case 503: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 5992 "fe/idl.ypp" + case 504: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 6006 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9339,11 +9382,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9343 "fe/idl.tab.cpp" +#line 9386 "fe/idl.tab.cpp" break; - case 504: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6064 "fe/idl.ypp" + case 505: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6078 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9415,11 +9458,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9419 "fe/idl.tab.cpp" +#line 9462 "fe/idl.tab.cpp" break; - case 505: /* $@153: %empty */ -#line 6139 "fe/idl.ypp" + case 506: /* $@154: %empty */ +#line 6153 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9456,11 +9499,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9460 "fe/idl.tab.cpp" +#line 9503 "fe/idl.tab.cpp" break; - case 506: /* home_decl: home_header $@153 home_body */ -#line 6176 "fe/idl.ypp" + case 507: /* home_decl: home_header $@154 home_body */ +#line 6190 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9469,59 +9512,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9473 "fe/idl.tab.cpp" +#line 9516 "fe/idl.tab.cpp" break; - case 507: /* $@154: %empty */ -#line 6188 "fe/idl.ypp" + case 508: /* $@155: %empty */ +#line 6202 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9481 "fe/idl.tab.cpp" +#line 9524 "fe/idl.tab.cpp" break; - case 508: /* $@155: %empty */ -#line 6192 "fe/idl.ypp" + case 509: /* $@156: %empty */ +#line 6206 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9489 "fe/idl.tab.cpp" +#line 9532 "fe/idl.tab.cpp" break; - case 509: /* $@156: %empty */ -#line 6196 "fe/idl.ypp" + case 510: /* $@157: %empty */ +#line 6210 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9497 "fe/idl.tab.cpp" +#line 9540 "fe/idl.tab.cpp" break; - case 510: /* $@157: %empty */ -#line 6200 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6214 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9505 "fe/idl.tab.cpp" +#line 9548 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6204 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6218 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9513 "fe/idl.tab.cpp" +#line 9556 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6208 "fe/idl.ypp" + case 513: /* $@160: %empty */ +#line 6222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9521 "fe/idl.tab.cpp" +#line 9564 "fe/idl.tab.cpp" break; - case 513: /* home_header: IDL_HOME $@154 defining_id $@155 home_inheritance_spec $@156 supports_spec $@157 IDL_MANAGES $@158 scoped_name $@159 primary_key_spec */ -#line 6212 "fe/idl.ypp" + case 514: /* home_header: IDL_HOME $@155 defining_id $@156 home_inheritance_spec $@157 supports_spec $@158 IDL_MANAGES $@159 scoped_name $@160 primary_key_spec */ +#line 6226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9567,107 +9610,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9571 "fe/idl.tab.cpp" +#line 9614 "fe/idl.tab.cpp" break; - case 514: /* $@160: %empty */ -#line 6261 "fe/idl.ypp" + case 515: /* $@161: %empty */ +#line 6275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9579 "fe/idl.tab.cpp" +#line 9622 "fe/idl.tab.cpp" break; - case 515: /* home_inheritance_spec: ':' $@160 scoped_name */ -#line 6265 "fe/idl.ypp" + case 516: /* home_inheritance_spec: ':' $@161 scoped_name */ +#line 6279 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9587 "fe/idl.tab.cpp" +#line 9630 "fe/idl.tab.cpp" break; - case 516: /* home_inheritance_spec: %empty */ -#line 6269 "fe/idl.ypp" + case 517: /* home_inheritance_spec: %empty */ +#line 6283 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9595 "fe/idl.tab.cpp" +#line 9638 "fe/idl.tab.cpp" break; - case 517: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6277 "fe/idl.ypp" + case 518: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6291 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9603 "fe/idl.tab.cpp" +#line 9646 "fe/idl.tab.cpp" break; - case 518: /* primary_key_spec: %empty */ -#line 6281 "fe/idl.ypp" + case 519: /* primary_key_spec: %empty */ +#line 6295 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9611 "fe/idl.tab.cpp" +#line 9654 "fe/idl.tab.cpp" break; - case 519: /* $@161: %empty */ -#line 6288 "fe/idl.ypp" + case 520: /* $@162: %empty */ +#line 6302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9619 "fe/idl.tab.cpp" +#line 9662 "fe/idl.tab.cpp" break; - case 520: /* $@162: %empty */ -#line 6292 "fe/idl.ypp" + case 521: /* $@163: %empty */ +#line 6306 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9627 "fe/idl.tab.cpp" +#line 9670 "fe/idl.tab.cpp" break; - case 521: /* home_body: '{' $@161 home_exports $@162 '}' */ -#line 6296 "fe/idl.ypp" + case 522: /* home_body: '{' $@162 home_exports $@163 '}' */ +#line 6310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9635 "fe/idl.tab.cpp" +#line 9678 "fe/idl.tab.cpp" break; - case 525: /* $@163: %empty */ -#line 6309 "fe/idl.ypp" + case 526: /* $@164: %empty */ +#line 6323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9643 "fe/idl.tab.cpp" +#line 9686 "fe/idl.tab.cpp" break; - case 526: /* home_export: factory_decl $@163 ';' */ -#line 6313 "fe/idl.ypp" + case 527: /* home_export: factory_decl $@164 ';' */ +#line 6327 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9651 "fe/idl.tab.cpp" +#line 9694 "fe/idl.tab.cpp" break; - case 527: /* $@164: %empty */ -#line 6317 "fe/idl.ypp" + case 528: /* $@165: %empty */ +#line 6331 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9659 "fe/idl.tab.cpp" +#line 9702 "fe/idl.tab.cpp" break; - case 528: /* home_export: finder_decl $@164 ';' */ -#line 6321 "fe/idl.ypp" + case 529: /* home_export: finder_decl $@165 ';' */ +#line 6335 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9667 "fe/idl.tab.cpp" +#line 9710 "fe/idl.tab.cpp" break; - case 529: /* $@165: %empty */ -#line 6329 "fe/idl.ypp" + case 530: /* $@166: %empty */ +#line 6343 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9690,19 +9733,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9694 "fe/idl.tab.cpp" +#line 9737 "fe/idl.tab.cpp" break; - case 530: /* $@166: %empty */ -#line 6352 "fe/idl.ypp" + case 531: /* $@167: %empty */ +#line 6366 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9702 "fe/idl.tab.cpp" +#line 9745 "fe/idl.tab.cpp" break; - case 531: /* factory_decl: IDL_FACTORY defining_id $@165 init_parameter_list $@166 opt_raises */ -#line 6356 "fe/idl.ypp" + case 532: /* factory_decl: IDL_FACTORY defining_id $@166 init_parameter_list $@167 opt_raises */ +#line 6370 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9720,11 +9763,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9724 "fe/idl.tab.cpp" +#line 9767 "fe/idl.tab.cpp" break; - case 532: /* $@167: %empty */ -#line 6378 "fe/idl.ypp" + case 533: /* $@168: %empty */ +#line 6392 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9751,19 +9794,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9755 "fe/idl.tab.cpp" +#line 9798 "fe/idl.tab.cpp" break; - case 533: /* $@168: %empty */ -#line 6405 "fe/idl.ypp" + case 534: /* $@169: %empty */ +#line 6419 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9763 "fe/idl.tab.cpp" +#line 9806 "fe/idl.tab.cpp" break; - case 534: /* finder_decl: IDL_FINDER defining_id $@167 init_parameter_list $@168 opt_raises */ -#line 6409 "fe/idl.ypp" + case 535: /* finder_decl: IDL_FINDER defining_id $@168 init_parameter_list $@169 opt_raises */ +#line 6423 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9781,11 +9824,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9785 "fe/idl.tab.cpp" +#line 9828 "fe/idl.tab.cpp" break; - case 540: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6442 "fe/idl.ypp" + case 541: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6456 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9810,11 +9853,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9814 "fe/idl.tab.cpp" +#line 9857 "fe/idl.tab.cpp" break; - case 541: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6472 "fe/idl.ypp" + case 542: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6486 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9839,11 +9882,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9843 "fe/idl.tab.cpp" +#line 9886 "fe/idl.tab.cpp" break; - case 542: /* $@169: %empty */ -#line 6501 "fe/idl.ypp" + case 543: /* $@170: %empty */ +#line 6515 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9887,27 +9930,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9891 "fe/idl.tab.cpp" +#line 9934 "fe/idl.tab.cpp" break; - case 543: /* $@170: %empty */ -#line 6545 "fe/idl.ypp" + case 544: /* $@171: %empty */ +#line 6559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9899 "fe/idl.tab.cpp" +#line 9942 "fe/idl.tab.cpp" break; - case 544: /* $@171: %empty */ -#line 6549 "fe/idl.ypp" + case 545: /* $@172: %empty */ +#line 6563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9907 "fe/idl.tab.cpp" +#line 9950 "fe/idl.tab.cpp" break; - case 545: /* event_abs_decl: event_abs_header event_rest_of_header $@169 '{' $@170 exports $@171 '}' */ -#line 6553 "fe/idl.ypp" + case 546: /* event_abs_decl: event_abs_header event_rest_of_header $@170 '{' $@171 exports $@172 '}' */ +#line 6567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9918,19 +9961,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9922 "fe/idl.tab.cpp" +#line 9965 "fe/idl.tab.cpp" break; - case 546: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6569 "fe/idl.ypp" + case 547: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6583 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9930 "fe/idl.tab.cpp" +#line 9973 "fe/idl.tab.cpp" break; - case 547: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6578 "fe/idl.ypp" + case 548: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6592 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9943,29 +9986,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9947 "fe/idl.tab.cpp" +#line 9990 "fe/idl.tab.cpp" break; - case 548: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6595 "fe/idl.ypp" + case 549: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9957 "fe/idl.tab.cpp" +#line 10000 "fe/idl.tab.cpp" break; - case 549: /* $@172: %empty */ -#line 6604 "fe/idl.ypp" + case 550: /* $@173: %empty */ +#line 6618 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9965 "fe/idl.tab.cpp" +#line 10008 "fe/idl.tab.cpp" break; - case 550: /* event_rest_of_header: inheritance_spec $@172 supports_spec */ -#line 6608 "fe/idl.ypp" + case 551: /* event_rest_of_header: inheritance_spec $@173 supports_spec */ +#line 6622 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -9994,11 +10037,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 9998 "fe/idl.tab.cpp" +#line 10041 "fe/idl.tab.cpp" break; - case 551: /* @173: %empty */ -#line 6641 "fe/idl.ypp" + case 552: /* @174: %empty */ +#line 6655 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10049,27 +10092,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10053 "fe/idl.tab.cpp" +#line 10096 "fe/idl.tab.cpp" break; - case 552: /* $@174: %empty */ -#line 6692 "fe/idl.ypp" + case 553: /* $@175: %empty */ +#line 6706 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10061 "fe/idl.tab.cpp" +#line 10104 "fe/idl.tab.cpp" break; - case 553: /* $@175: %empty */ -#line 6696 "fe/idl.ypp" + case 554: /* $@176: %empty */ +#line 6710 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10069 "fe/idl.tab.cpp" +#line 10112 "fe/idl.tab.cpp" break; - case 554: /* event_decl: event_header event_rest_of_header @173 '{' $@174 value_elements $@175 '}' */ -#line 6700 "fe/idl.ypp" + case 555: /* event_decl: event_header event_rest_of_header @174 '{' $@175 value_elements $@176 '}' */ +#line 6714 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10080,108 +10123,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10084 "fe/idl.tab.cpp" +#line 10127 "fe/idl.tab.cpp" break; - case 555: /* event_header: event_custom_header */ -#line 6714 "fe/idl.ypp" + case 556: /* event_header: event_custom_header */ +#line 6728 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10092 "fe/idl.tab.cpp" +#line 10135 "fe/idl.tab.cpp" break; - case 556: /* event_header: event_plain_header */ -#line 6718 "fe/idl.ypp" + case 557: /* event_header: event_plain_header */ +#line 6732 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10100 "fe/idl.tab.cpp" +#line 10143 "fe/idl.tab.cpp" break; - case 557: /* formal_parameter_type: IDL_TYPENAME */ -#line 6725 "fe/idl.ypp" + case 558: /* formal_parameter_type: IDL_TYPENAME */ +#line 6739 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10108 "fe/idl.tab.cpp" +#line 10151 "fe/idl.tab.cpp" break; - case 558: /* formal_parameter_type: IDL_STRUCT */ -#line 6729 "fe/idl.ypp" + case 559: /* formal_parameter_type: IDL_STRUCT */ +#line 6743 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10116 "fe/idl.tab.cpp" +#line 10159 "fe/idl.tab.cpp" break; - case 559: /* formal_parameter_type: IDL_UNION */ -#line 6733 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_UNION */ +#line 6747 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10124 "fe/idl.tab.cpp" +#line 10167 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6737 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6751 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10132 "fe/idl.tab.cpp" +#line 10175 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6741 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6755 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10140 "fe/idl.tab.cpp" +#line 10183 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_INTERFACE */ -#line 6745 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_INTERFACE */ +#line 6759 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10148 "fe/idl.tab.cpp" +#line 10191 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6749 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6763 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10156 "fe/idl.tab.cpp" +#line 10199 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_ENUM */ -#line 6753 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_ENUM */ +#line 6767 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10164 "fe/idl.tab.cpp" +#line 10207 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6757 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6771 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10172 "fe/idl.tab.cpp" +#line 10215 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_CONST const_type */ -#line 6761 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_CONST const_type */ +#line 6775 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10181 "fe/idl.tab.cpp" +#line 10224 "fe/idl.tab.cpp" break; - case 567: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6769 "fe/idl.ypp" + case 568: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6783 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10209,11 +10252,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10213 "fe/idl.tab.cpp" +#line 10256 "fe/idl.tab.cpp" break; - case 568: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6800 "fe/idl.ypp" + case 569: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6814 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10226,19 +10269,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10230 "fe/idl.tab.cpp" +#line 10273 "fe/idl.tab.cpp" break; - case 569: /* formal_parameters: %empty */ -#line 6813 "fe/idl.ypp" + case 570: /* formal_parameters: %empty */ +#line 6827 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10238 "fe/idl.tab.cpp" +#line 10281 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6820 "fe/idl.ypp" + case 571: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6834 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10263,11 +10306,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10267 "fe/idl.tab.cpp" +#line 10310 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6845 "fe/idl.ypp" + case 572: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6859 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10282,19 +10325,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10286 "fe/idl.tab.cpp" +#line 10329 "fe/idl.tab.cpp" break; - case 572: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6863 "fe/idl.ypp" + case 573: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6877 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10294 "fe/idl.tab.cpp" +#line 10337 "fe/idl.tab.cpp" break; - case 573: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6870 "fe/idl.ypp" + case 574: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6884 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10309,37 +10352,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10313 "fe/idl.tab.cpp" +#line 10356 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter_names: %empty */ -#line 6885 "fe/idl.ypp" + case 575: /* formal_parameter_names: %empty */ +#line 6899 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10321 "fe/idl.tab.cpp" +#line 10364 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter_name: IDENTIFIER */ -#line 6892 "fe/idl.ypp" + case 576: /* formal_parameter_name: IDENTIFIER */ +#line 6906 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10331 "fe/idl.tab.cpp" +#line 10374 "fe/idl.tab.cpp" break; - case 576: /* $@176: %empty */ -#line 6901 "fe/idl.ypp" + case 577: /* $@177: %empty */ +#line 6915 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10339 "fe/idl.tab.cpp" +#line 10382 "fe/idl.tab.cpp" break; - case 577: /* @177: %empty */ -#line 6905 "fe/idl.ypp" + case 578: /* @178: %empty */ +#line 6919 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10358,27 +10401,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10362 "fe/idl.tab.cpp" +#line 10405 "fe/idl.tab.cpp" break; - case 578: /* $@178: %empty */ -#line 6924 "fe/idl.ypp" + case 579: /* $@179: %empty */ +#line 6938 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10370 "fe/idl.tab.cpp" +#line 10413 "fe/idl.tab.cpp" break; - case 579: /* $@179: %empty */ -#line 6932 "fe/idl.ypp" + case 580: /* $@180: %empty */ +#line 6946 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10378 "fe/idl.tab.cpp" +#line 10421 "fe/idl.tab.cpp" break; - case 580: /* porttype_decl: IDL_PORTTYPE $@176 IDENTIFIER @177 '{' $@178 at_least_one_port_export $@179 '}' */ -#line 6936 "fe/idl.ypp" + case 581: /* porttype_decl: IDL_PORTTYPE $@177 IDENTIFIER @178 '{' $@179 at_least_one_port_export $@180 '}' */ +#line 6950 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10387,11 +10430,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10391 "fe/idl.tab.cpp" +#line 10434 "fe/idl.tab.cpp" break; - case 581: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6948 "fe/idl.ypp" + case 582: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6962 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10406,27 +10449,27 @@ yyparse (void) } delete annotations; } -#line 10410 "fe/idl.tab.cpp" +#line 10453 "fe/idl.tab.cpp" break; - case 587: /* $@180: %empty */ -#line 6974 "fe/idl.ypp" + case 588: /* $@181: %empty */ +#line 6988 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10418 "fe/idl.tab.cpp" +#line 10461 "fe/idl.tab.cpp" break; - case 588: /* port_export: attribute $@180 ';' */ -#line 6978 "fe/idl.ypp" + case 589: /* port_export: attribute $@181 ';' */ +#line 6992 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10426 "fe/idl.tab.cpp" +#line 10469 "fe/idl.tab.cpp" break; - case 589: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6985 "fe/idl.ypp" + case 590: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 6999 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10493,11 +10536,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10497 "fe/idl.tab.cpp" +#line 10540 "fe/idl.tab.cpp" break; - case 590: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7052 "fe/idl.ypp" + case 591: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7066 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10542,11 +10585,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10546 "fe/idl.tab.cpp" +#line 10589 "fe/idl.tab.cpp" break; - case 591: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7100 "fe/idl.ypp" + case 592: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7114 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10559,11 +10602,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10563 "fe/idl.tab.cpp" +#line 10606 "fe/idl.tab.cpp" break; - case 592: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7116 "fe/idl.ypp" + case 593: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7130 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10576,19 +10619,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10580 "fe/idl.tab.cpp" +#line 10623 "fe/idl.tab.cpp" break; - case 593: /* actual_parameters: %empty */ -#line 7129 "fe/idl.ypp" + case 594: /* actual_parameters: %empty */ +#line 7143 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10588 "fe/idl.tab.cpp" +#line 10631 "fe/idl.tab.cpp" break; - case 594: /* actual_parameter: expression */ -#line 7136 "fe/idl.ypp" + case 595: /* actual_parameter: expression */ +#line 7150 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10644,35 +10687,35 @@ yyparse (void) 0); } } -#line 10648 "fe/idl.tab.cpp" +#line 10691 "fe/idl.tab.cpp" break; - case 595: /* connector_decl: connector_header connector_body */ -#line 7195 "fe/idl.ypp" + case 596: /* connector_decl: connector_header connector_body */ +#line 7209 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10656 "fe/idl.tab.cpp" +#line 10699 "fe/idl.tab.cpp" break; - case 596: /* $@181: %empty */ -#line 7202 "fe/idl.ypp" + case 597: /* $@182: %empty */ +#line 7216 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10664 "fe/idl.tab.cpp" +#line 10707 "fe/idl.tab.cpp" break; - case 597: /* $@182: %empty */ -#line 7206 "fe/idl.ypp" + case 598: /* $@183: %empty */ +#line 7220 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10672 "fe/idl.tab.cpp" +#line 10715 "fe/idl.tab.cpp" break; - case 598: /* connector_header: IDL_CONNECTOR $@181 annotations_maybe IDENTIFIER $@182 component_inheritance_spec */ -#line 7210 "fe/idl.ypp" + case 599: /* connector_header: IDL_CONNECTOR $@182 annotations_maybe IDENTIFIER $@183 component_inheritance_spec */ +#line 7224 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10726,102 +10769,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10730 "fe/idl.tab.cpp" +#line 10773 "fe/idl.tab.cpp" break; - case 599: /* $@183: %empty */ -#line 7267 "fe/idl.ypp" + case 600: /* $@184: %empty */ +#line 7281 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10738 "fe/idl.tab.cpp" +#line 10781 "fe/idl.tab.cpp" break; - case 600: /* $@184: %empty */ -#line 7271 "fe/idl.ypp" + case 601: /* $@185: %empty */ +#line 7285 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10746 "fe/idl.tab.cpp" +#line 10789 "fe/idl.tab.cpp" break; - case 601: /* connector_body: '{' $@183 connector_exports $@184 '}' */ -#line 7275 "fe/idl.ypp" + case 602: /* connector_body: '{' $@184 connector_exports $@185 '}' */ +#line 7289 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10757 "fe/idl.tab.cpp" +#line 10800 "fe/idl.tab.cpp" break; - case 604: /* $@185: %empty */ -#line 7290 "fe/idl.ypp" + case 605: /* $@186: %empty */ +#line 7304 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10765 "fe/idl.tab.cpp" +#line 10808 "fe/idl.tab.cpp" break; - case 605: /* connector_export: provides_decl $@185 ';' */ -#line 7294 "fe/idl.ypp" + case 606: /* connector_export: provides_decl $@186 ';' */ +#line 7308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10773 "fe/idl.tab.cpp" +#line 10816 "fe/idl.tab.cpp" break; - case 606: /* $@186: %empty */ -#line 7298 "fe/idl.ypp" + case 607: /* $@187: %empty */ +#line 7312 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10781 "fe/idl.tab.cpp" +#line 10824 "fe/idl.tab.cpp" break; - case 607: /* connector_export: uses_decl $@186 ';' */ -#line 7302 "fe/idl.ypp" + case 608: /* connector_export: uses_decl $@187 ';' */ +#line 7316 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10789 "fe/idl.tab.cpp" +#line 10832 "fe/idl.tab.cpp" break; - case 608: /* $@187: %empty */ -#line 7306 "fe/idl.ypp" + case 609: /* $@188: %empty */ +#line 7320 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10797 "fe/idl.tab.cpp" +#line 10840 "fe/idl.tab.cpp" break; - case 609: /* connector_export: attribute $@187 ';' */ -#line 7310 "fe/idl.ypp" + case 610: /* connector_export: attribute $@188 ';' */ +#line 7324 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10805 "fe/idl.tab.cpp" +#line 10848 "fe/idl.tab.cpp" break; - case 610: /* $@188: %empty */ -#line 7314 "fe/idl.ypp" + case 611: /* $@189: %empty */ +#line 7328 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10813 "fe/idl.tab.cpp" +#line 10856 "fe/idl.tab.cpp" break; - case 611: /* connector_export: extended_port_decl $@188 ';' */ -#line 7318 "fe/idl.ypp" + case 612: /* connector_export: extended_port_decl $@189 ';' */ +#line 7332 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10821 "fe/idl.tab.cpp" +#line 10864 "fe/idl.tab.cpp" break; -#line 10825 "fe/idl.tab.cpp" +#line 10868 "fe/idl.tab.cpp" default: break; } @@ -11014,7 +11057,7 @@ yyparse (void) return yyresult; } -#line 7323 "fe/idl.ypp" +#line 7337 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 2428deef0b98f..6c03587d97de6 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3895,8 +3895,6 @@ enumerator : map_type_spec : IDL_MAP { - idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); - idl_global->scopes ().push (0); } '<' @@ -3907,8 +3905,8 @@ map_type_spec : { AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $3; - Decl_Annotations_Pair *val_type = $5; + Decl_Annotations_Pair *key_type = $4; + Decl_Annotations_Pair *val_type = $6; /* * Remove sequence marker from scopes stack. @@ -3962,11 +3960,10 @@ map_type_spec : $$ = map; } | IDL_MAP - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapTypeSeen); - + /* { + Adding this causes error: 1 reduce/reduce conflict [-Werror=conflicts-rr] idl_global->scopes ().push (0); - } + } */ '<' map_type ',' diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index bf594fd6a92e7..61c0104539543 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -237,7 +237,7 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapSeen // Seen a MAP keyword , PS_MapSqSeen // Seen a '<' for map , PS_MapQsSeen // Seen a '>' for map - , PS_MapTypeSeen // Seen a type decl for map + , PS_MapTypeSeen // Seen a type decl for map , PS_MapCommaSeen // Seen comma for sequence , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword From aa6f53e100ae532f37d67a70d493bd1e0209c08c Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:08:24 -0400 Subject: [PATCH 023/445] removed whitespace --- TAO/TAO_IDL/ast/ast_map.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 4f017c2a66e29..02e2e1a919b0c 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -307,7 +307,7 @@ AST_Map::primitive_value_type () const AST_Typedef * const typedef_node = dynamic_cast(type_node); if (!typedef_node) return nullptr; type_node = typedef_node->primitive_base_type(); - } + } return type_node; } @@ -338,7 +338,7 @@ AST_Map::destroy () delete this->key_pd_type; this->key_pd_type = nullptr; } - + if (this->owns_value_type_) { this->value_pd_type->destroy(); From 3cbb2c83862d48161883a11d34ea806fb98c0045 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:09:56 -0400 Subject: [PATCH 024/445] fixed whitespace --- TAO/TAO_IDL/include/idl_global.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 61c0104539543..bf594fd6a92e7 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -237,7 +237,7 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapSeen // Seen a MAP keyword , PS_MapSqSeen // Seen a '<' for map , PS_MapQsSeen // Seen a '>' for map - , PS_MapTypeSeen // Seen a type decl for map + , PS_MapTypeSeen // Seen a type decl for map , PS_MapCommaSeen // Seen comma for sequence , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword From b4e0d4bfbde941b6cd663e9bd3ba4422a0670962 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 3 Jun 2022 21:18:35 -0400 Subject: [PATCH 025/445] Fixed typo --- TAO/TAO_IDL/fe/idl.tab.cpp | 8 ++++---- TAO/TAO_IDL/fe/idl.ypp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index ef50491e5c07e..f0d7ae1b3e9ba 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -6921,8 +6921,8 @@ yyparse (void) } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; (yyval.dcval) = map; } #line 6929 "fe/idl.tab.cpp" @@ -6980,8 +6980,8 @@ yyparse (void) } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; (yyval.dcval) = map; } #line 6988 "fe/idl.tab.cpp" diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 6c03587d97de6..b83ec04e4e084 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3955,8 +3955,8 @@ map_type_spec : } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; $$ = map; } | IDL_MAP @@ -4021,8 +4021,8 @@ map_type_spec : } } - delete key_type->annotation; - delete val_type->annotation; + delete key_type->annotations; + delete val_type->annotations; $$ = map; } ; From e677ed0398342e04b5f493d5a9559ef8bc36df1a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 8 Jun 2022 18:30:26 -0400 Subject: [PATCH 026/445] added map_head rules to parser, for proper null scope --- TAO/TAO_IDL/fe/idl.tab.cpp | 4522 +++++++++++---------- TAO/TAO_IDL/fe/idl.tab.hpp | 5 +- TAO/TAO_IDL/fe/idl.ypp | 96 +- TAO/TAO_IDL/include/ast_annotation_appl.h | 5 + TAO/TAO_IDL/include/idl_global.h | 3 +- 5 files changed, 2349 insertions(+), 2282 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index f0d7ae1b3e9ba..33f516fefce8e 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -146,6 +146,8 @@ #include #include +#include + void tao_yyerror (const char *); int tao_yylex (void); extern "C" int tao_yywrap (void); @@ -162,7 +164,7 @@ bool stack_based_lookup_for_primary_expr = false; // Compile Optional Tracing Output for Parser, can be enabled with --bison-trace #define YYDEBUG 1 -#line 166 "fe/idl.tab.cpp" +#line 168 "fe/idl.tab.cpp" # ifndef YY_CAST # ifdef __cplusplus @@ -518,197 +520,200 @@ enum yysymbol_kind_t YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ YYSYMBOL_327_91 = 327, /* $@91 */ - YYSYMBOL_map_type = 328, /* map_type */ - YYSYMBOL_sequence_type_spec = 329, /* sequence_type_spec */ - YYSYMBOL_330_92 = 330, /* $@92 */ - YYSYMBOL_331_93 = 331, /* $@93 */ - YYSYMBOL_seq_head = 332, /* seq_head */ - YYSYMBOL_333_94 = 333, /* $@94 */ - YYSYMBOL_334_95 = 334, /* $@95 */ - YYSYMBOL_fixed_type_spec = 335, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 336, /* string_type_spec */ - YYSYMBOL_337_96 = 337, /* $@96 */ - YYSYMBOL_338_97 = 338, /* $@97 */ - YYSYMBOL_string_head = 339, /* string_head */ - YYSYMBOL_wstring_type_spec = 340, /* wstring_type_spec */ - YYSYMBOL_341_98 = 341, /* $@98 */ - YYSYMBOL_342_99 = 342, /* $@99 */ - YYSYMBOL_wstring_head = 343, /* wstring_head */ - YYSYMBOL_array_declarator = 344, /* array_declarator */ - YYSYMBOL_345_100 = 345, /* $@100 */ - YYSYMBOL_at_least_one_array_dim = 346, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 347, /* array_dims */ - YYSYMBOL_array_dim = 348, /* array_dim */ - YYSYMBOL_349_101 = 349, /* $@101 */ - YYSYMBOL_350_102 = 350, /* $@102 */ - YYSYMBOL_attribute = 351, /* attribute */ - YYSYMBOL_attribute_readonly = 352, /* attribute_readonly */ - YYSYMBOL_353_103 = 353, /* $@103 */ - YYSYMBOL_354_104 = 354, /* $@104 */ - YYSYMBOL_355_105 = 355, /* $@105 */ + YYSYMBOL_328_92 = 328, /* $@92 */ + YYSYMBOL_map_head = 329, /* map_head */ + YYSYMBOL_330_93 = 330, /* $@93 */ + YYSYMBOL_331_94 = 331, /* $@94 */ + YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ + YYSYMBOL_333_95 = 333, /* $@95 */ + YYSYMBOL_334_96 = 334, /* $@96 */ + YYSYMBOL_seq_head = 335, /* seq_head */ + YYSYMBOL_336_97 = 336, /* $@97 */ + YYSYMBOL_337_98 = 337, /* $@98 */ + YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 339, /* string_type_spec */ + YYSYMBOL_340_99 = 340, /* $@99 */ + YYSYMBOL_341_100 = 341, /* $@100 */ + YYSYMBOL_string_head = 342, /* string_head */ + YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ + YYSYMBOL_344_101 = 344, /* $@101 */ + YYSYMBOL_345_102 = 345, /* $@102 */ + YYSYMBOL_wstring_head = 346, /* wstring_head */ + YYSYMBOL_array_declarator = 347, /* array_declarator */ + YYSYMBOL_348_103 = 348, /* $@103 */ + YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 350, /* array_dims */ + YYSYMBOL_array_dim = 351, /* array_dim */ + YYSYMBOL_352_104 = 352, /* $@104 */ + YYSYMBOL_353_105 = 353, /* $@105 */ + YYSYMBOL_attribute = 354, /* attribute */ + YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ YYSYMBOL_356_106 = 356, /* $@106 */ - YYSYMBOL_attribute_readwrite = 357, /* attribute_readwrite */ - YYSYMBOL_358_107 = 358, /* $@107 */ - YYSYMBOL_359_108 = 359, /* $@108 */ - YYSYMBOL_360_109 = 360, /* $@109 */ + YYSYMBOL_357_107 = 357, /* $@107 */ + YYSYMBOL_358_108 = 358, /* $@108 */ + YYSYMBOL_359_109 = 359, /* $@109 */ + YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ YYSYMBOL_361_110 = 361, /* $@110 */ - YYSYMBOL_exception = 362, /* exception */ - YYSYMBOL_363_111 = 363, /* $@111 */ - YYSYMBOL_364_112 = 364, /* @112 */ - YYSYMBOL_365_113 = 365, /* $@113 */ + YYSYMBOL_362_111 = 362, /* $@111 */ + YYSYMBOL_363_112 = 363, /* $@112 */ + YYSYMBOL_364_113 = 364, /* $@113 */ + YYSYMBOL_exception = 365, /* exception */ YYSYMBOL_366_114 = 366, /* $@114 */ - YYSYMBOL_operation = 367, /* operation */ - YYSYMBOL_368_115 = 368, /* $@115 */ - YYSYMBOL_369_116 = 369, /* $@116 */ - YYSYMBOL_370_117 = 370, /* $@117 */ + YYSYMBOL_367_115 = 367, /* @115 */ + YYSYMBOL_368_116 = 368, /* $@116 */ + YYSYMBOL_369_117 = 369, /* $@117 */ + YYSYMBOL_operation = 370, /* operation */ YYSYMBOL_371_118 = 371, /* $@118 */ - YYSYMBOL_opt_op_attribute = 372, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 373, /* op_type_spec */ - YYSYMBOL_init_decl = 374, /* init_decl */ - YYSYMBOL_375_119 = 375, /* $@119 */ - YYSYMBOL_376_120 = 376, /* @120 */ - YYSYMBOL_377_121 = 377, /* $@121 */ - YYSYMBOL_init_parameter_list = 378, /* init_parameter_list */ - YYSYMBOL_379_122 = 379, /* $@122 */ - YYSYMBOL_380_123 = 380, /* $@123 */ - YYSYMBOL_at_least_one_in_parameter = 381, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 382, /* in_parameters */ - YYSYMBOL_383_124 = 383, /* $@124 */ - YYSYMBOL_in_parameter = 384, /* in_parameter */ - YYSYMBOL_385_125 = 385, /* $@125 */ - YYSYMBOL_386_126 = 386, /* $@126 */ - YYSYMBOL_parameter_list = 387, /* parameter_list */ - YYSYMBOL_388_127 = 388, /* $@127 */ - YYSYMBOL_389_128 = 389, /* $@128 */ - YYSYMBOL_at_least_one_parameter = 390, /* at_least_one_parameter */ - YYSYMBOL_parameters = 391, /* parameters */ - YYSYMBOL_392_129 = 392, /* $@129 */ - YYSYMBOL_parameter = 393, /* parameter */ - YYSYMBOL_394_130 = 394, /* $@130 */ - YYSYMBOL_395_131 = 395, /* $@131 */ - YYSYMBOL_param_type_spec = 396, /* param_type_spec */ - YYSYMBOL_direction = 397, /* direction */ - YYSYMBOL_opt_raises = 398, /* opt_raises */ - YYSYMBOL_399_132 = 399, /* $@132 */ - YYSYMBOL_400_133 = 400, /* $@133 */ - YYSYMBOL_opt_getraises = 401, /* opt_getraises */ - YYSYMBOL_402_134 = 402, /* $@134 */ - YYSYMBOL_403_135 = 403, /* $@135 */ - YYSYMBOL_opt_setraises = 404, /* opt_setraises */ - YYSYMBOL_405_136 = 405, /* $@136 */ - YYSYMBOL_406_137 = 406, /* $@137 */ - YYSYMBOL_opt_context = 407, /* opt_context */ - YYSYMBOL_408_138 = 408, /* $@138 */ - YYSYMBOL_409_139 = 409, /* $@139 */ - YYSYMBOL_at_least_one_string_literal = 410, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 411, /* string_literals */ - YYSYMBOL_412_140 = 412, /* $@140 */ - YYSYMBOL_typeid_dcl = 413, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 414, /* typeprefix_dcl */ - YYSYMBOL_component = 415, /* component */ - YYSYMBOL_component_forward_decl = 416, /* component_forward_decl */ - YYSYMBOL_component_decl = 417, /* component_decl */ - YYSYMBOL_418_141 = 418, /* @141 */ - YYSYMBOL_419_142 = 419, /* $@142 */ - YYSYMBOL_420_143 = 420, /* $@143 */ - YYSYMBOL_component_header = 421, /* component_header */ - YYSYMBOL_422_144 = 422, /* $@144 */ - YYSYMBOL_423_145 = 423, /* $@145 */ - YYSYMBOL_component_inheritance_spec = 424, /* component_inheritance_spec */ - YYSYMBOL_425_146 = 425, /* $@146 */ - YYSYMBOL_component_exports = 426, /* component_exports */ - YYSYMBOL_component_export = 427, /* component_export */ - YYSYMBOL_428_147 = 428, /* $@147 */ - YYSYMBOL_429_148 = 429, /* $@148 */ - YYSYMBOL_430_149 = 430, /* $@149 */ + YYSYMBOL_372_119 = 372, /* $@119 */ + YYSYMBOL_373_120 = 373, /* $@120 */ + YYSYMBOL_374_121 = 374, /* $@121 */ + YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 376, /* op_type_spec */ + YYSYMBOL_init_decl = 377, /* init_decl */ + YYSYMBOL_378_122 = 378, /* $@122 */ + YYSYMBOL_379_123 = 379, /* @123 */ + YYSYMBOL_380_124 = 380, /* $@124 */ + YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ + YYSYMBOL_382_125 = 382, /* $@125 */ + YYSYMBOL_383_126 = 383, /* $@126 */ + YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 385, /* in_parameters */ + YYSYMBOL_386_127 = 386, /* $@127 */ + YYSYMBOL_in_parameter = 387, /* in_parameter */ + YYSYMBOL_388_128 = 388, /* $@128 */ + YYSYMBOL_389_129 = 389, /* $@129 */ + YYSYMBOL_parameter_list = 390, /* parameter_list */ + YYSYMBOL_391_130 = 391, /* $@130 */ + YYSYMBOL_392_131 = 392, /* $@131 */ + YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ + YYSYMBOL_parameters = 394, /* parameters */ + YYSYMBOL_395_132 = 395, /* $@132 */ + YYSYMBOL_parameter = 396, /* parameter */ + YYSYMBOL_397_133 = 397, /* $@133 */ + YYSYMBOL_398_134 = 398, /* $@134 */ + YYSYMBOL_param_type_spec = 399, /* param_type_spec */ + YYSYMBOL_direction = 400, /* direction */ + YYSYMBOL_opt_raises = 401, /* opt_raises */ + YYSYMBOL_402_135 = 402, /* $@135 */ + YYSYMBOL_403_136 = 403, /* $@136 */ + YYSYMBOL_opt_getraises = 404, /* opt_getraises */ + YYSYMBOL_405_137 = 405, /* $@137 */ + YYSYMBOL_406_138 = 406, /* $@138 */ + YYSYMBOL_opt_setraises = 407, /* opt_setraises */ + YYSYMBOL_408_139 = 408, /* $@139 */ + YYSYMBOL_409_140 = 409, /* $@140 */ + YYSYMBOL_opt_context = 410, /* opt_context */ + YYSYMBOL_411_141 = 411, /* $@141 */ + YYSYMBOL_412_142 = 412, /* $@142 */ + YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 414, /* string_literals */ + YYSYMBOL_415_143 = 415, /* $@143 */ + YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ + YYSYMBOL_component = 418, /* component */ + YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ + YYSYMBOL_component_decl = 420, /* component_decl */ + YYSYMBOL_421_144 = 421, /* @144 */ + YYSYMBOL_422_145 = 422, /* $@145 */ + YYSYMBOL_423_146 = 423, /* $@146 */ + YYSYMBOL_component_header = 424, /* component_header */ + YYSYMBOL_425_147 = 425, /* $@147 */ + YYSYMBOL_426_148 = 426, /* $@148 */ + YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ + YYSYMBOL_428_149 = 428, /* $@149 */ + YYSYMBOL_component_exports = 429, /* component_exports */ + YYSYMBOL_component_export = 430, /* component_export */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ YYSYMBOL_434_153 = 434, /* $@153 */ - YYSYMBOL_provides_decl = 435, /* provides_decl */ - YYSYMBOL_interface_type = 436, /* interface_type */ - YYSYMBOL_uses_decl = 437, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 438, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 439, /* opt_multiple */ - YYSYMBOL_emits_decl = 440, /* emits_decl */ - YYSYMBOL_publishes_decl = 441, /* publishes_decl */ - YYSYMBOL_consumes_decl = 442, /* consumes_decl */ - YYSYMBOL_home_decl = 443, /* home_decl */ - YYSYMBOL_444_154 = 444, /* $@154 */ - YYSYMBOL_home_header = 445, /* home_header */ - YYSYMBOL_446_155 = 446, /* $@155 */ - YYSYMBOL_447_156 = 447, /* $@156 */ - YYSYMBOL_448_157 = 448, /* $@157 */ + YYSYMBOL_435_154 = 435, /* $@154 */ + YYSYMBOL_436_155 = 436, /* $@155 */ + YYSYMBOL_437_156 = 437, /* $@156 */ + YYSYMBOL_provides_decl = 438, /* provides_decl */ + YYSYMBOL_interface_type = 439, /* interface_type */ + YYSYMBOL_uses_decl = 440, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 442, /* opt_multiple */ + YYSYMBOL_emits_decl = 443, /* emits_decl */ + YYSYMBOL_publishes_decl = 444, /* publishes_decl */ + YYSYMBOL_consumes_decl = 445, /* consumes_decl */ + YYSYMBOL_home_decl = 446, /* home_decl */ + YYSYMBOL_447_157 = 447, /* $@157 */ + YYSYMBOL_home_header = 448, /* home_header */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ YYSYMBOL_451_160 = 451, /* $@160 */ - YYSYMBOL_home_inheritance_spec = 452, /* home_inheritance_spec */ - YYSYMBOL_453_161 = 453, /* $@161 */ - YYSYMBOL_primary_key_spec = 454, /* primary_key_spec */ - YYSYMBOL_home_body = 455, /* home_body */ - YYSYMBOL_456_162 = 456, /* $@162 */ - YYSYMBOL_457_163 = 457, /* $@163 */ - YYSYMBOL_home_exports = 458, /* home_exports */ - YYSYMBOL_home_export = 459, /* home_export */ - YYSYMBOL_460_164 = 460, /* $@164 */ - YYSYMBOL_461_165 = 461, /* $@165 */ - YYSYMBOL_factory_decl = 462, /* factory_decl */ - YYSYMBOL_463_166 = 463, /* $@166 */ - YYSYMBOL_464_167 = 464, /* $@167 */ - YYSYMBOL_finder_decl = 465, /* finder_decl */ - YYSYMBOL_466_168 = 466, /* $@168 */ - YYSYMBOL_467_169 = 467, /* $@169 */ - YYSYMBOL_event = 468, /* event */ - YYSYMBOL_event_forward_decl = 469, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 470, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 471, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 472, /* event_abs_decl */ - YYSYMBOL_473_170 = 473, /* $@170 */ - YYSYMBOL_474_171 = 474, /* $@171 */ - YYSYMBOL_475_172 = 475, /* $@172 */ - YYSYMBOL_event_abs_header = 476, /* event_abs_header */ - YYSYMBOL_event_custom_header = 477, /* event_custom_header */ - YYSYMBOL_event_plain_header = 478, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 479, /* event_rest_of_header */ - YYSYMBOL_480_173 = 480, /* $@173 */ - YYSYMBOL_event_decl = 481, /* event_decl */ - YYSYMBOL_482_174 = 482, /* @174 */ - YYSYMBOL_483_175 = 483, /* $@175 */ - YYSYMBOL_484_176 = 484, /* $@176 */ - YYSYMBOL_event_header = 485, /* event_header */ - YYSYMBOL_formal_parameter_type = 486, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 487, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 488, /* formal_parameters */ - YYSYMBOL_formal_parameter = 489, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 490, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 491, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 492, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 493, /* porttype_decl */ - YYSYMBOL_494_177 = 494, /* $@177 */ - YYSYMBOL_495_178 = 495, /* @178 */ - YYSYMBOL_496_179 = 496, /* $@179 */ + YYSYMBOL_452_161 = 452, /* $@161 */ + YYSYMBOL_453_162 = 453, /* $@162 */ + YYSYMBOL_454_163 = 454, /* $@163 */ + YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ + YYSYMBOL_456_164 = 456, /* $@164 */ + YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ + YYSYMBOL_home_body = 458, /* home_body */ + YYSYMBOL_459_165 = 459, /* $@165 */ + YYSYMBOL_460_166 = 460, /* $@166 */ + YYSYMBOL_home_exports = 461, /* home_exports */ + YYSYMBOL_home_export = 462, /* home_export */ + YYSYMBOL_463_167 = 463, /* $@167 */ + YYSYMBOL_464_168 = 464, /* $@168 */ + YYSYMBOL_factory_decl = 465, /* factory_decl */ + YYSYMBOL_466_169 = 466, /* $@169 */ + YYSYMBOL_467_170 = 467, /* $@170 */ + YYSYMBOL_finder_decl = 468, /* finder_decl */ + YYSYMBOL_469_171 = 469, /* $@171 */ + YYSYMBOL_470_172 = 470, /* $@172 */ + YYSYMBOL_event = 471, /* event */ + YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ + YYSYMBOL_476_173 = 476, /* $@173 */ + YYSYMBOL_477_174 = 477, /* $@174 */ + YYSYMBOL_478_175 = 478, /* $@175 */ + YYSYMBOL_event_abs_header = 479, /* event_abs_header */ + YYSYMBOL_event_custom_header = 480, /* event_custom_header */ + YYSYMBOL_event_plain_header = 481, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ + YYSYMBOL_483_176 = 483, /* $@176 */ + YYSYMBOL_event_decl = 484, /* event_decl */ + YYSYMBOL_485_177 = 485, /* @177 */ + YYSYMBOL_486_178 = 486, /* $@178 */ + YYSYMBOL_487_179 = 487, /* $@179 */ + YYSYMBOL_event_header = 488, /* event_header */ + YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 491, /* formal_parameters */ + YYSYMBOL_formal_parameter = 492, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 496, /* porttype_decl */ YYSYMBOL_497_180 = 497, /* $@180 */ - YYSYMBOL_at_least_one_port_export = 498, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 499, /* port_exports */ - YYSYMBOL_port_export = 500, /* port_export */ - YYSYMBOL_501_181 = 501, /* $@181 */ - YYSYMBOL_extended_port_decl = 502, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 503, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 504, /* actual_parameters */ - YYSYMBOL_actual_parameter = 505, /* actual_parameter */ - YYSYMBOL_connector_decl = 506, /* connector_decl */ - YYSYMBOL_connector_header = 507, /* connector_header */ - YYSYMBOL_508_182 = 508, /* $@182 */ - YYSYMBOL_509_183 = 509, /* $@183 */ - YYSYMBOL_connector_body = 510, /* connector_body */ - YYSYMBOL_511_184 = 511, /* $@184 */ - YYSYMBOL_512_185 = 512, /* $@185 */ - YYSYMBOL_connector_exports = 513, /* connector_exports */ - YYSYMBOL_connector_export = 514, /* connector_export */ - YYSYMBOL_515_186 = 515, /* $@186 */ - YYSYMBOL_516_187 = 516, /* $@187 */ - YYSYMBOL_517_188 = 517, /* $@188 */ - YYSYMBOL_518_189 = 518 /* $@189 */ + YYSYMBOL_498_181 = 498, /* @181 */ + YYSYMBOL_499_182 = 499, /* $@182 */ + YYSYMBOL_500_183 = 500, /* $@183 */ + YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 502, /* port_exports */ + YYSYMBOL_port_export = 503, /* port_export */ + YYSYMBOL_504_184 = 504, /* $@184 */ + YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 507, /* actual_parameters */ + YYSYMBOL_actual_parameter = 508, /* actual_parameter */ + YYSYMBOL_connector_decl = 509, /* connector_decl */ + YYSYMBOL_connector_header = 510, /* connector_header */ + YYSYMBOL_511_185 = 511, /* $@185 */ + YYSYMBOL_512_186 = 512, /* $@186 */ + YYSYMBOL_connector_body = 513, /* connector_body */ + YYSYMBOL_514_187 = 514, /* $@187 */ + YYSYMBOL_515_188 = 515, /* $@188 */ + YYSYMBOL_connector_exports = 516, /* connector_exports */ + YYSYMBOL_connector_export = 517, /* connector_export */ + YYSYMBOL_518_189 = 518, /* $@189 */ + YYSYMBOL_519_190 = 519, /* $@190 */ + YYSYMBOL_520_191 = 520, /* $@191 */ + YYSYMBOL_521_192 = 521 /* $@192 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1036,14 +1041,14 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2202 +#define YYLAST 2196 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 401 +#define YYNNTS 404 /* YYNRULES -- Number of rules. */ -#define YYNRULES 612 +#define YYNRULES 615 /* YYNSTATES -- Number of states. */ #define YYNSTATES 905 @@ -1104,68 +1109,68 @@ static const yytype_int8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 416, 416, 419, 420, 428, 443, 447, 448, 449, - 454, 453, 462, 461, 470, 469, 478, 477, 486, 485, - 494, 493, 502, 501, 510, 509, 518, 517, 526, 525, - 534, 533, 542, 541, 550, 549, 558, 557, 566, 565, - 579, 578, 590, 629, 633, 589, 649, 657, 671, 681, - 711, 715, 656, 740, 744, 745, 749, 750, 755, 760, - 754, 846, 851, 845, 922, 923, 928, 966, 970, 927, - 987, 986, 998, 1035, 1065, 1098, 1097, 1106, 1113, 1114, - 1115, 1116, 1120, 1125, 1130, 1177, 1181, 1129, 1210, 1253, - 1257, 1208, 1276, 1274, 1314, 1313, 1325, 1329, 1336, 1341, - 1348, 1373, 1401, 1467, 1486, 1490, 1494, 1495, 1507, 1506, - 1524, 1528, 1535, 1556, 1557, 1561, 1576, 1581, 1580, 1589, - 1588, 1597, 1596, 1605, 1604, 1613, 1612, 1621, 1620, 1629, - 1628, 1637, 1636, 1649, 1661, 1659, 1684, 1691, 1701, 1700, - 1726, 1724, 1749, 1759, 1770, 1814, 1841, 1873, 1877, 1881, - 1885, 1872, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1957, - 1961, 2029, 2031, 2033, 2034, 2046, 2047, 2059, 2060, 2072, - 2073, 2082, 2094, 2095, 2104, 2116, 2117, 2126, 2135, 2147, - 2148, 2157, 2166, 2178, 2235, 2236, 2243, 2247, 2252, 2259, - 2266, 2270, 2275, 2279, 2283, 2287, 2294, 2363, 2362, 2391, - 2392, 2396, 2397, 2398, 2400, 2399, 2408, 2409, 2413, 2469, - 2473, 2480, 2493, 2503, 2511, 2510, 2598, 2602, 2609, 2618, - 2625, 2633, 2639, 2646, 2659, 2658, 2667, 2671, 2675, 2679, - 2707, 2715, 2714, 2785, 2786, 2790, 2797, 2798, 2824, 2825, - 2826, 2827, 2828, 2829, 2830, 2831, 2835, 2836, 2837, 2838, - 2839, 2843, 2844, 2845, 2849, 2850, 2854, 2866, 2864, 2889, - 2896, 2897, 2901, 2913, 2911, 2936, 2943, 2959, 2977, 2978, - 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3013, 3017, 3021, - 3025, 3029, 3033, 3037, 3044, 3048, 3052, 3059, 3066, 3070, - 3077, 3084, 3091, 3098, 3106, 3105, 3119, 3150, 3154, 3118, - 3171, 3174, 3175, 3179, 3197, 3201, 3196, 3259, 3258, 3271, - 3270, 3283, 3287, 3320, 3324, 3383, 3387, 3282, 3409, 3416, - 3429, 3438, 3445, 3446, 3555, 3558, 3559, 3564, 3568, 3563, - 3604, 3603, 3615, 3625, 3643, 3651, 3650, 3664, 3668, 3663, - 3684, 3683, 3733, 3758, 3782, 3786, 3817, 3821, 3781, 3845, - 3850, 3848, 3854, 3858, 3897, 3896, 3962, 4031, 4044, 4048, - 4042, 4132, 4199, 4208, 4198, 4222, 4232, 4236, 4230, 4278, - 4304, 4313, 4317, 4311, 4359, 4385, 4393, 4392, 4435, 4445, - 4463, 4471, 4475, 4470, 4535, 4536, 4541, 4545, 4549, 4553, - 4540, 4612, 4616, 4620, 4624, 4611, 4692, 4696, 4728, 4732, - 4691, 4749, 4753, 4814, 4818, 4748, 4855, 4860, 4865, 4872, - 4873, 4884, 4889, 4932, 4883, 4954, 4953, 4962, 4961, 4972, - 4977, 4975, 4981, 4986, 4990, 4985, 5029, 5028, 5037, 5036, - 5047, 5052, 5050, 5056, 5061, 5065, 5060, 5110, 5117, 5118, - 5119, 5226, 5230, 5234, 5242, 5246, 5241, 5255, 5263, 5267, - 5262, 5276, 5284, 5288, 5283, 5297, 5305, 5309, 5304, 5318, - 5325, 5337, 5335, 5358, 5365, 5395, 5434, 5435, 5439, 5470, - 5512, 5516, 5469, 5535, 5539, 5533, 5580, 5579, 5587, 5594, - 5609, 5610, 5615, 5614, 5624, 5623, 5633, 5632, 5642, 5641, - 5651, 5650, 5660, 5659, 5669, 5668, 5679, 5772, 5778, 5803, - 5910, 5919, 5923, 5930, 6005, 6077, 6153, 6152, 6202, 6206, - 6210, 6214, 6218, 6222, 6201, 6275, 6274, 6282, 6289, 6294, - 6302, 6306, 6301, 6316, 6317, 6321, 6323, 6322, 6331, 6330, - 6343, 6366, 6341, 6392, 6419, 6390, 6443, 6444, 6445, 6449, - 6450, 6454, 6483, 6515, 6559, 6563, 6513, 6580, 6589, 6607, - 6618, 6617, 6655, 6706, 6710, 6653, 6727, 6731, 6738, 6742, - 6746, 6750, 6754, 6758, 6762, 6766, 6770, 6774, 6782, 6813, - 6826, 6833, 6858, 6876, 6883, 6898, 6905, 6915, 6919, 6938, - 6946, 6914, 6961, 6976, 6980, 6981, 6985, 6986, 6988, 6987, - 6998, 7065, 7113, 7129, 7142, 7149, 7208, 7216, 7220, 7215, - 7281, 7285, 7280, 7298, 7299, 7304, 7303, 7312, 7311, 7320, - 7319, 7328, 7327 + 0, 421, 421, 424, 425, 433, 448, 452, 453, 454, + 459, 458, 467, 466, 475, 474, 483, 482, 491, 490, + 499, 498, 507, 506, 515, 514, 523, 522, 531, 530, + 539, 538, 547, 546, 555, 554, 563, 562, 571, 570, + 584, 583, 595, 634, 638, 594, 654, 662, 676, 686, + 716, 720, 661, 745, 749, 750, 754, 755, 760, 765, + 759, 851, 856, 850, 927, 928, 933, 971, 975, 932, + 992, 991, 1003, 1040, 1070, 1103, 1102, 1111, 1118, 1119, + 1120, 1121, 1125, 1130, 1135, 1182, 1186, 1134, 1215, 1258, + 1262, 1213, 1281, 1279, 1319, 1318, 1330, 1334, 1341, 1346, + 1353, 1378, 1406, 1472, 1491, 1495, 1499, 1500, 1512, 1511, + 1529, 1533, 1540, 1561, 1562, 1566, 1581, 1586, 1585, 1594, + 1593, 1602, 1601, 1610, 1609, 1618, 1617, 1626, 1625, 1634, + 1633, 1642, 1641, 1654, 1666, 1664, 1689, 1696, 1706, 1705, + 1731, 1729, 1754, 1764, 1775, 1819, 1846, 1878, 1882, 1886, + 1890, 1877, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1962, + 1966, 2034, 2036, 2038, 2039, 2051, 2052, 2064, 2065, 2077, + 2078, 2087, 2099, 2100, 2109, 2121, 2122, 2131, 2140, 2152, + 2153, 2162, 2171, 2183, 2240, 2241, 2248, 2252, 2257, 2264, + 2271, 2275, 2280, 2284, 2288, 2292, 2299, 2368, 2367, 2396, + 2397, 2401, 2402, 2403, 2405, 2404, 2413, 2414, 2418, 2474, + 2478, 2485, 2498, 2508, 2516, 2515, 2603, 2607, 2614, 2623, + 2630, 2638, 2644, 2651, 2664, 2663, 2672, 2676, 2680, 2684, + 2712, 2720, 2719, 2790, 2791, 2795, 2802, 2803, 2829, 2830, + 2831, 2832, 2833, 2834, 2835, 2836, 2840, 2841, 2842, 2843, + 2844, 2848, 2849, 2850, 2854, 2855, 2859, 2871, 2869, 2894, + 2901, 2902, 2906, 2918, 2916, 2941, 2948, 2964, 2982, 2983, + 2987, 2991, 2995, 2999, 3003, 3007, 3011, 3018, 3022, 3026, + 3030, 3034, 3038, 3042, 3049, 3053, 3057, 3064, 3071, 3075, + 3082, 3089, 3096, 3103, 3111, 3110, 3124, 3155, 3159, 3123, + 3176, 3179, 3180, 3184, 3202, 3206, 3201, 3264, 3263, 3276, + 3275, 3288, 3292, 3325, 3329, 3388, 3392, 3287, 3414, 3421, + 3434, 3443, 3450, 3451, 3560, 3563, 3564, 3569, 3573, 3568, + 3609, 3608, 3620, 3630, 3648, 3656, 3655, 3669, 3673, 3668, + 3689, 3688, 3738, 3763, 3787, 3791, 3822, 3826, 3786, 3850, + 3855, 3853, 3859, 3863, 3903, 3907, 3901, 3965, 4029, 4039, + 4028, 4064, 4068, 4062, 4152, 4219, 4228, 4218, 4242, 4252, + 4256, 4250, 4298, 4324, 4333, 4337, 4331, 4379, 4405, 4413, + 4412, 4455, 4465, 4483, 4491, 4495, 4490, 4555, 4556, 4561, + 4565, 4569, 4573, 4560, 4632, 4636, 4640, 4644, 4631, 4712, + 4716, 4748, 4752, 4711, 4769, 4773, 4834, 4838, 4768, 4875, + 4880, 4885, 4892, 4893, 4904, 4909, 4952, 4903, 4974, 4973, + 4982, 4981, 4992, 4997, 4995, 5001, 5006, 5010, 5005, 5049, + 5048, 5057, 5056, 5067, 5072, 5070, 5076, 5081, 5085, 5080, + 5130, 5137, 5138, 5139, 5246, 5250, 5254, 5262, 5266, 5261, + 5275, 5283, 5287, 5282, 5296, 5304, 5308, 5303, 5317, 5325, + 5329, 5324, 5338, 5345, 5357, 5355, 5378, 5385, 5415, 5454, + 5455, 5459, 5490, 5532, 5536, 5489, 5555, 5559, 5553, 5600, + 5599, 5607, 5614, 5629, 5630, 5635, 5634, 5644, 5643, 5653, + 5652, 5662, 5661, 5671, 5670, 5680, 5679, 5689, 5688, 5699, + 5792, 5798, 5823, 5930, 5939, 5943, 5950, 6025, 6097, 6173, + 6172, 6222, 6226, 6230, 6234, 6238, 6242, 6221, 6295, 6294, + 6302, 6309, 6314, 6322, 6326, 6321, 6336, 6337, 6341, 6343, + 6342, 6351, 6350, 6363, 6386, 6361, 6412, 6439, 6410, 6463, + 6464, 6465, 6469, 6470, 6474, 6503, 6535, 6579, 6583, 6533, + 6600, 6609, 6627, 6638, 6637, 6675, 6726, 6730, 6673, 6747, + 6751, 6758, 6762, 6766, 6770, 6774, 6778, 6782, 6786, 6790, + 6794, 6802, 6833, 6846, 6853, 6878, 6896, 6903, 6918, 6925, + 6935, 6939, 6958, 6966, 6934, 6981, 6996, 7000, 7001, 7005, + 7006, 7008, 7007, 7018, 7085, 7133, 7149, 7162, 7169, 7228, + 7236, 7240, 7235, 7301, 7305, 7300, 7318, 7319, 7324, 7323, + 7332, 7331, 7340, 7339, 7348, 7347 }; #endif @@ -1249,47 +1254,48 @@ static const char *const yytname[] = "$@82", "$@83", "$@84", "element_spec", "$@85", "struct_forward_type", "union_forward_type", "enum_type", "$@86", "$@87", "$@88", "$@89", "at_least_one_enumerator", "enumerators", "$@90", "enumerator", - "map_type_spec", "$@91", "map_type", "sequence_type_spec", "$@92", - "$@93", "seq_head", "$@94", "$@95", "fixed_type_spec", - "string_type_spec", "$@96", "$@97", "string_head", "wstring_type_spec", - "$@98", "$@99", "wstring_head", "array_declarator", "$@100", - "at_least_one_array_dim", "array_dims", "array_dim", "$@101", "$@102", - "attribute", "attribute_readonly", "$@103", "$@104", "$@105", "$@106", - "attribute_readwrite", "$@107", "$@108", "$@109", "$@110", "exception", - "$@111", "@112", "$@113", "$@114", "operation", "$@115", "$@116", - "$@117", "$@118", "opt_op_attribute", "op_type_spec", "init_decl", - "$@119", "@120", "$@121", "init_parameter_list", "$@122", "$@123", - "at_least_one_in_parameter", "in_parameters", "$@124", "in_parameter", - "$@125", "$@126", "parameter_list", "$@127", "$@128", - "at_least_one_parameter", "parameters", "$@129", "parameter", "$@130", - "$@131", "param_type_spec", "direction", "opt_raises", "$@132", "$@133", - "opt_getraises", "$@134", "$@135", "opt_setraises", "$@136", "$@137", - "opt_context", "$@138", "$@139", "at_least_one_string_literal", - "string_literals", "$@140", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@141", "$@142", "$@143", - "component_header", "$@144", "$@145", "component_inheritance_spec", - "$@146", "component_exports", "component_export", "$@147", "$@148", - "$@149", "$@150", "$@151", "$@152", "$@153", "provides_decl", + "map_type_spec", "$@91", "$@92", "map_head", "$@93", "$@94", + "sequence_type_spec", "$@95", "$@96", "seq_head", "$@97", "$@98", + "fixed_type_spec", "string_type_spec", "$@99", "$@100", "string_head", + "wstring_type_spec", "$@101", "$@102", "wstring_head", + "array_declarator", "$@103", "at_least_one_array_dim", "array_dims", + "array_dim", "$@104", "$@105", "attribute", "attribute_readonly", + "$@106", "$@107", "$@108", "$@109", "attribute_readwrite", "$@110", + "$@111", "$@112", "$@113", "exception", "$@114", "@115", "$@116", + "$@117", "operation", "$@118", "$@119", "$@120", "$@121", + "opt_op_attribute", "op_type_spec", "init_decl", "$@122", "@123", + "$@124", "init_parameter_list", "$@125", "$@126", + "at_least_one_in_parameter", "in_parameters", "$@127", "in_parameter", + "$@128", "$@129", "parameter_list", "$@130", "$@131", + "at_least_one_parameter", "parameters", "$@132", "parameter", "$@133", + "$@134", "param_type_spec", "direction", "opt_raises", "$@135", "$@136", + "opt_getraises", "$@137", "$@138", "opt_setraises", "$@139", "$@140", + "opt_context", "$@141", "$@142", "at_least_one_string_literal", + "string_literals", "$@143", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@144", "$@145", "$@146", + "component_header", "$@147", "$@148", "component_inheritance_spec", + "$@149", "component_exports", "component_export", "$@150", "$@151", + "$@152", "$@153", "$@154", "$@155", "$@156", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@154", - "home_header", "$@155", "$@156", "$@157", "$@158", "$@159", "$@160", - "home_inheritance_spec", "$@161", "primary_key_spec", "home_body", - "$@162", "$@163", "home_exports", "home_export", "$@164", "$@165", - "factory_decl", "$@166", "$@167", "finder_decl", "$@168", "$@169", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@157", + "home_header", "$@158", "$@159", "$@160", "$@161", "$@162", "$@163", + "home_inheritance_spec", "$@164", "primary_key_spec", "home_body", + "$@165", "$@166", "home_exports", "home_export", "$@167", "$@168", + "factory_decl", "$@169", "$@170", "finder_decl", "$@171", "$@172", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@170", "$@171", "$@172", + "event_abs_forward_decl", "event_abs_decl", "$@173", "$@174", "$@175", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@173", "event_decl", "@174", "$@175", "$@176", + "event_rest_of_header", "$@176", "event_decl", "@177", "$@178", "$@179", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@177", "@178", "$@179", - "$@180", "at_least_one_port_export", "port_exports", "port_export", - "$@181", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@180", "@181", "$@182", + "$@183", "at_least_one_port_export", "port_exports", "port_export", + "$@184", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@182", "$@183", "connector_body", "$@184", "$@185", - "connector_exports", "connector_export", "$@186", "$@187", "$@188", - "$@189", YY_NULLPTR + "connector_header", "$@185", "$@186", "connector_body", "$@187", "$@188", + "connector_exports", "connector_export", "$@189", "$@190", "$@191", + "$@192", YY_NULLPTR }; static const char * @@ -1299,12 +1305,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-685) +#define YYPACT_NINF (-689) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-581) +#define YYTABLE_NINF (-584) #define yytable_value_is_error(Yyn) \ 0 @@ -1313,97 +1319,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -685, 90, 1482, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, 41, 67, 68, 52, -685, 41, - 41, -685, 48, 48, -685, -685, 41, -685, -685, 33, - -685, 472, 71, 106, -685, -685, 6, -685, -685, -685, - -685, -685, -685, 566, -685, -685, -685, -685, -685, 1631, - 19, -685, -685, 121, -685, 132, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, 122, -685, -685, -685, 122, -685, - -685, 72, 130, 2112, 48, 41, 1989, 41, 41, 41, - 41, -685, -685, -685, 77, 41, 80, -685, 86, 41, - -685, 122, 41, 139, 144, 41, -685, -685, 15, -685, - 59, 240, -685, 148, -685, 149, 170, 616, -685, -685, - -685, 172, 221, -685, 175, 179, 180, 88, -685, 133, - -685, -685, -685, -685, -685, -685, 181, -685, -685, -685, - 182, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, 189, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - 132, -685, -685, -685, -685, 47, -685, -685, 183, -685, - 185, 191, 194, -685, 48, 184, 196, 199, -685, 201, - 202, 203, 204, 205, 209, 213, 210, -685, -685, -685, - 217, 219, -685, -685, -685, -685, 189, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 189, -685, -685, -685, - -685, -685, -685, -685, -685, 220, -685, 222, -685, -685, - 187, -685, 284, -685, -685, -685, -685, 49, -685, -685, - -685, 2112, -685, -685, -685, -685, 218, -685, -685, -685, - -685, 291, -685, -685, 50, 224, -685, -685, -685, -685, - -685, -685, -685, -685, 294, -685, 136, 223, -685, 226, - 273, -685, -685, -685, -685, -685, -685, 189, -685, -685, - 227, -685, -685, -685, -685, -685, -685, -685, -685, -685, - 273, 229, 245, -685, -685, -685, 41, 41, 247, 248, - -685, -685, -685, 246, -685, 284, 251, -685, -685, -685, - -685, -685, 348, -685, 252, 254, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 178, 178, 178, 136, - 189, -685, -685, 249, 253, 255, 69, 92, 2, -685, - -685, -685, -685, -685, 48, -685, -685, -685, -685, 258, - -685, 1721, 261, -685, 48, -685, 136, 136, 136, 241, - -685, -685, -685, -685, -685, -685, -685, 162, -685, 1, - -685, -685, -685, -685, -685, -685, -685, -685, 48, 273, - -685, -685, -685, -685, 187, 1432, 1544, 259, 264, -685, - 616, -685, -685, -685, 257, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 263, 41, -685, 189, 1123, - -685, 842, 136, -685, -685, -685, 265, -685, -685, -685, - -685, 136, -685, 728, -685, -685, -685, 243, 1030, -685, - -685, -685, -685, 44, 308, 48, 48, -685, -685, -685, - -685, -685, 44, -685, 270, -685, 266, -685, 271, -685, - -685, 1217, 189, -685, 48, 273, -685, -685, -685, -685, - 279, -685, -685, 41, -685, -685, 280, 281, 376, 283, - -685, -685, 253, 255, 69, 92, 92, 2, 2, -685, - -685, -685, -685, -685, 285, -685, -685, -685, 288, -685, - -685, 1901, -685, -685, -685, -685, 2024, -685, -685, -685, - -685, -685, 290, -685, 1936, -685, -685, 1811, -685, 289, - 1721, 292, -685, 293, 296, 297, 301, -685, 269, -685, - 307, -685, -685, -685, 313, 319, 542, 48, 48, 48, - 385, -685, 323, -685, -685, -685, -685, -685, -685, -685, - 41, 41, -685, 326, -685, -685, -685, 1311, 936, 361, - 2077, -685, 189, 284, -685, -685, 62, 65, 303, 330, - 331, 284, 336, -685, -685, 4, -685, 57, -685, -685, - 335, 340, 189, -685, 343, 141, 1989, -685, 405, -685, - -685, -685, -685, 50, -685, 346, -685, 347, -685, 351, - 353, 355, 359, -685, 189, -685, -685, -685, -685, -685, - 360, 362, 442, -685, -685, -685, 364, -685, -685, 136, - 357, -685, -685, -685, 136, -685, 284, -685, 365, 41, - -685, -685, 460, 189, -685, -685, -685, -685, -685, -685, - 66, 66, 66, -685, 373, -685, 380, 382, 384, 386, - 387, 389, -685, -685, -685, 390, 392, 391, 398, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, 136, - -685, -685, -685, 41, -685, 399, 388, 400, -685, 434, - 403, 141, -685, 406, 411, -685, 412, 136, 413, 1606, - -685, 48, -685, -685, -685, -685, -685, -685, 508, -685, - -685, -685, -685, 416, -685, -685, 301, 307, -685, -685, - 397, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, 404, 404, -685, -685, -685, -685, 2077, 41, -685, - 136, 407, -685, -685, -685, -685, -685, -685, -685, 417, - -685, -685, -685, -685, -685, 48, -685, -685, -685, -685, - 422, 189, -685, 404, -685, -685, 423, -685, 477, -685, - -685, -685, -685, -685, -685, -685, -685, 48, -685, 189, - 425, 1361, -685, 415, -685, -685, 427, 418, 485, 488, - 488, 41, 476, 431, 420, -685, 189, 441, -685, -685, - 428, -685, 488, -685, -685, -685, 432, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 482, 545, 438, 197, - 488, -685, 81, 2077, -685, 446, 445, 488, 448, 497, - 41, 48, -685, -685, 462, -685, -685, -685, -685, -685, - 449, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, 189, - -685, 463, -685, 464, 2077, 528, 473, 136, 469, 474, - 58, -685, 160, 41, 485, 48, 48, 458, 41, 545, - -685, -685, -685, -685, -685, -685, -685, -685, -685, 1696, - -685, -685, -685, 479, 480, -685, -685, -685, 197, 41, - 483, 494, -685, -685, -685, -685, 48, -685, -685, -685, - -685, 41, 501, 484, 524, -685, -685, -685, -685, 486, - 499, -685, -685, 527, -685 + -689, 97, 1423, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 105, 108, 70, 102, -689, 105, + 105, -689, 54, 54, -689, -689, 105, -689, -689, 23, + -689, 298, 28, 38, -689, -689, -4, -689, -689, -689, + -689, -689, -689, 566, -689, -689, -689, -689, -689, 1625, + 42, -689, -689, 65, -689, 133, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 72, -689, -689, -689, 72, -689, + -689, 84, 87, 2106, 54, 105, 1983, 105, 105, 105, + 105, -689, -689, -689, 56, 105, 67, -689, 71, 105, + -689, 72, 105, 99, 101, 105, -689, -689, 10, -689, + 26, 199, -689, 106, -689, 121, 129, 473, -689, -689, + -689, 140, 192, -689, 167, 163, 170, 88, -689, 162, + -689, -689, -689, -689, -689, -689, 174, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, 186, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + 133, -689, -689, -689, 14, -689, 74, -689, -689, 179, + -689, 197, 201, 203, -689, 54, 205, 206, 208, -689, + 210, 213, 216, 218, 214, 220, 227, 230, -689, -689, + -689, 236, 241, -689, -689, -689, -689, 186, -689, -689, + -689, -689, -689, -689, -689, -689, -689, 186, -689, -689, + -689, -689, -689, -689, -689, -689, 242, -689, 237, -689, + -689, 212, -689, 338, -689, -689, -689, -689, 44, -689, + -689, -689, 2106, -689, -689, -689, -689, 246, -689, -689, + -689, -689, 339, -689, -689, 52, 248, -689, -689, -689, + -689, -689, -689, -689, -689, 342, -689, 131, 255, 256, + 310, -689, -689, -689, -689, -689, -689, -689, -689, 186, + -689, -689, 251, -689, -689, -689, -689, -689, -689, -689, + -689, -689, 310, 262, 264, -689, -689, -689, 105, 105, + 270, 271, -689, -689, -689, 268, -689, 338, 273, -689, + -689, -689, -689, -689, 369, -689, 272, 274, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, 215, 215, + 215, 131, 186, -689, -689, 269, 275, 280, 125, 114, + 78, -689, -689, -689, -689, -689, 54, -689, -689, -689, + -689, 276, -689, -689, 54, -689, 131, 131, 131, 131, + 261, -689, -689, -689, -689, -689, -689, -689, 217, -689, + -13, -689, -689, -689, -689, -689, -689, -689, -689, 54, + 310, -689, -689, -689, -689, 212, 663, 1538, 277, 279, + -689, 473, -689, -689, -689, 284, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 285, 105, -689, 186, + 1123, -689, 842, 131, -689, 1715, -689, -689, -689, -689, + -689, 131, -689, 1488, -689, -689, -689, 200, 1030, -689, + -689, -689, -689, 49, 330, 54, 54, -689, -689, -689, + -689, -689, 49, -689, 291, -689, 290, -689, 292, -689, + -689, 1217, 186, -689, 54, 310, -689, -689, -689, -689, + 309, -689, -689, 105, -689, -689, 311, 313, 407, 317, + -689, -689, 275, 280, 125, 114, 114, 78, 78, -689, + -689, -689, -689, -689, 314, -689, -689, -689, 319, -689, + -689, 1895, -689, -689, -689, -689, 2018, -689, -689, -689, + -689, -689, 320, -689, 1930, -689, -689, 1805, -689, 315, + 1715, -689, 322, 323, 326, 327, 329, -689, 316, -689, + 331, -689, -689, -689, 336, 343, 542, 54, 54, 54, + 211, -689, 344, -689, -689, -689, -689, -689, -689, -689, + 105, 105, -689, 345, -689, -689, -689, 1311, 936, 398, + 2071, -689, 186, 338, -689, -689, 57, 60, 348, 349, + 351, 338, 352, -689, -689, -5, -689, 53, -689, -689, + 353, 355, 186, -689, 356, 75, 1983, -689, 411, -689, + -689, -689, -689, 52, -689, 354, -689, 359, -689, 360, + 361, 362, 364, -689, 186, -689, -689, -689, -689, -689, + 365, 368, 447, -689, -689, -689, 371, -689, -689, 366, + -689, -689, -689, -689, 131, -689, 338, -689, 381, 105, + -689, -689, 475, 186, -689, -689, -689, -689, -689, -689, + 69, 69, 69, -689, 384, -689, 389, 390, 392, 393, + 394, 395, -689, -689, -689, 401, 402, 396, 403, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 131, + -689, -689, -689, 105, -689, 404, 397, 409, -689, 442, + 412, 75, -689, 413, 415, -689, 416, 131, 417, 1600, + -689, 54, -689, -689, -689, -689, -689, -689, 514, -689, + -689, -689, -689, -689, -689, 329, 331, -689, -689, 405, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + 408, 408, -689, -689, -689, -689, 2071, 105, -689, 131, + 410, -689, -689, -689, -689, -689, -689, -689, 421, -689, + -689, -689, -689, -689, 54, -689, -689, -689, -689, 422, + 186, -689, 408, 1715, -689, 424, -689, 488, -689, -689, + -689, -689, -689, -689, -689, -689, 54, -689, 186, 426, + 1361, -689, 418, -689, -689, -689, 431, 419, 497, 498, + 498, 105, 484, 439, 430, -689, 186, 443, -689, -689, + 433, -689, 498, -689, -689, -689, 434, -689, -689, -689, + -689, -689, -689, -689, -689, -689, 493, 556, 445, 177, + 498, -689, 80, 2071, -689, 459, 449, 498, 450, 503, + 105, 54, -689, -689, 466, -689, -689, -689, -689, -689, + 453, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 186, + -689, 467, -689, 468, 2071, 532, 476, 131, 492, 496, + 58, -689, 150, 105, 497, 54, 54, 482, 105, 556, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 1690, + -689, -689, -689, 483, 485, -689, -689, -689, 177, 105, + 487, 495, -689, -689, -689, -689, 54, -689, -689, -689, + -689, 105, 502, 489, 526, -689, -689, -689, -689, 490, + 500, -689, -689, 530, -689 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1412,188 +1418,188 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 396, 0, 0, 0, 0, 94, 0, - 0, 508, 0, 0, 577, 597, 0, 6, 7, 42, + 294, 309, 344, 399, 0, 0, 0, 0, 94, 0, + 0, 511, 0, 0, 580, 600, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 467, 466, 469, 30, 506, 32, - 538, 540, 539, 537, 77, 556, 557, 536, 77, 34, + 20, 14, 16, 28, 470, 469, 472, 30, 509, 32, + 541, 543, 542, 540, 77, 559, 560, 539, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 473, 549, 0, 142, 138, 0, 137, + 82, 77, 0, 476, 552, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 362, - 0, 370, 375, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 365, + 358, 373, 378, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 246, 0, 249, 247, 369, 248, - 374, 0, 0, 5, 0, 211, 0, 0, 311, 0, - 0, 0, 0, 0, 0, 0, 0, 550, 543, 552, - 0, 0, 600, 596, 39, 287, 160, 148, 152, 156, - 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, - 295, 310, 345, 397, 73, 547, 74, 0, 548, 95, - 478, 509, 0, 464, 140, 465, 578, 0, 197, 43, - 25, 0, 563, 559, 560, 565, 562, 566, 564, 561, - 558, 0, 48, 570, 0, 0, 23, 96, 75, 67, - 27, 85, 271, 286, 277, 279, 0, 0, 213, 0, - 99, 361, 358, 366, 371, 19, 11, 214, 13, 297, - 0, 21, 15, 17, 29, 470, 31, 520, 507, 33, - 99, 0, 0, 35, 37, 604, 0, 0, 0, 0, - 89, 476, 474, 517, 139, 0, 0, 598, 212, 200, - 4, 567, 0, 571, 0, 568, 186, 187, 188, 190, - 193, 192, 194, 195, 191, 189, 0, 0, 0, 0, - 183, 595, 161, 162, 163, 165, 167, 169, 172, 175, - 179, 184, 594, 62, 0, 114, 105, 278, 196, 0, - 363, 0, 0, 213, 0, 93, 0, 0, 0, 217, - 213, 312, 481, 524, 551, 544, 553, 601, 149, 266, - 232, 259, 260, 261, 267, 346, 398, 114, 0, 99, - 515, 510, 141, 579, 478, 0, 0, 3, 0, 49, - 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 592, 0, 76, 136, 0, - 113, 0, 0, 213, 357, 213, 0, 98, 359, 367, - 372, 0, 215, 0, 298, 302, 213, 213, 0, 114, - 105, 386, 391, 0, 502, 0, 0, 609, 384, 385, - 605, 607, 0, 611, 0, 603, 0, 213, 256, 213, - 302, 0, 477, 475, 0, 99, 585, 599, 204, 198, + 0, 252, 253, 250, 0, 246, 0, 249, 247, 372, + 248, 377, 0, 0, 5, 0, 211, 0, 0, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 546, + 555, 0, 0, 603, 599, 39, 287, 160, 148, 152, + 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, + 231, 295, 310, 345, 400, 73, 550, 74, 0, 551, + 95, 481, 512, 0, 467, 140, 468, 581, 0, 197, + 43, 25, 0, 566, 562, 563, 568, 565, 569, 567, + 564, 561, 0, 48, 573, 0, 0, 23, 96, 75, + 67, 27, 85, 271, 286, 277, 279, 0, 0, 0, + 99, 357, 354, 364, 361, 369, 374, 19, 11, 214, + 13, 297, 0, 21, 15, 17, 29, 473, 31, 523, + 510, 33, 99, 0, 0, 35, 37, 607, 0, 0, + 0, 0, 89, 479, 477, 520, 139, 0, 0, 601, + 212, 200, 4, 570, 0, 574, 0, 571, 186, 187, + 188, 190, 193, 192, 194, 195, 191, 189, 0, 0, + 0, 0, 183, 598, 161, 162, 163, 165, 167, 169, + 172, 175, 179, 184, 597, 62, 0, 114, 105, 278, + 196, 0, 366, 213, 0, 93, 0, 0, 0, 0, + 217, 213, 312, 484, 527, 554, 547, 556, 604, 149, + 266, 232, 259, 260, 261, 267, 346, 401, 114, 0, + 99, 518, 513, 141, 582, 481, 0, 0, 3, 0, + 49, 0, 180, 181, 182, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 595, 0, 76, 136, + 0, 113, 0, 0, 213, 0, 98, 355, 362, 370, + 375, 0, 215, 0, 298, 302, 213, 213, 0, 114, + 105, 389, 394, 0, 505, 0, 0, 612, 387, 388, + 608, 610, 0, 614, 0, 606, 0, 213, 256, 213, + 302, 0, 480, 478, 0, 99, 588, 602, 204, 198, 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 569, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 406, 407, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 411, + 572, 185, 164, 166, 168, 170, 171, 173, 174, 176, + 177, 178, 213, 63, 133, 131, 409, 410, 0, 116, + 123, 0, 117, 127, 125, 129, 0, 119, 121, 414, 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 0, 213, 0, 0, 0, 137, 218, 0, 219, + 0, 359, 0, 0, 0, 0, 137, 218, 0, 219, 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, - 0, 492, 0, 480, 482, 484, 486, 488, 490, 494, - 0, 0, 525, 0, 523, 526, 528, 0, 0, 0, - 0, 498, 497, 0, 501, 500, 0, 0, 0, 0, - 0, 0, 0, 602, 150, 0, 257, 0, 347, 352, - 213, 0, 516, 511, 584, 213, 0, 202, 210, 203, - 45, 572, 50, 0, 134, 0, 69, 0, 115, 0, - 0, 0, 0, 410, 440, 437, 438, 439, 401, 409, - 0, 0, 0, 87, 112, 103, 0, 365, 364, 0, - 0, 360, 368, 373, 0, 216, 0, 220, 0, 0, + 0, 495, 0, 483, 485, 487, 489, 491, 493, 497, + 0, 0, 528, 0, 526, 529, 531, 0, 0, 0, + 0, 501, 500, 0, 504, 503, 0, 0, 0, 0, + 0, 0, 0, 605, 150, 0, 257, 0, 347, 352, + 213, 0, 519, 514, 587, 213, 0, 202, 210, 203, + 45, 575, 50, 0, 134, 0, 69, 0, 115, 0, + 0, 0, 0, 413, 443, 440, 441, 442, 404, 412, + 0, 0, 0, 87, 112, 103, 0, 368, 367, 0, + 356, 363, 371, 376, 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, - 0, 0, 0, 479, 0, 472, 0, 0, 0, 0, - 0, 0, 530, 533, 522, 0, 0, 0, 0, 387, - 392, 496, 590, 591, 610, 606, 608, 499, 612, 0, - 381, 377, 380, 0, 353, 0, 349, 0, 91, 0, - 0, 0, 588, 0, 0, 583, 0, 0, 0, 0, - 593, 0, 132, 124, 118, 128, 126, 130, 0, 120, - 122, 412, 109, 0, 355, 223, 0, 222, 308, 305, - 0, 505, 503, 504, 493, 483, 485, 487, 489, 491, - 495, 0, 0, 527, 529, 546, 555, 0, 0, 151, - 0, 378, 258, 348, 350, 400, 512, 581, 582, 0, - 586, 587, 205, 209, 208, 0, 56, 42, 51, 55, - 0, 135, 402, 0, 356, 221, 0, 314, 415, 531, - 534, 388, 393, 265, 382, 379, 213, 0, 589, 58, - 0, 0, 57, 0, 413, 306, 0, 0, 0, 447, - 447, 0, 451, 262, 0, 351, 513, 0, 52, 54, - 428, 403, 447, 315, 416, 423, 0, 422, 444, 532, - 535, 389, 448, 394, 263, 383, 519, 0, 0, 0, - 447, 414, 0, 0, 418, 419, 0, 447, 0, 455, - 0, 0, 514, 576, 0, 575, 427, 441, 442, 443, - 0, 433, 434, 404, 330, 337, 335, 316, 326, 327, - 334, 424, 420, 445, 390, 449, 452, 395, 264, 518, - 59, 573, 429, 430, 0, 459, 0, 0, 0, 0, + 0, 0, 0, 482, 0, 475, 0, 0, 0, 0, + 0, 0, 533, 536, 525, 0, 0, 0, 0, 390, + 395, 499, 593, 594, 613, 609, 611, 502, 615, 0, + 384, 380, 383, 0, 353, 0, 349, 0, 91, 0, + 0, 0, 591, 0, 0, 586, 0, 0, 0, 0, + 596, 0, 132, 124, 118, 128, 126, 130, 0, 120, + 122, 415, 109, 213, 223, 0, 222, 308, 305, 0, + 508, 506, 507, 496, 486, 488, 490, 492, 494, 498, + 0, 0, 530, 532, 549, 558, 0, 0, 151, 0, + 381, 258, 348, 350, 403, 515, 584, 585, 0, 589, + 590, 205, 209, 208, 0, 56, 42, 51, 55, 0, + 135, 405, 0, 0, 221, 0, 314, 418, 534, 537, + 391, 396, 265, 385, 382, 213, 0, 592, 58, 0, + 0, 57, 0, 416, 360, 306, 0, 0, 0, 450, + 450, 0, 454, 262, 0, 351, 516, 0, 52, 54, + 431, 406, 450, 315, 419, 426, 0, 425, 447, 535, + 538, 392, 451, 397, 263, 386, 522, 0, 0, 0, + 450, 417, 0, 0, 421, 422, 0, 450, 0, 458, + 0, 0, 517, 579, 0, 578, 430, 444, 445, 446, + 0, 436, 437, 407, 330, 337, 335, 316, 326, 327, + 334, 427, 423, 448, 393, 452, 455, 398, 264, 521, + 59, 576, 432, 433, 0, 462, 0, 0, 0, 0, 0, 213, 332, 0, 0, 0, 0, 0, 0, 0, - 431, 435, 456, 405, 331, 338, 336, 317, 325, 0, - 333, 425, 421, 0, 0, 453, 60, 574, 0, 0, - 0, 0, 340, 328, 446, 450, 0, 432, 436, 457, - 339, 0, 0, 0, 0, 341, 329, 454, 463, 0, - 460, 458, 461, 0, 462 + 434, 438, 459, 408, 331, 338, 336, 317, 325, 0, + 333, 428, 424, 0, 0, 456, 60, 577, 0, 0, + 0, 0, 340, 328, 449, 453, 0, 435, 439, 460, + 339, 0, 0, 0, 0, 341, 329, 457, 466, 0, + 463, 461, 464, 0, 465 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -685, -685, 295, 298, 555, -629, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -596, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -155, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, 190, -685, - -685, 73, -685, -685, -685, 590, -685, -685, -685, -685, - -685, -685, -685, 593, -685, 192, -685, -685, -260, -685, - -685, 186, 103, -685, -685, -685, -293, -685, -370, -685, - -685, -685, -685, -685, -685, -685, -685, -340, -685, -685, - -22, -685, -685, -201, -10, -685, 17, -685, -685, -685, - -685, -198, -47, -236, -685, 228, 225, 216, -177, -162, - -142, -62, -685, -301, -685, -685, -685, -685, -685, -685, - -685, -685, 13, -76, 564, -685, -685, -685, -685, -82, - 3, 18, -685, 42, -685, -31, -311, -469, -685, -685, - -685, -2, -685, -685, -628, -138, -685, -685, -7, -685, - -66, -685, -685, -50, -45, -61, -57, -55, 250, -685, - -40, -685, -38, -685, -685, -685, -685, 193, 274, 137, - -685, -685, -685, -37, -685, -32, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -205, -685, -685, -685, -685, - -685, -206, -685, -685, -685, -685, -685, -685, -685, -41, - -685, -685, -685, -685, -685, -685, -685, -99, -685, -685, - -314, -685, -685, -685, -685, -685, -685, -685, -75, -685, - -685, -685, -70, -685, -685, -685, -685, -685, -685, -685, - -63, -685, -685, -333, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, 21, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -636, -685, -685, -685, -685, -685, -194, -685, -685, -685, - -685, -685, -685, -685, -685, -217, -685, -685, -513, -685, - -684, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, 22, 23, -685, -685, -685, - -685, -685, -685, -685, -685, -685, 278, -685, -685, 134, - -685, -685, -685, -685, -685, -685, -685, -338, 230, -335, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685, 587, -685, -685, -685, -685, -685, -685, -685, -685, - -685, 277, -685, -685, -190, -685, -685, -685, -685, -685, - -685, -685, 0, -685, 306, -685, -685, 91, -685, -685, - -685, -685, -685, -685, -685, -685, -685, -685, -685, -685, - -685 + -689, -689, 296, 297, 561, -609, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -606, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -149, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, 231, -689, + -689, 107, -689, -689, -689, 595, -689, -689, -689, -689, + -689, -689, -689, 597, -689, 238, -689, -689, -258, -689, + -689, 184, 109, -689, -689, -689, -325, -689, -370, -689, + -689, -689, -689, -689, -689, -689, -689, -340, -689, -689, + -22, -689, -689, -194, -10, -689, 16, -689, -689, -689, + -689, -192, -44, -230, -689, 222, 223, 221, -143, -117, + -175, -94, -689, -321, -689, -689, -689, -689, -689, -689, + -689, -689, 13, -86, 571, -689, -689, -689, -689, -74, + 7, 17, -689, 59, -689, -31, -392, -466, -689, -689, + -689, 15, -689, -689, -620, -138, -689, -689, -7, -689, + -66, -689, -689, -43, -42, -56, -55, -50, 250, -689, + -40, -689, -38, -689, -689, -689, -689, 187, 278, 136, + -689, -689, -689, -37, -689, -32, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -208, -689, -689, -689, -689, + -689, -209, -689, -689, -689, -689, -689, -689, -689, -41, + -689, -689, -689, -689, -689, -689, -689, -111, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -75, -689, -689, -689, -70, -689, -689, -689, -689, + -689, -689, -689, -73, -689, -689, -337, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, 18, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -637, -689, -689, -689, -689, -689, -197, + -689, -689, -689, -689, -689, -689, -689, -689, -233, -689, + -689, -521, -689, -688, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, 20, 22, + -689, -689, -689, -689, -689, -689, -689, -689, -689, 299, + -689, -689, 128, -689, -689, -689, -689, -689, -689, -689, + -324, 219, -317, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 582, -689, -689, -689, -689, -689, + -689, -689, -689, -689, 294, -689, -689, -195, -689, -689, + -689, -689, -689, -689, -689, -9, -689, 324, -689, -689, + 82, -689, -689, -689, -689, -689, -689, -689, -689, -689, + -689, -689, -689, -689 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 2, 3, 27, 28, 182, 186, 190, 191, - 181, 189, 121, 116, 125, 192, 194, 196, 200, 201, - 82, 29, 84, 30, 115, 310, 467, 31, 32, 117, - 314, 469, 679, 760, 738, 761, 739, 740, 777, 858, - 33, 118, 406, 34, 35, 124, 345, 488, 36, 85, - 37, 151, 344, 38, 39, 40, 126, 346, 502, 41, - 227, 377, 571, 42, 270, 43, 102, 258, 355, 44, - 45, 411, 503, 606, 504, 505, 409, 410, 489, 589, - 600, 601, 587, 591, 590, 592, 585, 407, 484, 681, - 330, 232, 305, 109, 369, 46, 490, 83, 296, 446, - 659, 207, 331, 348, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 349, 48, 309, 385, 462, 576, 463, - 464, 678, 491, 50, 308, 359, 422, 518, 519, 617, - 520, 492, 86, 218, 297, 219, 154, 155, 156, 157, - 52, 370, 448, 663, 371, 752, 773, 810, 372, 373, + 0, 1, 2, 3, 27, 28, 183, 187, 191, 192, + 182, 190, 121, 116, 125, 193, 195, 197, 201, 202, + 82, 29, 84, 30, 115, 312, 467, 31, 32, 117, + 316, 469, 679, 759, 737, 760, 738, 739, 777, 858, + 33, 118, 407, 34, 35, 124, 347, 488, 36, 85, + 37, 151, 346, 38, 39, 40, 126, 348, 502, 41, + 228, 378, 571, 42, 270, 43, 102, 259, 355, 44, + 45, 412, 503, 606, 504, 505, 410, 411, 489, 589, + 600, 601, 587, 591, 590, 592, 585, 408, 484, 681, + 332, 233, 307, 109, 370, 46, 490, 83, 298, 446, + 659, 208, 333, 350, 335, 336, 337, 338, 339, 340, + 341, 342, 343, 351, 48, 311, 386, 462, 576, 463, + 464, 678, 491, 50, 310, 360, 422, 518, 519, 617, + 520, 492, 86, 219, 299, 220, 154, 155, 156, 157, + 52, 371, 448, 663, 372, 751, 773, 810, 373, 374, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 187, 360, 524, 424, 525, 621, 523, - 619, 746, 618, 55, 88, 56, 280, 426, 700, 766, + 53, 87, 54, 188, 361, 524, 424, 525, 621, 523, + 619, 745, 618, 55, 88, 56, 282, 426, 699, 766, 802, 849, 628, 827, 850, 828, 851, 892, 846, 829, 852, 830, 848, 847, 881, 883, 891, 57, 58, 59, - 89, 298, 449, 665, 568, 666, 756, 569, 173, 269, - 352, 174, 356, 513, 175, 267, 413, 176, 177, 357, - 514, 178, 179, 358, 515, 180, 374, 447, 661, 721, - 662, 720, 774, 493, 438, 549, 717, 771, 807, 439, - 550, 718, 772, 809, 494, 90, 299, 450, 667, 495, - 688, 763, 800, 845, 496, 598, 508, 602, 743, 782, - 749, 767, 768, 786, 805, 854, 787, 803, 853, 781, - 798, 799, 820, 843, 878, 821, 844, 879, 599, 822, - 789, 806, 855, 793, 808, 856, 837, 857, 886, 863, - 880, 894, 899, 900, 903, 497, 498, 63, 64, 65, - 193, 362, 532, 66, 230, 379, 302, 378, 427, 533, - 636, 637, 638, 639, 640, 634, 641, 534, 553, 535, - 442, 555, 536, 537, 538, 67, 195, 68, 105, 303, - 455, 669, 757, 796, 381, 454, 812, 288, 363, 543, - 428, 544, 645, 646, 545, 711, 769, 546, 712, 770, - 69, 70, 71, 72, 73, 291, 429, 647, 74, 75, - 76, 198, 290, 77, 292, 430, 648, 78, 251, 252, - 315, 253, 814, 841, 815, 79, 111, 306, 456, 670, - 574, 575, 675, 729, 539, 255, 405, 342, 80, 81, - 112, 384, 203, 295, 444, 367, 445, 559, 560, 558, - 562 + 89, 300, 449, 665, 568, 666, 755, 569, 173, 356, + 512, 174, 269, 609, 175, 357, 513, 176, 268, 414, + 177, 178, 358, 514, 179, 180, 359, 515, 181, 375, + 447, 661, 720, 662, 719, 774, 493, 438, 549, 716, + 771, 807, 439, 550, 717, 772, 809, 494, 90, 301, + 450, 667, 495, 688, 762, 800, 845, 496, 598, 508, + 602, 742, 782, 748, 767, 768, 786, 805, 854, 787, + 803, 853, 781, 798, 799, 820, 843, 878, 821, 844, + 879, 599, 822, 789, 806, 855, 793, 808, 856, 837, + 857, 886, 863, 880, 894, 899, 900, 903, 497, 498, + 63, 64, 65, 194, 363, 532, 66, 231, 380, 304, + 379, 427, 533, 636, 637, 638, 639, 640, 634, 641, + 534, 553, 535, 442, 555, 536, 537, 538, 67, 196, + 68, 105, 305, 455, 669, 756, 796, 382, 454, 812, + 290, 364, 543, 428, 544, 645, 646, 545, 710, 769, + 546, 711, 770, 69, 70, 71, 72, 73, 293, 429, + 647, 74, 75, 76, 199, 292, 77, 294, 430, 648, + 78, 252, 253, 317, 254, 814, 841, 815, 79, 111, + 308, 456, 670, 574, 575, 675, 728, 539, 256, 406, + 344, 80, 81, 112, 385, 204, 297, 444, 368, 445, + 559, 560, 558, 562 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1601,314 +1607,313 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 214, 103, - 104, 171, 153, 215, 417, 49, 113, 208, 332, 47, - 51, 152, 211, 60, 61, 62, 212, 595, 213, 440, - 364, 304, 441, 209, 437, 722, 237, 650, 210, 416, - 414, 506, 254, 311, 91, 172, 168, 106, 169, 170, - 736, 106, 307, 106, 171, 418, 419, 420, 542, 824, - 664, 206, 216, 551, 152, 652, 47, 51, 653, 106, - 60, 61, 62, 8, 8, 217, 750, 220, 221, 222, - 223, 595, 824, 737, 451, 225, 790, 825, 826, 228, - 4, 233, 229, 394, 531, 231, 262, -376, 801, 263, - 184, 511, 18, -144, 382, 234, 99, 764, 122, 123, - 825, 826, 402, 403, 404, 184, 823, -376, 18, 453, - 660, 588, 95, 834, 316, 317, 318, 319, 320, 321, - 322, 323, 736, 114, 107, 235, 547, 506, 107, 106, - 107, 264, 265, 324, 325, 184, 184, 197, 271, 234, - 272, 197, 234, 184, 188, 234, 234, -324, 326, 327, - 398, 399, 277, 328, 329, 737, 214, 224, 119, 226, - 202, 215, 431, 432, -145, 208, 509, -146, 506, 122, - 211, 106, 122, -100, 212, 517, 213, 461, 122, 825, - 826, 209, 351, 431, 432, 573, 210, 531, 610, 608, - 400, 401, 433, 120, 751, 94, 96, 434, 98, 101, - 316, 317, 318, 319, 320, 321, 322, 323, -342, 206, - 516, 475, 476, 433, 122, 871, 107, 204, 434, 324, - 325, 435, 436, 817, 818, 819, -468, 673, 477, 478, - 674, -541, 672, 236, 326, 327, 238, 239, 595, 328, - 329, 888, 316, 317, 318, 319, 320, 321, 322, 323, - 479, 480, 481, 895, 391, 392, 393, 240, 107, 256, - 257, 324, 325, 259, 431, 432, 260, 351, 261, 234, - -212, 266, 268, 273, 423, 274, 368, 106, 275, 301, - 831, 276, 329, 278, 313, 527, 528, 279, 281, 282, - 283, 284, 347, 285, 433, 529, 286, 289, 693, 434, - 214, 287, 435, 436, 293, 215, 294, -542, 312, 208, - 300, 354, 408, 350, 211, 343, 353, 365, 212, 152, - 213, 861, 408, 673, 595, 209, 674, 510, 672, 351, - 210, 361, -471, 366, 466, 375, 376, 332, 380, 383, - 526, 388, 651, 389, 395, 421, 452, 390, -44, 396, - 657, 412, 397, 206, 415, 468, 482, 554, 512, 563, - 564, 565, 471, 567, 566, 595, 577, 579, 695, 581, - 580, 582, 172, 168, 615, 169, 170, 586, 584, 603, - 607, 171, 522, 649, 611, 609, 483, 612, 613, 49, - 654, 152, 460, 47, 51, 614, 583, 60, 61, 62, - 616, 552, 620, 556, 557, 696, 431, 432, -300, 754, - 552, 596, 635, 332, 507, 644, 597, 655, 656, 701, - 702, 703, 572, 658, -399, 677, 351, 527, 528, 668, - 530, 733, -580, 682, 683, 691, 433, 529, 684, 423, - 685, 434, 686, 578, 435, 436, 687, 689, 694, 690, - 624, 692, 698, 172, 168, 625, 169, 170, 262, 626, - 704, 627, 171, 522, 594, 596, -47, 705, -47, 706, - 597, 707, 152, 708, 709, 629, 710, 713, 152, 714, - 715, 724, -47, -47, 423, -47, -47, 716, 723, 725, - -47, 726, 727, 730, 623, 630, 631, 632, 731, 732, - 734, 742, 747, -417, 758, 873, 874, 744, 748, 762, - 765, 785, -47, 660, 778, 783, -47, 788, 594, 780, - 642, 643, 792, 784, 794, 172, 168, 795, 169, 170, - -47, 797, 811, -426, 171, 106, 893, 804, 813, 832, - 622, 128, 129, 816, 152, 132, 133, 134, 135, 833, - 836, 507, 835, 840, 842, 12, 859, 860, 862, 106, - 864, 866, 875, 867, 127, 128, 129, 130, 131, 132, + 108, 110, 172, 168, 92, 169, 170, 93, 215, 103, + 104, 171, 153, 216, 416, 49, 113, 209, 47, 51, + 60, 152, 61, 511, 62, 334, 238, 212, 213, 650, + 595, 437, 255, 214, 365, 417, 418, 419, 420, 306, + 210, 211, 506, 721, 440, 172, 168, 309, 169, 170, + 313, 441, 106, 451, 171, 106, 664, 106, 542, 824, + 652, 207, 217, 653, 152, 47, 51, 60, 551, 61, + 735, 62, 106, 736, 749, 218, 8, 221, 222, 223, + 224, 824, 790, -379, 595, 226, 234, 825, 826, 229, + 531, 185, 230, -144, 801, 232, 263, 4, 122, 264, + 235, 395, 236, -379, 547, 763, 431, 432, 91, 825, + 826, 660, 823, 383, 8, 271, 235, 272, 608, 834, + 18, 588, 453, 114, 95, 119, 318, 319, 320, 321, + 322, 323, 324, 325, 106, 120, 433, 506, 185, 107, + 185, 434, 107, 123, 107, 326, 327, 235, 185, 185, + 235, 735, 18, -145, 736, 189, 99, -324, 122, 235, + 328, 329, -342, 279, -146, 330, 331, 215, -100, 122, + 265, 266, 216, 122, 122, 273, 209, 274, 506, 825, + 826, 198, 203, 509, 205, 198, 212, 213, 403, 404, + 405, 517, 214, 531, 461, 750, -471, 573, -544, 210, + 211, 225, 237, 227, 239, 318, 319, 320, 321, 322, + 323, 324, 325, 817, 818, 819, 399, 400, 106, 240, + 207, 107, 401, 402, 326, 327, 241, 516, 479, 480, + 481, 431, 432, 871, 392, 393, 394, 257, 672, 328, + 329, 258, 431, 432, 330, 331, 94, 96, 431, 432, + 595, 673, 527, 528, 98, 101, 475, 476, 674, 888, + 261, 433, 529, 527, 528, 260, 434, 415, 262, 435, + 436, 895, 433, 529, 267, 423, 235, 434, 433, 275, + 435, 436, 831, 434, 477, 478, 435, 436, 369, 318, + 319, 320, 321, 322, 323, 324, 325, 276, 277, -474, + 278, -212, -47, 280, -47, 107, 281, 283, 326, 327, + 284, 215, 287, 285, 303, 286, 216, 288, -47, -47, + 209, -47, -47, 861, 409, 289, -47, 291, 510, 331, + 212, 213, 409, 295, 672, 302, 214, 595, 296, -545, + 526, 106, 315, 210, 211, 466, 314, 673, -47, 345, + 349, 764, -47, 334, 674, 352, 353, 452, 354, 651, + 366, 565, 367, 567, 207, 362, -47, 657, 376, 377, + 381, 384, 389, 390, 396, 421, -44, 391, 595, 413, + 468, 397, 172, 168, 694, 169, 170, 398, 482, 554, + 563, 171, 522, 152, 564, 566, 583, 483, 753, 471, + 49, 152, 460, 47, 51, 60, 577, 61, 579, 62, + 581, 552, 580, 556, 557, 582, 607, 584, 586, 603, + 552, 596, 695, 610, 611, 507, 597, 612, 613, 334, + 649, 615, 572, 614, 616, 620, 700, 701, 702, 423, + 530, 677, -300, 635, 644, 654, 655, 732, 656, 658, + 691, 682, -402, 578, 668, -583, 683, 684, 685, 686, + 624, 687, 689, 172, 168, 690, 169, 170, 692, 693, + 625, 626, 171, 522, 594, 596, 627, 242, 697, 243, + 597, 703, 152, 263, 423, 629, 704, 705, 152, 706, + 707, 708, 709, 244, 245, 714, 246, 247, 712, 713, + 723, 248, 715, 722, 623, 630, 631, 632, 724, 725, + 729, 726, 730, 731, 733, 873, 874, 741, 757, 761, + 746, 765, 747, 249, -420, 778, 660, 250, 594, 783, + 642, 643, 780, 785, 784, 172, 168, 788, 169, 170, + 792, 251, 794, 797, 171, 106, 893, 795, -429, 804, + 622, 128, 129, 811, 152, 132, 133, 134, 135, 813, + 816, 507, 832, 833, 835, 12, 836, 840, 842, 106, + 859, 860, 862, 864, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 671, 12, - 139, 140, 141, 142, 884, 885, 890, 889, 896, 897, - 898, 901, 902, 904, 183, 386, 779, 100, 387, 97, - 605, 865, 719, 474, 185, 745, 548, 699, 676, 697, - 241, 473, 242, 472, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 791, 425, 465, 243, 244, 184, 245, - 246, 604, 596, 570, 247, 868, 870, 597, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 775, 755, 741, - 872, 887, 457, -101, 633, 199, 248, 470, 122, 877, - 249, 728, 561, 443, 680, 0, 0, 0, 0, 0, - 567, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 594, 47, 51, 0, 0, - 60, 61, 62, 0, 0, 0, 0, 0, 92, 0, - 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 596, 521, - 0, 106, 0, 597, 0, 776, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 0, 0, 0, - 0, 92, 0, 0, 753, 0, 0, 0, 0, 596, - 0, 0, 0, 0, 597, 869, 0, 0, 47, 51, - 0, 594, 60, 61, 62, 0, 0, 0, 0, 839, + 139, 140, 141, 142, 866, 867, 875, 890, 884, 896, + 885, 889, 898, 902, 897, 901, 904, 743, 387, 388, + 184, 779, 100, 97, 548, 718, 605, 865, 472, 474, + 473, 186, 744, 696, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 791, 698, 676, 465, 570, 185, 425, + 604, 596, 868, 870, 775, 887, 597, 754, 143, 144, + 145, 146, 147, 148, 149, 150, 107, 872, 633, 740, + 200, 561, 727, -101, 877, 680, 106, 6, 122, 567, + 458, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 206, 137, 0, 0, 457, 470, 12, 0, 0, 141, + 142, 0, 443, 0, 594, 47, 51, 60, 0, 61, + 0, 62, 0, 0, 0, 0, 0, 92, 0, 0, + 752, 0, 758, 0, 0, 0, 0, 0, 0, 0, + 0, 152, 0, 0, 0, 0, 0, 0, 596, 0, + 0, 0, 0, 597, 776, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, + 0, 92, 459, 0, 752, 869, 0, 0, 0, 596, + 0, 0, 0, 0, 597, 0, 47, 51, 60, 0, + 61, 594, 62, 0, 0, 0, 0, 0, 0, 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 838, 0, 0, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 0, - 0, 0, 594, 0, 184, 0, 0, 0, 172, 168, - 0, 169, 170, 408, 408, 0, 0, 171, 882, 0, - 0, 0, 0, 485, 0, -408, 6, 152, 876, 9, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 10, 11, 408, 12, 0, 0, -408, -408, - 13, 0, 0, 431, 432, 486, 487, -408, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 594, 0, 0, 0, 0, 0, 172, 168, + 0, 169, 170, 409, 409, 0, 0, 171, 882, 0, + 0, 0, 0, 485, 0, -411, 6, 152, 876, 9, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 10, 11, 409, 12, 0, 0, -411, -411, + 13, 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -408, -408, -408, -408, -408, -408, - -408, -408, -408, 0, 0, 0, 0, 485, -213, -408, - 6, -86, 0, 9, -408, -408, -408, -408, -408, -408, - -408, -408, -408, -408, -408, -408, 10, 11, 0, 12, - 0, 0, -408, -408, 13, 0, 0, 431, 432, 486, - 487, -408, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 0, 0, 0, 0, 485, -213, -411, + 6, -86, 0, 9, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, + 0, 0, -411, -411, 13, 0, 0, 431, 432, 486, + 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -408, -408, - -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, - 0, 485, -213, -408, 6, -554, 0, 9, -408, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - 10, 11, 0, 12, 0, 0, -408, -408, 13, 0, - 0, 431, 432, 486, 487, -408, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 0, 0, 0, + 0, 485, -213, -411, 6, -557, 0, 9, -411, -411, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + 10, 11, 0, 12, 0, 0, -411, -411, 13, 0, + 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 0, 0, 0, 485, 0, -408, 6, 0, -521, - 9, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, -408, -408, 10, 11, 0, 12, 0, 0, -408, - -408, 13, 0, 0, 431, 432, 486, 487, -408, 0, + 0, 0, -411, -411, -411, -411, -411, -411, -411, -411, + -411, 0, 0, 0, 485, 0, -411, 6, 0, -524, + 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 10, 11, 0, 12, 0, 0, -411, + -411, 13, 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -408, -408, -408, -408, -408, - -408, -408, -408, -408, 0, 0, 0, 0, 485, -213, - -408, 6, -68, 0, 9, -408, -408, -408, -408, -408, - -408, -408, -408, -408, -408, -408, -408, 10, 11, 0, - 12, 0, 0, -408, -408, 13, 0, 0, 431, 432, - 486, 487, -408, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, + -411, -411, -411, -411, 0, 0, 0, 0, 485, -213, + -411, 6, -68, 0, 9, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, + 12, 0, 0, -411, -411, 13, 0, 0, 431, 432, + 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, - -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, - 0, 0, 485, -213, -408, 6, -90, 0, 9, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, - 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, + -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, + 0, 0, 485, -213, -411, 6, -90, 0, 9, -411, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, 10, 11, 0, 12, 0, 0, -411, -411, 13, + 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, - 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 14, 15, 16, 17, 0, -213, 0, 0, - -545, 18, 19, 0, 0, 20, 0, 0, 21, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 24, 25, 735, 106, 6, 0, 0, 458, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, - 137, 0, 0, 0, 0, 12, 26, 0, 141, 142, - -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 14, 15, 16, 17, 0, -213, 0, 0, + -548, 18, 19, 0, 0, 20, 0, 0, 21, 0, + 0, 0, 0, -2, 5, 22, 23, 6, 7, 8, + 9, 0, 24, 25, 734, 0, 0, 0, 0, 0, + 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 26, 0, 0, 0, + -53, 0, 0, 0, 14, 15, 16, 17, 0, 0, + 0, 0, 0, 18, 19, 0, 0, 20, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 22, 23, 521, + 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2, 5, 0, 0, 6, 7, 8, 9, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, + 15, 16, 17, 0, 185, 0, 0, 0, 18, 19, + 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, + 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, + 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, + 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, + 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, + 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, + 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, + 0, 24, 25, 734, 0, 18, 19, 0, 0, 20, + 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 0, 12, 139, 140, 141, 142, 106, 0, + 26, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 0, 0, 0, 0, 139, + 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, - 13, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 14, 15, 16, 17, 0, 0, 0, - 0, 459, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 5, 22, 23, 6, 7, - 8, 9, 0, 24, 25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 26, -213, 0, - 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, - 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, - 0, 21, 0, 0, 0, 0, 0, 5, 22, 23, - 6, 7, 8, 9, 0, 24, 25, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 10, 11, 0, 12, - 0, 0, 5, 0, 13, 6, 7, 8, 9, 26, - -213, 0, 0, 0, 0, 0, 0, 14, 15, 16, - 17, 10, 11, 0, 12, 0, 18, 19, 0, 13, - 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 22, 23, 14, 15, 16, 17, 0, 24, 25, 735, - 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 106, - 0, 26, 24, 25, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, - 139, 140, 141, 142, 106, 0, 26, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 0, 0, 0, 0, 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 0, 0, 0, 0, 0, 185, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 485, 0, -411, 6, + 0, 185, 9, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, + 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, + -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 485, 0, -411, 6, + 0, 0, 9, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, + 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, + -411, 521, 0, 106, 0, 0, 14, 0, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 0, 12, 139, 140, 141, 142, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 106, 0, 0, 0, + 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, + 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 206, 137, 138, 0, 0, + 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, + 0, 0, 0, 593, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 206, 137, + 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, + 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, + 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 206, 0, 0, 0, 0, 0, 0, + 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 0, 0, 0, - 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 485, 0, -408, 6, 0, 184, 9, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, - 0, 0, 431, 432, 486, 487, -408, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 485, 0, -408, 6, 0, 0, 9, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, 10, 11, 0, 12, 0, 0, -408, -408, 13, - 0, 0, 431, 432, 486, 487, -408, 521, 0, 106, - 0, 0, 14, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, - 139, 140, 141, 142, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 142, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 205, 137, 138, 0, 0, 0, 0, 0, 0, - 141, 142, 0, 0, 0, 0, 0, 0, 0, 593, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 205, 137, 138, 0, 0, 0, - 0, 0, 0, 141, 142, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 205, - 0, 0, 0, 0, 0, 0, 0, 0, 141, 142, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 0, 0, + 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107 + 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, + 145, 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 354, 2, 26, 83, 254, 2, - 2, 43, 83, 2, 2, 2, 83, 496, 83, 367, - 290, 232, 367, 83, 367, 663, 112, 550, 83, 353, - 351, 411, 118, 241, 3, 86, 86, 3, 86, 86, - 679, 3, 3, 3, 86, 356, 357, 358, 428, 1, - 3, 83, 84, 19, 86, 3, 49, 49, 3, 3, - 49, 49, 49, 6, 6, 85, 712, 87, 88, 89, - 90, 550, 1, 679, 377, 95, 770, 29, 30, 99, - 0, 76, 102, 329, 427, 105, 8, 96, 782, 11, - 96, 415, 50, 97, 305, 90, 54, 743, 102, 36, - 29, 30, 110, 111, 112, 96, 800, 116, 50, 379, - 116, 491, 54, 807, 74, 75, 76, 77, 78, 79, - 80, 81, 761, 100, 90, 76, 429, 507, 90, 3, - 90, 8, 9, 93, 94, 96, 96, 74, 101, 90, - 103, 78, 90, 96, 22, 90, 90, 99, 108, 109, - 91, 92, 184, 113, 114, 761, 241, 94, 97, 96, - 98, 241, 31, 32, 97, 241, 412, 97, 548, 102, - 241, 3, 102, 97, 241, 421, 241, 385, 102, 29, - 30, 241, 268, 31, 32, 455, 241, 530, 512, 510, - 108, 109, 61, 97, 717, 15, 16, 66, 16, 17, - 74, 75, 76, 77, 78, 79, 80, 81, 97, 241, - 421, 398, 399, 61, 102, 853, 90, 97, 66, 93, - 94, 69, 70, 36, 37, 38, 97, 575, 400, 401, - 575, 97, 575, 3, 108, 109, 98, 98, 717, 113, - 114, 879, 74, 75, 76, 77, 78, 79, 80, 81, - 402, 403, 404, 891, 326, 327, 328, 97, 90, 97, - 49, 93, 94, 98, 31, 32, 97, 353, 98, 90, - 96, 100, 100, 100, 360, 100, 296, 3, 97, 102, - 803, 97, 114, 97, 3, 52, 53, 98, 97, 97, - 97, 97, 8, 98, 61, 62, 97, 97, 609, 66, - 385, 98, 69, 70, 97, 385, 97, 97, 100, 385, - 98, 48, 344, 100, 385, 101, 100, 98, 385, 351, - 385, 844, 354, 671, 803, 385, 671, 413, 671, 415, - 385, 114, 99, 98, 385, 98, 98, 583, 102, 98, - 426, 3, 553, 101, 105, 114, 378, 103, 99, 106, - 561, 103, 107, 385, 103, 101, 103, 59, 103, 99, - 104, 447, 115, 449, 103, 844, 97, 97, 614, 3, - 99, 98, 423, 423, 115, 423, 423, 99, 103, 99, - 101, 423, 423, 32, 101, 103, 406, 101, 101, 386, - 97, 423, 385, 386, 386, 104, 482, 386, 386, 386, - 103, 433, 99, 435, 436, 616, 31, 32, 99, 720, - 442, 496, 99, 659, 411, 99, 496, 97, 97, 630, - 631, 632, 454, 97, 99, 30, 512, 52, 53, 99, - 427, 677, 99, 97, 97, 3, 61, 62, 97, 525, - 97, 66, 97, 463, 69, 70, 97, 97, 101, 97, - 526, 97, 97, 504, 504, 526, 504, 504, 8, 526, - 97, 526, 504, 504, 496, 550, 4, 97, 6, 97, - 550, 97, 504, 97, 97, 526, 97, 97, 510, 97, - 99, 103, 20, 21, 570, 23, 24, 99, 99, 99, - 28, 67, 99, 97, 526, 527, 528, 529, 97, 97, - 97, 3, 115, 36, 97, 855, 856, 101, 114, 97, - 97, 36, 50, 116, 99, 98, 54, 39, 550, 114, - 540, 541, 56, 115, 103, 576, 576, 117, 576, 576, - 68, 100, 60, 115, 576, 3, 886, 115, 3, 103, - 8, 9, 10, 115, 576, 13, 14, 15, 16, 114, - 63, 548, 114, 101, 115, 23, 103, 103, 40, 3, - 97, 102, 114, 99, 8, 9, 10, 11, 12, 13, + 20, 43, 43, 83, 354, 2, 26, 83, 2, 2, + 2, 43, 2, 415, 2, 255, 112, 83, 83, 550, + 496, 368, 118, 83, 292, 356, 357, 358, 359, 233, + 83, 83, 412, 663, 368, 86, 86, 3, 86, 86, + 242, 368, 3, 378, 86, 3, 3, 3, 428, 1, + 3, 83, 84, 3, 86, 49, 49, 49, 19, 49, + 679, 49, 3, 679, 711, 85, 6, 87, 88, 89, + 90, 1, 770, 96, 550, 95, 76, 29, 30, 99, + 427, 96, 102, 97, 782, 105, 8, 0, 102, 11, + 90, 331, 76, 116, 429, 742, 31, 32, 3, 29, + 30, 116, 800, 307, 6, 101, 90, 103, 510, 807, + 50, 491, 380, 100, 54, 97, 74, 75, 76, 77, + 78, 79, 80, 81, 3, 97, 61, 507, 96, 90, + 96, 66, 90, 36, 90, 93, 94, 90, 96, 96, + 90, 760, 50, 97, 760, 22, 54, 99, 102, 90, + 108, 109, 97, 185, 97, 113, 114, 242, 97, 102, + 8, 9, 242, 102, 102, 101, 242, 103, 548, 29, + 30, 74, 98, 413, 97, 78, 242, 242, 110, 111, + 112, 421, 242, 530, 386, 716, 97, 455, 97, 242, + 242, 94, 3, 96, 98, 74, 75, 76, 77, 78, + 79, 80, 81, 36, 37, 38, 91, 92, 3, 98, + 242, 90, 108, 109, 93, 94, 97, 421, 403, 404, + 405, 31, 32, 853, 328, 329, 330, 97, 575, 108, + 109, 49, 31, 32, 113, 114, 15, 16, 31, 32, + 716, 575, 52, 53, 16, 17, 399, 400, 575, 879, + 97, 61, 62, 52, 53, 98, 66, 353, 98, 69, + 70, 891, 61, 62, 100, 361, 90, 66, 61, 100, + 69, 70, 803, 66, 401, 402, 69, 70, 298, 74, + 75, 76, 77, 78, 79, 80, 81, 100, 97, 99, + 97, 96, 4, 97, 6, 90, 98, 97, 93, 94, + 97, 386, 98, 97, 102, 97, 386, 97, 20, 21, + 386, 23, 24, 844, 346, 98, 28, 97, 414, 114, + 386, 386, 354, 97, 671, 98, 386, 803, 97, 97, + 426, 3, 3, 386, 386, 386, 100, 671, 50, 101, + 8, 743, 54, 583, 671, 100, 100, 379, 48, 553, + 98, 447, 98, 449, 386, 114, 68, 561, 98, 98, + 102, 98, 3, 101, 105, 114, 99, 103, 844, 103, + 101, 106, 423, 423, 614, 423, 423, 107, 103, 59, + 99, 423, 423, 415, 104, 103, 482, 407, 719, 115, + 387, 423, 386, 387, 387, 387, 97, 387, 97, 387, + 3, 433, 99, 435, 436, 98, 101, 103, 99, 99, + 442, 496, 616, 101, 101, 412, 496, 101, 101, 659, + 32, 115, 454, 104, 103, 99, 630, 631, 632, 525, + 427, 30, 99, 99, 99, 97, 97, 677, 97, 97, + 3, 97, 99, 463, 99, 99, 97, 97, 97, 97, + 526, 97, 97, 504, 504, 97, 504, 504, 97, 103, + 526, 526, 504, 504, 496, 550, 526, 4, 97, 6, + 550, 97, 504, 8, 570, 526, 97, 97, 510, 97, + 97, 97, 97, 20, 21, 99, 23, 24, 97, 97, + 103, 28, 99, 99, 526, 527, 528, 529, 99, 67, + 97, 99, 97, 97, 97, 855, 856, 3, 97, 97, + 115, 97, 114, 50, 36, 99, 116, 54, 550, 98, + 540, 541, 114, 36, 115, 576, 576, 39, 576, 576, + 56, 68, 103, 100, 576, 3, 886, 117, 115, 115, + 8, 9, 10, 60, 576, 13, 14, 15, 16, 3, + 115, 548, 103, 114, 114, 23, 63, 101, 115, 3, + 103, 103, 40, 97, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, - 24, 25, 26, 27, 115, 115, 102, 114, 97, 115, - 76, 115, 103, 76, 49, 310, 761, 17, 310, 16, - 507, 847, 659, 397, 50, 697, 430, 619, 576, 616, - 4, 396, 6, 395, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 771, 360, 385, 20, 21, 96, 23, - 24, 504, 717, 450, 28, 850, 852, 717, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 756, 721, 681, - 854, 878, 384, 97, 530, 78, 50, 390, 102, 859, - 54, 671, 442, 367, 583, -1, -1, -1, -1, -1, - 756, -1, -1, -1, 68, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 717, 679, 679, -1, -1, - 679, 679, 679, -1, -1, -1, -1, -1, 718, -1, - -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 803, 1, - -1, 3, -1, 803, -1, 757, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, -1, -1, -1, - -1, 771, -1, -1, 771, -1, -1, -1, -1, 844, - -1, -1, -1, -1, 844, 851, -1, -1, 761, 761, - -1, 803, 761, 761, 761, -1, -1, -1, -1, 811, + 24, 25, 26, 27, 102, 99, 114, 102, 115, 97, + 115, 114, 76, 103, 115, 115, 76, 693, 312, 312, + 49, 760, 17, 16, 430, 659, 507, 847, 396, 398, + 397, 50, 696, 616, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 771, 619, 576, 386, 450, 96, 361, + 504, 716, 850, 852, 755, 878, 716, 720, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 854, 530, 681, + 78, 442, 671, 97, 859, 583, 3, 4, 102, 755, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, -1, -1, 385, 391, 23, -1, -1, 26, + 27, -1, 368, -1, 716, 679, 679, 679, -1, 679, + -1, 679, -1, -1, -1, -1, -1, 717, -1, -1, + 717, -1, 734, -1, -1, -1, -1, -1, -1, -1, + -1, 743, -1, -1, -1, -1, -1, -1, 803, -1, + -1, -1, -1, 803, 756, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, + -1, 771, 99, -1, 771, 851, -1, -1, -1, 844, + -1, -1, -1, -1, 844, -1, 760, 760, 760, -1, + 760, 803, 760, -1, -1, -1, -1, -1, -1, 811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 810, -1, -1, 810, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, 844, -1, 96, -1, -1, -1, 869, 869, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 844, -1, -1, -1, -1, -1, 869, 869, -1, 869, 869, 855, 856, -1, -1, 869, 869, -1, -1, -1, -1, 1, -1, 3, 4, 869, 858, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, @@ -1968,85 +1973,84 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, 42, 43, 44, -1, 96, -1, -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, - -1, -1, 71, 72, 73, 3, 4, -1, -1, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, -1, -1, -1, -1, 23, 95, -1, 26, 27, - 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 0, 1, -1, -1, 4, 5, 6, 7, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, - 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 41, 42, 43, 44, -1, -1, -1, - -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, - -1, -1, -1, -1, -1, 1, 64, 65, 4, 5, - 6, 7, -1, 71, 72, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, - -1, -1, 28, -1, -1, -1, -1, 95, 96, -1, - -1, -1, -1, -1, -1, 41, 42, 43, 44, -1, - -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, - -1, 57, -1, -1, -1, -1, -1, 1, 64, 65, - 4, 5, 6, 7, -1, 71, 72, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 20, 21, -1, 23, - -1, -1, 1, -1, 28, 4, 5, 6, 7, 95, - 96, -1, -1, -1, -1, -1, -1, 41, 42, 43, - 44, 20, 21, -1, 23, -1, 50, 51, -1, 28, - 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, - 64, 65, 41, 42, 43, 44, -1, 71, 72, 73, - -1, 50, 51, -1, -1, 54, -1, -1, 57, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, 3, - -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - 24, 25, 26, 27, 3, -1, 95, -1, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, -1, 24, 25, 26, 27, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 0, 1, 64, 65, 4, 5, 6, + 7, -1, 71, 72, 73, -1, -1, -1, -1, -1, + -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, + -1, 28, -1, -1, -1, -1, 95, -1, -1, -1, + 99, -1, -1, -1, 41, 42, 43, 44, -1, -1, + -1, -1, -1, 50, 51, -1, -1, 54, -1, -1, + 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, + -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 1, -1, 3, 4, -1, 96, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, + -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, + 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, + -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, + -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, + 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, + 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, + -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, + 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, + -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, + -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, + -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, 24, 25, 26, 27, 3, -1, + 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, -1, -1, -1, -1, 24, + 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 1, -1, 3, 4, -1, -1, 7, 8, + -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, -1, -1, -1, -1, 96, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, + -1, 96, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, + 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, + -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, + -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, + 35, 1, -1, 3, -1, -1, 41, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, -1, 23, 24, 25, 26, 27, -1, 64, + 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, + -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, + 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, + -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, + -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, 1, -1, 3, - -1, -1, 41, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - 24, 25, 26, 27, -1, 64, 65, -1, -1, -1, + 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, + -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, + -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, 27, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, - -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, - 26, 27, -1, -1, -1, -1, -1, -1, -1, 35, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - -1, -1, -1, 26, 27, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90 + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2059,91 +2063,91 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 362, 413, 414, 415, 416, 417, 421, 443, 445, 468, - 469, 470, 471, 472, 476, 477, 478, 481, 485, 493, - 506, 507, 138, 215, 140, 167, 250, 279, 292, 318, - 363, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 446, 3, 90, 208, 211, - 208, 494, 508, 212, 100, 142, 131, 147, 159, 97, + 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, + 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, + 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, + 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, + 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 329, 332, 335, 336, 339, 340, - 343, 128, 124, 122, 96, 242, 125, 281, 22, 129, - 126, 127, 133, 418, 134, 444, 135, 169, 479, 479, - 136, 137, 98, 510, 97, 17, 208, 219, 268, 271, - 272, 273, 274, 275, 336, 340, 208, 212, 251, 253, - 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, - 422, 212, 209, 76, 90, 76, 3, 241, 98, 98, - 97, 4, 6, 20, 21, 23, 24, 28, 50, 54, - 68, 486, 487, 489, 241, 503, 97, 49, 185, 98, - 97, 98, 8, 11, 8, 9, 100, 333, 100, 327, - 182, 101, 103, 100, 100, 97, 97, 208, 97, 98, - 294, 97, 97, 97, 97, 98, 97, 98, 455, 97, - 480, 473, 482, 97, 97, 511, 216, 252, 319, 364, - 98, 102, 424, 447, 211, 210, 495, 3, 242, 233, - 143, 219, 100, 3, 148, 488, 74, 75, 76, 77, - 78, 79, 80, 81, 93, 94, 108, 109, 113, 114, - 208, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 505, 101, 170, 164, 175, 8, 221, 231, - 100, 241, 328, 100, 48, 186, 330, 337, 341, 243, - 282, 114, 419, 456, 186, 98, 98, 513, 212, 212, - 259, 262, 266, 267, 344, 98, 98, 179, 425, 423, - 102, 452, 211, 98, 509, 234, 120, 121, 3, 101, - 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, - 108, 109, 110, 111, 112, 504, 160, 205, 208, 194, - 195, 189, 103, 334, 254, 103, 328, 205, 231, 231, - 231, 114, 244, 241, 284, 286, 295, 426, 458, 474, - 483, 31, 32, 61, 66, 69, 70, 351, 352, 357, - 435, 437, 438, 502, 512, 514, 217, 345, 260, 320, - 365, 194, 208, 186, 453, 448, 496, 424, 7, 99, + 291, 293, 317, 326, 329, 332, 335, 338, 339, 342, + 343, 346, 128, 124, 122, 96, 242, 125, 281, 22, + 129, 126, 127, 133, 421, 134, 447, 135, 169, 482, + 482, 136, 137, 98, 513, 97, 17, 208, 219, 268, + 271, 272, 273, 274, 275, 339, 343, 208, 212, 251, + 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, + 212, 425, 212, 209, 76, 90, 76, 3, 241, 98, + 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, + 54, 68, 489, 490, 492, 241, 506, 97, 49, 185, + 98, 97, 98, 8, 11, 8, 9, 100, 336, 330, + 182, 101, 103, 101, 103, 100, 100, 97, 97, 208, + 97, 98, 294, 97, 97, 97, 97, 98, 97, 98, + 458, 97, 483, 476, 485, 97, 97, 514, 216, 252, + 319, 367, 98, 102, 427, 450, 211, 210, 498, 3, + 242, 233, 143, 219, 100, 3, 148, 491, 74, 75, + 76, 77, 78, 79, 80, 81, 93, 94, 108, 109, + 113, 114, 208, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 508, 101, 170, 164, 175, 8, + 221, 231, 100, 100, 48, 186, 327, 333, 340, 344, + 243, 282, 114, 422, 459, 186, 98, 98, 516, 212, + 212, 259, 262, 266, 267, 347, 98, 98, 179, 428, + 426, 102, 455, 211, 98, 512, 234, 120, 121, 3, + 101, 103, 229, 229, 229, 221, 105, 106, 107, 91, + 92, 108, 109, 110, 111, 112, 507, 160, 205, 208, + 194, 195, 189, 103, 337, 241, 205, 231, 231, 231, + 231, 114, 244, 241, 284, 286, 295, 429, 461, 477, + 486, 31, 32, 61, 66, 69, 70, 354, 355, 360, + 438, 440, 441, 505, 515, 517, 217, 348, 260, 320, + 368, 194, 208, 186, 456, 451, 499, 427, 7, 99, 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, - 489, 115, 223, 224, 225, 226, 226, 227, 227, 228, + 492, 115, 223, 224, 225, 226, 226, 227, 227, 228, 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, - 214, 240, 249, 351, 362, 367, 372, 413, 414, 45, - 46, 47, 176, 190, 192, 193, 196, 240, 374, 221, - 241, 328, 103, 331, 338, 342, 211, 221, 245, 246, + 214, 240, 249, 354, 365, 370, 375, 416, 417, 45, + 46, 47, 176, 190, 192, 193, 196, 240, 377, 221, + 241, 254, 328, 334, 341, 345, 211, 221, 245, 246, 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, - 240, 351, 420, 427, 435, 437, 440, 441, 442, 502, - 45, 55, 196, 457, 459, 462, 465, 194, 189, 353, - 358, 19, 208, 436, 59, 439, 208, 208, 517, 515, - 516, 436, 518, 99, 104, 241, 103, 241, 322, 325, - 285, 180, 208, 186, 498, 499, 236, 97, 212, 97, + 240, 354, 423, 430, 438, 440, 443, 444, 445, 505, + 45, 55, 196, 460, 462, 465, 468, 194, 189, 356, + 361, 19, 208, 439, 59, 442, 208, 208, 520, 518, + 519, 439, 521, 99, 104, 241, 103, 241, 322, 325, + 285, 180, 208, 186, 501, 502, 236, 97, 212, 97, 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, - 202, 201, 203, 35, 208, 255, 336, 340, 373, 396, - 198, 199, 375, 99, 287, 190, 191, 101, 254, 103, - 328, 101, 101, 101, 104, 115, 103, 247, 290, 288, + 202, 201, 203, 35, 208, 255, 339, 343, 376, 399, + 198, 199, 378, 99, 287, 190, 191, 101, 254, 331, + 101, 101, 101, 101, 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, - 208, 208, 208, 427, 433, 99, 428, 429, 430, 431, - 432, 434, 212, 212, 99, 460, 461, 475, 484, 32, - 396, 211, 3, 3, 97, 97, 97, 211, 97, 218, - 116, 346, 348, 261, 3, 321, 323, 366, 99, 449, - 497, 240, 351, 435, 437, 500, 251, 30, 239, 150, - 505, 207, 97, 97, 97, 97, 97, 97, 368, 97, - 97, 3, 97, 231, 101, 221, 211, 248, 97, 259, - 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, - 97, 463, 466, 97, 97, 99, 99, 354, 359, 220, - 349, 347, 262, 99, 103, 99, 67, 99, 500, 501, - 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, - 155, 208, 3, 376, 101, 247, 289, 115, 114, 378, - 378, 396, 263, 266, 231, 348, 324, 450, 97, 208, - 151, 153, 97, 369, 378, 97, 297, 379, 380, 464, - 467, 355, 360, 264, 350, 325, 208, 156, 99, 154, - 114, 387, 377, 98, 115, 36, 381, 384, 39, 398, - 398, 263, 56, 401, 103, 117, 451, 100, 388, 389, - 370, 398, 298, 385, 115, 382, 399, 356, 402, 361, - 265, 60, 454, 3, 490, 492, 115, 36, 37, 38, - 390, 393, 397, 398, 1, 29, 30, 301, 303, 307, - 309, 396, 103, 114, 398, 114, 63, 404, 266, 208, - 101, 491, 115, 391, 394, 371, 306, 311, 310, 299, - 302, 304, 308, 386, 383, 400, 403, 405, 157, 103, - 103, 396, 40, 407, 97, 221, 102, 99, 303, 241, - 309, 262, 384, 205, 205, 114, 212, 492, 392, 395, - 408, 312, 253, 313, 115, 115, 406, 393, 262, 114, - 102, 314, 305, 205, 409, 262, 97, 115, 76, 410, - 411, 115, 103, 412, 76 + 208, 208, 208, 430, 436, 99, 431, 432, 433, 434, + 435, 437, 212, 212, 99, 463, 464, 478, 487, 32, + 399, 211, 3, 3, 97, 97, 97, 211, 97, 218, + 116, 349, 351, 261, 3, 321, 323, 369, 99, 452, + 500, 240, 354, 438, 440, 503, 251, 30, 239, 150, + 508, 207, 97, 97, 97, 97, 97, 97, 371, 97, + 97, 3, 97, 103, 221, 211, 248, 97, 259, 296, + 211, 211, 211, 97, 97, 97, 97, 97, 97, 97, + 466, 469, 97, 97, 99, 99, 357, 362, 220, 352, + 350, 262, 99, 103, 99, 67, 99, 503, 504, 97, + 97, 97, 221, 97, 73, 123, 139, 152, 154, 155, + 208, 3, 379, 241, 247, 289, 115, 114, 381, 381, + 399, 263, 266, 231, 351, 324, 453, 97, 208, 151, + 153, 97, 372, 381, 254, 97, 297, 382, 383, 467, + 470, 358, 363, 264, 353, 325, 208, 156, 99, 154, + 114, 390, 380, 98, 115, 36, 384, 387, 39, 401, + 401, 263, 56, 404, 103, 117, 454, 100, 391, 392, + 373, 401, 298, 388, 115, 385, 402, 359, 405, 364, + 265, 60, 457, 3, 493, 495, 115, 36, 37, 38, + 393, 396, 400, 401, 1, 29, 30, 301, 303, 307, + 309, 399, 103, 114, 401, 114, 63, 407, 266, 208, + 101, 494, 115, 394, 397, 374, 306, 311, 310, 299, + 302, 304, 308, 389, 386, 403, 406, 408, 157, 103, + 103, 399, 40, 410, 97, 221, 102, 99, 303, 241, + 309, 262, 387, 205, 205, 114, 212, 495, 395, 398, + 411, 312, 253, 313, 115, 115, 409, 396, 262, 114, + 102, 314, 305, 205, 412, 262, 97, 115, 76, 413, + 414, 115, 103, 415, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2184,33 +2188,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 326, 326, 328, 330, 331, - 329, 329, 333, 334, 332, 335, 337, 338, 336, 336, - 339, 341, 342, 340, 340, 343, 345, 344, 346, 347, - 347, 349, 350, 348, 351, 351, 353, 354, 355, 356, - 352, 358, 359, 360, 361, 357, 363, 364, 365, 366, - 362, 368, 369, 370, 371, 367, 372, 372, 372, 373, - 373, 375, 376, 377, 374, 379, 378, 380, 378, 381, - 383, 382, 382, 385, 386, 384, 388, 387, 389, 387, - 390, 392, 391, 391, 394, 395, 393, 396, 396, 396, - 396, 397, 397, 397, 399, 400, 398, 398, 402, 403, - 401, 401, 405, 406, 404, 404, 408, 409, 407, 407, - 410, 412, 411, 411, 413, 414, 415, 415, 416, 418, - 419, 420, 417, 422, 423, 421, 425, 424, 424, 426, - 426, 426, 428, 427, 429, 427, 430, 427, 431, 427, - 432, 427, 433, 427, 434, 427, 435, 436, 436, 437, - 438, 439, 439, 440, 441, 442, 444, 443, 446, 447, - 448, 449, 450, 451, 445, 453, 452, 452, 454, 454, - 456, 457, 455, 458, 458, 459, 460, 459, 461, 459, - 463, 464, 462, 466, 467, 465, 468, 468, 468, 469, - 469, 470, 471, 473, 474, 475, 472, 476, 477, 478, - 480, 479, 482, 483, 484, 481, 485, 485, 486, 486, - 486, 486, 486, 486, 486, 486, 486, 486, 487, 488, - 488, 489, 489, 490, 491, 491, 492, 494, 495, 496, - 497, 493, 498, 498, 499, 499, 500, 500, 501, 500, - 502, 502, 503, 504, 504, 505, 506, 508, 509, 507, - 511, 512, 510, 513, 513, 515, 514, 516, 514, 517, - 514, 518, 514 + 324, 323, 323, 325, 327, 328, 326, 326, 330, 331, + 329, 333, 334, 332, 332, 336, 337, 335, 338, 340, + 341, 339, 339, 342, 344, 345, 343, 343, 346, 348, + 347, 349, 350, 350, 352, 353, 351, 354, 354, 356, + 357, 358, 359, 355, 361, 362, 363, 364, 360, 366, + 367, 368, 369, 365, 371, 372, 373, 374, 370, 375, + 375, 375, 376, 376, 378, 379, 380, 377, 382, 381, + 383, 381, 384, 386, 385, 385, 388, 389, 387, 391, + 390, 392, 390, 393, 395, 394, 394, 397, 398, 396, + 399, 399, 399, 399, 400, 400, 400, 402, 403, 401, + 401, 405, 406, 404, 404, 408, 409, 407, 407, 411, + 412, 410, 410, 413, 415, 414, 414, 416, 417, 418, + 418, 419, 421, 422, 423, 420, 425, 426, 424, 428, + 427, 427, 429, 429, 429, 431, 430, 432, 430, 433, + 430, 434, 430, 435, 430, 436, 430, 437, 430, 438, + 439, 439, 440, 441, 442, 442, 443, 444, 445, 447, + 446, 449, 450, 451, 452, 453, 454, 448, 456, 455, + 455, 457, 457, 459, 460, 458, 461, 461, 462, 463, + 462, 464, 462, 466, 467, 465, 469, 470, 468, 471, + 471, 471, 472, 472, 473, 474, 476, 477, 478, 475, + 479, 480, 481, 483, 482, 485, 486, 487, 484, 488, + 488, 489, 489, 489, 489, 489, 489, 489, 489, 489, + 489, 490, 491, 491, 492, 492, 493, 494, 494, 495, + 497, 498, 499, 500, 496, 501, 501, 502, 502, 503, + 503, 504, 503, 505, 505, 506, 507, 507, 508, 509, + 511, 512, 510, 514, 515, 513, 516, 516, 518, 517, + 519, 517, 520, 517, 521, 517 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2251,33 +2255,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 7, 8, 2, 0, 0, - 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, - 1, 0, 0, 6, 1, 1, 0, 4, 2, 2, - 0, 0, 0, 5, 1, 1, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 10, 1, 1, 0, 1, - 1, 0, 0, 0, 7, 0, 3, 0, 4, 2, - 0, 4, 0, 0, 0, 5, 0, 3, 0, 4, - 2, 0, 4, 0, 0, 0, 5, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 6, 0, 0, 0, - 6, 0, 0, 0, 6, 0, 0, 0, 6, 0, - 2, 0, 4, 0, 3, 3, 1, 1, 2, 0, - 0, 0, 7, 0, 0, 6, 0, 3, 0, 3, - 2, 0, 0, 3, 0, 3, 0, 3, 0, 3, - 0, 3, 0, 3, 0, 3, 3, 1, 1, 3, - 2, 1, 0, 3, 3, 3, 0, 3, 0, 0, - 0, 0, 0, 0, 13, 0, 3, 0, 2, 0, - 0, 0, 5, 2, 0, 1, 0, 3, 0, 3, - 0, 0, 6, 0, 0, 6, 1, 1, 1, 1, - 1, 2, 3, 0, 0, 0, 8, 3, 3, 2, - 0, 3, 0, 0, 0, 8, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, - 0, 2, 5, 2, 3, 0, 1, 0, 0, 0, - 0, 9, 3, 2, 1, 0, 2, 2, 0, 3, - 3, 3, 3, 4, 0, 1, 2, 0, 0, 6, - 0, 0, 5, 2, 0, 0, 3, 0, 3, 0, - 3, 0, 3 + 0, 4, 0, 2, 0, 0, 6, 2, 0, 0, + 9, 0, 0, 6, 2, 0, 0, 6, 6, 0, + 0, 6, 1, 1, 0, 0, 6, 1, 1, 0, + 4, 2, 2, 0, 0, 0, 5, 1, 1, 0, + 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 9, 0, 0, 0, 0, 10, 1, + 1, 0, 1, 1, 0, 0, 0, 7, 0, 3, + 0, 4, 2, 0, 4, 0, 0, 0, 5, 0, + 3, 0, 4, 2, 0, 4, 0, 0, 0, 5, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 6, + 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, + 0, 6, 0, 2, 0, 4, 0, 3, 3, 1, + 1, 2, 0, 0, 0, 7, 0, 0, 6, 0, + 3, 0, 3, 2, 0, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 3, 0, 3, 0, 3, 3, + 1, 1, 3, 2, 1, 0, 3, 3, 3, 0, + 3, 0, 0, 0, 0, 0, 0, 13, 0, 3, + 0, 2, 0, 0, 0, 5, 2, 0, 1, 0, + 3, 0, 3, 0, 0, 6, 0, 0, 6, 1, + 1, 1, 1, 1, 2, 3, 0, 0, 0, 8, + 3, 3, 2, 0, 3, 0, 0, 0, 8, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 3, 0, 2, 5, 2, 3, 0, 1, + 0, 0, 0, 0, 9, 3, 2, 1, 0, 2, + 2, 0, 3, 3, 3, 3, 4, 0, 1, 2, + 0, 0, 6, 0, 0, 5, 2, 0, 0, 3, + 0, 3, 0, 3, 0, 3 }; @@ -2741,7 +2745,7 @@ yyparse (void) switch (yyn) { case 5: /* at_least_one_definition: definitions at_least_one_annotation definition */ -#line 429 "fe/idl.ypp" +#line 434 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -2756,269 +2760,269 @@ yyparse (void) } delete annotations; } -#line 2760 "fe/idl.tab.cpp" +#line 2764 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ -#line 454 "fe/idl.ypp" +#line 459 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2768 "fe/idl.tab.cpp" +#line 2772 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ -#line 458 "fe/idl.ypp" +#line 463 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2776 "fe/idl.tab.cpp" +#line 2780 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ -#line 462 "fe/idl.ypp" +#line 467 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2784 "fe/idl.tab.cpp" +#line 2788 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ -#line 466 "fe/idl.ypp" +#line 471 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2792 "fe/idl.tab.cpp" +#line 2796 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ -#line 470 "fe/idl.ypp" +#line 475 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2800 "fe/idl.tab.cpp" +#line 2804 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ -#line 474 "fe/idl.ypp" +#line 479 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2808 "fe/idl.tab.cpp" +#line 2812 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ -#line 478 "fe/idl.ypp" +#line 483 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2816 "fe/idl.tab.cpp" +#line 2820 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ -#line 482 "fe/idl.ypp" +#line 487 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2824 "fe/idl.tab.cpp" +#line 2828 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ -#line 486 "fe/idl.ypp" +#line 491 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2832 "fe/idl.tab.cpp" +#line 2836 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ -#line 490 "fe/idl.ypp" +#line 495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2840 "fe/idl.tab.cpp" +#line 2844 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ -#line 494 "fe/idl.ypp" +#line 499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2848 "fe/idl.tab.cpp" +#line 2852 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ -#line 498 "fe/idl.ypp" +#line 503 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2856 "fe/idl.tab.cpp" +#line 2860 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ -#line 502 "fe/idl.ypp" +#line 507 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2864 "fe/idl.tab.cpp" +#line 2868 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ -#line 506 "fe/idl.ypp" +#line 511 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2872 "fe/idl.tab.cpp" +#line 2876 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ -#line 510 "fe/idl.ypp" +#line 515 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2880 "fe/idl.tab.cpp" +#line 2884 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ -#line 514 "fe/idl.ypp" +#line 519 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2888 "fe/idl.tab.cpp" +#line 2892 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ -#line 518 "fe/idl.ypp" +#line 523 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2896 "fe/idl.tab.cpp" +#line 2900 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ -#line 522 "fe/idl.ypp" +#line 527 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2904 "fe/idl.tab.cpp" +#line 2908 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ -#line 526 "fe/idl.ypp" +#line 531 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2912 "fe/idl.tab.cpp" +#line 2916 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ -#line 530 "fe/idl.ypp" +#line 535 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2920 "fe/idl.tab.cpp" +#line 2924 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ -#line 534 "fe/idl.ypp" +#line 539 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2928 "fe/idl.tab.cpp" +#line 2932 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ -#line 538 "fe/idl.ypp" +#line 543 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2936 "fe/idl.tab.cpp" +#line 2940 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ -#line 542 "fe/idl.ypp" +#line 547 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2944 "fe/idl.tab.cpp" +#line 2948 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ -#line 546 "fe/idl.ypp" +#line 551 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2952 "fe/idl.tab.cpp" +#line 2956 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ -#line 550 "fe/idl.ypp" +#line 555 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2960 "fe/idl.tab.cpp" +#line 2964 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ -#line 554 "fe/idl.ypp" +#line 559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2968 "fe/idl.tab.cpp" +#line 2972 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ -#line 558 "fe/idl.ypp" +#line 563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2976 "fe/idl.tab.cpp" +#line 2980 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ -#line 562 "fe/idl.ypp" +#line 567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2984 "fe/idl.tab.cpp" +#line 2988 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ -#line 566 "fe/idl.ypp" +#line 571 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2992 "fe/idl.tab.cpp" +#line 2996 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ -#line 570 "fe/idl.ypp" +#line 575 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 3002 "fe/idl.tab.cpp" +#line 3006 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ -#line 579 "fe/idl.ypp" +#line 584 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3010 "fe/idl.tab.cpp" +#line 3014 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ -#line 583 "fe/idl.ypp" +#line 588 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3018 "fe/idl.tab.cpp" +#line 3022 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ -#line 590 "fe/idl.ypp" +#line 595 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -3057,27 +3061,27 @@ yyparse (void) (yyval.dcval) = m; } -#line 3061 "fe/idl.tab.cpp" +#line 3065 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ -#line 629 "fe/idl.ypp" +#line 634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3069 "fe/idl.tab.cpp" +#line 3073 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ -#line 633 "fe/idl.ypp" +#line 638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3077 "fe/idl.tab.cpp" +#line 3081 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ -#line 637 "fe/idl.ypp" +#line 642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); /* @@ -3087,19 +3091,19 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3091 "fe/idl.tab.cpp" +#line 3095 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ -#line 650 "fe/idl.ypp" +#line 655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3099 "fe/idl.tab.cpp" +#line 3103 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ -#line 657 "fe/idl.ypp" +#line 662 "fe/idl.ypp" { // The module_header rule is common to template module, fixed // module and instantiated template module. In the last @@ -3113,11 +3117,11 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3117 "fe/idl.tab.cpp" +#line 3121 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ -#line 671 "fe/idl.ypp" +#line 676 "fe/idl.ypp" { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -3127,11 +3131,11 @@ yyparse (void) return 1; } } -#line 3131 "fe/idl.tab.cpp" +#line 3135 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ -#line 681 "fe/idl.ypp" +#line 686 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -3161,27 +3165,27 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3165 "fe/idl.tab.cpp" +#line 3169 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ -#line 711 "fe/idl.ypp" +#line 716 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3173 "fe/idl.tab.cpp" +#line 3177 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ -#line 715 "fe/idl.ypp" +#line 720 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3181 "fe/idl.tab.cpp" +#line 3185 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ -#line 719 "fe/idl.ypp" +#line 724 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -3200,29 +3204,29 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3204 "fe/idl.tab.cpp" +#line 3208 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ -#line 755 "fe/idl.ypp" +#line 760 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3213 "fe/idl.tab.cpp" +#line 3217 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ -#line 760 "fe/idl.ypp" +#line 765 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3222 "fe/idl.tab.cpp" +#line 3226 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ -#line 765 "fe/idl.ypp" +#line 770 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -3300,29 +3304,29 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3304 "fe/idl.tab.cpp" +#line 3308 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ -#line 846 "fe/idl.ypp" +#line 851 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3313 "fe/idl.tab.cpp" +#line 3317 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ -#line 851 "fe/idl.ypp" +#line 856 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3322 "fe/idl.tab.cpp" +#line 3326 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ -#line 856 "fe/idl.ypp" +#line 861 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -3386,11 +3390,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3390 "fe/idl.tab.cpp" +#line 3394 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ -#line 928 "fe/idl.ypp" +#line 933 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Interface *i = 0; @@ -3428,27 +3432,27 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3432 "fe/idl.tab.cpp" +#line 3436 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ -#line 966 "fe/idl.ypp" +#line 971 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3440 "fe/idl.tab.cpp" +#line 3444 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ -#line 970 "fe/idl.ypp" +#line 975 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3448 "fe/idl.tab.cpp" +#line 3452 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ -#line 974 "fe/idl.ypp" +#line 979 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -3458,28 +3462,28 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3462 "fe/idl.tab.cpp" +#line 3466 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ -#line 987 "fe/idl.ypp" +#line 992 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3470 "fe/idl.tab.cpp" +#line 3474 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ -#line 991 "fe/idl.ypp" +#line 996 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3479 "fe/idl.tab.cpp" +#line 3483 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ -#line 999 "fe/idl.ypp" +#line 1004 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3515,11 +3519,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3519 "fe/idl.tab.cpp" +#line 3523 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ -#line 1036 "fe/idl.ypp" +#line 1041 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3548,11 +3552,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3552 "fe/idl.tab.cpp" +#line 3556 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ -#line 1066 "fe/idl.ypp" +#line 1071 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3581,45 +3585,45 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3585 "fe/idl.tab.cpp" +#line 3589 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ -#line 1098 "fe/idl.ypp" +#line 1103 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3593 "fe/idl.tab.cpp" +#line 3597 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ -#line 1102 "fe/idl.ypp" +#line 1107 "fe/idl.ypp" { (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3602 "fe/idl.tab.cpp" +#line 3606 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ -#line 1107 "fe/idl.ypp" +#line 1112 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3610 "fe/idl.tab.cpp" +#line 3614 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ -#line 1121 "fe/idl.ypp" +#line 1126 "fe/idl.ypp" { idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3619 "fe/idl.tab.cpp" +#line 3623 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ -#line 1130 "fe/idl.ypp" +#line 1135 "fe/idl.ypp" { FE_OBVHeader *&valuetype_header = (yyvsp[0].vhval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -3666,27 +3670,27 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3670 "fe/idl.tab.cpp" +#line 3674 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ -#line 1177 "fe/idl.ypp" +#line 1182 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3678 "fe/idl.tab.cpp" +#line 3682 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ -#line 1181 "fe/idl.ypp" +#line 1186 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3686 "fe/idl.tab.cpp" +#line 3690 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ -#line 1185 "fe/idl.ypp" +#line 1190 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3707,11 +3711,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3711 "fe/idl.tab.cpp" +#line 3715 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ -#line 1210 "fe/idl.ypp" +#line 1215 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_ValueType *v = 0; @@ -3754,27 +3758,27 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3758 "fe/idl.tab.cpp" +#line 3762 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ -#line 1253 "fe/idl.ypp" +#line 1258 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3766 "fe/idl.tab.cpp" +#line 3770 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ -#line 1257 "fe/idl.ypp" +#line 1262 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3774 "fe/idl.tab.cpp" +#line 3778 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ -#line 1261 "fe/idl.ypp" +#line 1266 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3785,19 +3789,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3789 "fe/idl.tab.cpp" +#line 3793 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ -#line 1276 "fe/idl.ypp" +#line 1281 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3797 "fe/idl.tab.cpp" +#line 3801 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ -#line 1280 "fe/idl.ypp" +#line 1285 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3828,60 +3832,60 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3832 "fe/idl.tab.cpp" +#line 3836 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ -#line 1314 "fe/idl.ypp" +#line 1319 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3840 "fe/idl.tab.cpp" +#line 3844 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ -#line 1318 "fe/idl.ypp" +#line 1323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3849 "fe/idl.tab.cpp" +#line 3853 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ -#line 1326 "fe/idl.ypp" +#line 1331 "fe/idl.ypp" { (yyval.bval) = true; } -#line 3857 "fe/idl.tab.cpp" +#line 3861 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ -#line 1330 "fe/idl.ypp" +#line 1335 "fe/idl.ypp" { (yyval.bval) = false; } -#line 3865 "fe/idl.tab.cpp" +#line 3869 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ -#line 1338 "fe/idl.ypp" +#line 1343 "fe/idl.ypp" { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3873 "fe/idl.tab.cpp" +#line 3877 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ -#line 1342 "fe/idl.ypp" +#line 1347 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3881 "fe/idl.tab.cpp" +#line 3885 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ -#line 1350 "fe/idl.ypp" +#line 1355 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3904,11 +3908,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3908 "fe/idl.tab.cpp" +#line 3912 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ -#line 1374 "fe/idl.ypp" +#line 1379 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3933,11 +3937,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3937 "fe/idl.tab.cpp" +#line 3941 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ -#line 1402 "fe/idl.ypp" +#line 1407 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -4000,11 +4004,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 4004 "fe/idl.tab.cpp" +#line 4008 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ -#line 1468 "fe/idl.ypp" +#line 1473 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decls *&decls = (yyvsp[0].decls_val); @@ -4023,19 +4027,19 @@ yyparse (void) delete annotations; delete decls; } -#line 4027 "fe/idl.tab.cpp" +#line 4031 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ -#line 1487 "fe/idl.ypp" +#line 1492 "fe/idl.ypp" { delete (yyvsp[0].decls_val); } -#line 4035 "fe/idl.tab.cpp" +#line 4039 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ -#line 1496 "fe/idl.ypp" +#line 1501 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4046,11 +4050,11 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4050 "fe/idl.tab.cpp" +#line 4054 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ -#line 1507 "fe/idl.ypp" +#line 1512 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4061,35 +4065,35 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4065 "fe/idl.tab.cpp" +#line 4069 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ -#line 1518 "fe/idl.ypp" +#line 1523 "fe/idl.ypp" { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4073 "fe/idl.tab.cpp" +#line 4077 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ -#line 1525 "fe/idl.ypp" +#line 1530 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4081 "fe/idl.tab.cpp" +#line 4085 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ -#line 1529 "fe/idl.ypp" +#line 1534 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4089 "fe/idl.tab.cpp" +#line 4093 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ -#line 1536 "fe/idl.ypp" +#line 1541 "fe/idl.ypp" { AST_Field::Visibility &visibility = (yyvsp[-1].vival); AST_Decls *&decls_ptr = (yyvsp[0].decls_val); @@ -4107,11 +4111,11 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4111 "fe/idl.tab.cpp" +#line 4115 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ -#line 1562 "fe/idl.ypp" +#line 1567 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decl *d = (yyvsp[0].dcval); @@ -4126,160 +4130,160 @@ yyparse (void) } delete annotations; } -#line 4130 "fe/idl.tab.cpp" +#line 4134 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ -#line 1581 "fe/idl.ypp" +#line 1586 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4138 "fe/idl.tab.cpp" +#line 4142 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ -#line 1585 "fe/idl.ypp" +#line 1590 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4146 "fe/idl.tab.cpp" +#line 4150 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ -#line 1589 "fe/idl.ypp" +#line 1594 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4154 "fe/idl.tab.cpp" +#line 4158 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ -#line 1593 "fe/idl.ypp" +#line 1598 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4162 "fe/idl.tab.cpp" +#line 4166 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ -#line 1597 "fe/idl.ypp" +#line 1602 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4170 "fe/idl.tab.cpp" +#line 4174 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ -#line 1601 "fe/idl.ypp" +#line 1606 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4178 "fe/idl.tab.cpp" +#line 4182 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ -#line 1605 "fe/idl.ypp" +#line 1610 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4186 "fe/idl.tab.cpp" +#line 4190 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ -#line 1609 "fe/idl.ypp" +#line 1614 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4194 "fe/idl.tab.cpp" +#line 4198 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ -#line 1613 "fe/idl.ypp" +#line 1618 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4202 "fe/idl.tab.cpp" +#line 4206 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ -#line 1617 "fe/idl.ypp" +#line 1622 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4210 "fe/idl.tab.cpp" +#line 4214 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ -#line 1621 "fe/idl.ypp" +#line 1626 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4218 "fe/idl.tab.cpp" +#line 4222 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ -#line 1625 "fe/idl.ypp" +#line 1630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4226 "fe/idl.tab.cpp" +#line 4230 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ -#line 1629 "fe/idl.ypp" +#line 1634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4234 "fe/idl.tab.cpp" +#line 4238 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ -#line 1633 "fe/idl.ypp" +#line 1638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4242 "fe/idl.tab.cpp" +#line 4246 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ -#line 1637 "fe/idl.ypp" +#line 1642 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4250 "fe/idl.tab.cpp" +#line 4254 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ -#line 1641 "fe/idl.ypp" +#line 1646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 4260 "fe/idl.tab.cpp" +#line 4264 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ -#line 1650 "fe/idl.ypp" +#line 1655 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.nlval), UTL_NameList ((yyvsp[-1].idlist), (yyvsp[0].nlval)), 1); } -#line 4271 "fe/idl.tab.cpp" +#line 4275 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ -#line 1661 "fe/idl.ypp" +#line 1666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4279 "fe/idl.tab.cpp" +#line 4283 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ -#line 1665 "fe/idl.ypp" +#line 1670 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -4299,19 +4303,19 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4303 "fe/idl.tab.cpp" +#line 4307 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ -#line 1685 "fe/idl.ypp" +#line 1690 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 4311 "fe/idl.tab.cpp" +#line 4315 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ -#line 1692 "fe/idl.ypp" +#line 1697 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4320,19 +4324,19 @@ yyparse (void) 0), 1); } -#line 4324 "fe/idl.tab.cpp" +#line 4328 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ -#line 1701 "fe/idl.ypp" +#line 1706 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4332 "fe/idl.tab.cpp" +#line 4336 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ -#line 1705 "fe/idl.ypp" +#line 1710 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4352,11 +4356,11 @@ yyparse (void) sn), 1); } -#line 4356 "fe/idl.tab.cpp" +#line 4360 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ -#line 1726 "fe/idl.ypp" +#line 1731 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -4366,11 +4370,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4370 "fe/idl.tab.cpp" +#line 4374 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ -#line 1736 "fe/idl.ypp" +#line 1741 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4382,11 +4386,11 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4386 "fe/idl.tab.cpp" +#line 4390 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ -#line 1750 "fe/idl.ypp" +#line 1755 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.idval), Identifier ((yyvsp[0].strval)), @@ -4394,11 +4398,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4398 "fe/idl.tab.cpp" +#line 4402 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ -#line 1760 "fe/idl.ypp" +#line 1765 "fe/idl.ypp" { /* defining_id is a defining identifier whereas id is usually a reference to a defining identifier */ @@ -4406,11 +4410,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4410 "fe/idl.tab.cpp" +#line 4414 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ -#line 1771 "fe/idl.ypp" +#line 1776 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -4453,11 +4457,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4457 "fe/idl.tab.cpp" +#line 4461 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ -#line 1815 "fe/idl.ypp" +#line 1820 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4483,11 +4487,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4487 "fe/idl.tab.cpp" +#line 4491 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ -#line 1842 "fe/idl.ypp" +#line 1847 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4515,43 +4519,43 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4519 "fe/idl.tab.cpp" +#line 4523 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ -#line 1873 "fe/idl.ypp" +#line 1878 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4527 "fe/idl.tab.cpp" +#line 4531 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ -#line 1877 "fe/idl.ypp" +#line 1882 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4535 "fe/idl.tab.cpp" +#line 4539 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ -#line 1881 "fe/idl.ypp" +#line 1886 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4543 "fe/idl.tab.cpp" +#line 4547 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ -#line 1885 "fe/idl.ypp" +#line 1890 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4551 "fe/idl.tab.cpp" +#line 4555 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ -#line 1889 "fe/idl.ypp" +#line 1894 "fe/idl.ypp" { (yyval.dcval) = 0; UTL_ScopedName n ((yyvsp[-4].idval), 0); @@ -4607,27 +4611,27 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4611 "fe/idl.tab.cpp" +#line 4615 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ -#line 1954 "fe/idl.ypp" +#line 1959 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_string; } -#line 4619 "fe/idl.tab.cpp" +#line 4623 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ -#line 1958 "fe/idl.ypp" +#line 1963 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4627 "fe/idl.tab.cpp" +#line 4631 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ -#line 1962 "fe/idl.ypp" +#line 1967 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_PredefinedType *c = 0; @@ -4693,11 +4697,11 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4697 "fe/idl.tab.cpp" +#line 4701 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ -#line 2035 "fe/idl.ypp" +#line 2040 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4706,11 +4710,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4710 "fe/idl.tab.cpp" +#line 4714 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ -#line 2048 "fe/idl.ypp" +#line 2053 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4719,11 +4723,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4723 "fe/idl.tab.cpp" +#line 4727 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ -#line 2061 "fe/idl.ypp" +#line 2066 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4732,11 +4736,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4736 "fe/idl.tab.cpp" +#line 4740 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ -#line 2074 "fe/idl.ypp" +#line 2079 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4745,11 +4749,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4749 "fe/idl.tab.cpp" +#line 4753 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ -#line 2083 "fe/idl.ypp" +#line 2088 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4758,11 +4762,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4762 "fe/idl.tab.cpp" +#line 4766 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ -#line 2096 "fe/idl.ypp" +#line 2101 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4771,11 +4775,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4775 "fe/idl.tab.cpp" +#line 4779 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ -#line 2105 "fe/idl.ypp" +#line 2110 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4784,11 +4788,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4788 "fe/idl.tab.cpp" +#line 4792 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ -#line 2118 "fe/idl.ypp" +#line 2123 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4797,11 +4801,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4801 "fe/idl.tab.cpp" +#line 4805 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ -#line 2127 "fe/idl.ypp" +#line 2132 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4810,11 +4814,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4814 "fe/idl.tab.cpp" +#line 4818 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ -#line 2136 "fe/idl.ypp" +#line 2141 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4823,11 +4827,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4827 "fe/idl.tab.cpp" +#line 4831 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ -#line 2149 "fe/idl.ypp" +#line 2154 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4836,11 +4840,11 @@ yyparse (void) 0 ); } -#line 4840 "fe/idl.tab.cpp" +#line 4844 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ -#line 2158 "fe/idl.ypp" +#line 2163 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4849,11 +4853,11 @@ yyparse (void) 0 ); } -#line 4853 "fe/idl.tab.cpp" +#line 4857 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ -#line 2167 "fe/idl.ypp" +#line 2172 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4862,11 +4866,11 @@ yyparse (void) 0 ); } -#line 4866 "fe/idl.tab.cpp" +#line 4870 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ -#line 2179 "fe/idl.ypp" +#line 2184 "fe/idl.ypp" { UTL_ScopedName *name = (yyvsp[0].idlist); @@ -4923,107 +4927,107 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4927 "fe/idl.tab.cpp" +#line 4931 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ -#line 2237 "fe/idl.ypp" +#line 2242 "fe/idl.ypp" { (yyval.exval) = (yyvsp[-1].exval); } -#line 4935 "fe/idl.tab.cpp" +#line 4939 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ -#line 2244 "fe/idl.ypp" +#line 2249 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4943 "fe/idl.tab.cpp" +#line 4947 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ -#line 2248 "fe/idl.ypp" +#line 2253 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4952 "fe/idl.tab.cpp" +#line 4956 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ -#line 2253 "fe/idl.ypp" +#line 2258 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); (yyvsp[0].sval)->destroy (); delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4963 "fe/idl.tab.cpp" +#line 4967 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ -#line 2260 "fe/idl.ypp" +#line 2265 "fe/idl.ypp" { char *wide_string = (yyvsp[0].wsval); (yyval.exval) = idl_global->gen ()->create_expr (wide_string); ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4974 "fe/idl.tab.cpp" +#line 4978 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ -#line 2267 "fe/idl.ypp" +#line 2272 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4982 "fe/idl.tab.cpp" +#line 4986 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ -#line 2271 "fe/idl.ypp" +#line 2276 "fe/idl.ypp" { ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4991 "fe/idl.tab.cpp" +#line 4995 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ -#line 2276 "fe/idl.ypp" +#line 2281 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4999 "fe/idl.tab.cpp" +#line 5003 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ -#line 2280 "fe/idl.ypp" +#line 2285 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5007 "fe/idl.tab.cpp" +#line 5011 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ -#line 2284 "fe/idl.ypp" +#line 2289 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5015 "fe/idl.tab.cpp" +#line 5019 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ -#line 2288 "fe/idl.ypp" +#line 2293 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5023 "fe/idl.tab.cpp" +#line 5027 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ -#line 2295 "fe/idl.ypp" +#line 2300 "fe/idl.ypp" { int good_expression = 1; (yyvsp[0].exval)->evaluate (AST_Expression::EK_positive_int); @@ -5088,11 +5092,11 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5092 "fe/idl.tab.cpp" +#line 5096 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ -#line 2363 "fe/idl.ypp" +#line 2368 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5109,11 +5113,11 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5113 "fe/idl.tab.cpp" +#line 5117 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ -#line 2380 "fe/idl.ypp" +#line 2385 "fe/idl.ypp" { Identifier *id = (yyvsp[-4].idval); idl_global->scopes ().pop (); @@ -5122,20 +5126,20 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5126 "fe/idl.tab.cpp" +#line 5130 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ -#line 2400 "fe/idl.ypp" +#line 2405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5135 "fe/idl.tab.cpp" +#line 5139 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ -#line 2414 "fe/idl.ypp" +#line 2419 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); UTL_Scope *root = idl_global->scopes ().bottom (); @@ -5188,27 +5192,27 @@ yyparse (void) delete result; } } -#line 5192 "fe/idl.tab.cpp" +#line 5196 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ -#line 2470 "fe/idl.ypp" +#line 2475 "fe/idl.ypp" { (yyval.exval) = (yyvsp[0].exval); } -#line 5200 "fe/idl.tab.cpp" +#line 5204 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ -#line 2474 "fe/idl.ypp" +#line 2479 "fe/idl.ypp" { (yyval.exval) = 0; } -#line 5208 "fe/idl.tab.cpp" +#line 5212 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ -#line 2481 "fe/idl.ypp" +#line 2486 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5218,11 +5222,11 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5222 "fe/idl.tab.cpp" +#line 5226 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ -#line 2494 "fe/idl.ypp" +#line 2499 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5232,19 +5236,19 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5236 "fe/idl.tab.cpp" +#line 5240 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ -#line 2504 "fe/idl.ypp" +#line 2509 "fe/idl.ypp" { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5244 "fe/idl.tab.cpp" +#line 5248 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ -#line 2511 "fe/idl.ypp" +#line 2516 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5301,11 +5305,11 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5305 "fe/idl.tab.cpp" +#line 5309 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ -#line 2568 "fe/idl.ypp" +#line 2573 "fe/idl.ypp" { idl_global->ignore_lookup_errors_ = false; stack_based_lookup_for_primary_expr = false; @@ -5333,27 +5337,27 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5337 "fe/idl.tab.cpp" +#line 5341 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ -#line 2599 "fe/idl.ypp" +#line 2604 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5345 "fe/idl.tab.cpp" +#line 5349 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ -#line 2603 "fe/idl.ypp" +#line 2608 "fe/idl.ypp" { (yyval.annotation_params_val) = 0; } -#line 5353 "fe/idl.tab.cpp" +#line 5357 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ -#line 2610 "fe/idl.ypp" +#line 2615 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = new AST_Annotation_Appl::Params; AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; @@ -5362,47 +5366,47 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5366 "fe/idl.tab.cpp" +#line 5370 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ -#line 2619 "fe/idl.ypp" +#line 2624 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5374 "fe/idl.tab.cpp" +#line 5378 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ -#line 2626 "fe/idl.ypp" +#line 2631 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5384 "fe/idl.tab.cpp" +#line 5388 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ -#line 2634 "fe/idl.ypp" +#line 2639 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5394 "fe/idl.tab.cpp" +#line 5398 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ -#line 2640 "fe/idl.ypp" +#line 2645 "fe/idl.ypp" { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5402 "fe/idl.tab.cpp" +#line 5406 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ -#line 2647 "fe/idl.ypp" +#line 2652 "fe/idl.ypp" { AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; param->id = (yyvsp[-2].idval); @@ -5411,52 +5415,52 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5415 "fe/idl.tab.cpp" +#line 5419 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ -#line 2659 "fe/idl.ypp" +#line 2664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5424 "fe/idl.tab.cpp" +#line 5428 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ -#line 2664 "fe/idl.ypp" +#line 2669 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5432 "fe/idl.tab.cpp" +#line 5436 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ -#line 2668 "fe/idl.ypp" +#line 2673 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5440 "fe/idl.tab.cpp" +#line 5444 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ -#line 2672 "fe/idl.ypp" +#line 2677 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5448 "fe/idl.tab.cpp" +#line 5452 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ -#line 2676 "fe/idl.ypp" +#line 2681 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5456 "fe/idl.tab.cpp" +#line 5460 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ -#line 2680 "fe/idl.ypp" +#line 2685 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Native *node = 0; @@ -5484,27 +5488,27 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5488 "fe/idl.tab.cpp" +#line 5492 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ -#line 2708 "fe/idl.ypp" +#line 2713 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 5496 "fe/idl.tab.cpp" +#line 5500 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ -#line 2715 "fe/idl.ypp" +#line 2720 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5504 "fe/idl.tab.cpp" +#line 5508 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ -#line 2719 "fe/idl.ypp" +#line 2724 "fe/idl.ypp" { AST_Decl *type_spec = (yyvsp[-2].dcval); UTL_DeclList *decls = (yyvsp[0].dlval); @@ -5568,22 +5572,22 @@ yyparse (void) (yyval.dcval) = t; } -#line 5572 "fe/idl.tab.cpp" +#line 5576 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ -#line 2791 "fe/idl.ypp" +#line 2796 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 5583 "fe/idl.tab.cpp" +#line 5587 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ -#line 2799 "fe/idl.ypp" +#line 2804 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -5606,30 +5610,30 @@ yyparse (void) (yyval.dcval) = d; } -#line 5610 "fe/idl.tab.cpp" +#line 5614 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ -#line 2855 "fe/idl.ypp" +#line 2860 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5621 "fe/idl.tab.cpp" +#line 5625 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ -#line 2866 "fe/idl.ypp" +#line 2871 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5629 "fe/idl.tab.cpp" +#line 5633 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ -#line 2870 "fe/idl.ypp" +#line 2875 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5649,38 +5653,38 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5653 "fe/idl.tab.cpp" +#line 5657 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ -#line 2890 "fe/idl.ypp" +#line 2895 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5661 "fe/idl.tab.cpp" +#line 5665 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ -#line 2902 "fe/idl.ypp" +#line 2907 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5672 "fe/idl.tab.cpp" +#line 5676 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ -#line 2913 "fe/idl.ypp" +#line 2918 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5680 "fe/idl.tab.cpp" +#line 5684 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ -#line 2917 "fe/idl.ypp" +#line 2922 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5700,19 +5704,19 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5704 "fe/idl.tab.cpp" +#line 5708 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ -#line 2937 "fe/idl.ypp" +#line 2942 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5712 "fe/idl.tab.cpp" +#line 5716 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ -#line 2944 "fe/idl.ypp" +#line 2949 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5725,11 +5729,11 @@ yyparse (void) 0), 1); } -#line 5729 "fe/idl.tab.cpp" +#line 5733 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ -#line 2960 "fe/idl.ypp" +#line 2965 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5744,220 +5748,220 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5748 "fe/idl.tab.cpp" +#line 5752 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ -#line 2983 "fe/idl.ypp" +#line 2988 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5756 "fe/idl.tab.cpp" +#line 5760 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ -#line 2987 "fe/idl.ypp" +#line 2992 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5764 "fe/idl.tab.cpp" +#line 5768 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ -#line 2991 "fe/idl.ypp" +#line 2996 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5772 "fe/idl.tab.cpp" +#line 5776 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ -#line 2995 "fe/idl.ypp" +#line 3000 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_int8; } -#line 5780 "fe/idl.tab.cpp" +#line 5784 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ -#line 2999 "fe/idl.ypp" +#line 3004 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5788 "fe/idl.tab.cpp" +#line 5792 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ -#line 3003 "fe/idl.ypp" +#line 3008 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5796 "fe/idl.tab.cpp" +#line 5800 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ -#line 3007 "fe/idl.ypp" +#line 3012 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5804 "fe/idl.tab.cpp" +#line 5808 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ -#line 3014 "fe/idl.ypp" +#line 3019 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5812 "fe/idl.tab.cpp" +#line 5816 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ -#line 3018 "fe/idl.ypp" +#line 3023 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5820 "fe/idl.tab.cpp" +#line 5824 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ -#line 3022 "fe/idl.ypp" +#line 3027 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5828 "fe/idl.tab.cpp" +#line 5832 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ -#line 3026 "fe/idl.ypp" +#line 3031 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5836 "fe/idl.tab.cpp" +#line 5840 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ -#line 3030 "fe/idl.ypp" +#line 3035 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5844 "fe/idl.tab.cpp" +#line 5848 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ -#line 3034 "fe/idl.ypp" +#line 3039 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5852 "fe/idl.tab.cpp" +#line 5856 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ -#line 3038 "fe/idl.ypp" +#line 3043 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5860 "fe/idl.tab.cpp" +#line 5864 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ -#line 3045 "fe/idl.ypp" +#line 3050 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_double; } -#line 5868 "fe/idl.tab.cpp" +#line 5872 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ -#line 3049 "fe/idl.ypp" +#line 3054 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_float; } -#line 5876 "fe/idl.tab.cpp" +#line 5880 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ -#line 3053 "fe/idl.ypp" +#line 3058 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5884 "fe/idl.tab.cpp" +#line 5888 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ -#line 3060 "fe/idl.ypp" +#line 3065 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5892 "fe/idl.tab.cpp" +#line 5896 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ -#line 3067 "fe/idl.ypp" +#line 3072 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_char; } -#line 5900 "fe/idl.tab.cpp" +#line 5904 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ -#line 3071 "fe/idl.ypp" +#line 3076 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5908 "fe/idl.tab.cpp" +#line 5912 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ -#line 3078 "fe/idl.ypp" +#line 3083 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_octet; } -#line 5916 "fe/idl.tab.cpp" +#line 5920 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ -#line 3085 "fe/idl.ypp" +#line 3090 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_bool; } -#line 5924 "fe/idl.tab.cpp" +#line 5928 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ -#line 3092 "fe/idl.ypp" +#line 3097 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_any; } -#line 5932 "fe/idl.tab.cpp" +#line 5936 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ -#line 3099 "fe/idl.ypp" +#line 3104 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_object; } -#line 5940 "fe/idl.tab.cpp" +#line 5944 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ -#line 3106 "fe/idl.ypp" +#line 3111 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5948 "fe/idl.tab.cpp" +#line 5952 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ -#line 3110 "fe/idl.ypp" +#line 3115 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5957 "fe/idl.tab.cpp" +#line 5961 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ -#line 3119 "fe/idl.ypp" +#line 3124 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5988,27 +5992,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5992 "fe/idl.tab.cpp" +#line 5996 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ -#line 3150 "fe/idl.ypp" +#line 3155 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6000 "fe/idl.tab.cpp" +#line 6004 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ -#line 3154 "fe/idl.ypp" +#line 3159 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6008 "fe/idl.tab.cpp" +#line 6012 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ -#line 3158 "fe/idl.ypp" +#line 3163 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -6020,11 +6024,11 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6024 "fe/idl.tab.cpp" +#line 6028 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ -#line 3180 "fe/idl.ypp" +#line 3185 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decls *members = (yyvsp[0].decls_val); @@ -6038,27 +6042,27 @@ yyparse (void) delete annotations; delete members; } -#line 6042 "fe/idl.tab.cpp" +#line 6046 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ -#line 3197 "fe/idl.ypp" +#line 3202 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6050 "fe/idl.tab.cpp" +#line 6054 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ -#line 3201 "fe/idl.ypp" +#line 3206 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6058 "fe/idl.tab.cpp" +#line 6062 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ -#line 3205 "fe/idl.ypp" +#line 3210 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); FE_Declarator *d = 0; @@ -6112,53 +6116,53 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6116 "fe/idl.tab.cpp" +#line 6120 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ -#line 3259 "fe/idl.ypp" +#line 3264 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6124 "fe/idl.tab.cpp" +#line 6128 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ -#line 3263 "fe/idl.ypp" +#line 3268 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6133 "fe/idl.tab.cpp" +#line 6137 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ -#line 3271 "fe/idl.ypp" +#line 3276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6141 "fe/idl.tab.cpp" +#line 6145 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ -#line 3275 "fe/idl.ypp" +#line 3280 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6150 "fe/idl.tab.cpp" +#line 6154 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ -#line 3283 "fe/idl.ypp" +#line 3288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6158 "fe/idl.tab.cpp" +#line 6162 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ -#line 3287 "fe/idl.ypp" +#line 3292 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[-3].idval), 0); @@ -6191,19 +6195,19 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6195 "fe/idl.tab.cpp" +#line 6199 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ -#line 3320 "fe/idl.ypp" +#line 3325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6203 "fe/idl.tab.cpp" +#line 6207 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ -#line 3324 "fe/idl.ypp" +#line 3329 "fe/idl.ypp" { /* * The top of the scopes must be an empty union we added after we @@ -6262,27 +6266,27 @@ yyparse (void) delete disc_annotations; } -#line 6266 "fe/idl.tab.cpp" +#line 6270 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ -#line 3383 "fe/idl.ypp" +#line 3388 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6274 "fe/idl.tab.cpp" +#line 6278 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ -#line 3387 "fe/idl.ypp" +#line 3392 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6282 "fe/idl.tab.cpp" +#line 6286 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ -#line 3391 "fe/idl.ypp" +#line 3396 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -6298,22 +6302,22 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6302 "fe/idl.tab.cpp" +#line 6306 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ -#line 3410 "fe/idl.ypp" +#line 3415 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6313 "fe/idl.tab.cpp" +#line 6317 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ -#line 3417 "fe/idl.ypp" +#line 3422 "fe/idl.ypp" { /* wchars are not allowed. */ if ((yyvsp[0].etval) == AST_Expression::EV_wchar) @@ -6326,11 +6330,11 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6330 "fe/idl.tab.cpp" +#line 6334 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ -#line 3430 "fe/idl.ypp" +#line 3435 "fe/idl.ypp" { /* octets are not allowed. */ idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); @@ -6339,22 +6343,22 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6343 "fe/idl.tab.cpp" +#line 6347 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ -#line 3439 "fe/idl.ypp" +#line 3444 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6354 "fe/idl.tab.cpp" +#line 6358 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ -#line 3447 "fe/idl.ypp" +#line 3452 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -6461,27 +6465,27 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6465 "fe/idl.tab.cpp" +#line 6469 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ -#line 3564 "fe/idl.ypp" +#line 3569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6473 "fe/idl.tab.cpp" +#line 6477 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ -#line 3568 "fe/idl.ypp" +#line 3573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6481 "fe/idl.tab.cpp" +#line 6485 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ -#line 3572 "fe/idl.ypp" +#line 3577 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; @@ -6513,39 +6517,39 @@ yyparse (void) delete annotations; } -#line 6517 "fe/idl.tab.cpp" +#line 6521 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ -#line 3604 "fe/idl.ypp" +#line 3609 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6525 "fe/idl.tab.cpp" +#line 6529 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ -#line 3608 "fe/idl.ypp" +#line 3613 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6534 "fe/idl.tab.cpp" +#line 6538 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ -#line 3616 "fe/idl.ypp" +#line 3621 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.llval), UTL_LabelList ((yyvsp[-1].ulval), (yyvsp[0].llval)), 1); } -#line 6545 "fe/idl.tab.cpp" +#line 6549 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ -#line 3626 "fe/idl.ypp" +#line 3631 "fe/idl.ypp" { UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, @@ -6563,27 +6567,27 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6567 "fe/idl.tab.cpp" +#line 6571 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ -#line 3644 "fe/idl.ypp" +#line 3649 "fe/idl.ypp" { (yyval.llval) = 0; } -#line 6575 "fe/idl.tab.cpp" +#line 6579 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ -#line 3651 "fe/idl.ypp" +#line 3656 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6583 "fe/idl.tab.cpp" +#line 6587 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ -#line 3655 "fe/idl.ypp" +#line 3660 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6592,27 +6596,27 @@ yyparse (void) 0 ); } -#line 6596 "fe/idl.tab.cpp" +#line 6600 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ -#line 3664 "fe/idl.ypp" +#line 3669 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6604 "fe/idl.tab.cpp" +#line 6608 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ -#line 3668 "fe/idl.ypp" +#line 3673 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6612 "fe/idl.tab.cpp" +#line 6616 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ -#line 3672 "fe/idl.ypp" +#line 3677 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6621,19 +6625,19 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6625 "fe/idl.tab.cpp" +#line 6629 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ -#line 3684 "fe/idl.ypp" +#line 3689 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6633 "fe/idl.tab.cpp" +#line 6637 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ -#line 3688 "fe/idl.ypp" +#line 3693 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -6676,11 +6680,11 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6680 "fe/idl.tab.cpp" +#line 6684 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ -#line 3734 "fe/idl.ypp" +#line 3739 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6702,11 +6706,11 @@ yyparse (void) (yyval.dcval) = d; } -#line 6706 "fe/idl.tab.cpp" +#line 6710 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ -#line 3759 "fe/idl.ypp" +#line 3764 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6726,19 +6730,19 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6730 "fe/idl.tab.cpp" +#line 6734 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ -#line 3782 "fe/idl.ypp" +#line 3787 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6738 "fe/idl.tab.cpp" +#line 6742 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ -#line 3786 "fe/idl.ypp" +#line 3791 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6769,27 +6773,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6773 "fe/idl.tab.cpp" +#line 6777 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ -#line 3817 "fe/idl.ypp" +#line 3822 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6781 "fe/idl.tab.cpp" +#line 6785 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ -#line 3821 "fe/idl.ypp" +#line 3826 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6789 "fe/idl.tab.cpp" +#line 6793 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ -#line 3825 "fe/idl.ypp" +#line 3830 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6808,19 +6812,19 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6812 "fe/idl.tab.cpp" +#line 6816 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ -#line 3850 "fe/idl.ypp" +#line 3855 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6820 "fe/idl.tab.cpp" +#line 6824 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ -#line 3859 "fe/idl.ypp" +#line 3864 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); @@ -6855,24 +6859,32 @@ yyparse (void) delete annotations; } -#line 6859 "fe/idl.tab.cpp" +#line 6863 "fe/idl.tab.cpp" break; case 354: /* $@91: %empty */ -#line 3897 "fe/idl.ypp" +#line 3903 "fe/idl.ypp" { - idl_global->scopes ().push (0); + idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); } -#line 6867 "fe/idl.tab.cpp" +#line 6871 "fe/idl.tab.cpp" break; - case 355: /* map_type_spec: IDL_MAP $@91 '<' map_type ',' map_type '>' */ -#line 3905 "fe/idl.ypp" + case 355: /* $@92: %empty */ +#line 3907 "fe/idl.ypp" { + idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); + } +#line 6879 "fe/idl.tab.cpp" + break; + case 356: /* map_type_spec: map_head ',' $@91 positive_int_expr $@92 '>' */ +#line 3911 "fe/idl.ypp" + { AST_Map *map = 0; - Decl_Annotations_Pair *key_type = (yyvsp[-3].decl_annotations_pair_val); - Decl_Annotations_Pair *val_type = (yyvsp[-1].decl_annotations_pair_val); + Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-5].decl_annotations_pair_val_pair); + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -6900,14 +6912,10 @@ yyparse (void) { Identifier id ("map"); UTL_ScopedName sn (&id, 0); - ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - idl_global->gen ()->create_expr ( - bound, - AST_Expression::EV_ulong - ), + (yyvsp[-2].exval), ktp, vtp, &sn, @@ -6923,19 +6931,19 @@ yyparse (void) delete key_type->annotations; delete val_type->annotations; + delete type_pair; (yyval.dcval) = map; } -#line 6929 "fe/idl.tab.cpp" +#line 6938 "fe/idl.tab.cpp" break; - case 356: /* map_type_spec: IDL_MAP '<' map_type ',' map_type ',' positive_int_expr '>' */ -#line 3974 "fe/idl.ypp" + case 357: /* map_type_spec: map_head '>' */ +#line 3967 "fe/idl.ypp" { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); - AST_Map *map = 0; - Decl_Annotations_Pair *key_type = (yyvsp[-5].decl_annotations_pair_val); - Decl_Annotations_Pair *val_type = (yyvsp[-3].decl_annotations_pair_val); + Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-1].decl_annotations_pair_val_pair); + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -6963,10 +6971,14 @@ yyparse (void) { Identifier id ("map"); UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - (yyvsp[-1].exval), + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), ktp, vtp, &sn, @@ -6982,41 +6994,71 @@ yyparse (void) delete key_type->annotations; delete val_type->annotations; + delete type_pair; (yyval.dcval) = map; } -#line 6988 "fe/idl.tab.cpp" +#line 7001 "fe/idl.tab.cpp" + break; + + case 358: /* $@93: %empty */ +#line 4029 "fe/idl.ypp" + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); + + /* + * Push a sequence marker on scopes stack. + */ + idl_global->scopes ().push (0); + } +#line 7014 "fe/idl.tab.cpp" break; - case 357: /* map_type: annotations_maybe simple_type_spec */ -#line 4032 "fe/idl.ypp" + case 359: /* $@94: %empty */ +#line 4039 "fe/idl.ypp" { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; - pair->decl = (yyvsp[0].dcval); - pair->annotations = (yyvsp[-1].annotations_val); - (yyval.decl_annotations_pair_val) = pair; + idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); } -#line 7000 "fe/idl.tab.cpp" +#line 7022 "fe/idl.tab.cpp" break; - case 358: /* $@92: %empty */ + case 360: /* map_head: IDL_MAP $@93 '<' annotations_maybe simple_type_spec $@94 ',' annotations_maybe simple_type_spec */ #line 4044 "fe/idl.ypp" + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); + Decl_Annotations_Pair *key = new Decl_Annotations_Pair; + key->decl = (yyvsp[-4].dcval); + key->annotations = (yyvsp[-5].annotations_val); + + Decl_Annotations_Pair *value = new Decl_Annotations_Pair; + value->decl = (yyvsp[0].dcval); + value->annotations = (yyvsp[-1].annotations_val); + + Decl_Annotations_Pair_Pair* pairs = new Decl_Annotations_Pair_Pair; + pairs->first = key; + pairs->second = value; + (yyval.decl_annotations_pair_val_pair) = pairs; + } +#line 7042 "fe/idl.tab.cpp" + break; + + case 361: /* $@95: %empty */ +#line 4064 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7008 "fe/idl.tab.cpp" +#line 7050 "fe/idl.tab.cpp" break; - case 359: /* $@93: %empty */ -#line 4048 "fe/idl.ypp" + case 362: /* $@96: %empty */ +#line 4068 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7016 "fe/idl.tab.cpp" +#line 7058 "fe/idl.tab.cpp" break; - case 360: /* sequence_type_spec: seq_head ',' $@92 positive_int_expr $@93 '>' */ -#line 4052 "fe/idl.ypp" + case 363: /* sequence_type_spec: seq_head ',' $@95 positive_int_expr $@96 '>' */ +#line 4072 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7097,11 +7139,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7101 "fe/idl.tab.cpp" +#line 7143 "fe/idl.tab.cpp" break; - case 361: /* sequence_type_spec: seq_head '>' */ -#line 4134 "fe/idl.ypp" + case 364: /* sequence_type_spec: seq_head '>' */ +#line 4154 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7163,11 +7205,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7167 "fe/idl.tab.cpp" +#line 7209 "fe/idl.tab.cpp" break; - case 362: /* $@94: %empty */ -#line 4199 "fe/idl.ypp" + case 365: /* $@97: %empty */ +#line 4219 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7176,19 +7218,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7180 "fe/idl.tab.cpp" +#line 7222 "fe/idl.tab.cpp" break; - case 363: /* $@95: %empty */ -#line 4208 "fe/idl.ypp" + case 366: /* $@98: %empty */ +#line 4228 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7188 "fe/idl.tab.cpp" +#line 7230 "fe/idl.tab.cpp" break; - case 364: /* seq_head: IDL_SEQUENCE $@94 '<' $@95 annotations_maybe simple_type_spec */ -#line 4212 "fe/idl.ypp" + case 367: /* seq_head: IDL_SEQUENCE $@97 '<' $@98 annotations_maybe simple_type_spec */ +#line 4232 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7196,36 +7238,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7200 "fe/idl.tab.cpp" +#line 7242 "fe/idl.tab.cpp" break; - case 365: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4223 "fe/idl.ypp" + case 368: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4243 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7209 "fe/idl.tab.cpp" +#line 7251 "fe/idl.tab.cpp" break; - case 366: /* $@96: %empty */ -#line 4232 "fe/idl.ypp" + case 369: /* $@99: %empty */ +#line 4252 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7217 "fe/idl.tab.cpp" +#line 7259 "fe/idl.tab.cpp" break; - case 367: /* $@97: %empty */ -#line 4236 "fe/idl.ypp" + case 370: /* $@100: %empty */ +#line 4256 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7225 "fe/idl.tab.cpp" +#line 7267 "fe/idl.tab.cpp" break; - case 368: /* string_type_spec: string_head '<' $@96 positive_int_expr $@97 '>' */ -#line 4240 "fe/idl.ypp" + case 371: /* string_type_spec: string_head '<' $@99 positive_int_expr $@100 '>' */ +#line 4260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7264,11 +7306,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7268 "fe/idl.tab.cpp" +#line 7310 "fe/idl.tab.cpp" break; - case 369: /* string_type_spec: string_head */ -#line 4279 "fe/idl.ypp" + case 372: /* string_type_spec: string_head */ +#line 4299 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7291,35 +7333,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7295 "fe/idl.tab.cpp" +#line 7337 "fe/idl.tab.cpp" break; - case 370: /* string_head: IDL_STRING */ -#line 4305 "fe/idl.ypp" + case 373: /* string_head: IDL_STRING */ +#line 4325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7303 "fe/idl.tab.cpp" +#line 7345 "fe/idl.tab.cpp" break; - case 371: /* $@98: %empty */ -#line 4313 "fe/idl.ypp" + case 374: /* $@101: %empty */ +#line 4333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7311 "fe/idl.tab.cpp" +#line 7353 "fe/idl.tab.cpp" break; - case 372: /* $@99: %empty */ -#line 4317 "fe/idl.ypp" + case 375: /* $@102: %empty */ +#line 4337 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7319 "fe/idl.tab.cpp" +#line 7361 "fe/idl.tab.cpp" break; - case 373: /* wstring_type_spec: wstring_head '<' $@98 positive_int_expr $@99 '>' */ -#line 4321 "fe/idl.ypp" + case 376: /* wstring_type_spec: wstring_head '<' $@101 positive_int_expr $@102 '>' */ +#line 4341 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7358,11 +7400,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7362 "fe/idl.tab.cpp" +#line 7404 "fe/idl.tab.cpp" break; - case 374: /* wstring_type_spec: wstring_head */ -#line 4360 "fe/idl.ypp" + case 377: /* wstring_type_spec: wstring_head */ +#line 4380 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7385,27 +7427,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7389 "fe/idl.tab.cpp" +#line 7431 "fe/idl.tab.cpp" break; - case 375: /* wstring_head: IDL_WSTRING */ -#line 4386 "fe/idl.ypp" + case 378: /* wstring_head: IDL_WSTRING */ +#line 4406 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7397 "fe/idl.tab.cpp" +#line 7439 "fe/idl.tab.cpp" break; - case 376: /* $@100: %empty */ -#line 4393 "fe/idl.ypp" + case 379: /* $@103: %empty */ +#line 4413 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7405 "fe/idl.tab.cpp" +#line 7447 "fe/idl.tab.cpp" break; - case 377: /* array_declarator: defining_id $@100 annotations_maybe at_least_one_array_dim */ -#line 4397 "fe/idl.ypp" + case 380: /* array_declarator: defining_id $@103 annotations_maybe at_least_one_array_dim */ +#line 4417 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7441,22 +7483,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7445 "fe/idl.tab.cpp" +#line 7487 "fe/idl.tab.cpp" break; - case 378: /* at_least_one_array_dim: array_dim array_dims */ -#line 4436 "fe/idl.ypp" + case 381: /* at_least_one_array_dim: array_dim array_dims */ +#line 4456 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7456 "fe/idl.tab.cpp" +#line 7498 "fe/idl.tab.cpp" break; - case 379: /* array_dims: array_dims array_dim */ -#line 4446 "fe/idl.ypp" + case 382: /* array_dims: array_dims array_dim */ +#line 4466 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7474,35 +7516,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7478 "fe/idl.tab.cpp" +#line 7520 "fe/idl.tab.cpp" break; - case 380: /* array_dims: %empty */ -#line 4464 "fe/idl.ypp" + case 383: /* array_dims: %empty */ +#line 4484 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7486 "fe/idl.tab.cpp" +#line 7528 "fe/idl.tab.cpp" break; - case 381: /* $@101: %empty */ -#line 4471 "fe/idl.ypp" + case 384: /* $@104: %empty */ +#line 4491 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7494 "fe/idl.tab.cpp" +#line 7536 "fe/idl.tab.cpp" break; - case 382: /* $@102: %empty */ -#line 4475 "fe/idl.ypp" + case 385: /* $@105: %empty */ +#line 4495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7502 "fe/idl.tab.cpp" +#line 7544 "fe/idl.tab.cpp" break; - case 383: /* array_dim: '[' $@101 positive_int_expr $@102 ']' */ -#line 4479 "fe/idl.ypp" + case 386: /* array_dim: '[' $@104 positive_int_expr $@105 ']' */ +#line 4499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7556,43 +7598,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7560 "fe/idl.tab.cpp" +#line 7602 "fe/idl.tab.cpp" break; - case 386: /* $@103: %empty */ -#line 4541 "fe/idl.ypp" + case 389: /* $@106: %empty */ +#line 4561 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7568 "fe/idl.tab.cpp" +#line 7610 "fe/idl.tab.cpp" break; - case 387: /* $@104: %empty */ -#line 4545 "fe/idl.ypp" + case 390: /* $@107: %empty */ +#line 4565 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7576 "fe/idl.tab.cpp" +#line 7618 "fe/idl.tab.cpp" break; - case 388: /* $@105: %empty */ -#line 4549 "fe/idl.ypp" + case 391: /* $@108: %empty */ +#line 4569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7584 "fe/idl.tab.cpp" +#line 7626 "fe/idl.tab.cpp" break; - case 389: /* $@106: %empty */ -#line 4553 "fe/idl.ypp" + case 392: /* $@109: %empty */ +#line 4573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7592 "fe/idl.tab.cpp" +#line 7634 "fe/idl.tab.cpp" break; - case 390: /* attribute_readonly: IDL_READONLY $@103 IDL_ATTRIBUTE $@104 param_type_spec $@105 at_least_one_simple_declarator $@106 opt_raises */ -#line 4557 "fe/idl.ypp" + case 393: /* attribute_readonly: IDL_READONLY $@106 IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_raises */ +#line 4577 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7644,43 +7686,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7648 "fe/idl.tab.cpp" +#line 7690 "fe/idl.tab.cpp" break; - case 391: /* $@107: %empty */ -#line 4612 "fe/idl.ypp" + case 394: /* $@110: %empty */ +#line 4632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7656 "fe/idl.tab.cpp" +#line 7698 "fe/idl.tab.cpp" break; - case 392: /* $@108: %empty */ -#line 4616 "fe/idl.ypp" + case 395: /* $@111: %empty */ +#line 4636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7664 "fe/idl.tab.cpp" +#line 7706 "fe/idl.tab.cpp" break; - case 393: /* $@109: %empty */ -#line 4620 "fe/idl.ypp" + case 396: /* $@112: %empty */ +#line 4640 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7672 "fe/idl.tab.cpp" +#line 7714 "fe/idl.tab.cpp" break; - case 394: /* $@110: %empty */ -#line 4624 "fe/idl.ypp" + case 397: /* $@113: %empty */ +#line 4644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7680 "fe/idl.tab.cpp" +#line 7722 "fe/idl.tab.cpp" break; - case 395: /* attribute_readwrite: IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_getraises $@110 opt_setraises */ -#line 4628 "fe/idl.ypp" + case 398: /* attribute_readwrite: IDL_ATTRIBUTE $@110 param_type_spec $@111 at_least_one_simple_declarator $@112 opt_getraises $@113 opt_setraises */ +#line 4648 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7741,19 +7783,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7745 "fe/idl.tab.cpp" +#line 7787 "fe/idl.tab.cpp" break; - case 396: /* $@111: %empty */ -#line 4692 "fe/idl.ypp" + case 399: /* $@114: %empty */ +#line 4712 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7753 "fe/idl.tab.cpp" +#line 7795 "fe/idl.tab.cpp" break; - case 397: /* @112: %empty */ -#line 4696 "fe/idl.ypp" + case 400: /* @115: %empty */ +#line 4716 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7785,27 +7827,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7789 "fe/idl.tab.cpp" +#line 7831 "fe/idl.tab.cpp" break; - case 398: /* $@113: %empty */ -#line 4728 "fe/idl.ypp" + case 401: /* $@116: %empty */ +#line 4748 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7797 "fe/idl.tab.cpp" +#line 7839 "fe/idl.tab.cpp" break; - case 399: /* $@114: %empty */ -#line 4732 "fe/idl.ypp" + case 402: /* $@117: %empty */ +#line 4752 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7805 "fe/idl.tab.cpp" +#line 7847 "fe/idl.tab.cpp" break; - case 400: /* exception: IDL_EXCEPTION $@111 defining_id @112 '{' $@113 members $@114 '}' */ -#line 4736 "fe/idl.ypp" + case 403: /* exception: IDL_EXCEPTION $@114 defining_id @115 '{' $@116 members $@117 '}' */ +#line 4756 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7815,19 +7857,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7819 "fe/idl.tab.cpp" +#line 7861 "fe/idl.tab.cpp" break; - case 401: /* $@115: %empty */ -#line 4749 "fe/idl.ypp" + case 404: /* $@118: %empty */ +#line 4769 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7827 "fe/idl.tab.cpp" +#line 7869 "fe/idl.tab.cpp" break; - case 402: /* $@116: %empty */ -#line 4753 "fe/idl.ypp" + case 405: /* $@119: %empty */ +#line 4773 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7888,27 +7930,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7892 "fe/idl.tab.cpp" +#line 7934 "fe/idl.tab.cpp" break; - case 403: /* $@117: %empty */ -#line 4814 "fe/idl.ypp" + case 406: /* $@120: %empty */ +#line 4834 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7900 "fe/idl.tab.cpp" +#line 7942 "fe/idl.tab.cpp" break; - case 404: /* $@118: %empty */ -#line 4818 "fe/idl.ypp" + case 407: /* $@121: %empty */ +#line 4838 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7908 "fe/idl.tab.cpp" +#line 7950 "fe/idl.tab.cpp" break; - case 405: /* operation: opt_op_attribute op_type_spec $@115 IDENTIFIER $@116 parameter_list $@117 opt_raises $@118 opt_context */ -#line 4822 "fe/idl.ypp" + case 408: /* operation: opt_op_attribute op_type_spec $@118 IDENTIFIER $@119 parameter_list $@120 opt_raises $@121 opt_context */ +#line 4842 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7939,57 +7981,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7943 "fe/idl.tab.cpp" +#line 7985 "fe/idl.tab.cpp" break; - case 406: /* opt_op_attribute: IDL_ONEWAY */ -#line 4856 "fe/idl.ypp" + case 409: /* opt_op_attribute: IDL_ONEWAY */ +#line 4876 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7952 "fe/idl.tab.cpp" +#line 7994 "fe/idl.tab.cpp" break; - case 407: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4861 "fe/idl.ypp" + case 410: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4881 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7961 "fe/idl.tab.cpp" +#line 8003 "fe/idl.tab.cpp" break; - case 408: /* opt_op_attribute: %empty */ -#line 4866 "fe/idl.ypp" + case 411: /* opt_op_attribute: %empty */ +#line 4886 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7969 "fe/idl.tab.cpp" +#line 8011 "fe/idl.tab.cpp" break; - case 410: /* op_type_spec: IDL_VOID */ -#line 4874 "fe/idl.ypp" + case 413: /* op_type_spec: IDL_VOID */ +#line 4894 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7980 "fe/idl.tab.cpp" +#line 8022 "fe/idl.tab.cpp" break; - case 411: /* $@119: %empty */ -#line 4884 "fe/idl.ypp" + case 414: /* $@122: %empty */ +#line 4904 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7989 "fe/idl.tab.cpp" +#line 8031 "fe/idl.tab.cpp" break; - case 412: /* @120: %empty */ -#line 4889 "fe/idl.ypp" + case 415: /* @123: %empty */ +#line 4909 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8032,19 +8074,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8036 "fe/idl.tab.cpp" +#line 8078 "fe/idl.tab.cpp" break; - case 413: /* $@121: %empty */ -#line 4932 "fe/idl.ypp" + case 416: /* $@124: %empty */ +#line 4952 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8044 "fe/idl.tab.cpp" +#line 8086 "fe/idl.tab.cpp" break; - case 414: /* init_decl: IDL_FACTORY $@119 IDENTIFIER @120 init_parameter_list $@121 opt_raises */ -#line 4936 "fe/idl.ypp" + case 417: /* init_decl: IDL_FACTORY $@122 IDENTIFIER @123 init_parameter_list $@124 opt_raises */ +#line 4956 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8059,67 +8101,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8063 "fe/idl.tab.cpp" +#line 8105 "fe/idl.tab.cpp" break; - case 415: /* $@122: %empty */ -#line 4954 "fe/idl.ypp" + case 418: /* $@125: %empty */ +#line 4974 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8071 "fe/idl.tab.cpp" +#line 8113 "fe/idl.tab.cpp" break; - case 416: /* init_parameter_list: '(' $@122 ')' */ -#line 4958 "fe/idl.ypp" + case 419: /* init_parameter_list: '(' $@125 ')' */ +#line 4978 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8079 "fe/idl.tab.cpp" +#line 8121 "fe/idl.tab.cpp" break; - case 417: /* $@123: %empty */ -#line 4962 "fe/idl.ypp" + case 420: /* $@126: %empty */ +#line 4982 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8087 "fe/idl.tab.cpp" +#line 8129 "fe/idl.tab.cpp" break; - case 418: /* init_parameter_list: '(' $@123 at_least_one_in_parameter ')' */ -#line 4967 "fe/idl.ypp" + case 421: /* init_parameter_list: '(' $@126 at_least_one_in_parameter ')' */ +#line 4987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8095 "fe/idl.tab.cpp" +#line 8137 "fe/idl.tab.cpp" break; - case 420: /* $@124: %empty */ -#line 4977 "fe/idl.ypp" + case 423: /* $@127: %empty */ +#line 4997 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8103 "fe/idl.tab.cpp" +#line 8145 "fe/idl.tab.cpp" break; - case 423: /* $@125: %empty */ -#line 4986 "fe/idl.ypp" + case 426: /* $@128: %empty */ +#line 5006 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8111 "fe/idl.tab.cpp" +#line 8153 "fe/idl.tab.cpp" break; - case 424: /* $@126: %empty */ -#line 4990 "fe/idl.ypp" + case 427: /* $@129: %empty */ +#line 5010 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8119 "fe/idl.tab.cpp" +#line 8161 "fe/idl.tab.cpp" break; - case 425: /* in_parameter: IDL_IN $@125 param_type_spec $@126 declarator */ -#line 4994 "fe/idl.ypp" + case 428: /* in_parameter: IDL_IN $@128 param_type_spec $@129 declarator */ +#line 5014 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8151,67 +8193,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8155 "fe/idl.tab.cpp" +#line 8197 "fe/idl.tab.cpp" break; - case 426: /* $@127: %empty */ -#line 5029 "fe/idl.ypp" + case 429: /* $@130: %empty */ +#line 5049 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8163 "fe/idl.tab.cpp" +#line 8205 "fe/idl.tab.cpp" break; - case 427: /* parameter_list: '(' $@127 ')' */ -#line 5033 "fe/idl.ypp" + case 430: /* parameter_list: '(' $@130 ')' */ +#line 5053 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8171 "fe/idl.tab.cpp" +#line 8213 "fe/idl.tab.cpp" break; - case 428: /* $@128: %empty */ -#line 5037 "fe/idl.ypp" + case 431: /* $@131: %empty */ +#line 5057 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8179 "fe/idl.tab.cpp" +#line 8221 "fe/idl.tab.cpp" break; - case 429: /* parameter_list: '(' $@128 at_least_one_parameter ')' */ -#line 5042 "fe/idl.ypp" + case 432: /* parameter_list: '(' $@131 at_least_one_parameter ')' */ +#line 5062 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8187 "fe/idl.tab.cpp" +#line 8229 "fe/idl.tab.cpp" break; - case 431: /* $@129: %empty */ -#line 5052 "fe/idl.ypp" + case 434: /* $@132: %empty */ +#line 5072 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8195 "fe/idl.tab.cpp" +#line 8237 "fe/idl.tab.cpp" break; - case 434: /* $@130: %empty */ -#line 5061 "fe/idl.ypp" + case 437: /* $@133: %empty */ +#line 5081 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8203 "fe/idl.tab.cpp" +#line 8245 "fe/idl.tab.cpp" break; - case 435: /* $@131: %empty */ -#line 5065 "fe/idl.ypp" + case 438: /* $@134: %empty */ +#line 5085 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8211 "fe/idl.tab.cpp" +#line 8253 "fe/idl.tab.cpp" break; - case 436: /* parameter: direction $@130 param_type_spec $@131 declarator */ -#line 5069 "fe/idl.ypp" + case 439: /* parameter: direction $@133 param_type_spec $@134 declarator */ +#line 5089 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8250,22 +8292,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8254 "fe/idl.tab.cpp" +#line 8296 "fe/idl.tab.cpp" break; - case 437: /* param_type_spec: base_type_spec */ -#line 5111 "fe/idl.ypp" + case 440: /* param_type_spec: base_type_spec */ +#line 5131 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8265 "fe/idl.tab.cpp" +#line 8307 "fe/idl.tab.cpp" break; - case 440: /* param_type_spec: scoped_name */ -#line 5120 "fe/idl.ypp" + case 443: /* param_type_spec: scoped_name */ +#line 5140 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8369,186 +8411,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8373 "fe/idl.tab.cpp" +#line 8415 "fe/idl.tab.cpp" break; - case 441: /* direction: IDL_IN */ -#line 5227 "fe/idl.ypp" + case 444: /* direction: IDL_IN */ +#line 5247 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8381 "fe/idl.tab.cpp" +#line 8423 "fe/idl.tab.cpp" break; - case 442: /* direction: IDL_OUT */ -#line 5231 "fe/idl.ypp" + case 445: /* direction: IDL_OUT */ +#line 5251 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8389 "fe/idl.tab.cpp" +#line 8431 "fe/idl.tab.cpp" break; - case 443: /* direction: IDL_INOUT */ -#line 5235 "fe/idl.ypp" + case 446: /* direction: IDL_INOUT */ +#line 5255 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8397 "fe/idl.tab.cpp" +#line 8439 "fe/idl.tab.cpp" break; - case 444: /* $@132: %empty */ -#line 5242 "fe/idl.ypp" + case 447: /* $@135: %empty */ +#line 5262 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8405 "fe/idl.tab.cpp" +#line 8447 "fe/idl.tab.cpp" break; - case 445: /* $@133: %empty */ -#line 5246 "fe/idl.ypp" + case 448: /* $@136: %empty */ +#line 5266 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8413 "fe/idl.tab.cpp" +#line 8455 "fe/idl.tab.cpp" break; - case 446: /* opt_raises: IDL_RAISES $@132 '(' $@133 at_least_one_scoped_name ')' */ -#line 5251 "fe/idl.ypp" + case 449: /* opt_raises: IDL_RAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ +#line 5271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8422 "fe/idl.tab.cpp" +#line 8464 "fe/idl.tab.cpp" break; - case 447: /* opt_raises: %empty */ -#line 5256 "fe/idl.ypp" + case 450: /* opt_raises: %empty */ +#line 5276 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8430 "fe/idl.tab.cpp" +#line 8472 "fe/idl.tab.cpp" break; - case 448: /* $@134: %empty */ -#line 5263 "fe/idl.ypp" + case 451: /* $@137: %empty */ +#line 5283 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8438 "fe/idl.tab.cpp" +#line 8480 "fe/idl.tab.cpp" break; - case 449: /* $@135: %empty */ -#line 5267 "fe/idl.ypp" + case 452: /* $@138: %empty */ +#line 5287 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8446 "fe/idl.tab.cpp" +#line 8488 "fe/idl.tab.cpp" break; - case 450: /* opt_getraises: IDL_GETRAISES $@134 '(' $@135 at_least_one_scoped_name ')' */ -#line 5272 "fe/idl.ypp" + case 453: /* opt_getraises: IDL_GETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ +#line 5292 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8455 "fe/idl.tab.cpp" +#line 8497 "fe/idl.tab.cpp" break; - case 451: /* opt_getraises: %empty */ -#line 5277 "fe/idl.ypp" + case 454: /* opt_getraises: %empty */ +#line 5297 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8463 "fe/idl.tab.cpp" +#line 8505 "fe/idl.tab.cpp" break; - case 452: /* $@136: %empty */ -#line 5284 "fe/idl.ypp" + case 455: /* $@139: %empty */ +#line 5304 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8471 "fe/idl.tab.cpp" +#line 8513 "fe/idl.tab.cpp" break; - case 453: /* $@137: %empty */ -#line 5288 "fe/idl.ypp" + case 456: /* $@140: %empty */ +#line 5308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8479 "fe/idl.tab.cpp" +#line 8521 "fe/idl.tab.cpp" break; - case 454: /* opt_setraises: IDL_SETRAISES $@136 '(' $@137 at_least_one_scoped_name ')' */ -#line 5293 "fe/idl.ypp" + case 457: /* opt_setraises: IDL_SETRAISES $@139 '(' $@140 at_least_one_scoped_name ')' */ +#line 5313 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8488 "fe/idl.tab.cpp" +#line 8530 "fe/idl.tab.cpp" break; - case 455: /* opt_setraises: %empty */ -#line 5298 "fe/idl.ypp" + case 458: /* opt_setraises: %empty */ +#line 5318 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8496 "fe/idl.tab.cpp" +#line 8538 "fe/idl.tab.cpp" break; - case 456: /* $@138: %empty */ -#line 5305 "fe/idl.ypp" + case 459: /* $@141: %empty */ +#line 5325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8504 "fe/idl.tab.cpp" +#line 8546 "fe/idl.tab.cpp" break; - case 457: /* $@139: %empty */ -#line 5309 "fe/idl.ypp" + case 460: /* $@142: %empty */ +#line 5329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8512 "fe/idl.tab.cpp" +#line 8554 "fe/idl.tab.cpp" break; - case 458: /* opt_context: IDL_CONTEXT $@138 '(' $@139 at_least_one_string_literal ')' */ -#line 5314 "fe/idl.ypp" + case 461: /* opt_context: IDL_CONTEXT $@141 '(' $@142 at_least_one_string_literal ')' */ +#line 5334 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8521 "fe/idl.tab.cpp" +#line 8563 "fe/idl.tab.cpp" break; - case 459: /* opt_context: %empty */ -#line 5319 "fe/idl.ypp" + case 462: /* opt_context: %empty */ +#line 5339 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8529 "fe/idl.tab.cpp" +#line 8571 "fe/idl.tab.cpp" break; - case 460: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5326 "fe/idl.ypp" + case 463: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5346 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8540 "fe/idl.tab.cpp" +#line 8582 "fe/idl.tab.cpp" break; - case 461: /* $@140: %empty */ -#line 5337 "fe/idl.ypp" + case 464: /* $@143: %empty */ +#line 5357 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8548 "fe/idl.tab.cpp" +#line 8590 "fe/idl.tab.cpp" break; - case 462: /* string_literals: string_literals ',' $@140 IDL_STRING_LITERAL */ -#line 5341 "fe/idl.ypp" + case 465: /* string_literals: string_literals ',' $@143 IDL_STRING_LITERAL */ +#line 5361 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8566,19 +8608,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8570 "fe/idl.tab.cpp" +#line 8612 "fe/idl.tab.cpp" break; - case 463: /* string_literals: %empty */ -#line 5359 "fe/idl.ypp" + case 466: /* string_literals: %empty */ +#line 5379 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8578 "fe/idl.tab.cpp" +#line 8620 "fe/idl.tab.cpp" break; - case 464: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5366 "fe/idl.ypp" + case 467: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5386 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8605,11 +8647,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8609 "fe/idl.tab.cpp" +#line 8651 "fe/idl.tab.cpp" break; - case 465: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5396 "fe/idl.ypp" + case 468: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5416 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8645,11 +8687,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8649 "fe/idl.tab.cpp" +#line 8691 "fe/idl.tab.cpp" break; - case 468: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5441 "fe/idl.ypp" + case 471: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5461 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8675,11 +8717,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8679 "fe/idl.tab.cpp" +#line 8721 "fe/idl.tab.cpp" break; - case 469: /* @141: %empty */ -#line 5470 "fe/idl.ypp" + case 472: /* @144: %empty */ +#line 5490 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8721,27 +8763,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8725 "fe/idl.tab.cpp" +#line 8767 "fe/idl.tab.cpp" break; - case 470: /* $@142: %empty */ -#line 5512 "fe/idl.ypp" + case 473: /* $@145: %empty */ +#line 5532 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8733 "fe/idl.tab.cpp" +#line 8775 "fe/idl.tab.cpp" break; - case 471: /* $@143: %empty */ -#line 5516 "fe/idl.ypp" + case 474: /* $@146: %empty */ +#line 5536 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8741 "fe/idl.tab.cpp" +#line 8783 "fe/idl.tab.cpp" break; - case 472: /* component_decl: component_header @141 '{' $@142 component_exports $@143 '}' */ -#line 5520 "fe/idl.ypp" + case 475: /* component_decl: component_header @144 '{' $@145 component_exports $@146 '}' */ +#line 5540 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8752,27 +8794,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8756 "fe/idl.tab.cpp" +#line 8798 "fe/idl.tab.cpp" break; - case 473: /* $@144: %empty */ -#line 5535 "fe/idl.ypp" + case 476: /* $@147: %empty */ +#line 5555 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8764 "fe/idl.tab.cpp" +#line 8806 "fe/idl.tab.cpp" break; - case 474: /* $@145: %empty */ -#line 5539 "fe/idl.ypp" + case 477: /* $@148: %empty */ +#line 5559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8772 "fe/idl.tab.cpp" +#line 8814 "fe/idl.tab.cpp" break; - case 475: /* component_header: IDL_COMPONENT defining_id $@144 component_inheritance_spec $@145 supports_spec */ -#line 5543 "fe/idl.ypp" + case 478: /* component_header: IDL_COMPONENT defining_id $@147 component_inheritance_spec $@148 supports_spec */ +#line 5563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8806,35 +8848,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8810 "fe/idl.tab.cpp" +#line 8852 "fe/idl.tab.cpp" break; - case 476: /* $@146: %empty */ -#line 5580 "fe/idl.ypp" + case 479: /* $@149: %empty */ +#line 5600 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8818 "fe/idl.tab.cpp" +#line 8860 "fe/idl.tab.cpp" break; - case 477: /* component_inheritance_spec: ':' $@146 scoped_name */ -#line 5584 "fe/idl.ypp" + case 480: /* component_inheritance_spec: ':' $@149 scoped_name */ +#line 5604 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8826 "fe/idl.tab.cpp" +#line 8868 "fe/idl.tab.cpp" break; - case 478: /* component_inheritance_spec: %empty */ -#line 5588 "fe/idl.ypp" + case 481: /* component_inheritance_spec: %empty */ +#line 5608 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8834 "fe/idl.tab.cpp" +#line 8876 "fe/idl.tab.cpp" break; - case 479: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5595 "fe/idl.ypp" + case 482: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5615 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8849,130 +8891,130 @@ yyparse (void) } delete annotations; } -#line 8853 "fe/idl.tab.cpp" +#line 8895 "fe/idl.tab.cpp" break; - case 482: /* $@147: %empty */ -#line 5615 "fe/idl.ypp" + case 485: /* $@150: %empty */ +#line 5635 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8861 "fe/idl.tab.cpp" +#line 8903 "fe/idl.tab.cpp" break; - case 483: /* component_export: provides_decl $@147 ';' */ -#line 5619 "fe/idl.ypp" + case 486: /* component_export: provides_decl $@150 ';' */ +#line 5639 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8870 "fe/idl.tab.cpp" +#line 8912 "fe/idl.tab.cpp" break; - case 484: /* $@148: %empty */ -#line 5624 "fe/idl.ypp" + case 487: /* $@151: %empty */ +#line 5644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8878 "fe/idl.tab.cpp" +#line 8920 "fe/idl.tab.cpp" break; - case 485: /* component_export: uses_decl $@148 ';' */ -#line 5628 "fe/idl.ypp" + case 488: /* component_export: uses_decl $@151 ';' */ +#line 5648 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8887 "fe/idl.tab.cpp" +#line 8929 "fe/idl.tab.cpp" break; - case 486: /* $@149: %empty */ -#line 5633 "fe/idl.ypp" + case 489: /* $@152: %empty */ +#line 5653 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8895 "fe/idl.tab.cpp" +#line 8937 "fe/idl.tab.cpp" break; - case 487: /* component_export: emits_decl $@149 ';' */ -#line 5637 "fe/idl.ypp" + case 490: /* component_export: emits_decl $@152 ';' */ +#line 5657 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8904 "fe/idl.tab.cpp" +#line 8946 "fe/idl.tab.cpp" break; - case 488: /* $@150: %empty */ -#line 5642 "fe/idl.ypp" + case 491: /* $@153: %empty */ +#line 5662 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8912 "fe/idl.tab.cpp" +#line 8954 "fe/idl.tab.cpp" break; - case 489: /* component_export: publishes_decl $@150 ';' */ -#line 5646 "fe/idl.ypp" + case 492: /* component_export: publishes_decl $@153 ';' */ +#line 5666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8921 "fe/idl.tab.cpp" +#line 8963 "fe/idl.tab.cpp" break; - case 490: /* $@151: %empty */ -#line 5651 "fe/idl.ypp" + case 493: /* $@154: %empty */ +#line 5671 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8929 "fe/idl.tab.cpp" +#line 8971 "fe/idl.tab.cpp" break; - case 491: /* component_export: consumes_decl $@151 ';' */ -#line 5655 "fe/idl.ypp" + case 494: /* component_export: consumes_decl $@154 ';' */ +#line 5675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8938 "fe/idl.tab.cpp" +#line 8980 "fe/idl.tab.cpp" break; - case 492: /* $@152: %empty */ -#line 5660 "fe/idl.ypp" + case 495: /* $@155: %empty */ +#line 5680 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8946 "fe/idl.tab.cpp" +#line 8988 "fe/idl.tab.cpp" break; - case 493: /* component_export: attribute $@152 ';' */ -#line 5664 "fe/idl.ypp" + case 496: /* component_export: attribute $@155 ';' */ +#line 5684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8955 "fe/idl.tab.cpp" +#line 8997 "fe/idl.tab.cpp" break; - case 494: /* $@153: %empty */ -#line 5669 "fe/idl.ypp" + case 497: /* $@156: %empty */ +#line 5689 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8963 "fe/idl.tab.cpp" +#line 9005 "fe/idl.tab.cpp" break; - case 495: /* component_export: extended_port_decl $@153 ';' */ -#line 5673 "fe/idl.ypp" + case 498: /* component_export: extended_port_decl $@156 ';' */ +#line 5693 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8972 "fe/idl.tab.cpp" +#line 9014 "fe/idl.tab.cpp" break; - case 496: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5680 "fe/idl.ypp" + case 499: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5700 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9062,21 +9104,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9066 "fe/idl.tab.cpp" +#line 9108 "fe/idl.tab.cpp" break; - case 497: /* interface_type: scoped_name */ -#line 5773 "fe/idl.ypp" + case 500: /* interface_type: scoped_name */ +#line 5793 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9076 "fe/idl.tab.cpp" +#line 9118 "fe/idl.tab.cpp" break; - case 498: /* interface_type: IDL_OBJECT */ -#line 5779 "fe/idl.ypp" + case 501: /* interface_type: IDL_OBJECT */ +#line 5799 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9099,11 +9141,11 @@ yyparse (void) conc_name), 1); } -#line 9103 "fe/idl.tab.cpp" +#line 9145 "fe/idl.tab.cpp" break; - case 499: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5804 "fe/idl.ypp" + case 502: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5824 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9207,37 +9249,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9211 "fe/idl.tab.cpp" +#line 9253 "fe/idl.tab.cpp" break; - case 500: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5911 "fe/idl.ypp" + case 503: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5931 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9221 "fe/idl.tab.cpp" +#line 9263 "fe/idl.tab.cpp" break; - case 501: /* opt_multiple: IDL_MULTIPLE */ -#line 5920 "fe/idl.ypp" + case 504: /* opt_multiple: IDL_MULTIPLE */ +#line 5940 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9229 "fe/idl.tab.cpp" +#line 9271 "fe/idl.tab.cpp" break; - case 502: /* opt_multiple: %empty */ -#line 5924 "fe/idl.ypp" + case 505: /* opt_multiple: %empty */ +#line 5944 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9237 "fe/idl.tab.cpp" +#line 9279 "fe/idl.tab.cpp" break; - case 503: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5931 "fe/idl.ypp" + case 506: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5951 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9309,11 +9351,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9313 "fe/idl.tab.cpp" +#line 9355 "fe/idl.tab.cpp" break; - case 504: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6006 "fe/idl.ypp" + case 507: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 6026 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9382,11 +9424,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9386 "fe/idl.tab.cpp" +#line 9428 "fe/idl.tab.cpp" break; - case 505: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6078 "fe/idl.ypp" + case 508: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6098 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9458,11 +9500,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9462 "fe/idl.tab.cpp" +#line 9504 "fe/idl.tab.cpp" break; - case 506: /* $@154: %empty */ -#line 6153 "fe/idl.ypp" + case 509: /* $@157: %empty */ +#line 6173 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9499,11 +9541,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9503 "fe/idl.tab.cpp" +#line 9545 "fe/idl.tab.cpp" break; - case 507: /* home_decl: home_header $@154 home_body */ -#line 6190 "fe/idl.ypp" + case 510: /* home_decl: home_header $@157 home_body */ +#line 6210 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9512,59 +9554,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9516 "fe/idl.tab.cpp" +#line 9558 "fe/idl.tab.cpp" break; - case 508: /* $@155: %empty */ -#line 6202 "fe/idl.ypp" + case 511: /* $@158: %empty */ +#line 6222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9524 "fe/idl.tab.cpp" +#line 9566 "fe/idl.tab.cpp" break; - case 509: /* $@156: %empty */ -#line 6206 "fe/idl.ypp" + case 512: /* $@159: %empty */ +#line 6226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9532 "fe/idl.tab.cpp" +#line 9574 "fe/idl.tab.cpp" break; - case 510: /* $@157: %empty */ -#line 6210 "fe/idl.ypp" + case 513: /* $@160: %empty */ +#line 6230 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9540 "fe/idl.tab.cpp" +#line 9582 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6214 "fe/idl.ypp" + case 514: /* $@161: %empty */ +#line 6234 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9548 "fe/idl.tab.cpp" +#line 9590 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6218 "fe/idl.ypp" + case 515: /* $@162: %empty */ +#line 6238 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9556 "fe/idl.tab.cpp" +#line 9598 "fe/idl.tab.cpp" break; - case 513: /* $@160: %empty */ -#line 6222 "fe/idl.ypp" + case 516: /* $@163: %empty */ +#line 6242 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9564 "fe/idl.tab.cpp" +#line 9606 "fe/idl.tab.cpp" break; - case 514: /* home_header: IDL_HOME $@155 defining_id $@156 home_inheritance_spec $@157 supports_spec $@158 IDL_MANAGES $@159 scoped_name $@160 primary_key_spec */ -#line 6226 "fe/idl.ypp" + case 517: /* home_header: IDL_HOME $@158 defining_id $@159 home_inheritance_spec $@160 supports_spec $@161 IDL_MANAGES $@162 scoped_name $@163 primary_key_spec */ +#line 6246 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9610,107 +9652,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9614 "fe/idl.tab.cpp" +#line 9656 "fe/idl.tab.cpp" break; - case 515: /* $@161: %empty */ -#line 6275 "fe/idl.ypp" + case 518: /* $@164: %empty */ +#line 6295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9622 "fe/idl.tab.cpp" +#line 9664 "fe/idl.tab.cpp" break; - case 516: /* home_inheritance_spec: ':' $@161 scoped_name */ -#line 6279 "fe/idl.ypp" + case 519: /* home_inheritance_spec: ':' $@164 scoped_name */ +#line 6299 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9630 "fe/idl.tab.cpp" +#line 9672 "fe/idl.tab.cpp" break; - case 517: /* home_inheritance_spec: %empty */ -#line 6283 "fe/idl.ypp" + case 520: /* home_inheritance_spec: %empty */ +#line 6303 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9638 "fe/idl.tab.cpp" +#line 9680 "fe/idl.tab.cpp" break; - case 518: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6291 "fe/idl.ypp" + case 521: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6311 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9646 "fe/idl.tab.cpp" +#line 9688 "fe/idl.tab.cpp" break; - case 519: /* primary_key_spec: %empty */ -#line 6295 "fe/idl.ypp" + case 522: /* primary_key_spec: %empty */ +#line 6315 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9654 "fe/idl.tab.cpp" +#line 9696 "fe/idl.tab.cpp" break; - case 520: /* $@162: %empty */ -#line 6302 "fe/idl.ypp" + case 523: /* $@165: %empty */ +#line 6322 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9662 "fe/idl.tab.cpp" +#line 9704 "fe/idl.tab.cpp" break; - case 521: /* $@163: %empty */ -#line 6306 "fe/idl.ypp" + case 524: /* $@166: %empty */ +#line 6326 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9670 "fe/idl.tab.cpp" +#line 9712 "fe/idl.tab.cpp" break; - case 522: /* home_body: '{' $@162 home_exports $@163 '}' */ -#line 6310 "fe/idl.ypp" + case 525: /* home_body: '{' $@165 home_exports $@166 '}' */ +#line 6330 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9678 "fe/idl.tab.cpp" +#line 9720 "fe/idl.tab.cpp" break; - case 526: /* $@164: %empty */ -#line 6323 "fe/idl.ypp" + case 529: /* $@167: %empty */ +#line 6343 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9686 "fe/idl.tab.cpp" +#line 9728 "fe/idl.tab.cpp" break; - case 527: /* home_export: factory_decl $@164 ';' */ -#line 6327 "fe/idl.ypp" + case 530: /* home_export: factory_decl $@167 ';' */ +#line 6347 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9694 "fe/idl.tab.cpp" +#line 9736 "fe/idl.tab.cpp" break; - case 528: /* $@165: %empty */ -#line 6331 "fe/idl.ypp" + case 531: /* $@168: %empty */ +#line 6351 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9702 "fe/idl.tab.cpp" +#line 9744 "fe/idl.tab.cpp" break; - case 529: /* home_export: finder_decl $@165 ';' */ -#line 6335 "fe/idl.ypp" + case 532: /* home_export: finder_decl $@168 ';' */ +#line 6355 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9710 "fe/idl.tab.cpp" +#line 9752 "fe/idl.tab.cpp" break; - case 530: /* $@166: %empty */ -#line 6343 "fe/idl.ypp" + case 533: /* $@169: %empty */ +#line 6363 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9733,19 +9775,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9737 "fe/idl.tab.cpp" +#line 9779 "fe/idl.tab.cpp" break; - case 531: /* $@167: %empty */ -#line 6366 "fe/idl.ypp" + case 534: /* $@170: %empty */ +#line 6386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9745 "fe/idl.tab.cpp" +#line 9787 "fe/idl.tab.cpp" break; - case 532: /* factory_decl: IDL_FACTORY defining_id $@166 init_parameter_list $@167 opt_raises */ -#line 6370 "fe/idl.ypp" + case 535: /* factory_decl: IDL_FACTORY defining_id $@169 init_parameter_list $@170 opt_raises */ +#line 6390 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9763,11 +9805,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9767 "fe/idl.tab.cpp" +#line 9809 "fe/idl.tab.cpp" break; - case 533: /* $@168: %empty */ -#line 6392 "fe/idl.ypp" + case 536: /* $@171: %empty */ +#line 6412 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9794,19 +9836,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9798 "fe/idl.tab.cpp" +#line 9840 "fe/idl.tab.cpp" break; - case 534: /* $@169: %empty */ -#line 6419 "fe/idl.ypp" + case 537: /* $@172: %empty */ +#line 6439 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9806 "fe/idl.tab.cpp" +#line 9848 "fe/idl.tab.cpp" break; - case 535: /* finder_decl: IDL_FINDER defining_id $@168 init_parameter_list $@169 opt_raises */ -#line 6423 "fe/idl.ypp" + case 538: /* finder_decl: IDL_FINDER defining_id $@171 init_parameter_list $@172 opt_raises */ +#line 6443 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9824,11 +9866,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9828 "fe/idl.tab.cpp" +#line 9870 "fe/idl.tab.cpp" break; - case 541: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6456 "fe/idl.ypp" + case 544: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6476 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9853,11 +9895,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9857 "fe/idl.tab.cpp" +#line 9899 "fe/idl.tab.cpp" break; - case 542: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6486 "fe/idl.ypp" + case 545: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6506 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9882,11 +9924,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9886 "fe/idl.tab.cpp" +#line 9928 "fe/idl.tab.cpp" break; - case 543: /* $@170: %empty */ -#line 6515 "fe/idl.ypp" + case 546: /* $@173: %empty */ +#line 6535 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9930,27 +9972,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9934 "fe/idl.tab.cpp" +#line 9976 "fe/idl.tab.cpp" break; - case 544: /* $@171: %empty */ -#line 6559 "fe/idl.ypp" + case 547: /* $@174: %empty */ +#line 6579 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9942 "fe/idl.tab.cpp" +#line 9984 "fe/idl.tab.cpp" break; - case 545: /* $@172: %empty */ -#line 6563 "fe/idl.ypp" + case 548: /* $@175: %empty */ +#line 6583 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9950 "fe/idl.tab.cpp" +#line 9992 "fe/idl.tab.cpp" break; - case 546: /* event_abs_decl: event_abs_header event_rest_of_header $@170 '{' $@171 exports $@172 '}' */ -#line 6567 "fe/idl.ypp" + case 549: /* event_abs_decl: event_abs_header event_rest_of_header $@173 '{' $@174 exports $@175 '}' */ +#line 6587 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9961,19 +10003,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9965 "fe/idl.tab.cpp" +#line 10007 "fe/idl.tab.cpp" break; - case 547: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6583 "fe/idl.ypp" + case 550: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6603 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9973 "fe/idl.tab.cpp" +#line 10015 "fe/idl.tab.cpp" break; - case 548: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6592 "fe/idl.ypp" + case 551: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9986,29 +10028,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9990 "fe/idl.tab.cpp" +#line 10032 "fe/idl.tab.cpp" break; - case 549: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6609 "fe/idl.ypp" + case 552: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 10000 "fe/idl.tab.cpp" +#line 10042 "fe/idl.tab.cpp" break; - case 550: /* $@173: %empty */ -#line 6618 "fe/idl.ypp" + case 553: /* $@176: %empty */ +#line 6638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10008 "fe/idl.tab.cpp" +#line 10050 "fe/idl.tab.cpp" break; - case 551: /* event_rest_of_header: inheritance_spec $@173 supports_spec */ -#line 6622 "fe/idl.ypp" + case 554: /* event_rest_of_header: inheritance_spec $@176 supports_spec */ +#line 6642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10037,11 +10079,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10041 "fe/idl.tab.cpp" +#line 10083 "fe/idl.tab.cpp" break; - case 552: /* @174: %empty */ -#line 6655 "fe/idl.ypp" + case 555: /* @177: %empty */ +#line 6675 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10092,27 +10134,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10096 "fe/idl.tab.cpp" +#line 10138 "fe/idl.tab.cpp" break; - case 553: /* $@175: %empty */ -#line 6706 "fe/idl.ypp" + case 556: /* $@178: %empty */ +#line 6726 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10104 "fe/idl.tab.cpp" +#line 10146 "fe/idl.tab.cpp" break; - case 554: /* $@176: %empty */ -#line 6710 "fe/idl.ypp" + case 557: /* $@179: %empty */ +#line 6730 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10112 "fe/idl.tab.cpp" +#line 10154 "fe/idl.tab.cpp" break; - case 555: /* event_decl: event_header event_rest_of_header @174 '{' $@175 value_elements $@176 '}' */ -#line 6714 "fe/idl.ypp" + case 558: /* event_decl: event_header event_rest_of_header @177 '{' $@178 value_elements $@179 '}' */ +#line 6734 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10123,108 +10165,108 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10127 "fe/idl.tab.cpp" +#line 10169 "fe/idl.tab.cpp" break; - case 556: /* event_header: event_custom_header */ -#line 6728 "fe/idl.ypp" + case 559: /* event_header: event_custom_header */ +#line 6748 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10135 "fe/idl.tab.cpp" +#line 10177 "fe/idl.tab.cpp" break; - case 557: /* event_header: event_plain_header */ -#line 6732 "fe/idl.ypp" + case 560: /* event_header: event_plain_header */ +#line 6752 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10143 "fe/idl.tab.cpp" +#line 10185 "fe/idl.tab.cpp" break; - case 558: /* formal_parameter_type: IDL_TYPENAME */ -#line 6739 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_TYPENAME */ +#line 6759 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10151 "fe/idl.tab.cpp" +#line 10193 "fe/idl.tab.cpp" break; - case 559: /* formal_parameter_type: IDL_STRUCT */ -#line 6743 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_STRUCT */ +#line 6763 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10159 "fe/idl.tab.cpp" +#line 10201 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_UNION */ -#line 6747 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_UNION */ +#line 6767 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10167 "fe/idl.tab.cpp" +#line 10209 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6751 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6771 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10175 "fe/idl.tab.cpp" +#line 10217 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6755 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6775 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10183 "fe/idl.tab.cpp" +#line 10225 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_INTERFACE */ -#line 6759 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_INTERFACE */ +#line 6779 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10191 "fe/idl.tab.cpp" +#line 10233 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6763 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6783 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10199 "fe/idl.tab.cpp" +#line 10241 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_ENUM */ -#line 6767 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_ENUM */ +#line 6787 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10207 "fe/idl.tab.cpp" +#line 10249 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6771 "fe/idl.ypp" + case 569: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6791 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10215 "fe/idl.tab.cpp" +#line 10257 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_CONST const_type */ -#line 6775 "fe/idl.ypp" + case 570: /* formal_parameter_type: IDL_CONST const_type */ +#line 6795 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10224 "fe/idl.tab.cpp" +#line 10266 "fe/idl.tab.cpp" break; - case 568: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6783 "fe/idl.ypp" + case 571: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6803 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10252,11 +10294,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10256 "fe/idl.tab.cpp" +#line 10298 "fe/idl.tab.cpp" break; - case 569: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6814 "fe/idl.ypp" + case 572: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6834 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10269,19 +10311,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10273 "fe/idl.tab.cpp" +#line 10315 "fe/idl.tab.cpp" break; - case 570: /* formal_parameters: %empty */ -#line 6827 "fe/idl.ypp" + case 573: /* formal_parameters: %empty */ +#line 6847 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10281 "fe/idl.tab.cpp" +#line 10323 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6834 "fe/idl.ypp" + case 574: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6854 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10306,11 +10348,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10310 "fe/idl.tab.cpp" +#line 10352 "fe/idl.tab.cpp" break; - case 572: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6859 "fe/idl.ypp" + case 575: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6879 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10325,19 +10367,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10329 "fe/idl.tab.cpp" +#line 10371 "fe/idl.tab.cpp" break; - case 573: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6877 "fe/idl.ypp" + case 576: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6897 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10337 "fe/idl.tab.cpp" +#line 10379 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6884 "fe/idl.ypp" + case 577: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6904 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10352,37 +10394,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10356 "fe/idl.tab.cpp" +#line 10398 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter_names: %empty */ -#line 6899 "fe/idl.ypp" + case 578: /* formal_parameter_names: %empty */ +#line 6919 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10364 "fe/idl.tab.cpp" +#line 10406 "fe/idl.tab.cpp" break; - case 576: /* formal_parameter_name: IDENTIFIER */ -#line 6906 "fe/idl.ypp" + case 579: /* formal_parameter_name: IDENTIFIER */ +#line 6926 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10374 "fe/idl.tab.cpp" +#line 10416 "fe/idl.tab.cpp" break; - case 577: /* $@177: %empty */ -#line 6915 "fe/idl.ypp" + case 580: /* $@180: %empty */ +#line 6935 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10382 "fe/idl.tab.cpp" +#line 10424 "fe/idl.tab.cpp" break; - case 578: /* @178: %empty */ -#line 6919 "fe/idl.ypp" + case 581: /* @181: %empty */ +#line 6939 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10401,27 +10443,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10405 "fe/idl.tab.cpp" +#line 10447 "fe/idl.tab.cpp" break; - case 579: /* $@179: %empty */ -#line 6938 "fe/idl.ypp" + case 582: /* $@182: %empty */ +#line 6958 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10413 "fe/idl.tab.cpp" +#line 10455 "fe/idl.tab.cpp" break; - case 580: /* $@180: %empty */ -#line 6946 "fe/idl.ypp" + case 583: /* $@183: %empty */ +#line 6966 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10421 "fe/idl.tab.cpp" +#line 10463 "fe/idl.tab.cpp" break; - case 581: /* porttype_decl: IDL_PORTTYPE $@177 IDENTIFIER @178 '{' $@179 at_least_one_port_export $@180 '}' */ -#line 6950 "fe/idl.ypp" + case 584: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ +#line 6970 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10430,11 +10472,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10434 "fe/idl.tab.cpp" +#line 10476 "fe/idl.tab.cpp" break; - case 582: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6962 "fe/idl.ypp" + case 585: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6982 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10449,27 +10491,27 @@ yyparse (void) } delete annotations; } -#line 10453 "fe/idl.tab.cpp" +#line 10495 "fe/idl.tab.cpp" break; - case 588: /* $@181: %empty */ -#line 6988 "fe/idl.ypp" + case 591: /* $@184: %empty */ +#line 7008 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10461 "fe/idl.tab.cpp" +#line 10503 "fe/idl.tab.cpp" break; - case 589: /* port_export: attribute $@181 ';' */ -#line 6992 "fe/idl.ypp" + case 592: /* port_export: attribute $@184 ';' */ +#line 7012 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10469 "fe/idl.tab.cpp" +#line 10511 "fe/idl.tab.cpp" break; - case 590: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 6999 "fe/idl.ypp" + case 593: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 7019 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10536,11 +10578,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10540 "fe/idl.tab.cpp" +#line 10582 "fe/idl.tab.cpp" break; - case 591: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7066 "fe/idl.ypp" + case 594: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7086 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10585,11 +10627,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10589 "fe/idl.tab.cpp" +#line 10631 "fe/idl.tab.cpp" break; - case 592: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7114 "fe/idl.ypp" + case 595: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7134 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10602,11 +10644,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10606 "fe/idl.tab.cpp" +#line 10648 "fe/idl.tab.cpp" break; - case 593: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7130 "fe/idl.ypp" + case 596: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7150 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10619,19 +10661,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10623 "fe/idl.tab.cpp" +#line 10665 "fe/idl.tab.cpp" break; - case 594: /* actual_parameters: %empty */ -#line 7143 "fe/idl.ypp" + case 597: /* actual_parameters: %empty */ +#line 7163 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10631 "fe/idl.tab.cpp" +#line 10673 "fe/idl.tab.cpp" break; - case 595: /* actual_parameter: expression */ -#line 7150 "fe/idl.ypp" + case 598: /* actual_parameter: expression */ +#line 7170 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10687,35 +10729,35 @@ yyparse (void) 0); } } -#line 10691 "fe/idl.tab.cpp" +#line 10733 "fe/idl.tab.cpp" break; - case 596: /* connector_decl: connector_header connector_body */ -#line 7209 "fe/idl.ypp" + case 599: /* connector_decl: connector_header connector_body */ +#line 7229 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10699 "fe/idl.tab.cpp" +#line 10741 "fe/idl.tab.cpp" break; - case 597: /* $@182: %empty */ -#line 7216 "fe/idl.ypp" + case 600: /* $@185: %empty */ +#line 7236 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10707 "fe/idl.tab.cpp" +#line 10749 "fe/idl.tab.cpp" break; - case 598: /* $@183: %empty */ -#line 7220 "fe/idl.ypp" + case 601: /* $@186: %empty */ +#line 7240 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10715 "fe/idl.tab.cpp" +#line 10757 "fe/idl.tab.cpp" break; - case 599: /* connector_header: IDL_CONNECTOR $@182 annotations_maybe IDENTIFIER $@183 component_inheritance_spec */ -#line 7224 "fe/idl.ypp" + case 602: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ +#line 7244 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10769,102 +10811,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10773 "fe/idl.tab.cpp" +#line 10815 "fe/idl.tab.cpp" break; - case 600: /* $@184: %empty */ -#line 7281 "fe/idl.ypp" + case 603: /* $@187: %empty */ +#line 7301 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10781 "fe/idl.tab.cpp" +#line 10823 "fe/idl.tab.cpp" break; - case 601: /* $@185: %empty */ -#line 7285 "fe/idl.ypp" + case 604: /* $@188: %empty */ +#line 7305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10789 "fe/idl.tab.cpp" +#line 10831 "fe/idl.tab.cpp" break; - case 602: /* connector_body: '{' $@184 connector_exports $@185 '}' */ -#line 7289 "fe/idl.ypp" + case 605: /* connector_body: '{' $@187 connector_exports $@188 '}' */ +#line 7309 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10800 "fe/idl.tab.cpp" +#line 10842 "fe/idl.tab.cpp" break; - case 605: /* $@186: %empty */ -#line 7304 "fe/idl.ypp" + case 608: /* $@189: %empty */ +#line 7324 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10808 "fe/idl.tab.cpp" +#line 10850 "fe/idl.tab.cpp" break; - case 606: /* connector_export: provides_decl $@186 ';' */ -#line 7308 "fe/idl.ypp" + case 609: /* connector_export: provides_decl $@189 ';' */ +#line 7328 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10816 "fe/idl.tab.cpp" +#line 10858 "fe/idl.tab.cpp" break; - case 607: /* $@187: %empty */ -#line 7312 "fe/idl.ypp" + case 610: /* $@190: %empty */ +#line 7332 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10824 "fe/idl.tab.cpp" +#line 10866 "fe/idl.tab.cpp" break; - case 608: /* connector_export: uses_decl $@187 ';' */ -#line 7316 "fe/idl.ypp" + case 611: /* connector_export: uses_decl $@190 ';' */ +#line 7336 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10832 "fe/idl.tab.cpp" +#line 10874 "fe/idl.tab.cpp" break; - case 609: /* $@188: %empty */ -#line 7320 "fe/idl.ypp" + case 612: /* $@191: %empty */ +#line 7340 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10840 "fe/idl.tab.cpp" +#line 10882 "fe/idl.tab.cpp" break; - case 610: /* connector_export: attribute $@188 ';' */ -#line 7324 "fe/idl.ypp" + case 613: /* connector_export: attribute $@191 ';' */ +#line 7344 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10848 "fe/idl.tab.cpp" +#line 10890 "fe/idl.tab.cpp" break; - case 611: /* $@189: %empty */ -#line 7328 "fe/idl.ypp" + case 614: /* $@192: %empty */ +#line 7348 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10856 "fe/idl.tab.cpp" +#line 10898 "fe/idl.tab.cpp" break; - case 612: /* connector_export: extended_port_decl $@189 ';' */ -#line 7332 "fe/idl.ypp" + case 615: /* connector_export: extended_port_decl $@192 ';' */ +#line 7352 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10864 "fe/idl.tab.cpp" +#line 10906 "fe/idl.tab.cpp" break; -#line 10868 "fe/idl.tab.cpp" +#line 10910 "fe/idl.tab.cpp" default: break; } @@ -11057,7 +11099,7 @@ yyparse (void) return yyresult; } -#line 7337 "fe/idl.ypp" +#line 7357 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index 9d9321ae5a8a5..c3e3476e4f74c 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -156,7 +156,7 @@ extern int tao_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 164 "fe/idl.ypp" +#line 166 "fe/idl.ypp" AST_Decl *dcval; /* Decl value */ UTL_StrList *slval; /* String list */ @@ -200,8 +200,9 @@ union YYSTYPE AST_Annotation_Decl *annotation_decl_val; AST_Decls *decls_val; Decl_Annotations_Pair *decl_annotations_pair_val; + Decl_Annotations_Pair_Pair* decl_annotations_pair_val_pair; -#line 205 "fe/idl.tab.hpp" +#line 206 "fe/idl.tab.hpp" }; typedef union YYSTYPE YYSTYPE; diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index b83ec04e4e084..e21ed87d2e0d5 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -204,6 +204,7 @@ bool stack_based_lookup_for_primary_expr = false; AST_Annotation_Decl *annotation_decl_val; AST_Decls *decls_val; Decl_Annotations_Pair *decl_annotations_pair_val; + Decl_Annotations_Pair_Pair* decl_annotations_pair_val_pair; } /* @@ -404,7 +405,9 @@ bool stack_based_lookup_for_primary_expr = false; %type annotation_appl_params_maybe annotation_appl_params %type named_annotation_appl_params more_named_annotation_appl_params %type named_annotation_appl_param -%type seq_head map_type +%type seq_head + +%type map_head %type member_i state_member value_element %type visibility @@ -3892,21 +3895,22 @@ enumerator : } ; -map_type_spec : - IDL_MAP +map_type_spec + : map_head + ',' { - idl_global->scopes ().push (0); + idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); + } + positive_int_expr + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); } - '<' - map_type - ',' - map_type '>' { - AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $4; - Decl_Annotations_Pair *val_type = $6; + Decl_Annotations_Pair_Pair* type_pair = $1; + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -3934,14 +3938,10 @@ map_type_spec : { Identifier id ("map"); UTL_ScopedName sn (&id, 0); - ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - idl_global->gen ()->create_expr ( - bound, - AST_Expression::EV_ulong - ), + $4, ktp, vtp, &sn, @@ -3957,26 +3957,16 @@ map_type_spec : delete key_type->annotations; delete val_type->annotations; + delete type_pair; $$ = map; } - | IDL_MAP - /* { - Adding this causes error: 1 reduce/reduce conflict [-Werror=conflicts-rr] - idl_global->scopes ().push (0); - } */ - '<' - map_type - ',' - map_type - ',' - positive_int_expr - '>' + | map_head + '>' { - idl_global->set_parse_state(IDL_GlobalData::PS_MapQsSeen); - AST_Map *map = 0; - Decl_Annotations_Pair *key_type = $3; - Decl_Annotations_Pair *val_type = $5; + Decl_Annotations_Pair_Pair* type_pair = $1; + Decl_Annotations_Pair *key_type = type_pair->first; + Decl_Annotations_Pair *val_type = type_pair->second; /* * Remove sequence marker from scopes stack. @@ -4004,10 +3994,14 @@ map_type_spec : { Identifier id ("map"); UTL_ScopedName sn (&id, 0); + ACE_CDR::ULong bound = 0UL; map = idl_global->gen ()->create_map ( - $7, + idl_global->gen ()->create_expr ( + bound, + AST_Expression::EV_ulong + ), ktp, vtp, &sn, @@ -4023,18 +4017,42 @@ map_type_spec : delete key_type->annotations; delete val_type->annotations; + delete type_pair; $$ = map; } ; -map_type : +map_head : + IDL_MAP + { + idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); + + /* + * Push a sequence marker on scopes stack. + */ + idl_global->scopes ().push (0); + } + '<' + annotations_maybe simple_type_spec + { + idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); + } + ',' annotations_maybe simple_type_spec { - idl_global->set_parse_state(IDL_GlobalData::PS_MapTypeSeen); - Decl_Annotations_Pair* pair = new Decl_Annotations_Pair; - pair->decl = $2; - pair->annotations = $1; - $$ = pair; + idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); + Decl_Annotations_Pair *key = new Decl_Annotations_Pair; + key->decl = $5; + key->annotations = $4; + + Decl_Annotations_Pair *value = new Decl_Annotations_Pair; + value->decl = $9; + value->annotations = $8; + + Decl_Annotations_Pair_Pair* pairs = new Decl_Annotations_Pair_Pair; + pairs->first = key; + pairs->second = value; + $$ = pairs; } ; diff --git a/TAO/TAO_IDL/include/ast_annotation_appl.h b/TAO/TAO_IDL/include/ast_annotation_appl.h index 941a8ab088349..ce160a1c7d8db 100644 --- a/TAO/TAO_IDL/include/ast_annotation_appl.h +++ b/TAO/TAO_IDL/include/ast_annotation_appl.h @@ -107,4 +107,9 @@ struct Decl_Annotations_Pair { AST_Annotation_Appls *annotations; }; +struct Decl_Annotations_Pair_Pair { + Decl_Annotations_Pair *first; + Decl_Annotations_Pair *second; +}; + #endif diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index bf594fd6a92e7..c50beaf642118 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -237,7 +237,8 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapSeen // Seen a MAP keyword , PS_MapSqSeen // Seen a '<' for map , PS_MapQsSeen // Seen a '>' for map - , PS_MapTypeSeen // Seen a type decl for map + , PS_MapKeyTypeSeen // Seen a key type decl for map + , PS_MapValueTypeSeen // Seen a value type decl for map , PS_MapCommaSeen // Seen comma for sequence , PS_MapExprSeen // Seen a size expression for sequence , PS_SequenceSeen // Seen a SEQUENCE keyword From fd1f1baf024f53c46e0ace99d8a3a54985c736dd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 10 Jun 2022 21:56:43 -0400 Subject: [PATCH 027/445] Added maps in the idl_features --- TAO/tao/idl_features.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/idl_features.h b/TAO/tao/idl_features.h index c9453aede18ba..58c70c23e22a0 100644 --- a/TAO/tao/idl_features.h +++ b/TAO/tao/idl_features.h @@ -65,7 +65,7 @@ #endif #ifndef TAO_IDL_HAS_MAP -# define TAO_IDL_HAS_MAP 0 +# define TAO_IDL_HAS_MAP TAO_IDL_VERSION >= 0x40000 #endif #ifndef TAO_IDL_HAS_BITSET From 7b4251e54ba02e71e94bdb5cd1e3b76c55b7aa37 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 16 Jun 2022 20:57:13 -0400 Subject: [PATCH 028/445] maps almost being generated via code, still very messy --- TAO/TAO_IDL/be/be_codegen.cpp | 3 + TAO/TAO_IDL/be/be_generator.cpp | 22 + TAO/TAO_IDL/be/be_map.cpp | 924 ++++++++++++++++++ TAO/TAO_IDL/be/be_type.cpp | 12 + TAO/TAO_IDL/be/be_visitor.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/field.h | 1 + TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 89 ++ TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp | 6 + TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp | 6 + TAO/TAO_IDL/be/be_visitor_map/map.h | 47 + TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 387 ++++++++ TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 282 ++++++ TAO/TAO_IDL/be_include/be_generator.h | 7 + TAO/TAO_IDL/be_include/be_map.h | 129 +++ TAO/TAO_IDL/be_include/be_type.h | 7 + TAO/TAO_IDL/be_include/be_visitor.h | 2 + .../be_include/be_visitor_field/cdr_op_ch.h | 1 + .../be_include/be_visitor_field/cdr_op_cs.h | 1 + .../be_include/be_visitor_field/field_ch.h | 1 + .../be_include/be_visitor_field/field_ci.h | 1 + .../be_include/be_visitor_field/field_cs.h | 1 + TAO/TAO_IDL/be_include/be_visitor_map.h | 18 + .../be_include/be_visitor_map/map_ch.h | 44 + .../be_include/be_visitor_map/map_cs.h | 41 + TAO/TAO_IDL/include/idl_global.h | 7 + TAO/TAO_IDL/util/utl_global.cpp | 23 + 28 files changed, 2080 insertions(+) create mode 100644 TAO/TAO_IDL/be/be_map.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_map/map.h create mode 100644 TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp create mode 100644 TAO/TAO_IDL/be_include/be_map.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 2a7d2054e4862..40d9d3f0ac6d4 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -231,6 +231,9 @@ TAO_CodeGen::start_client_header (const char *fname) << "\""; } + // TODO probably not what's supposed to be done here + *this->client_header() << "#include "; + if (be_global->unique_include () != nullptr) { *this->client_header_ << "\n#include \"" diff --git a/TAO/TAO_IDL/be/be_generator.cpp b/TAO/TAO_IDL/be/be_generator.cpp index 541792d3e0c76..bb07362ac5eac 100644 --- a/TAO/TAO_IDL/be/be_generator.cpp +++ b/TAO/TAO_IDL/be/be_generator.cpp @@ -108,6 +108,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "be_enum_val.h" #include "be_array.h" #include "be_sequence.h" +#include "be_map.h" #include "be_string.h" #include "be_typedef.h" #include "be_native.h" @@ -882,6 +883,27 @@ be_generator::create_sequence (AST_Expression *v, return retval; } +AST_Map * +be_generator::create_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract) +{ + be_map *retval = nullptr; + ACE_NEW_RETURN (retval, + be_map (v, + kt, + vt, + n, + is_local, + is_abstract), + nullptr); + + return retval; +} + AST_String * be_generator::create_string (AST_Expression *v) { diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp new file mode 100644 index 0000000000000..befb2a291618d --- /dev/null +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -0,0 +1,924 @@ + +//============================================================================= +/** + * @file be_map.cpp + * + * Extension of class AST_Sequence that provides additional means for C++ + * mapping. + * + * @author Copyright 1994-1995 by Sun Microsystems + * @author Inc. and Aniruddha Gokhale + */ +//============================================================================= + +#include "be_map.h" +#include "ast_decl.h" +#include "ast_predefined_type.h" +#include "be_typedef.h" +#include "be_interface.h" +#include "be_interface_fwd.h" +#include "be_predefined_type.h" +#include "be_field.h" +#include "be_string.h" +#include "be_visitor.h" +#include "be_helper.h" +#include "be_extern.h" + +#include "utl_identifier.h" +#include "idl_defines.h" +#include "nr_extern.h" +#include "global_extern.h" + +#include "ace/Log_Msg.h" + +be_map::be_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool local, + bool abstract) + : COMMON_Base (kt->is_local () || vt->is_local() || local, + abstract), + AST_Decl (AST_Decl::NT_map, + n, + true), + AST_Type (AST_Decl::NT_map, + n), + AST_ConcreteType (AST_Decl::NT_map, + n), + AST_Map (v, + kt, + vt, + n, + kt->is_local () || vt->is_local () || local, + abstract), + UTL_Scope (AST_Decl::NT_map), + be_scope (AST_Decl::NT_map), + be_decl (AST_Decl::NT_map, + n), + be_type (AST_Decl::NT_map, + n), + mt_ (be_map::MNG_UNKNOWN), + field_node_ (nullptr) +{ + // Always the case. + this->has_constructor (true); + + // Don't want to set any bits below for imported nodes. + if (this->imported ()) + { + return; + } + + // This one gets set for all sequences, in addition to any specialized + // one that may get set below. + idl_global->seq_seen_ = true; + idl_global->var_size_decl_seen_ = true; + + // Don't need the return value - just set the member. + (void) this->managed_type (); + + switch (this->mt_) + { + case MNG_OBJREF: + idl_global->iface_seq_seen_ = true; + break; + case MNG_PSEUDO: + idl_global->pseudo_seq_seen_ = true; + break; + case MNG_VALUE: + idl_global->vt_seq_seen_ = true; + break; + case MNG_STRING: + idl_global->string_seq_seen_ = true; + break; + case MNG_WSTRING: + idl_global->wstring_seq_seen_ = true; + break; + default: + break; + } + + AST_Type *const key_type = primitive_key_type (); + if (key_type && key_type->node_type () == AST_Decl::NT_pre_defined) + { + AST_PredefinedType *pdt = dynamic_cast (key_type); + switch (pdt->pt ()) + { + case AST_PredefinedType::PT_octet: + idl_global->octet_map_seen_ = true; + break; + default: + break; + } + } + + AST_Type *const value_type = primitive_value_type(); + if (value_type && value_type->node_type() == AST_Decl::NT_pre_defined) + { + AST_PredefinedType *pdt = dynamic_cast (key_type); + switch(pdt->pt()) + { + case AST_PredefinedType::PT_octet: + idl_global->octet_map_seen_ = true; + break; + default: + break; + } + } +} + +be_type * +be_map::key_type () const +{ + return + dynamic_cast ( + this->AST_Map::key_type ()); +} + +be_type * +be_map::value_type () const +{ + return + dynamic_cast ( + this->AST_Map::value_type ()); +} + +be_type * +be_map::primitive_key_type () const +{ + be_type *type_node = key_type (); + if (type_node && type_node->node_type () == AST_Decl::NT_typedef) + { + be_typedef *const typedef_node = dynamic_cast (type_node); + if (!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type (); + } + return type_node; +} + +be_type * +be_map::primitive_value_type () const +{ + be_type *type_node = value_type (); + if (type_node && type_node->node_type () == AST_Decl::NT_typedef) + { + be_typedef *const typedef_node = dynamic_cast (type_node); + if (!typedef_node) return nullptr; + type_node = typedef_node->primitive_base_type (); + } + return type_node; +} + +// Helper to create_name. +char * +be_map::gen_name () +{ + char namebuf [NAMEBUFSIZE]; + be_type *kt = nullptr; + be_type *vt = nullptr; + + // Reset the buffer. + ACE_OS::memset (namebuf, + '\0', + NAMEBUFSIZE); + + // Retrieve the key type. + kt = dynamic_cast (this->key_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad key type\n"), + 0); + } + + // Retrieve the key type. + vt = dynamic_cast (this->value_type ()); + if (vt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad value type\n"), + 0); + } + + // If this is non-zero, add its local name to the generated name, + // for uniqueness. + be_field *fn = this->field_node_; + + // if (kt->node_type () == AST_Decl::NT_map) + // { + // // Our base type is an anonymous map. + // be_map *map = dynamic_cast (kt); + + // if (map == nullptr) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // "(%N:%l) be_map::" + // "gen_name - " + // "error converting key type to map\n"), + // 0); + // } + + // // If the nested sequence were defined in + // // the scope of the enclosing sequence, we would have to + // // not only define the nested class in two places, but also + // // deal with the fact that, for the template classes, the + // // enclosing sequence's template type is a class defined + // // inside it. So we define the nested sequence in the next + // // scope up, and the existing code generation works for both + // // template and non-template implementations of IDL sequences. + // UTL_Scope *parent = this->defined_in (); + // map->set_defined_in (parent); + // char *map_name = map->gen_name (); + + // ACE_OS::sprintf (namebuf, + // "_tao_seq_%s_%s", + // map_name, + // fn ? fn->local_name ()->get_string () : ""); + // ACE::strdelete (map_name); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_tao_seq_%s_", + // kt->flat_name ()); + // } + + // Append the size (if any). + if (this->unbounded () == false) + { + char ulval_str [NAMEBUFSIZE]; + ACE_OS::sprintf (ulval_str, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); + ACE_OS::strcat (namebuf, + ulval_str); + } + + return ACE::strnew (namebuf); +} + +// Create a name for ourselves. +int +be_map::create_name (be_typedef *node) +{ + static char *namebuf = nullptr; + UTL_ScopedName *n = nullptr; + + // Scope in which we are defined. + be_decl *scope = nullptr; + + // If there is a typedef node, we use its name as our name. + if (node) + { + this->set_name ( + dynamic_cast (node->name ()->copy ()) + ); + } + else + { + // Generate a local name. + namebuf = this->gen_name (); + + // Now see if we have a fully scoped name and if so, generate one. + UTL_Scope *us = this->defined_in (); + + scope = dynamic_cast (us)->decl (); + + if (scope != nullptr) + { + // Make a copy of the enclosing scope's name. + n = (UTL_ScopedName *) scope->name ()->copy (); + + Identifier *id = nullptr; + ACE_NEW_RETURN (id, + Identifier (namebuf), + -1); + + UTL_ScopedName *conc_name = nullptr; + ACE_NEW_RETURN (conc_name, + UTL_ScopedName (id, + nullptr), + -1); + + // Add our local name as the last component. + n->nconc (conc_name); + + // Set the fully scoped name. + this->set_name (n); + } + else + { + // We better be not here because we must be inside some scope, + // at least the ROOT scope. + return -1; + } + + ACE::strdelete (namebuf); + } + + return 0; +} + +// Does this sequence have a managed type sequence element? +be_map::MANAGED_TYPE +be_map::managed_type () +{ + // if (this->mt_ == be_map::MNG_UNKNOWN) // Not calculated yet. + // { + // // Base types. + // be_type *const base_type = primitive_base_type (); + // if (!base_type) + // ACE_ERROR_RETURN ((LM_ERROR, + // "TAO_IDL (%N:%l) " + // "dynamic_cast " + // "failed\n"), + // be_sequence::MNG_UNKNOWN); + + // // Determine if we need a managed type and which one. + // switch (base_type->node_type ()) + // { + // case AST_Decl::NT_interface: + // case AST_Decl::NT_interface_fwd: + // case AST_Decl::NT_component: + // case AST_Decl::NT_component_fwd: + // case AST_Decl::NT_connector: + // this->mt_ = be_sequence::MNG_OBJREF; + // break; + // case AST_Decl::NT_valuebox: + // case AST_Decl::NT_valuetype: + // case AST_Decl::NT_valuetype_fwd: + // case AST_Decl::NT_eventtype: + // case AST_Decl::NT_eventtype_fwd: + // this->mt_ = be_sequence::MNG_VALUE; + // break; + // case AST_Decl::NT_string: + // this->mt_ = be_sequence::MNG_STRING; + // break; + // case AST_Decl::NT_wstring: + // this->mt_ = be_sequence::MNG_WSTRING; + // break; + // case AST_Decl::NT_pre_defined: + // { + // be_predefined_type * const bpd = + // dynamic_cast (base_type); + + // AST_PredefinedType::PredefinedType pt = bpd->pt (); + + // switch (pt) + // { + // case AST_PredefinedType::PT_pseudo: + // case AST_PredefinedType::PT_object: + // case AST_PredefinedType::PT_abstract: + // this->mt_ = be_sequence::MNG_PSEUDO; + // break; + // case AST_PredefinedType::PT_value: + // this->mt_ = be_sequence::MNG_VALUE; + // break; + // default: + // this->mt_ = be_sequence::MNG_NONE; + // break; + // } + // } + // break; + // default: + // this->mt_ = be_sequence::MNG_NONE; + // } + // } + + return this->mt_; +} + +// Add this be_sequence to the locally defined types in this scope +AST_Map * +be_map::fe_add_map (AST_Map *t) +{ + if (t == nullptr) + { + return nullptr; + } + + this->add_to_local_types (t); + return t; +} + +// Overridden method +be_decl * +be_map::decl () +{ + return this; +} + +// Overridden method +void +be_map::gen_ostream_operator (TAO_OutStream *os, + bool /* use_underscore */) +{ + *os << be_nl + << "std::ostream& operator<< (" << be_idt << be_idt_nl + << "std::ostream &strm," << be_nl + << "const " << this->name () << " &_tao_sequence" << be_uidt_nl + << ")" << be_uidt_nl + << "{" << be_idt_nl + << "strm << \"" << this->name () << "[\";" << be_nl_2; + + if (be_global->alt_mapping ()) + { + *os << "for (CORBA::ULong i = 0; i < _tao_sequence.size (); ++i)"; + } + else + { + *os << "for (CORBA::ULong i = 0; i < _tao_sequence.length (); ++i)"; + } + + *os << be_idt_nl + << "{" << be_idt_nl + << "if (i != 0)" << be_idt_nl + << "{" << be_idt_nl + << "strm << \", \";" << be_uidt_nl + << "}" << be_uidt_nl << be_nl + << "strm << _tao_sequence[i];" << be_uidt_nl + << "}" << be_uidt_nl << be_nl + << "return strm << \"]\";" << be_uidt_nl + << "}" << be_nl; +} + +int +be_map::accept (be_visitor *visitor) +{ + return visitor->visit_map (this); +} + + +const char * +be_map::instance_name () +{ + static char namebuf[NAMEBUFSIZE]; + // ACE_OS::memset (namebuf, + // '\0', + // NAMEBUFSIZE); + + // be_type *const prim_type = primitive_base_type (); + // if (!prim_type) + // { + // ACE_ERROR ((LM_ERROR, + // "(%N:%l) be_visitor_sequence_ch::" + // "gen_instantiate_name - " + // "Bad element type\n")); + + // return namebuf; + // } + + // // Generate the appropriate sequence type. + // switch (this->managed_type ()) + // { + // case be_sequence::MNG_PSEUDO: + // case be_sequence::MNG_OBJREF: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_object_reference_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_object_reference_sequence_%s_" + // ACE_UINT32_FORMAT_SPECIFIER_ASCII, + // prim_type->local_name ()->get_string (), + // this->max_size ()->ev ()->u.ulval); + // } + + // break; + // case be_sequence::MNG_VALUE: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_valuetype_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_valuetype_sequence_%s_" + // ACE_UINT32_FORMAT_SPECIFIER_ASCII, + // prim_type->local_name ()->get_string (), + // this->max_size ()->ev ()->u.ulval); + // } + + // break; + // case be_sequence::MNG_STRING: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "::TAO::unbounded_basic_string_sequence"); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_string_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + + // break; + // case be_sequence::MNG_WSTRING: + // if (this->unbounded ()) + // { + // ACE_OS::sprintf (namebuf, + // "::TAO::unbounded_basic_string_sequence"); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_wstring_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + + // break; + // default: // Not a managed type. + // if (this->unbounded ()) + // { + // // TAO provides extensions for octet sequences, first find out + // // if the base type is an octet (or an alias for octet) + // be_predefined_type *predef = + // dynamic_cast (prim_type); + + // if (predef != nullptr + // && predef->pt() == AST_PredefinedType::PT_octet) + // { + // ACE_OS::sprintf (namebuf, + // "::TAO::unbounded_value_sequence"); + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_unbounded_value_sequence_%s", + // prim_type->local_name ()->get_string ()); + // } + // } + // else + // { + // ACE_OS::sprintf (namebuf, + // "_TAO_bounded_value_sequence_%s_" + // ACE_UINT32_FORMAT_SPECIFIER_ASCII, + // prim_type->local_name ()->get_string (), + // this->max_size ()->ev ()->u.ulval); + // } + + // break; + // } + + return namebuf; +} + +int +be_map::gen_base_class_name (TAO_OutStream *os, + const char * linebreak, + AST_Decl *ctx_scope) +{ + // be_type *elem = dynamic_cast (this->base_type ()); +// /* +// if (be_global->alt_mapping () && this->unbounded ()) +// { +// *os << "std::vector<" << elem->nested_type_name (ctx_scope) +// << ">"; + +// return 0; +// } +// */ +// // Generate the appropriate base class type. +// switch (this->managed_type ()) +// { +// case be_sequence::MNG_OBJREF: +// case be_sequence::MNG_PSEUDO: +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_object_reference_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak +// << be_uidt_nl +// << ">" << be_uidt; +// } +// else +// { +// *os << "::TAO::bounded_object_reference_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << "," +// << linebreak << be_nl; +// *os << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl +// << ">" << be_uidt; +// } + +// break; +// case be_sequence::MNG_VALUE: +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_valuetype_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak +// << be_uidt_nl +// << ">" << be_uidt; +// } +// else +// { +// *os << "::TAO::bounded_valuetype_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope, "_var") << "," +// << linebreak << be_nl +// << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl +// << ">" << be_uidt; +// } + +// break; +// case be_sequence::MNG_STRING: +// { +// be_type *const prim_type = primitive_base_type (); +// if (!prim_type) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// } +// if (prim_type->node_type () == AST_Decl::NT_string) +// { +// be_string *str = +// dynamic_cast (prim_type); +// if (!str) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "bad string node\n"), +// -1); +// } + +// // We need to make a distinction between bounded and +// // unbounded strings. +// if (str->max_size ()->ev ()->u.ulval != 0) +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// else +// { +// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " +// << str->max_size ()->ev ()->u.ulval << ">"; +// } +// } +// else +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_basic_string_sequence"; +// } +// else +// { +// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// } +// } +// } + +// break; +// case be_sequence::MNG_WSTRING: +// { +// be_type *const prim_type = primitive_base_type (); +// if (!prim_type) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// } +// if (prim_type->node_type () == AST_Decl::NT_wstring) +// { +// be_string *str = +// dynamic_cast (prim_type); +// if (!str) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "bad string node\n"), +// -1); +// } + +// // We need to make a distinction between bounded and +// // unbounded strings. +// if (str->max_size ()->ev ()->u.ulval != 0) +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// else +// { +// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " +// << str->max_size ()->ev ()->u.ulval << ">"; +// } +// } +// else +// { +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_basic_string_sequence"; +// } +// else +// { +// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; +// } +// } +// } +// } + +// break; +// default: // Not a managed type. +// switch (elem->base_node_type ()) +// { +// case AST_Decl::NT_array: +// if (this->unbounded ()) +// { +// *os << "::TAO::unbounded_array_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope) << "_slice," +// << linebreak << be_nl +// << elem->nested_type_name (ctx_scope) << "_tag" +// << linebreak << be_uidt_nl +// << ">" << be_uidt; +// } +// else +// { +// *os << "::TAO::bounded_array_sequence<" << linebreak +// << be_idt << be_idt_nl +// << elem->nested_type_name (ctx_scope) << "," << linebreak +// << be_nl; +// *os << elem->nested_type_name (ctx_scope) << "_slice," +// << linebreak << be_nl +// << elem->nested_type_name (ctx_scope) << "_tag," +// << linebreak << be_nl +// << this->max_size ()->ev ()->u.ulval << linebreak +// << be_uidt_nl +// << ">" << be_uidt; +// } + +// break; +// default: +// { +// be_type *const base_type = primitive_base_type (); +// if (!base_type) +// { +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// } + +// const char *tag = ""; +// if (base_type->node_type () == AST_Decl::NT_pre_defined) +// { +// be_predefined_type *const predefined_type = +// dynamic_cast (base_type); +// if (!predefined_type) +// ACE_ERROR_RETURN ((LM_ERROR, +// "(%N:%l) be_sequence::" +// "gen_base_class_name - " +// "Bad element type\n"), +// -1); +// switch (predefined_type->pt ()) +// { +// case AST_PredefinedType::PT_uint8: +// tag = ", CORBA::IDLv4::UInt8_tag"; +// break; +// case AST_PredefinedType::PT_int8: +// tag = ", CORBA::IDLv4::Int8_tag"; +// break; +// default: +// break; +// } +// } + +// *os +// << "::TAO::" << (unbounded () ? "un" : "") << "bounded_value_sequence< " +// << elem->nested_type_name (ctx_scope); +// if (!unbounded ()) +// *os << "," << this->max_size ()->ev ()->u.ulval; +// *os << tag << ">"; +// } +// break; +// } + +// break; +// } + + return 0; +} + +be_field * +be_map::field_node () const +{ + return this->field_node_; +} + +void +be_map::field_node (be_field *node) +{ + this->field_node_ = node; +} + +// Overriden method. +void +be_map::compute_tc_name () +{ + // Sequence TypeCodes can only be accessed through an alias + // TypeCode. Generate a TypeCode name that is meant for internal + // use alone. + + Identifier * tao_id = nullptr; + ACE_NEW (tao_id, + Identifier ("TAO")); + + ACE_NEW (this->tc_name_, + UTL_ScopedName (tao_id, + nullptr)); + + char bound[30] = { 0 }; + + ACE_OS::sprintf (bound, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); + + ACE_CString local_tc_name = + ACE_CString ("tc_") + + ACE_CString (this->flat_name ()) + + ACE_CString (bound); + + Identifier * typecode_scope = nullptr; + ACE_NEW (typecode_scope, + Identifier ("TypeCode")); + + UTL_ScopedName * tc_scope_conc_name = nullptr; + ACE_NEW (tc_scope_conc_name, + UTL_ScopedName (typecode_scope, + nullptr)); + + this->tc_name_->nconc (tc_scope_conc_name); + + Identifier * id = nullptr; + ACE_NEW (id, + Identifier (local_tc_name.c_str ())); + + UTL_ScopedName * conc_name = nullptr; + ACE_NEW (conc_name, + UTL_ScopedName (id, + nullptr)); + + this->tc_name_->nconc (conc_name); +} + +const char * +be_map::smart_fwd_helper_name (AST_Decl *ctx_scope, + be_type *elem) +{ + if (ScopeAsDecl (elem->defined_in ()) == ctx_scope) + { + ACE_CString retval = "tao_"; + retval += elem->local_name ()->get_string (); + return retval.rep (); + } + + return elem->fwd_helper_name (); +} + +void +be_map::destroy () +{ + // Call the destroy methods of our base classes. + this->be_scope::destroy (); + this->be_type::destroy (); + this->AST_Map::destroy (); +} diff --git a/TAO/TAO_IDL/be/be_type.cpp b/TAO/TAO_IDL/be/be_type.cpp index 04e8801b11240..d48378e000d63 100644 --- a/TAO/TAO_IDL/be/be_type.cpp +++ b/TAO/TAO_IDL/be/be_type.cpp @@ -347,6 +347,18 @@ be_type::seen_in_sequence (bool val) this->seen_in_sequence_ = val; } +bool +be_type::seen_in_map () const +{ + return this->seen_in_map_; +} + +void +be_type::seen_in_map (bool val) +{ + this->seen_in_map_ = val; +} + bool be_type::seen_in_operation () const { diff --git a/TAO/TAO_IDL/be/be_visitor.cpp b/TAO/TAO_IDL/be/be_visitor.cpp index e8b1736bb7761..ba10e58eb0b57 100644 --- a/TAO/TAO_IDL/be/be_visitor.cpp +++ b/TAO/TAO_IDL/be/be_visitor.cpp @@ -305,6 +305,12 @@ be_visitor::visit_array (be_array *) return 0; } +int +be_visitor::visit_map (be_map *) +{ + return 0; +} + int be_visitor::visit_sequence (be_sequence *) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp index 09909a0f4fe46..7d2ea51517d6c 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp @@ -147,6 +147,12 @@ be_visitor_field_cdr_op_ch::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_cdr_op_ch::visit_map (be_map *node) +{ + return 0; +} + int be_visitor_field_cdr_op_ch::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 78bdd8dc7cb21..ffa674de55473 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -637,6 +637,12 @@ be_visitor_field_cdr_op_cs::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_cdr_op_cs::visit_map (be_map *node) +{ + return 0; +} + int be_visitor_field_cdr_op_cs::visit_string (be_string *str) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/field.h b/TAO/TAO_IDL/be/be_visitor_field/field.h index 2db9d73616cda..3ebecb03921a7 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field.h +++ b/TAO/TAO_IDL/be/be_visitor_field/field.h @@ -24,6 +24,7 @@ #include "be_eventtype_fwd.h" #include "be_predefined_type.h" #include "be_sequence.h" +#include "be_map.h" #include "be_string.h" #include "be_structure.h" #include "be_structure_fwd.h" diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index 64ae55b1dd0c5..82c80296dc92c 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -12,6 +12,7 @@ #include "field.h" #include "be_visitor_enum/enum_ch.h" #include "be_visitor_sequence/sequence_ch.h" +#include "be_visitor_map/map_ch.h" #include "nr_extern.h" // ********************************************** @@ -380,6 +381,94 @@ be_visitor_field_ch::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_ch::visit_map (be_map *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + be_type *kt = nullptr; + + if (this->ctx_->alias ()) + { + kt = this->ctx_->alias (); + } + else + { + kt = node; + } + + if (!this->ctx_->alias () + && node->is_child (this->ctx_->scope ()->decl ())) + { + // Put the field node into the (anonymous) sequence node, to be + // used later for unique name generation. + be_field *member_node = + dynamic_cast (this->ctx_->node ()); + node->field_node (member_node); + + // This was already generated in the corresponding valuetype class. + if (this->ctx_->state () != TAO_CodeGen::TAO_VALUETYPE_OBV_CH) + { + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + + // First generate the map declaration. + be_visitor_map_ch visitor (&ctx); + + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_ch::" + "visit_sequence - " + "codegen failed\n"), + -1); + } + } + + // // If we are being reused by valutype, this would get generated + // // in the private section of the OBV_xx class, so we must + // // generate the typedef for that case elsewhere. + // AST_Decl::NodeType snt = + // this->ctx_->scope ()->decl ()->node_type (); + + // if (snt != AST_Decl::NT_valuetype && snt != AST_Decl::NT_eventtype) + // { + // // Generate the anonymous sequence member typedef. + // be_decl *bs = this->ctx_->scope ()->decl (); + + // TAO_INSERT_COMMENT (os); + + // *os << "typedef " << bt->nested_type_name (bs) + // << " _" << this->ctx_->node ()->local_name () + // << "_seq;" << be_nl; + // } + } + + // // ACE_NESTED_CLASS macro generated by nested_type_name + // // is not necessary in all cases. + // be_typedef *tdef = dynamic_cast (bt); + + // // This was a typedefed array. + // // ACE_NESTED_CLASS macro generated by nested_type_name + // // is necessary if the struct, union, or valuetype containing this + // // field was not defined inside a module. In such a case, VC++ + // // complains that the non-module scope is not yet fully defined. + // UTL_Scope *holds_container = + // this->ctx_->scope ()->decl ()->defined_in (); + // AST_Decl *hc_decl = ScopeAsDecl (holds_container); + + // if (hc_decl->node_type () != AST_Decl::NT_module + // || !tdef) + // { + // *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); + // } + // else + // { + // *os << bt->name (); + // } + + return 0; +} + int be_visitor_field_ch::visit_string (be_string *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp index 07781ae74ff43..fabd02fc260a9 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ci.cpp @@ -83,6 +83,12 @@ be_visitor_field_ci::visit_sequence (be_sequence *) return 0; } +int +be_visitor_field_ci::visit_map (be_map *) +{ + return 0; +} + int be_visitor_field_ci::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp index 8ba9303460945..d5b5eb0c51531 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp @@ -126,6 +126,12 @@ be_visitor_field_cs::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_field_cs::visit_map (be_map *node) +{ + return 0; +} + int be_visitor_field_cs::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h new file mode 100644 index 0000000000000..63da2eb0c6605 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -0,0 +1,47 @@ + +//============================================================================= +/** + * @file sequence.h + * + * Visitors for generation of code for Sequence + * + * @author Aniruddha Gokhale and Carlos O'Ryan + */ +//============================================================================= + +#include "ace/Log_Msg.h" + +#include "be_array.h" +#include "be_enum.h" +#include "be_exception.h" +#include "be_module.h" +#include "be_util.h" +#include "be_interface.h" +#include "be_interface_fwd.h" +#include "be_component.h" +#include "be_component_fwd.h" +#include "be_home.h" +#include "be_predefined_type.h" +#include "be_map.h" +#include "be_string.h" +#include "be_structure.h" +#include "be_structure_fwd.h" +#include "be_union.h" +#include "be_union_fwd.h" +#include "be_type.h" +#include "be_typedef.h" +#include "be_valuebox.h" +#include "be_valuetype.h" +#include "be_valuetype_fwd.h" +#include "be_eventtype.h" +#include "be_eventtype_fwd.h" +#include "be_helper.h" +#include "be_extern.h" +#include "ast_root.h" +#include "utl_identifier.h" +#include "nr_extern.h" +#include "global_extern.h" + +#include "be_visitor_map.h" +#include "be_visitor_context.h" + diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp new file mode 100644 index 0000000000000..cd911a82cac86 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -0,0 +1,387 @@ + +//============================================================================= +/** + * @file map_ch.cpp + * + * Visitor generating code for Sequence in the client header + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// Root visitor for client header. +be_visitor_map_ch::be_visitor_map_ch (be_visitor_context *ctx) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_ch::~be_visitor_map_ch () +{ +} + +int be_visitor_map_ch::visit_map (be_map *node) +{ + if (node->defined_in () == nullptr) + { + // The node is a nested map, and has had no scope defined. + node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); + } + + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + + // We don't check cli_hdr_gen() here. If we are generated more + // than once as an anonymous map, the name guard will cause + // the C++ preprocessor to catch it. If we are generated more than + // once as a typedef (caused by a comma separated list of + // typedefs), our name will be changed by the call above and the + // name guard will not catch it, but that's ok - we want to + // be generated for each typedef. + if (node->imported ()) + { + return 0; + } + + TAO_OutStream *os = this->ctx_->stream (); + + // Retrieve the key type since we may need to do some code + // generation for the base type. + be_type *kt = dynamic_cast (node->key_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + kt->seen_in_map (true); + AST_Decl::NodeType knt = kt->node_type (); + + // If our key type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (knt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + // Retrieve the key type since we may need to do some code + // generation for the base type. + be_type *vt = dynamic_cast (node->value_type ()); + + if (vt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + kt->seen_in_map (true); + AST_Decl::NodeType vnt = vt->node_type (); + + // If our key type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + *os << be_nl_2; + + TAO_INSERT_COMMENT (os); + + *os << "std::map<" + << node->key_type ()->full_name () + << "," + << node->value_type ()->full_name () + << ">"; + // if (idl_global->dcps_map_type_defined (node->full_name ())) + // { + // // Special Implementation for OpenDDS + // *os << be_nl_2 + // << "typedef ::TAO::DCPS::ZeroCopyDataSeq< " + // << node->key_type ()->full_name () + // << ", " + // << node->value_type()->full_name() + // << ", DCPS_ZERO_COPY_MAP_DEFAULT_SIZE> " + // << node->original_local_name () + // << ";" << be_nl; + // } + // else + // { + // os->gen_ifdef_macro (node->flat_name ()); + + // *os << be_nl_2; + + // /// If we are using std::vector, we won't be using _vars + // /// and _outs. They may get redefined and reinstated later. + // if (!be_global->alt_mapping () || !node->unbounded ()) + // { + // if (this->ctx_->tdef () != nullptr) + // { + // *os << "class " << node->local_name () << ";"; + // } + + // if (this->ctx_->tdef () != nullptr) + // { + // this->gen_varout_typedefs (node, kt); + // } + + // if (this->ctx_->tdef () != nullptr) + // { + // this->gen_varout_typedefs (node, vt); + // } + // } + // else + // { + // // *os << "typedef std::map< "; + + // // // Generate the base type for the buffer. + // // be_visitor_context ctx (*this->ctx_); + // // ctx.state (TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH); + // // be_visitor_map_buffer_type kt_visitor (&ctx); + + // // if (kt->accept (&kt_visitor) == -1) + // // { + // // ACE_ERROR_RETURN ((LM_ERROR, + // // ACE_TEXT ("be_visitor_map_ch::") + // // ACE_TEXT ("visit_map - ") + // // ACE_TEXT ("buffer type visit failed\n")), + // // -1); + // // } + + // // if (kt->accept(&kt_visitor) == -1) + // // { + + // // } + + // // if (vt->accept (&kt_visitor) == -1) + // // { + // // ACE_ERROR_RETURN ((LM_ERROR, + // // ACE_TEXT ("be_visitor_map_ch::") + // // ACE_TEXT ("visit_map - ") + // // ACE_TEXT ("buffer type visit failed\n")), + // // -1); + // // } + + // // if (vt->accept(&vt_visitor) == -1) + // // { + + // // } + + // // *os << "> " << node->local_name () << ";"; + + // // os->gen_endif (); + // // node->cli_hdr_gen (true); + // return 0; + // } + + // *os << be_nl_2 + // << "class " << be_global->stub_export_macro () << " " + // << node->local_name () << be_idt_nl + // << ": public" << be_idt << be_idt_nl; + + // int status = + // node->gen_base_class_name (os, + // "", + // this->ctx_->scope ()->decl ()); + + // if (status == -1) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // ACE_TEXT ("be_visitor_map_ch::") + // ACE_TEXT ("visit_map - ") + // ACE_TEXT ("Base class name ") + // ACE_TEXT ("generation failed\n")), + // -1); + // } + + // *os << be_uidt << be_uidt << be_uidt; + + // *os << be_nl + // << "{" << be_nl + // << "public:" << be_idt; + + // *os << be_nl + // << node->local_name () << " () = default;"; + + // if (node->unbounded ()) + // { + // *os << be_nl + // << node->local_name () << " ( ::CORBA::ULong max);"; + // } + + // /// If we are using std::vector, we can't implement this + // /// constructor. + // if (!be_global->alt_mapping () || !node->unbounded ()) + // { + // // *os << be_nl + // // << node->local_name () << " (" << be_idt; + + // // if (node->unbounded ()) + // // { + // // *os << be_nl + // // << "::CORBA::ULong max,"; + // // } + + // // *os << be_nl + // // << "::CORBA::ULong length," << be_nl; + + // // // Generate the base type for the buffer. + // // be_visitor_context ctx (*this->ctx_); + // // ctx.state (TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH); + // // be_visitor_map_buffer_type bt_visitor (&ctx); + + // // if (kt->accept (&bt_visitor) == -1) + // // { + // // ACE_ERROR_RETURN ((LM_ERROR, + // // ACE_TEXT ("be_visitor_map_ch::") + // // ACE_TEXT ("visit_map - ") + // // ACE_TEXT ("buffer type visit failed\n")), + // // -1); + // // } + + // // *os << "* buffer," << be_nl + // // << "::CORBA::Boolean release = false);" << be_uidt; + // } + + // // Default copy/move constructor and assignment operators + // *os << be_nl + // << node->local_name () << " (const " << node->local_name () << " &) = default;" << be_nl + // << node->local_name () << " (" << node->local_name () << " &&) = default;" << be_nl + // << node->local_name () << "& operator= (const " << node->local_name () << " &) = default;" << be_nl + // << node->local_name () << "& operator= (" << node->local_name () << " &&) = default;" + // << be_nl; + + // *os << "virtual ~" << node->local_name () << " () = default;"; + + // if (be_global->alt_mapping () && node->unbounded ()) + // { + // *os << be_nl_2 + // << "virtual ::CORBA::ULong length () const;" + // << be_nl + // << "virtual void length (::CORBA::ULong);" + // << be_nl_2 + // << "virtual ::CORBA::ULong maximum () const;"; + // } + + // *os << be_nl; + + // node->gen_stub_decls (os); + + // // TAO provides extensions for octet maps, first find out if + // // the base type is an octet (or an alias for octet). + // be_predefined_type *predef = nullptr; + + // if (kt->base_node_type () == AST_Type::NT_pre_defined) + // { + // be_typedef* alias = + // dynamic_cast (kt); + + // if (alias == nullptr) + // { + // predef = dynamic_cast (kt); + // } + // else + // { + // predef = + // dynamic_cast ( + // alias->primitive_base_type () + // ); + // } + // } + + // // Now generate the extension... + // if (predef != nullptr + // && predef->pt () == AST_PredefinedType::PT_octet + // && node->unbounded () + // && !be_global->alt_mapping ()) + // { + // *os << be_nl_2 + // << "\n#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)" << be_nl + // << node->local_name () << " (::CORBA::ULong length, const ACE_Message_Block* mb)" + // << be_idt_nl + // << ": ::TAO::unbounded_value_map< ::CORBA::Octet>" + // << " (length, mb) {}" << be_uidt_nl + // << "\n#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */"; + // } + + // *os << be_uidt_nl + // << "};"; + + // os->gen_endif (); + // } + + node->cli_hdr_gen (true); + return 0; +} + +void +be_visitor_map_ch::gen_varout_typedefs (be_map *node, + be_type *elem) +{ + TAO_OutStream *os = this->ctx_->stream (); + + *os << be_nl; + + AST_Type::SIZE_TYPE st = elem->size_type (); + + *os << "typedef " + << (st == AST_Type::FIXED ? "::TAO_FixedSeq_Var_T<" + : "::TAO_VarSeq_Var_T<") + << node->local_name (); + + *os << "> " + << node->local_name () << "_var;" << be_nl; + + *os << "typedef ::TAO_Seq_Out_T<" + << node->local_name () + << "> " << node->local_name () << "_out;" << be_nl; +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp new file mode 100644 index 0000000000000..02f17e9dc8a5d --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -0,0 +1,282 @@ + +//============================================================================= +/** + * @file map_cs.cpp + * + * Visitor generating code for Sequences in the client stubs file + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// ************************************************************ +// Root visitor for client stub class +// ************************************************************ + +be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_cs::~be_visitor_map_cs () +{ +} + +int be_visitor_map_cs::visit_map (be_map *node) +{ + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + + // We don't check cli_stub_gen() here. If we are generated more + // than once as an anonymous map, the name guard will cause + // the C++ preprocessor to catch it. If we are generated more than + // once as a typedef (caused by a comma separated list of + // typedefs), our name will be changed by the call above and the + // name guard will not catch it, but that's ok - we want to + // be generated for each typedef. + if (node->imported ()) + { + return 0; + } + + if (idl_global->dcps_map_type_defined (node->full_name ())) + { + return 0; + } + + be_type *kt = dynamic_cast (node->key_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + AST_Decl::NodeType knt = kt->node_type (); + + // If our base type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (knt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + be_type *vt = dynamic_cast (node->value_type ()); + + if (vt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("Bad element type\n")), + -1); + } + + AST_Decl::NodeType vnt = vt->node_type (); + + // If our base type is an anonymous map, we must create a name + // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) + { + // Temporarily make the context's tdef node 0 so the nested call + // to create_name will not get confused and give our anonymous + // map element type the same name as we have. + be_typedef *tmp = this->ctx_->tdef (); + this->ctx_->tdef (nullptr); + + if (kt->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for anonymous ") + ACE_TEXT ("base type failed\n")), + -1); + } + + // Restore the tdef value. + this->ctx_->tdef (tmp); + } + + if (be_global->alt_mapping () && node->unbounded ()) + { + // We are just a typedef and don't need any stub source + // code generation. + return 0; + } + + TAO_OutStream *os = this->ctx_->stream (); + + *os << be_nl_2; + + TAO_INSERT_COMMENT (os); + + os->gen_ifdef_macro (node->flat_name ()); + + // for unbounded maps, we have a different set of constructors + if (node->unbounded ()) + { + *os << be_nl_2 + << node->name () << "::" << node->local_name () << " (" + << be_idt << be_idt_nl + << "::CORBA::ULong max)" << be_uidt_nl + << ": " << be_idt; + + int status = + node->gen_base_class_name (os, + "", + this->ctx_->scope ()->decl ()); + + // Pass it to the base constructor. + if (status == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("codegen for base ") + ACE_TEXT ("map class failed\n")), + -1); + } + + + *os << " (max)" << be_uidt << be_uidt_nl + << "{}"; + } + + /// If we are using std::map, we can't implement this + /// constructor. + if (!be_global->alt_mapping () || !node->unbounded ()) + { + // // Constructor with the buffer + // *os << be_nl_2 + // << node->name () << "::" << node->local_name () << " (" + // << be_idt << be_idt_nl; + + // if (node->unbounded ()) + // { + // // Unbounded seq takes this extra parameter. + // *os << "::CORBA::ULong max," << be_nl; + // } + + // *os << "::CORBA::ULong length," << be_nl; + + // // generate the base type for the buffer + // be_visitor_context ctx (*this->ctx_); + // be_visitor_map_buffer_type bt_visitor (&ctx); + + // if (kt->accept (&bt_visitor) == -1) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // ACE_TEXT ("be_visitor_map_cs::") + // ACE_TEXT ("visit_map - ") + // ACE_TEXT ("base type visit failed\n")), + // -1); + // } + + // *os << " * buffer," << be_nl + // << "::CORBA::Boolean release)" << be_uidt + // << be_uidt_nl + // << " : " << be_idt << be_idt; + + // // Pass it to the base constructor. + // if (node->gen_base_class_name (os, + // "", + // this->ctx_->scope ()->decl ()) == -1) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // ACE_TEXT ("be_visitor_map_cs::") + // ACE_TEXT ("visit_map - ") + // ACE_TEXT ("codegen for base ") + // ACE_TEXT ("map class\n")), + // -1); + // } + + // *os << be_nl << "("; + + // if (node->unbounded ()) + // { + // *os << "max, "; + // } + + // *os << "length, buffer, release)" << be_uidt << be_uidt_nl + // << "{}"; + } + + if (be_global->alt_mapping () && node->unbounded ()) + { + *os << be_nl_2 + << "::CORBA::ULong" << be_nl + << node->name () << "::length () const" << be_nl + << "{" << be_idt_nl + << "return this->size ();" << be_uidt_nl + << "}"; + + *os << be_nl_2 + << "void" << be_nl + << node->name () << "::length ( ::CORBA::ULong length)" + << be_nl + << "{" << be_idt_nl + << "this->resize (length);" << be_uidt_nl + << "}"; + + *os << be_nl_2 + << "::CORBA::ULong" << be_nl + << node->name () << "::maximum () const" << be_nl + << "{" << be_idt_nl + << "return this->capacity ();" << be_uidt_nl + << "}"; + } + + if (be_global->any_support () + && !node->anonymous () + && (!node->is_local () + || be_global->gen_local_iface_anyops ())) + { + *os << be_nl_2 + << "void " + << node->name () << "::_tao_any_destructor (" + << be_idt << be_idt_nl + << "void * _tao_void_pointer)" << be_uidt << be_uidt_nl + << "{" << be_idt_nl + << node->local_name () << " * _tao_tmp_pointer =" + << be_idt_nl + << "static_cast<" << node->local_name () + << " *> (_tao_void_pointer);" << be_uidt_nl + << "delete _tao_tmp_pointer;" << be_uidt_nl + << "}"; + } + + os->gen_endif (); + + node->cli_stub_gen (true); + return 0; +} diff --git a/TAO/TAO_IDL/be_include/be_generator.h b/TAO/TAO_IDL/be_include/be_generator.h index 9fcdcbab9f8fd..115ac3a31a45a 100644 --- a/TAO/TAO_IDL/be_include/be_generator.h +++ b/TAO/TAO_IDL/be_include/be_generator.h @@ -256,6 +256,13 @@ class TAO_IDL_BE_Export be_generator : public AST_Generator bool is_local, bool is_abstract); + virtual AST_Map *create_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool is_local, + bool is_abstract); + virtual AST_String *create_string (AST_Expression *v); virtual AST_String *create_wstring (AST_Expression *v); diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h new file mode 100644 index 0000000000000..1b5b5db2f234a --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -0,0 +1,129 @@ +// -*- C++ -*- + + +//============================================================================= +/** + * @file be_map.h + * + * Extension of class AST_Map that provides additional means for C++ + * mapping. + * + * @author Copyright 1994-1995 by Sun Microsystems + * @author Inc. and Aniruddha Gokhale + */ +//============================================================================= + +#ifndef BE_MAP_H +#define BE_MAP_H + +#include "be_scope.h" +#include "be_type.h" +#include "ast_map.h" + +class AST_Expression; +class AST_Type; +class be_visitor; +class be_typedef; +class be_field; + +// A map in OMG IDL does not define a scoping construct just as a struct +// or union or an interface do. However, in the C++ mapping, a map becomes +// a class. If the base type of a map is another anonymous map, then +// the base type is defined in the scope of this map. Hence we define +// be_map to possess the additional characteristics of a scope. +class be_map : public virtual AST_Map, + public virtual be_scope, + public virtual be_type +{ +public: + enum MANAGED_TYPE + { + MNG_UNKNOWN, + MNG_NONE, + MNG_STRING, + MNG_WSTRING, + MNG_OBJREF, + MNG_VALUE, + MNG_PSEUDO + }; + + be_map (AST_Expression *v, + AST_Type *kt, + AST_Type *vt, + UTL_ScopedName *n, + bool local, + bool abstract); + + /// Non-virtual override of frontend method. + be_type *key_type () const; + be_type *value_type () const; + + /** + * Returns the fully dealiased key type if it's a typedef. If it's not a + * typedef, the it returns the same value as as key_type(). + */ + be_type *primitive_key_type () const; + + /** + * Returns the fully dealiased key type if it's a typedef. If it's not a + * typedef, the it returns the same value as as key_type(). + */ + be_type *primitive_value_type () const; + + /// Create a name for ourselves. If we are typedefed, then we get the name of + /// the typedef node, else we generate a name for ourselves. + virtual int create_name (be_typedef *node); + + /// Return the managed type. + virtual MANAGED_TYPE managed_type (); + + // Scope management functions. + virtual AST_Map *fe_add_map (AST_Map *); + + /// Overridden method on the be_scope class. + virtual be_decl *decl (); + + /// Overridden from class be_type. + virtual void gen_ostream_operator (TAO_OutStream *os, + bool use_underscore); + + /// Cleanup method. + virtual void destroy (); + + // Visiting. + virtual int accept (be_visitor *visitor); + + /// Report the instance name for instantiation. + const char *instance_name (); + + /// Common code for generating the name and parameters of our + /// template map base class. + int gen_base_class_name (TAO_OutStream *os, + const char * linebreak, + AST_Decl *elem_scope); + + /// Accessors for the member. + be_field *field_node () const; + void field_node (be_field *node); + + /// Helper to create_name, also used by the traits visitor. + virtual char *gen_name (); + +protected: + + /// Computes the fully scoped typecode name. + virtual void compute_tc_name (); + +private: + const char *smart_fwd_helper_name (AST_Decl *elem_scope, + be_type *elem); + +private: + /// Our managed type. + MANAGED_TYPE mt_; + + /// Used if we are an anonymous member, to help generate a unique name. + be_field *field_node_; +}; + +#endif diff --git a/TAO/TAO_IDL/be_include/be_type.h b/TAO/TAO_IDL/be_include/be_type.h index e70c6e2c9fcd1..8be691be0299c 100644 --- a/TAO/TAO_IDL/be_include/be_type.h +++ b/TAO/TAO_IDL/be_include/be_type.h @@ -70,6 +70,10 @@ class be_type : public virtual AST_Type, bool seen_in_sequence () const; virtual void seen_in_sequence (bool val); + /// Accessors for the member. + bool seen_in_map () const; + virtual void seen_in_map (bool val); + /// Accessors for the member. bool seen_in_operation () const; virtual void seen_in_operation (bool val); @@ -104,6 +108,9 @@ class be_type : public virtual AST_Type, /// Has this declaration been used as a sequence element? bool seen_in_sequence_; + /// Has this declaration been used as a map element? + bool seen_in_map_; + /// Has this declaration been used as a return type or parameter? bool seen_in_operation_; }; diff --git a/TAO/TAO_IDL/be_include/be_visitor.h b/TAO/TAO_IDL/be_include/be_visitor.h index ca89ed5f9c85e..7c95f2f9c491a 100644 --- a/TAO/TAO_IDL/be_include/be_visitor.h +++ b/TAO/TAO_IDL/be_include/be_visitor.h @@ -62,6 +62,7 @@ class be_constant; class be_enum_val; class be_array; class be_sequence; +class be_map; class be_string; class be_typedef; class be_root; @@ -134,6 +135,7 @@ class be_visitor virtual int visit_enum_val (be_enum_val *node); virtual int visit_array (be_array *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_string (be_string *node); virtual int visit_typedef (be_typedef *node); virtual int visit_root (be_root *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h index 04fb0dc86fe7f..644a32273dee8 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_ch.h @@ -32,6 +32,7 @@ class be_visitor_field_cdr_op_ch : public be_visitor_decl virtual int visit_array (be_array *node); virtual int visit_enum (be_enum *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); virtual int visit_typedef (be_typedef *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h index ee844d8c9dd45..dc5142edcd290 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h @@ -44,6 +44,7 @@ class be_visitor_field_cdr_op_cs : public be_visitor_decl virtual int visit_eventtype_fwd (be_eventtype_fwd *node); virtual int visit_predefined_type (be_predefined_type *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_string (be_string *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h b/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h index 2145b28220323..cc9bae99333d1 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/field_ch.h @@ -36,6 +36,7 @@ class be_visitor_field_ch : public be_visitor_decl virtual int visit_valuetype_fwd (be_valuetype_fwd *node); virtual int visit_predefined_type (be_predefined_type *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_string (be_string *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h b/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h index dd22e9f168208..ebe3867ca6882 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/field_ci.h @@ -31,6 +31,7 @@ class be_visitor_field_ci : public be_visitor_decl virtual int visit_array (be_array *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); virtual int visit_typedef (be_typedef *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h b/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h index 533b0a28dcd9c..f5fdb1534a68b 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_field/field_cs.h @@ -32,6 +32,7 @@ class be_visitor_field_cs : public be_visitor_decl virtual int visit_array (be_array *node); virtual int visit_enum (be_enum *node); virtual int visit_sequence (be_sequence *node); + virtual int visit_map (be_map *node); virtual int visit_structure (be_structure *node); virtual int visit_structure_fwd (be_structure_fwd *node); virtual int visit_typedef (be_typedef *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h new file mode 100644 index 0000000000000..12f618aa6c991 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -0,0 +1,18 @@ +/* -*- c++ -*- */ + +#ifndef TAO_BE_VISITOR_SEQUENCE_H +#define TAO_BE_VISITOR_SEQUENCE_H + +#include "idl_defines.h" + +#include "be_visitor_decl.h" +#include "be_visitor_map/map_ch.h" +#include "be_visitor_map/map_cs.h" +// #include "be_visitor_map/map_base.h" +// #include "be_visitor_map/buffer_type.h" +// #include "be_visitor_map/any_op_ch.h" +// #include "be_visitor_map/any_op_cs.h" +// #include "be_visitor_map/cdr_op_ch.h" +// #include "be_visitor_map/cdr_op_cs.h" + +#endif /* TAO_BE_VISITOR_SEQUENCE_H */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h new file mode 100644 index 0000000000000..b3f3d0aeb9a57 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -0,0 +1,44 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file map_ch.h + * + * Concrete visitor for the Sequence class + * This one provides code generation for the Sequence node in the client + * header. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_MAP_CH_H_ +#define _BE_VISITOR_MAP_MAP_CH_H_ + +/** + * @class be_visitor_map_ch + * + * @brief be_visitor_map_ch + * + * This is a concrete visitor to generate the client header for + * maps + */ +class be_visitor_map_ch : public be_visitor_decl +{ +public: + /// constructor + be_visitor_map_ch (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_ch (); + + /// visit map node. + virtual int visit_map (be_map *node); + + /// Generate the typedefs for our _var and _out template classes. + void gen_varout_typedefs (be_map *node, + be_type *elem); +}; + +#endif /* _BE_VISITOR_MAP_MAP_CH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h new file mode 100644 index 0000000000000..b8ac9203148f8 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -0,0 +1,41 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file sequence_cs.h + * + * Concrete visitor for the Sequence class + * This one provides code generation for the Sequence node in the client + * stubs. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_MAP_CS_H_ +#define _BE_VISITOR_MAP_MAP_CS_H_ + +/** + * @class be_visitor_map_cs + * + * @brief be_visitor_map_cs + * + * This is a concrete visitor to generate the client stubs for + * maps + */ +class TAO_OutStream; +class be_visitor_map_cs : public be_visitor_decl +{ +public: + /// constructor + be_visitor_map_cs (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_cs (); + + /// visit map node + virtual int visit_map (be_map *node); +}; + +#endif /* _BE_VISITOR_MAP_MAP_CS_H_ */ diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index c50beaf642118..82b84618ad40c 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -433,6 +433,12 @@ class TAO_IDL_FE_Export IDL_GlobalData // BE calls to check whether pragma for this sequence has been set bool dcps_sequence_type_defined (const char* seq_type); + // FE calls when #pragma DCPS_DATA_MAP_TYPE is processed + void set_dcps_map_type (const char* map_type); + + // BE calls to check whether pragma for this map has been set + bool dcps_map_type_defined (const char* map_type); + // FE calls when #pragma DCPS_GEN_ZERO_COPY_READ is processed void dcps_gen_zero_copy_read (bool value); @@ -790,6 +796,7 @@ class TAO_IDL_FE_Export IDL_GlobalData bool non_local_op_seen_; bool object_arg_seen_; bool octet_seq_seen_; + bool octet_map_seen_; bool operation_seen_; bool pseudo_seq_seen_; bool recursive_type_seen_; diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index 1c9a20bd53b13..b1d9afba5ee12 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -1730,6 +1730,29 @@ IDL_GlobalData::dcps_sequence_type_defined (const char* seq_type) return false; } +void +IDL_GlobalData::set_dcps_map_type (const char* map_type) +{ + // this->dcps_sequence_types_list_.enqueue_tail (ACE::strnew (seq_type)); +} + +bool +IDL_GlobalData::dcps_map_type_defined (const char* map_type) +{ + char **tmp = nullptr; + + // for (ACE_Unbounded_Queue_Iteratorriter ( + // this->dcps_sequence_types_list_); + // riter.done () == 0; + // riter.advance ()) + // { + // riter.next (tmp); + // if (ACE_OS::strcmp (*tmp, seq_type) == 0) + // return true; + // } + return false; +} + void IDL_GlobalData::add_dcps_data_type (const char* id) { From 67ec6bad45bbb567f027e83e8df857ce27c1e97a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 16 Jun 2022 21:00:48 -0400 Subject: [PATCH 029/445] Removed whitespaces --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 10 +++++----- TAO/TAO_IDL/be_include/be_map.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index cd911a82cac86..7e56f72482112 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -148,7 +148,7 @@ int be_visitor_map_ch::visit_map (be_map *node) // *os << be_nl_2 // << "typedef ::TAO::DCPS::ZeroCopyDataSeq< " // << node->key_type ()->full_name () - // << ", " + // << ", " // << node->value_type()->full_name() // << ", DCPS_ZERO_COPY_MAP_DEFAULT_SIZE> " // << node->original_local_name () @@ -196,8 +196,8 @@ int be_visitor_map_ch::visit_map (be_map *node) // // ACE_TEXT ("buffer type visit failed\n")), // // -1); // // } - - // // if (kt->accept(&kt_visitor) == -1) + + // // if (kt->accept(&kt_visitor) == -1) // // { // // } @@ -210,8 +210,8 @@ int be_visitor_map_ch::visit_map (be_map *node) // // ACE_TEXT ("buffer type visit failed\n")), // // -1); // // } - - // // if (vt->accept(&vt_visitor) == -1) + + // // if (vt->accept(&vt_visitor) == -1) // // { // // } diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 1b5b5db2f234a..991ef7bfcabde 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -63,13 +63,13 @@ class be_map : public virtual AST_Map, * typedef, the it returns the same value as as key_type(). */ be_type *primitive_key_type () const; - + /** * Returns the fully dealiased key type if it's a typedef. If it's not a * typedef, the it returns the same value as as key_type(). */ be_type *primitive_value_type () const; - + /// Create a name for ourselves. If we are typedefed, then we get the name of /// the typedef node, else we generate a name for ourselves. virtual int create_name (be_typedef *node); From facd12c3ff0a5f995c164e904da0154b9fea133d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 16 Jun 2022 21:06:59 -0400 Subject: [PATCH 030/445] Fixed fuzz --- TAO/TAO_IDL/be/be_visitor_map/map.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h index 63da2eb0c6605..ec98e9e90e363 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map.h +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -1,7 +1,7 @@ //============================================================================= /** - * @file sequence.h + * @file map.h * * Visitors for generation of code for Sequence * diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index b8ac9203148f8..73cd942225ba6 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -2,7 +2,7 @@ //============================================================================= /** - * @file sequence_cs.h + * @file map_cs.h * * Concrete visitor for the Sequence class * This one provides code generation for the Sequence node in the client From ad0d7dc97e70c6c5d895ae31193247310769d4a5 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 20:15:22 -0400 Subject: [PATCH 031/445] Cleaned up some be_map functions --- TAO/TAO_IDL/be/be_map.cpp | 262 ------------------ TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 251 +---------------- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 198 ++----------- TAO/TAO_IDL/be_include/be_map.h | 10 +- .../be_include/be_visitor_map/map_ch.h | 7 +- .../be_include/be_visitor_map/map_cs.h | 2 +- TAO/TAO_IDL/tao_idl_be.mpc | 2 + TAO/tests/IDLv4/maps/main.cpp | 36 ++- 8 files changed, 69 insertions(+), 699 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index befb2a291618d..927acec7b389b 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -576,268 +576,6 @@ be_map::instance_name () return namebuf; } -int -be_map::gen_base_class_name (TAO_OutStream *os, - const char * linebreak, - AST_Decl *ctx_scope) -{ - // be_type *elem = dynamic_cast (this->base_type ()); -// /* -// if (be_global->alt_mapping () && this->unbounded ()) -// { -// *os << "std::vector<" << elem->nested_type_name (ctx_scope) -// << ">"; - -// return 0; -// } -// */ -// // Generate the appropriate base class type. -// switch (this->managed_type ()) -// { -// case be_sequence::MNG_OBJREF: -// case be_sequence::MNG_PSEUDO: -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_object_reference_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak -// << be_uidt_nl -// << ">" << be_uidt; -// } -// else -// { -// *os << "::TAO::bounded_object_reference_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << "," -// << linebreak << be_nl; -// *os << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl -// << ">" << be_uidt; -// } - -// break; -// case be_sequence::MNG_VALUE: -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_valuetype_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << linebreak -// << be_uidt_nl -// << ">" << be_uidt; -// } -// else -// { -// *os << "::TAO::bounded_valuetype_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope, "_var") << "," -// << linebreak << be_nl -// << this->max_size ()->ev ()->u.ulval << linebreak << be_uidt_nl -// << ">" << be_uidt; -// } - -// break; -// case be_sequence::MNG_STRING: -// { -// be_type *const prim_type = primitive_base_type (); -// if (!prim_type) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// } -// if (prim_type->node_type () == AST_Decl::NT_string) -// { -// be_string *str = -// dynamic_cast (prim_type); -// if (!str) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "bad string node\n"), -// -1); -// } - -// // We need to make a distinction between bounded and -// // unbounded strings. -// if (str->max_size ()->ev ()->u.ulval != 0) -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// else -// { -// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " -// << str->max_size ()->ev ()->u.ulval << ">"; -// } -// } -// else -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_basic_string_sequence"; -// } -// else -// { -// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// } -// } -// } - -// break; -// case be_sequence::MNG_WSTRING: -// { -// be_type *const prim_type = primitive_base_type (); -// if (!prim_type) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// } -// if (prim_type->node_type () == AST_Decl::NT_wstring) -// { -// be_string *str = -// dynamic_cast (prim_type); -// if (!str) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "bad string node\n"), -// -1); -// } - -// // We need to make a distinction between bounded and -// // unbounded strings. -// if (str->max_size ()->ev ()->u.ulval != 0) -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// else -// { -// *os << "::TAO::bounded_bd_string_sequencemax_size ()->ev ()->u.ulval << ", " -// << str->max_size ()->ev ()->u.ulval << ">"; -// } -// } -// else -// { -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_basic_string_sequence"; -// } -// else -// { -// *os << "::TAO::bounded_basic_string_sequencemax_size ()->ev ()->u.ulval << ">"; -// } -// } -// } -// } - -// break; -// default: // Not a managed type. -// switch (elem->base_node_type ()) -// { -// case AST_Decl::NT_array: -// if (this->unbounded ()) -// { -// *os << "::TAO::unbounded_array_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope) << "_slice," -// << linebreak << be_nl -// << elem->nested_type_name (ctx_scope) << "_tag" -// << linebreak << be_uidt_nl -// << ">" << be_uidt; -// } -// else -// { -// *os << "::TAO::bounded_array_sequence<" << linebreak -// << be_idt << be_idt_nl -// << elem->nested_type_name (ctx_scope) << "," << linebreak -// << be_nl; -// *os << elem->nested_type_name (ctx_scope) << "_slice," -// << linebreak << be_nl -// << elem->nested_type_name (ctx_scope) << "_tag," -// << linebreak << be_nl -// << this->max_size ()->ev ()->u.ulval << linebreak -// << be_uidt_nl -// << ">" << be_uidt; -// } - -// break; -// default: -// { -// be_type *const base_type = primitive_base_type (); -// if (!base_type) -// { -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// } - -// const char *tag = ""; -// if (base_type->node_type () == AST_Decl::NT_pre_defined) -// { -// be_predefined_type *const predefined_type = -// dynamic_cast (base_type); -// if (!predefined_type) -// ACE_ERROR_RETURN ((LM_ERROR, -// "(%N:%l) be_sequence::" -// "gen_base_class_name - " -// "Bad element type\n"), -// -1); -// switch (predefined_type->pt ()) -// { -// case AST_PredefinedType::PT_uint8: -// tag = ", CORBA::IDLv4::UInt8_tag"; -// break; -// case AST_PredefinedType::PT_int8: -// tag = ", CORBA::IDLv4::Int8_tag"; -// break; -// default: -// break; -// } -// } - -// *os -// << "::TAO::" << (unbounded () ? "un" : "") << "bounded_value_sequence< " -// << elem->nested_type_name (ctx_scope); -// if (!unbounded ()) -// *os << "," << this->max_size ()->ev ()->u.ulval; -// *os << tag << ">"; -// } -// break; -// } - -// break; -// } - - return 0; -} - be_field * be_map::field_node () const { diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 7e56f72482112..6e83bfd014952 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -29,28 +29,6 @@ int be_visitor_map_ch::visit_map (be_map *node) node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } - // First create a name for ourselves. - if (node->create_name (this->ctx_->tdef ()) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("failed creating name\n")), - -1); - } - - // We don't check cli_hdr_gen() here. If we are generated more - // than once as an anonymous map, the name guard will cause - // the C++ preprocessor to catch it. If we are generated more than - // once as a typedef (caused by a comma separated list of - // typedefs), our name will be changed by the call above and the - // name guard will not catch it, but that's ok - we want to - // be generated for each typedef. - if (node->imported ()) - { - return 0; - } - TAO_OutStream *os = this->ctx_->stream (); // Retrieve the key type since we may need to do some code @@ -69,8 +47,6 @@ int be_visitor_map_ch::visit_map (be_map *node) kt->seen_in_map (true); AST_Decl::NodeType knt = kt->node_type (); - // If our key type is an anonymous map, we must create a name - // and generate a class declaration for it as well. if (knt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -93,8 +69,8 @@ int be_visitor_map_ch::visit_map (be_map *node) this->ctx_->tdef (tmp); } - // Retrieve the key type since we may need to do some code - // generation for the base type. + + be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) @@ -106,11 +82,10 @@ int be_visitor_map_ch::visit_map (be_map *node) -1); } - kt->seen_in_map (true); + vt->seen_in_map (true); AST_Decl::NodeType vnt = vt->node_type (); - // If our key type is an anonymous map, we must create a name - // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -139,225 +114,9 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << "std::map<" << node->key_type ()->full_name () - << "," + << ", " << node->value_type ()->full_name () << ">"; - // if (idl_global->dcps_map_type_defined (node->full_name ())) - // { - // // Special Implementation for OpenDDS - // *os << be_nl_2 - // << "typedef ::TAO::DCPS::ZeroCopyDataSeq< " - // << node->key_type ()->full_name () - // << ", " - // << node->value_type()->full_name() - // << ", DCPS_ZERO_COPY_MAP_DEFAULT_SIZE> " - // << node->original_local_name () - // << ";" << be_nl; - // } - // else - // { - // os->gen_ifdef_macro (node->flat_name ()); - - // *os << be_nl_2; - - // /// If we are using std::vector, we won't be using _vars - // /// and _outs. They may get redefined and reinstated later. - // if (!be_global->alt_mapping () || !node->unbounded ()) - // { - // if (this->ctx_->tdef () != nullptr) - // { - // *os << "class " << node->local_name () << ";"; - // } - - // if (this->ctx_->tdef () != nullptr) - // { - // this->gen_varout_typedefs (node, kt); - // } - - // if (this->ctx_->tdef () != nullptr) - // { - // this->gen_varout_typedefs (node, vt); - // } - // } - // else - // { - // // *os << "typedef std::map< "; - - // // // Generate the base type for the buffer. - // // be_visitor_context ctx (*this->ctx_); - // // ctx.state (TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH); - // // be_visitor_map_buffer_type kt_visitor (&ctx); - - // // if (kt->accept (&kt_visitor) == -1) - // // { - // // ACE_ERROR_RETURN ((LM_ERROR, - // // ACE_TEXT ("be_visitor_map_ch::") - // // ACE_TEXT ("visit_map - ") - // // ACE_TEXT ("buffer type visit failed\n")), - // // -1); - // // } - - // // if (kt->accept(&kt_visitor) == -1) - // // { - - // // } - - // // if (vt->accept (&kt_visitor) == -1) - // // { - // // ACE_ERROR_RETURN ((LM_ERROR, - // // ACE_TEXT ("be_visitor_map_ch::") - // // ACE_TEXT ("visit_map - ") - // // ACE_TEXT ("buffer type visit failed\n")), - // // -1); - // // } - - // // if (vt->accept(&vt_visitor) == -1) - // // { - - // // } - - // // *os << "> " << node->local_name () << ";"; - - // // os->gen_endif (); - // // node->cli_hdr_gen (true); - // return 0; - // } - - // *os << be_nl_2 - // << "class " << be_global->stub_export_macro () << " " - // << node->local_name () << be_idt_nl - // << ": public" << be_idt << be_idt_nl; - - // int status = - // node->gen_base_class_name (os, - // "", - // this->ctx_->scope ()->decl ()); - - // if (status == -1) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // ACE_TEXT ("be_visitor_map_ch::") - // ACE_TEXT ("visit_map - ") - // ACE_TEXT ("Base class name ") - // ACE_TEXT ("generation failed\n")), - // -1); - // } - - // *os << be_uidt << be_uidt << be_uidt; - - // *os << be_nl - // << "{" << be_nl - // << "public:" << be_idt; - - // *os << be_nl - // << node->local_name () << " () = default;"; - - // if (node->unbounded ()) - // { - // *os << be_nl - // << node->local_name () << " ( ::CORBA::ULong max);"; - // } - - // /// If we are using std::vector, we can't implement this - // /// constructor. - // if (!be_global->alt_mapping () || !node->unbounded ()) - // { - // // *os << be_nl - // // << node->local_name () << " (" << be_idt; - - // // if (node->unbounded ()) - // // { - // // *os << be_nl - // // << "::CORBA::ULong max,"; - // // } - - // // *os << be_nl - // // << "::CORBA::ULong length," << be_nl; - - // // // Generate the base type for the buffer. - // // be_visitor_context ctx (*this->ctx_); - // // ctx.state (TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH); - // // be_visitor_map_buffer_type bt_visitor (&ctx); - - // // if (kt->accept (&bt_visitor) == -1) - // // { - // // ACE_ERROR_RETURN ((LM_ERROR, - // // ACE_TEXT ("be_visitor_map_ch::") - // // ACE_TEXT ("visit_map - ") - // // ACE_TEXT ("buffer type visit failed\n")), - // // -1); - // // } - - // // *os << "* buffer," << be_nl - // // << "::CORBA::Boolean release = false);" << be_uidt; - // } - - // // Default copy/move constructor and assignment operators - // *os << be_nl - // << node->local_name () << " (const " << node->local_name () << " &) = default;" << be_nl - // << node->local_name () << " (" << node->local_name () << " &&) = default;" << be_nl - // << node->local_name () << "& operator= (const " << node->local_name () << " &) = default;" << be_nl - // << node->local_name () << "& operator= (" << node->local_name () << " &&) = default;" - // << be_nl; - - // *os << "virtual ~" << node->local_name () << " () = default;"; - - // if (be_global->alt_mapping () && node->unbounded ()) - // { - // *os << be_nl_2 - // << "virtual ::CORBA::ULong length () const;" - // << be_nl - // << "virtual void length (::CORBA::ULong);" - // << be_nl_2 - // << "virtual ::CORBA::ULong maximum () const;"; - // } - - // *os << be_nl; - - // node->gen_stub_decls (os); - - // // TAO provides extensions for octet maps, first find out if - // // the base type is an octet (or an alias for octet). - // be_predefined_type *predef = nullptr; - - // if (kt->base_node_type () == AST_Type::NT_pre_defined) - // { - // be_typedef* alias = - // dynamic_cast (kt); - - // if (alias == nullptr) - // { - // predef = dynamic_cast (kt); - // } - // else - // { - // predef = - // dynamic_cast ( - // alias->primitive_base_type () - // ); - // } - // } - - // // Now generate the extension... - // if (predef != nullptr - // && predef->pt () == AST_PredefinedType::PT_octet - // && node->unbounded () - // && !be_global->alt_mapping ()) - // { - // *os << be_nl_2 - // << "\n#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)" << be_nl - // << node->local_name () << " (::CORBA::ULong length, const ACE_Message_Block* mb)" - // << be_idt_nl - // << ": ::TAO::unbounded_value_map< ::CORBA::Octet>" - // << " (length, mb) {}" << be_uidt_nl - // << "\n#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */"; - // } - - // *os << be_uidt_nl - // << "};"; - - // os->gen_endif (); - // } node->cli_hdr_gen (true); return 0; diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index 02f17e9dc8a5d..da7c1940cbcc8 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -26,48 +26,30 @@ be_visitor_map_cs::~be_visitor_map_cs () int be_visitor_map_cs::visit_map (be_map *node) { - // First create a name for ourselves. - if (node->create_name (this->ctx_->tdef ()) == -1) + if (node->defined_in () == nullptr) { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("failed creating name\n")), - -1); - } - - // We don't check cli_stub_gen() here. If we are generated more - // than once as an anonymous map, the name guard will cause - // the C++ preprocessor to catch it. If we are generated more than - // once as a typedef (caused by a comma separated list of - // typedefs), our name will be changed by the call above and the - // name guard will not catch it, but that's ok - we want to - // be generated for each typedef. - if (node->imported ()) - { - return 0; + // The node is a nested map, and has had no scope defined. + node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } - if (idl_global->dcps_map_type_defined (node->full_name ())) - { - return 0; - } + TAO_OutStream *os = this->ctx_->stream (); + // Retrieve the key type since we may need to do some code + // generation for the base type. be_type *kt = dynamic_cast (node->key_type ()); if (kt == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("Bad element type\n")), -1); } + kt->seen_in_map (true); AST_Decl::NodeType knt = kt->node_type (); - // If our base type is an anonymous map, we must create a name - // and generate a class declaration for it as well. if (knt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -79,7 +61,7 @@ int be_visitor_map_cs::visit_map (be_map *node) if (kt->accept (this) != 0) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("codegen for anonymous ") ACE_TEXT ("base type failed\n")), @@ -90,21 +72,23 @@ int be_visitor_map_cs::visit_map (be_map *node) this->ctx_->tdef (tmp); } + + be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("Bad element type\n")), -1); } + vt->seen_in_map (true); AST_Decl::NodeType vnt = vt->node_type (); - // If our base type is an anonymous map, we must create a name - // and generate a class declaration for it as well. + if (vnt == AST_Decl::NT_map) { // Temporarily make the context's tdef node 0 so the nested call @@ -116,7 +100,7 @@ int be_visitor_map_cs::visit_map (be_map *node) if (kt->accept (this) != 0) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") + ACE_TEXT ("be_visitor_map_ch::") ACE_TEXT ("visit_map - ") ACE_TEXT ("codegen for anonymous ") ACE_TEXT ("base type failed\n")), @@ -127,156 +111,16 @@ int be_visitor_map_cs::visit_map (be_map *node) this->ctx_->tdef (tmp); } - if (be_global->alt_mapping () && node->unbounded ()) - { - // We are just a typedef and don't need any stub source - // code generation. - return 0; - } - - TAO_OutStream *os = this->ctx_->stream (); - *os << be_nl_2; TAO_INSERT_COMMENT (os); - os->gen_ifdef_macro (node->flat_name ()); - - // for unbounded maps, we have a different set of constructors - if (node->unbounded ()) - { - *os << be_nl_2 - << node->name () << "::" << node->local_name () << " (" - << be_idt << be_idt_nl - << "::CORBA::ULong max)" << be_uidt_nl - << ": " << be_idt; - - int status = - node->gen_base_class_name (os, - "", - this->ctx_->scope ()->decl ()); - - // Pass it to the base constructor. - if (status == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_cs::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for base ") - ACE_TEXT ("map class failed\n")), - -1); - } - - - *os << " (max)" << be_uidt << be_uidt_nl - << "{}"; - } - - /// If we are using std::map, we can't implement this - /// constructor. - if (!be_global->alt_mapping () || !node->unbounded ()) - { - // // Constructor with the buffer - // *os << be_nl_2 - // << node->name () << "::" << node->local_name () << " (" - // << be_idt << be_idt_nl; - - // if (node->unbounded ()) - // { - // // Unbounded seq takes this extra parameter. - // *os << "::CORBA::ULong max," << be_nl; - // } - - // *os << "::CORBA::ULong length," << be_nl; - - // // generate the base type for the buffer - // be_visitor_context ctx (*this->ctx_); - // be_visitor_map_buffer_type bt_visitor (&ctx); - - // if (kt->accept (&bt_visitor) == -1) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // ACE_TEXT ("be_visitor_map_cs::") - // ACE_TEXT ("visit_map - ") - // ACE_TEXT ("base type visit failed\n")), - // -1); - // } - - // *os << " * buffer," << be_nl - // << "::CORBA::Boolean release)" << be_uidt - // << be_uidt_nl - // << " : " << be_idt << be_idt; - - // // Pass it to the base constructor. - // if (node->gen_base_class_name (os, - // "", - // this->ctx_->scope ()->decl ()) == -1) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // ACE_TEXT ("be_visitor_map_cs::") - // ACE_TEXT ("visit_map - ") - // ACE_TEXT ("codegen for base ") - // ACE_TEXT ("map class\n")), - // -1); - // } - - // *os << be_nl << "("; - - // if (node->unbounded ()) - // { - // *os << "max, "; - // } - - // *os << "length, buffer, release)" << be_uidt << be_uidt_nl - // << "{}"; - } - - if (be_global->alt_mapping () && node->unbounded ()) - { - *os << be_nl_2 - << "::CORBA::ULong" << be_nl - << node->name () << "::length () const" << be_nl - << "{" << be_idt_nl - << "return this->size ();" << be_uidt_nl - << "}"; - - *os << be_nl_2 - << "void" << be_nl - << node->name () << "::length ( ::CORBA::ULong length)" - << be_nl - << "{" << be_idt_nl - << "this->resize (length);" << be_uidt_nl - << "}"; - - *os << be_nl_2 - << "::CORBA::ULong" << be_nl - << node->name () << "::maximum () const" << be_nl - << "{" << be_idt_nl - << "return this->capacity ();" << be_uidt_nl - << "}"; - } - - if (be_global->any_support () - && !node->anonymous () - && (!node->is_local () - || be_global->gen_local_iface_anyops ())) - { - *os << be_nl_2 - << "void " - << node->name () << "::_tao_any_destructor (" - << be_idt << be_idt_nl - << "void * _tao_void_pointer)" << be_uidt << be_uidt_nl - << "{" << be_idt_nl - << node->local_name () << " * _tao_tmp_pointer =" - << be_idt_nl - << "static_cast<" << node->local_name () - << " *> (_tao_void_pointer);" << be_uidt_nl - << "delete _tao_tmp_pointer;" << be_uidt_nl - << "}"; - } - - os->gen_endif (); + *os << "std::map<" + << node->key_type ()->full_name () + << ", " + << node->value_type ()->full_name () + << ">"; - node->cli_stub_gen (true); + node->cli_hdr_gen (true); return 0; } diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 991ef7bfcabde..2a1cf4a267fe2 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -66,7 +66,7 @@ class be_map : public virtual AST_Map, /** * Returns the fully dealiased key type if it's a typedef. If it's not a - * typedef, the it returns the same value as as key_type(). + * typedef, the it returns the same value as as value_type(). */ be_type *primitive_value_type () const; @@ -95,13 +95,7 @@ class be_map : public virtual AST_Map, /// Report the instance name for instantiation. const char *instance_name (); - - /// Common code for generating the name and parameters of our - /// template map base class. - int gen_base_class_name (TAO_OutStream *os, - const char * linebreak, - AST_Decl *elem_scope); - + /// Accessors for the member. be_field *field_node () const; void field_node (be_field *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h index b3f3d0aeb9a57..f182065673ecc 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -4,15 +4,14 @@ /** * @file map_ch.h * - * Concrete visitor for the Sequence class - * This one provides code generation for the Sequence node in the client + * Concrete visitor for the Map class + * This one provides code generation for the Map node in the client * header. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= - #ifndef _BE_VISITOR_MAP_MAP_CH_H_ #define _BE_VISITOR_MAP_MAP_CH_H_ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index 73cd942225ba6..0e1b23254bfad 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -8,7 +8,7 @@ * This one provides code generation for the Sequence node in the client * stubs. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/tao_idl_be.mpc b/TAO/TAO_IDL/tao_idl_be.mpc index 91757abcc57bb..e7a69847fc8f1 100644 --- a/TAO/TAO_IDL/tao_idl_be.mpc +++ b/TAO/TAO_IDL/tao_idl_be.mpc @@ -35,6 +35,7 @@ project(TAO_IDL_BE) : acelib, install_lib, tao_rules, tao_output, tao_vc8warning be/be_visitor_operation be/be_visitor_root be/be_visitor_sequence + be/be_visitor_map be/be_visitor_structure be/be_visitor_structure_fwd be/be_visitor_typecode @@ -219,6 +220,7 @@ project(TAO_IDL_BE_VIS_S) : acelib, install_lib, tao_rules, tao_output, tao_vc8w Source_Files { conditional(prop:static) { be/be_visitor_sequence + be/be_visitor_map be/be_visitor_structure be/be_visitor_structure_fwd be/be_visitor_typecode diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 6de0976948d36..6e6faf9bf5ff1 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -2,8 +2,42 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" +#include "ace/streams.h" +#include + +namespace stream8 { + std::ostream & + operator<< (std::ostream &os, CORBA::UInt8 value) { + return os << static_cast(value); + } + + std::ostream & + operator<< (std::ostream &os, CORBA::Int8 value) { + return os << static_cast(value); + } +} + +template +void +expect_equals (bool &any_failed, const char *name, IntType actual, IntType expected) +{ + if (actual != expected) + { + using stream8::operator<<; + *ACE_DEFAULT_LOG_STREAM + << "ERROR: For " << name << " expected: " << expected + << ", but got " << actual << "\n"; + any_failed = true; + } +} int ACE_TMAIN(int, ACE_TCHAR *[]) { - return EXIT_SUCCESS; + DataStruct d; + d.mapData[0] = 1; + + bool any_failed = false; + expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 1); + + return EXIT_SUCCESS; } From 52939b71add7e674e2cc02868f3afd6b1f434944 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 20:53:29 -0400 Subject: [PATCH 032/445] updated include --- TAO/TAO_IDL/be/be_codegen.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 40d9d3f0ac6d4..c0bb56555cc0c 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -231,8 +231,8 @@ TAO_CodeGen::start_client_header (const char *fname) << "\""; } - // TODO probably not what's supposed to be done here - *this->client_header() << "#include "; + // TODO not sure where to put this + *this->client_header() << "\n#include \n"; if (be_global->unique_include () != nullptr) { From fb88c10cf5fc88479452feaeabe382107bf38e52 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 20:56:51 -0400 Subject: [PATCH 033/445] remove whitespace --- TAO/TAO_IDL/be_include/be_map.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 2a1cf4a267fe2..1d5312989b67a 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -32,8 +32,8 @@ class be_field; // the base type is defined in the scope of this map. Hence we define // be_map to possess the additional characteristics of a scope. class be_map : public virtual AST_Map, - public virtual be_scope, - public virtual be_type + public virtual be_scope, + public virtual be_type { public: enum MANAGED_TYPE @@ -104,7 +104,6 @@ class be_map : public virtual AST_Map, virtual char *gen_name (); protected: - /// Computes the fully scoped typecode name. virtual void compute_tc_name (); From 7a016b6c84fac1b6daa39761824bb14be174f679 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 17 Jun 2022 21:00:19 -0400 Subject: [PATCH 034/445] Fixed fuzzing --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 -- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 2 -- TAO/TAO_IDL/be_include/be_map.h | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 6e83bfd014952..2bd7407115691 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -69,8 +69,6 @@ int be_visitor_map_ch::visit_map (be_map *node) this->ctx_->tdef (tmp); } - - be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index da7c1940cbcc8..ddfc3291384b0 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -72,8 +72,6 @@ int be_visitor_map_cs::visit_map (be_map *node) this->ctx_->tdef (tmp); } - - be_type *vt = dynamic_cast (node->value_type ()); if (vt == nullptr) diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 1d5312989b67a..d6be192de1bb1 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -95,7 +95,7 @@ class be_map : public virtual AST_Map, /// Report the instance name for instantiation. const char *instance_name (); - + /// Accessors for the member. be_field *field_node () const; void field_node (be_field *node); From 8a730f94b6b29b83ba9232946da5cf9904be1c7e Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 18 Jun 2022 21:22:10 -0400 Subject: [PATCH 035/445] Cleaned up CDR progress --- TAO/TAO_IDL/be/be_map.cpp | 333 +----------------- TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 60 ++++ TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 34 ++ TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 145 ++++++++ TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 98 ------ TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 75 ---- TAO/TAO_IDL/be_include/be_map.h | 28 -- TAO/TAO_IDL/be_include/be_visitor_map.h | 4 +- .../be_include/be_visitor_map/cdr_op_ch.h | 41 +++ .../be_include/be_visitor_map/cdr_op_cs.h | 96 +++++ .../be_include/be_visitor_map/map_ch.h | 4 - 11 files changed, 382 insertions(+), 536 deletions(-) create mode 100644 TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 927acec7b389b..1372c50032835 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -58,7 +58,6 @@ be_map::be_map (AST_Expression *v, n), be_type (AST_Decl::NT_map, n), - mt_ (be_map::MNG_UNKNOWN), field_node_ (nullptr) { // Always the case. @@ -75,30 +74,6 @@ be_map::be_map (AST_Expression *v, idl_global->seq_seen_ = true; idl_global->var_size_decl_seen_ = true; - // Don't need the return value - just set the member. - (void) this->managed_type (); - - switch (this->mt_) - { - case MNG_OBJREF: - idl_global->iface_seq_seen_ = true; - break; - case MNG_PSEUDO: - idl_global->pseudo_seq_seen_ = true; - break; - case MNG_VALUE: - idl_global->vt_seq_seen_ = true; - break; - case MNG_STRING: - idl_global->string_seq_seen_ = true; - break; - case MNG_WSTRING: - idl_global->wstring_seq_seen_ = true; - break; - default: - break; - } - AST_Type *const key_type = primitive_key_type (); if (key_type && key_type->node_type () == AST_Decl::NT_pre_defined) { @@ -170,230 +145,6 @@ be_map::primitive_value_type () const return type_node; } -// Helper to create_name. -char * -be_map::gen_name () -{ - char namebuf [NAMEBUFSIZE]; - be_type *kt = nullptr; - be_type *vt = nullptr; - - // Reset the buffer. - ACE_OS::memset (namebuf, - '\0', - NAMEBUFSIZE); - - // Retrieve the key type. - kt = dynamic_cast (this->key_type ()); - - if (kt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_map::" - "gen_name - " - "bad key type\n"), - 0); - } - - // Retrieve the key type. - vt = dynamic_cast (this->value_type ()); - if (vt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_map::" - "gen_name - " - "bad value type\n"), - 0); - } - - // If this is non-zero, add its local name to the generated name, - // for uniqueness. - be_field *fn = this->field_node_; - - // if (kt->node_type () == AST_Decl::NT_map) - // { - // // Our base type is an anonymous map. - // be_map *map = dynamic_cast (kt); - - // if (map == nullptr) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // "(%N:%l) be_map::" - // "gen_name - " - // "error converting key type to map\n"), - // 0); - // } - - // // If the nested sequence were defined in - // // the scope of the enclosing sequence, we would have to - // // not only define the nested class in two places, but also - // // deal with the fact that, for the template classes, the - // // enclosing sequence's template type is a class defined - // // inside it. So we define the nested sequence in the next - // // scope up, and the existing code generation works for both - // // template and non-template implementations of IDL sequences. - // UTL_Scope *parent = this->defined_in (); - // map->set_defined_in (parent); - // char *map_name = map->gen_name (); - - // ACE_OS::sprintf (namebuf, - // "_tao_seq_%s_%s", - // map_name, - // fn ? fn->local_name ()->get_string () : ""); - // ACE::strdelete (map_name); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_tao_seq_%s_", - // kt->flat_name ()); - // } - - // Append the size (if any). - if (this->unbounded () == false) - { - char ulval_str [NAMEBUFSIZE]; - ACE_OS::sprintf (ulval_str, - "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, - this->max_size ()->ev ()->u.ulval); - ACE_OS::strcat (namebuf, - ulval_str); - } - - return ACE::strnew (namebuf); -} - -// Create a name for ourselves. -int -be_map::create_name (be_typedef *node) -{ - static char *namebuf = nullptr; - UTL_ScopedName *n = nullptr; - - // Scope in which we are defined. - be_decl *scope = nullptr; - - // If there is a typedef node, we use its name as our name. - if (node) - { - this->set_name ( - dynamic_cast (node->name ()->copy ()) - ); - } - else - { - // Generate a local name. - namebuf = this->gen_name (); - - // Now see if we have a fully scoped name and if so, generate one. - UTL_Scope *us = this->defined_in (); - - scope = dynamic_cast (us)->decl (); - - if (scope != nullptr) - { - // Make a copy of the enclosing scope's name. - n = (UTL_ScopedName *) scope->name ()->copy (); - - Identifier *id = nullptr; - ACE_NEW_RETURN (id, - Identifier (namebuf), - -1); - - UTL_ScopedName *conc_name = nullptr; - ACE_NEW_RETURN (conc_name, - UTL_ScopedName (id, - nullptr), - -1); - - // Add our local name as the last component. - n->nconc (conc_name); - - // Set the fully scoped name. - this->set_name (n); - } - else - { - // We better be not here because we must be inside some scope, - // at least the ROOT scope. - return -1; - } - - ACE::strdelete (namebuf); - } - - return 0; -} - -// Does this sequence have a managed type sequence element? -be_map::MANAGED_TYPE -be_map::managed_type () -{ - // if (this->mt_ == be_map::MNG_UNKNOWN) // Not calculated yet. - // { - // // Base types. - // be_type *const base_type = primitive_base_type (); - // if (!base_type) - // ACE_ERROR_RETURN ((LM_ERROR, - // "TAO_IDL (%N:%l) " - // "dynamic_cast " - // "failed\n"), - // be_sequence::MNG_UNKNOWN); - - // // Determine if we need a managed type and which one. - // switch (base_type->node_type ()) - // { - // case AST_Decl::NT_interface: - // case AST_Decl::NT_interface_fwd: - // case AST_Decl::NT_component: - // case AST_Decl::NT_component_fwd: - // case AST_Decl::NT_connector: - // this->mt_ = be_sequence::MNG_OBJREF; - // break; - // case AST_Decl::NT_valuebox: - // case AST_Decl::NT_valuetype: - // case AST_Decl::NT_valuetype_fwd: - // case AST_Decl::NT_eventtype: - // case AST_Decl::NT_eventtype_fwd: - // this->mt_ = be_sequence::MNG_VALUE; - // break; - // case AST_Decl::NT_string: - // this->mt_ = be_sequence::MNG_STRING; - // break; - // case AST_Decl::NT_wstring: - // this->mt_ = be_sequence::MNG_WSTRING; - // break; - // case AST_Decl::NT_pre_defined: - // { - // be_predefined_type * const bpd = - // dynamic_cast (base_type); - - // AST_PredefinedType::PredefinedType pt = bpd->pt (); - - // switch (pt) - // { - // case AST_PredefinedType::PT_pseudo: - // case AST_PredefinedType::PT_object: - // case AST_PredefinedType::PT_abstract: - // this->mt_ = be_sequence::MNG_PSEUDO; - // break; - // case AST_PredefinedType::PT_value: - // this->mt_ = be_sequence::MNG_VALUE; - // break; - // default: - // this->mt_ = be_sequence::MNG_NONE; - // break; - // } - // } - // break; - // default: - // this->mt_ = be_sequence::MNG_NONE; - // } - // } - - return this->mt_; -} - // Add this be_sequence to the locally defined types in this scope AST_Map * be_map::fe_add_map (AST_Map *t) @@ -419,33 +170,7 @@ void be_map::gen_ostream_operator (TAO_OutStream *os, bool /* use_underscore */) { - *os << be_nl - << "std::ostream& operator<< (" << be_idt << be_idt_nl - << "std::ostream &strm," << be_nl - << "const " << this->name () << " &_tao_sequence" << be_uidt_nl - << ")" << be_uidt_nl - << "{" << be_idt_nl - << "strm << \"" << this->name () << "[\";" << be_nl_2; - - if (be_global->alt_mapping ()) - { - *os << "for (CORBA::ULong i = 0; i < _tao_sequence.size (); ++i)"; - } - else - { - *os << "for (CORBA::ULong i = 0; i < _tao_sequence.length (); ++i)"; - } - - *os << be_idt_nl - << "{" << be_idt_nl - << "if (i != 0)" << be_idt_nl - << "{" << be_idt_nl - << "strm << \", \";" << be_uidt_nl - << "}" << be_uidt_nl << be_nl - << "strm << _tao_sequence[i];" << be_uidt_nl - << "}" << be_uidt_nl << be_nl - << "return strm << \"]\";" << be_uidt_nl - << "}" << be_nl; +// TODO Gene ostream operator } int @@ -459,9 +184,9 @@ const char * be_map::instance_name () { static char namebuf[NAMEBUFSIZE]; - // ACE_OS::memset (namebuf, - // '\0', - // NAMEBUFSIZE); + ACE_OS::memset (namebuf, + '\0', + NAMEBUFSIZE); // be_type *const prim_type = primitive_base_type (); // if (!prim_type) @@ -588,56 +313,6 @@ be_map::field_node (be_field *node) this->field_node_ = node; } -// Overriden method. -void -be_map::compute_tc_name () -{ - // Sequence TypeCodes can only be accessed through an alias - // TypeCode. Generate a TypeCode name that is meant for internal - // use alone. - - Identifier * tao_id = nullptr; - ACE_NEW (tao_id, - Identifier ("TAO")); - - ACE_NEW (this->tc_name_, - UTL_ScopedName (tao_id, - nullptr)); - - char bound[30] = { 0 }; - - ACE_OS::sprintf (bound, - "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, - this->max_size ()->ev ()->u.ulval); - - ACE_CString local_tc_name = - ACE_CString ("tc_") - + ACE_CString (this->flat_name ()) - + ACE_CString (bound); - - Identifier * typecode_scope = nullptr; - ACE_NEW (typecode_scope, - Identifier ("TypeCode")); - - UTL_ScopedName * tc_scope_conc_name = nullptr; - ACE_NEW (tc_scope_conc_name, - UTL_ScopedName (typecode_scope, - nullptr)); - - this->tc_name_->nconc (tc_scope_conc_name); - - Identifier * id = nullptr; - ACE_NEW (id, - Identifier (local_tc_name.c_str ())); - - UTL_ScopedName * conc_name = nullptr; - ACE_NEW (conc_name, - UTL_ScopedName (id, - nullptr)); - - this->tc_name_->nconc (conc_name); -} - const char * be_map::smart_fwd_helper_name (AST_Decl *ctx_scope, be_type *elem) diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index ffa674de55473..79980bc3c6b7d 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -12,6 +12,7 @@ #include "field.h" #include "be_visitor_array/cdr_op_cs.h" #include "be_visitor_sequence/cdr_op_cs.h" +#include "be_visitor_map/cdr_op_cs.h" #include "be_visitor_structure/cdr_op_cs.h" #include "be_visitor_union/cdr_op_cs.h" @@ -640,6 +641,65 @@ be_visitor_field_cdr_op_cs::visit_sequence (be_sequence *node) int be_visitor_field_cdr_op_cs::visit_map (be_map *node) { + // If the map is defined in this scope, generate its + // CDR stream operators here. + if (node->node_type () != AST_Decl::NT_typedef + && node->is_child (this->ctx_->scope ()->decl ())) + { + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + be_visitor_map_cdr_op_cs visitor (&ctx); + + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_cs::" + "visit_map - " + "codegen failed\n"), + -1); + } + } + + // How generate the marshaling code for the sequence as a field. + + TAO_OutStream *os = this->ctx_->stream (); + + // Retrieve the field node. + be_field *f = + dynamic_cast (this->ctx_->node ()); + + if (f == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_cs::" + "visit_map - " + "cannot retrieve field node\n"), + -1); + } + + // Check what is the code generations substate. Are we generating code for + // the in/out operators for our parent or for us? + switch (this->ctx_->sub_state ()) + { + case TAO_CodeGen::TAO_CDR_INPUT: + *os << "(strm >> _tao_aggregate." << f->local_name () << ")"; + + return 0; + case TAO_CodeGen::TAO_CDR_OUTPUT: + *os << "(strm << _tao_aggregate." << f->local_name () << ")"; + + return 0; + case TAO_CodeGen::TAO_CDR_SCOPE: + // Proceed further. + break; + default: + // Error. + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_cs::" + "visit_map - " + "bad sub state\n"), + -1); + } return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp new file mode 100644 index 0000000000000..524fcb4470811 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -0,0 +1,34 @@ + +//============================================================================= +/** + * @file cdr_op_ch.cpp + * + * Visitor generating code for CDR operators for maps. This uses + * compiled marshaling. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// *************************************************************************** +// Map visitor for generating CDR operator declarations in the client header +// *************************************************************************** + +be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( + be_visitor_context *ctx + ) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_cdr_op_ch::~be_visitor_map_cdr_op_ch () +{ +} + +int +be_visitor_map_cdr_op_ch::visit_map (be_map *node) +{ + return 0; +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp new file mode 100644 index 0000000000000..1dcef6394b2c2 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -0,0 +1,145 @@ + +//============================================================================= +/** + * @file cdr_op_cs.cpp + * + * Visitor for code generation of Maps for the CDR operators + * in the client stubs. + * + * @author Aniruddha Gokhale + */ +//============================================================================= + +#include "map.h" + +// *************************************************************************** +// Map visitor for generating CDR operator declarations in the client +// stubs file. +// *************************************************************************** + +be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs ( + be_visitor_context *ctx + ) + : be_visitor_decl (ctx) +{ +} + +be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () +{ +} + +int +be_visitor_map_cdr_op_cs::visit_map (be_map *node) +{ + return 0; +} + +int +be_visitor_map_cdr_op_cs::visit_array (be_array *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_enum (be_enum *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_interface (be_interface *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_interface_fwd (be_interface_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_component (be_component *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_component_fwd (be_component_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_home (be_home *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_valuebox (be_valuebox *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_valuetype (be_valuetype *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_valuetype_fwd (be_valuetype_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_eventtype (be_eventtype *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_eventtype_fwd (be_eventtype_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_predefined_type ( + be_predefined_type *node + ) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_string (be_string *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_structure (be_structure *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_union (be_union *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_typedef (be_typedef *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_cdr_op_cs::visit_node (be_type *) +{ + return 0; +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 2bd7407115691..a39ce0e7f469a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -31,81 +31,6 @@ int be_visitor_map_ch::visit_map (be_map *node) TAO_OutStream *os = this->ctx_->stream (); - // Retrieve the key type since we may need to do some code - // generation for the base type. - be_type *kt = dynamic_cast (node->key_type ()); - - if (kt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - kt->seen_in_map (true); - AST_Decl::NodeType knt = kt->node_type (); - - if (knt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - - be_type *vt = dynamic_cast (node->value_type ()); - - if (vt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - vt->seen_in_map (true); - AST_Decl::NodeType vnt = vt->node_type (); - - - if (vnt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - *os << be_nl_2; TAO_INSERT_COMMENT (os); @@ -119,26 +44,3 @@ int be_visitor_map_ch::visit_map (be_map *node) node->cli_hdr_gen (true); return 0; } - -void -be_visitor_map_ch::gen_varout_typedefs (be_map *node, - be_type *elem) -{ - TAO_OutStream *os = this->ctx_->stream (); - - *os << be_nl; - - AST_Type::SIZE_TYPE st = elem->size_type (); - - *os << "typedef " - << (st == AST_Type::FIXED ? "::TAO_FixedSeq_Var_T<" - : "::TAO_VarSeq_Var_T<") - << node->local_name (); - - *os << "> " - << node->local_name () << "_var;" << be_nl; - - *os << "typedef ::TAO_Seq_Out_T<" - << node->local_name () - << "> " << node->local_name () << "_out;" << be_nl; -} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index ddfc3291384b0..c914a4e85e810 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -34,81 +34,6 @@ int be_visitor_map_cs::visit_map (be_map *node) TAO_OutStream *os = this->ctx_->stream (); - // Retrieve the key type since we may need to do some code - // generation for the base type. - be_type *kt = dynamic_cast (node->key_type ()); - - if (kt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - kt->seen_in_map (true); - AST_Decl::NodeType knt = kt->node_type (); - - if (knt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - - be_type *vt = dynamic_cast (node->value_type ()); - - if (vt == nullptr) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("Bad element type\n")), - -1); - } - - vt->seen_in_map (true); - AST_Decl::NodeType vnt = vt->node_type (); - - - if (vnt == AST_Decl::NT_map) - { - // Temporarily make the context's tdef node 0 so the nested call - // to create_name will not get confused and give our anonymous - // map element type the same name as we have. - be_typedef *tmp = this->ctx_->tdef (); - this->ctx_->tdef (nullptr); - - if (kt->accept (this) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("codegen for anonymous ") - ACE_TEXT ("base type failed\n")), - -1); - } - - // Restore the tdef value. - this->ctx_->tdef (tmp); - } - *os << be_nl_2; TAO_INSERT_COMMENT (os); diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index d6be192de1bb1..619c9bc99958b 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -36,17 +36,6 @@ class be_map : public virtual AST_Map, public virtual be_type { public: - enum MANAGED_TYPE - { - MNG_UNKNOWN, - MNG_NONE, - MNG_STRING, - MNG_WSTRING, - MNG_OBJREF, - MNG_VALUE, - MNG_PSEUDO - }; - be_map (AST_Expression *v, AST_Type *kt, AST_Type *vt, @@ -70,13 +59,6 @@ class be_map : public virtual AST_Map, */ be_type *primitive_value_type () const; - /// Create a name for ourselves. If we are typedefed, then we get the name of - /// the typedef node, else we generate a name for ourselves. - virtual int create_name (be_typedef *node); - - /// Return the managed type. - virtual MANAGED_TYPE managed_type (); - // Scope management functions. virtual AST_Map *fe_add_map (AST_Map *); @@ -100,21 +82,11 @@ class be_map : public virtual AST_Map, be_field *field_node () const; void field_node (be_field *node); - /// Helper to create_name, also used by the traits visitor. - virtual char *gen_name (); - -protected: - /// Computes the fully scoped typecode name. - virtual void compute_tc_name (); - private: const char *smart_fwd_helper_name (AST_Decl *elem_scope, be_type *elem); private: - /// Our managed type. - MANAGED_TYPE mt_; - /// Used if we are an anonymous member, to help generate a unique name. be_field *field_node_; }; diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 12f618aa6c991..7b153fc251ab9 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -12,7 +12,7 @@ // #include "be_visitor_map/buffer_type.h" // #include "be_visitor_map/any_op_ch.h" // #include "be_visitor_map/any_op_cs.h" -// #include "be_visitor_map/cdr_op_ch.h" -// #include "be_visitor_map/cdr_op_cs.h" +#include "be_visitor_map/cdr_op_ch.h" +#include "be_visitor_map/cdr_op_cs.h" #endif /* TAO_BE_VISITOR_SEQUENCE_H */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h new file mode 100644 index 0000000000000..bcbcf2dd8408b --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -0,0 +1,41 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file cdr_op_ch.h + * + * Concrete visitor for the Map class + * This one provides code generation for the CDR operators for the map + * in the client header. + * + * @author Tyler Mayoff + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_CDR_OP_CH_H_ +#define _BE_VISITOR_MAP_CDR_OP_CH_H_ + +/** + * @class be_visitor_map_cdr_op_ch + * + * @brief be_visitor_map_cdr_op_ch + * + * This is a concrete visitor for map that generates the CDR operator + * declarations + */ +class be_visitor_map_cdr_op_ch : public be_visitor_decl +{ + +public: + /// constructor + be_visitor_map_cdr_op_ch (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_cdr_op_ch (); + + /// visit map + virtual int visit_map (be_map *node); +}; + +#endif /* _BE_VISITOR_MAP_CDR_OP_CH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h new file mode 100644 index 0000000000000..0193a639b2c2a --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h @@ -0,0 +1,96 @@ + +//============================================================================= +/** + * @file cdr_op_cs.h + * + * Visitors for generation of code for Map in client stubs. This one + * generates the CDR operators. + * + * @author Tyler Mayoff + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_CDR_OP_CS_H_ +#define _BE_VISITOR_MAP_CDR_OP_CS_H_ + +/** + * @class be_visitor_map_cdr_op_cs + * + * @brief be_visitor_map_cdr_op_cs + * + * This is a concrete visitor for map that generates the CDR operator + * implementations + */ +class be_visitor_map_cdr_op_cs : public be_visitor_decl +{ +public: + /// constructor + be_visitor_map_cdr_op_cs (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_cdr_op_cs (); + + /// visit map + virtual int visit_map (be_map *node); + + // = Visitor methods on map types + + /// visit map + virtual int visit_array (be_array *node); + + /// visit an enum + virtual int visit_enum (be_enum *node); + + /// visit an interface + virtual int visit_interface (be_interface *node); + + /// visit an interface forward node + virtual int visit_interface_fwd (be_interface_fwd *node); + + /// visit a component + virtual int visit_component (be_component *node); + + /// visit a component forward node + virtual int visit_component_fwd (be_component_fwd *node); + + /// visit a home + virtual int visit_home (be_home *node); + + /// visit valuebox + virtual int visit_valuebox (be_valuebox *node); + + /// visit a valuetype + virtual int visit_valuetype (be_valuetype *node); + + /// visit a valuetype forward node + virtual int visit_valuetype_fwd (be_valuetype_fwd *node); + + /// visit an eventtype + virtual int visit_eventtype (be_eventtype *node); + + /// visit an eventtype forward node + virtual int visit_eventtype_fwd (be_eventtype_fwd *node); + + /// visit a predefined type node + virtual int visit_predefined_type (be_predefined_type *node); + + /// visit string + virtual int visit_string (be_string *node); + + /// visit structure + virtual int visit_structure (be_structure *node); + + /// visit typedef + virtual int visit_typedef (be_typedef *node); + + /// visit union + virtual int visit_union (be_union *node); + +protected: + /// helper that does the common job + int visit_node (be_type *); + +}; + +#endif /* _BE_VISITOR_MAP_CDR_OP_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h index f182065673ecc..14dbbd83593eb 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -34,10 +34,6 @@ class be_visitor_map_ch : public be_visitor_decl /// visit map node. virtual int visit_map (be_map *node); - - /// Generate the typedefs for our _var and _out template classes. - void gen_varout_typedefs (be_map *node, - be_type *elem); }; #endif /* _BE_VISITOR_MAP_MAP_CH_H_ */ From db2924baf25546bfb0572899e2d02082ecec4094 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 19 Jun 2022 20:56:16 -0400 Subject: [PATCH 036/445] Updated test, and stubbed stream operators --- TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 6 +-- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 40 +++++++++++++++++++ TAO/tests/IDLv4/maps/main.cpp | 34 +++++++++++++++- TAO/tests/IDLv4/maps/test.idl | 5 +-- 4 files changed, 77 insertions(+), 8 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 79980bc3c6b7d..117ef8593bf93 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -660,7 +660,7 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) } } - // How generate the marshaling code for the sequence as a field. + // How generate the marshaling code for the map as a field. TAO_OutStream *os = this->ctx_->stream (); @@ -682,11 +682,11 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) switch (this->ctx_->sub_state ()) { case TAO_CodeGen::TAO_CDR_INPUT: - *os << "(strm >> _tao_aggregate." << f->local_name () << ")"; + *os << "true"; return 0; case TAO_CodeGen::TAO_CDR_OUTPUT: - *os << "(strm << _tao_aggregate." << f->local_name () << ")"; + *os << "true"; return 0; case TAO_CodeGen::TAO_CDR_SCOPE: diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 1dcef6394b2c2..4ba747c20766a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -31,6 +31,46 @@ be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () int be_visitor_map_cdr_op_cs::visit_map (be_map *node) { + TAO_OutStream *os = this->ctx_->stream (); + + *os << be_nl + << "#if !defined _TAO_CDR_OP_" + << node->flat_name () << "_CPP_" << be_nl + << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" + << be_nl; + + *os << be_global->core_versioning_begin () << be_nl; + + be_type* kt = node->key_type(); + be_type* vt = node->key_type(); + + *os << "::CORBA::Boolean operator<< (" << be_idt_nl + << "TAO_OutputCDR &strm," << be_nl + << "const std::map<" << kt->full_name () + << "," << vt->full_name() + << "> &_tao_map)" + << be_uidt_nl + << "{" << be_idt_nl + << "return true;" << be_uidt_nl + << "}" << be_nl_2; + + *os << "::CORBA::Boolean operator>> (" << be_idt_nl + << "TAO_OutputCDR &strm," << be_nl + << "const std::map<" << kt->full_name () + << "," << vt->full_name() + << "> &_tao_map)" + << be_uidt_nl + << "{" << be_idt_nl + << "return true;" << be_uidt_nl + << "}" << be_nl_2; + + *os << be_nl << be_global->core_versioning_end (); + + *os << be_nl + << "#endif /* _TAO_CDR_OP_" + << node->flat_name () << "_CPP_ */" + << be_nl; + return 0; } diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 6e6faf9bf5ff1..16c8d5350bd02 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -4,6 +4,7 @@ #include "ace/OS_main.h" #include "ace/streams.h" #include +#include namespace stream8 { std::ostream & @@ -31,13 +32,42 @@ expect_equals (bool &any_failed, const char *name, IntType actual, IntType expec } } +template <> +void +expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) +{ + if (std::strcmp(actual, expected) != 0) + { + using stream8::operator<<; + *ACE_DEFAULT_LOG_STREAM + << "ERROR: For " << name << " expected: " << expected + << ", but got " << actual << "\n"; + any_failed = true; + } +} + int ACE_TMAIN(int, ACE_TCHAR *[]) { DataStruct d; - d.mapData[0] = 1; + d.mapData[0] = 0; + d.mapData[1] = 1; + d.mapData[2] = 2; + d.mapData[3] = 3; + d.mapData[4] = 4; + d.mapData[5] = 5; bool any_failed = false; - expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 1); + expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 6); + expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 0); + d.mapData[0] = 10; + expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 10); + + d.stringMapStructs["Test"] = TestStruct{0, "Test Struct"}; + expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); + expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].msg, "Test Struct"); + + if (any_failed) + return EXIT_FAILURE; return EXIT_SUCCESS; } diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index bf1f1024a1eda..e711694e24739 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -5,15 +5,14 @@ struct TestStruct { typedef sequence TestStructSeq; -// This fails // typedef map TestStructMap; struct DataStruct { map mapData; map mapDataBounded; - map mapStructs; - map mapStructsBounded; + map stringMapStructs; + map stringMapStructsBounded; map stringSequenceMap; map stringSequenceMapBounded; From ba4c11669731439d6c1a05d7386e14b6aa3b6b8e Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 22 Jun 2022 20:25:31 -0400 Subject: [PATCH 037/445] Fixed fuzzing --- TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 71 +++++-------------- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 74 ++++++++++---------- 2 files changed, 55 insertions(+), 90 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index 82c80296dc92c..8a9d6b7bfb17a 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -384,9 +384,24 @@ be_visitor_field_ch::visit_sequence (be_sequence *node) int be_visitor_field_ch::visit_map (be_map *node) { - TAO_OutStream *os = this->ctx_->stream (); - be_type *kt = nullptr; + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + + // First generate the map declaration. + be_visitor_map_ch visitor (&ctx); + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_ch::" + "visit_sequence - " + "codegen failed\n"), + -1); + } + + return 0; + + be_type *kt = nullptr; if (this->ctx_->alias ()) { kt = this->ctx_->alias (); @@ -413,58 +428,8 @@ be_visitor_field_ch::visit_map (be_map *node) // First generate the map declaration. be_visitor_map_ch visitor (&ctx); - - if (node->accept (&visitor) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_field_ch::" - "visit_sequence - " - "codegen failed\n"), - -1); - } } - - // // If we are being reused by valutype, this would get generated - // // in the private section of the OBV_xx class, so we must - // // generate the typedef for that case elsewhere. - // AST_Decl::NodeType snt = - // this->ctx_->scope ()->decl ()->node_type (); - - // if (snt != AST_Decl::NT_valuetype && snt != AST_Decl::NT_eventtype) - // { - // // Generate the anonymous sequence member typedef. - // be_decl *bs = this->ctx_->scope ()->decl (); - - // TAO_INSERT_COMMENT (os); - - // *os << "typedef " << bt->nested_type_name (bs) - // << " _" << this->ctx_->node ()->local_name () - // << "_seq;" << be_nl; - // } - } - - // // ACE_NESTED_CLASS macro generated by nested_type_name - // // is not necessary in all cases. - // be_typedef *tdef = dynamic_cast (bt); - - // // This was a typedefed array. - // // ACE_NESTED_CLASS macro generated by nested_type_name - // // is necessary if the struct, union, or valuetype containing this - // // field was not defined inside a module. In such a case, VC++ - // // complains that the non-module scope is not yet fully defined. - // UTL_Scope *holds_container = - // this->ctx_->scope ()->decl ()->defined_in (); - // AST_Decl *hc_decl = ScopeAsDecl (holds_container); - - // if (hc_decl->node_type () != AST_Decl::NT_module - // || !tdef) - // { - // *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); - // } - // else - // { - // *os << bt->name (); - // } + } return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 4ba747c20766a..992f65681b9b3 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -33,43 +33,43 @@ be_visitor_map_cdr_op_cs::visit_map (be_map *node) { TAO_OutStream *os = this->ctx_->stream (); - *os << be_nl - << "#if !defined _TAO_CDR_OP_" - << node->flat_name () << "_CPP_" << be_nl - << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" - << be_nl; - - *os << be_global->core_versioning_begin () << be_nl; - - be_type* kt = node->key_type(); - be_type* vt = node->key_type(); - - *os << "::CORBA::Boolean operator<< (" << be_idt_nl - << "TAO_OutputCDR &strm," << be_nl - << "const std::map<" << kt->full_name () - << "," << vt->full_name() - << "> &_tao_map)" - << be_uidt_nl - << "{" << be_idt_nl - << "return true;" << be_uidt_nl - << "}" << be_nl_2; - - *os << "::CORBA::Boolean operator>> (" << be_idt_nl - << "TAO_OutputCDR &strm," << be_nl - << "const std::map<" << kt->full_name () - << "," << vt->full_name() - << "> &_tao_map)" - << be_uidt_nl - << "{" << be_idt_nl - << "return true;" << be_uidt_nl - << "}" << be_nl_2; - - *os << be_nl << be_global->core_versioning_end (); - - *os << be_nl - << "#endif /* _TAO_CDR_OP_" - << node->flat_name () << "_CPP_ */" - << be_nl; + // *os << be_nl + // << "#if !defined _TAO_CDR_OP_" + // << node->flat_name () << "_CPP_" << be_nl + // << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" + // << be_nl; + + // *os << be_global->core_versioning_begin () << be_nl; + + // be_type* kt = node->key_type(); + // be_type* vt = node->key_type(); + + // *os << "::CORBA::Boolean operator<< (" << be_idt_nl + // << "TAO_OutputCDR &strm," << be_nl + // << "const std::map<" << kt->full_name () + // << "," << vt->full_name() + // << "> &_tao_map)" + // << be_uidt_nl + // << "{" << be_idt_nl + // << "return true;" << be_uidt_nl + // << "}" << be_nl_2; + + // *os << "::CORBA::Boolean operator>> (" << be_idt_nl + // << "TAO_OutputCDR &strm," << be_nl + // << "const std::map<" << kt->full_name () + // << "," << vt->full_name() + // << "> &_tao_map)" + // << be_uidt_nl + // << "{" << be_idt_nl + // << "return true;" << be_uidt_nl + // << "}" << be_nl_2; + + // *os << be_nl << be_global->core_versioning_end (); + + // *os << be_nl + // << "#endif /* _TAO_CDR_OP_" + // << node->flat_name () << "_CPP_ */" + // << be_nl; return 0; } From 30848dd121daa761f099696810190acd55136e03 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 21:43:44 -0400 Subject: [PATCH 038/445] code generation working properly Map with anonymous maps not working yet --- TAO/TAO_IDL/be/be_map.cpp | 155 ++++++++++++++++++- TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 73 ++++++--- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 33 +++- TAO/TAO_IDL/be_include/be_map.h | 7 + TAO/tests/IDLv4/maps/test.idl | 3 +- 5 files changed, 243 insertions(+), 28 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 1372c50032835..e6aa2d1ceae5a 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -145,6 +145,159 @@ be_map::primitive_value_type () const return type_node; } +// Helper to create_name. +char * +be_map::gen_name () +{ + char namebuf [NAMEBUFSIZE]; + be_type *kt = nullptr; + be_type *vt = nullptr; + + // Reset the buffer. + ACE_OS::memset (namebuf, + '\0', + NAMEBUFSIZE); + + // Retrieve the base type. + kt = dynamic_cast (this->key_type ()); + vt = dynamic_cast (this->value_type ()); + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad key type\n"), + 0); + } + + if (kt == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_map::" + "gen_name - " + "bad value type\n"), + 0); + } + + // If this is non-zero, add its local name to the generated name, + // for uniqueness. + be_field *fn = this->field_node_; + + // TODO Key or value types that are anonymous maps + // if (bt->node_type () == AST_Decl::NT_sequence) + // { + // // Our base type is an anonymous sequence. + // be_sequence *seq = dynamic_cast (bt); + + // if (seq == nullptr) + // { + // ACE_ERROR_RETURN ((LM_ERROR, + // "(%N:%l) be_map::" + // "gen_name - " + // "error converting base type to map\n"), + // 0); + // } + + // // If the nested sequence were defined in + // // the scope of the enclosing sequence, we would have to + // // not only define the nested class in two places, but also + // // deal with the fact that, for the template classes, the + // // enclosing sequence's template type is a class defined + // // inside it. So we define the nested sequence in the next + // // scope up, and the existing code generation works for both + // // template and non-template implementations of IDL sequences. + // UTL_Scope *parent = this->defined_in (); + // seq->set_defined_in (parent); + // char *seq_name = seq->gen_name (); + + // ACE_OS::sprintf (namebuf, + // "_tao_seq_%s_%s", + // seq_name, + // fn ? fn->local_name ()->get_string () : ""); + // ACE::strdelete (seq_name); + // } + // else + ACE_OS::sprintf (namebuf, + "_tao_map_%s_%s_", + kt->flat_name (), vt->flat_name ()); + + // Append the size (if any). + if (this->unbounded () == false) + { + char ulval_str [NAMEBUFSIZE]; + ACE_OS::sprintf (ulval_str, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); + ACE_OS::strcat (namebuf, + ulval_str); + } + + return ACE::strnew (namebuf); +} + +// Create a name for ourselves. +int +be_map::create_name (be_typedef *node) +{ + static char *namebuf = nullptr; + UTL_ScopedName *n = nullptr; + + // Scope in which we are defined. + be_decl *scope = nullptr; + + // If there is a typedef node, we use its name as our name. + if (node) + { + this->set_name ( + dynamic_cast (node->name ()->copy ()) + ); + } + else + { + // Generate a local name. + namebuf = this->gen_name (); + + // Now see if we have a fully scoped name and if so, generate one. + UTL_Scope *us = this->defined_in (); + + scope = dynamic_cast (us)->decl (); + + if (scope != nullptr) + { + // Make a copy of the enclosing scope's name. + n = (UTL_ScopedName *) scope->name ()->copy (); + + Identifier *id = nullptr; + ACE_NEW_RETURN (id, + Identifier (namebuf), + -1); + + UTL_ScopedName *conc_name = nullptr; + ACE_NEW_RETURN (conc_name, + UTL_ScopedName (id, + nullptr), + -1); + + // Add our local name as the last component. + n->nconc (conc_name); + + // Set the fully scoped name. + this->set_name (n); + } + else + { + // We better be not here because we must be inside some scope, + // at least the ROOT scope. + return -1; + } + + ACE::strdelete (namebuf); + } + + return 0; +} + // Add this be_sequence to the locally defined types in this scope AST_Map * be_map::fe_add_map (AST_Map *t) @@ -170,7 +323,7 @@ void be_map::gen_ostream_operator (TAO_OutStream *os, bool /* use_underscore */) { -// TODO Gene ostream operator +// TODO Gen ostream operator } int diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index 8a9d6b7bfb17a..e41b8679eec68 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -384,31 +384,15 @@ be_visitor_field_ch::visit_sequence (be_sequence *node) int be_visitor_field_ch::visit_map (be_map *node) { - - be_visitor_context ctx (*this->ctx_); - ctx.node (node); - - // First generate the map declaration. - be_visitor_map_ch visitor (&ctx); - if (node->accept (&visitor) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_field_ch::" - "visit_sequence - " - "codegen failed\n"), - -1); - } - - return 0; - - be_type *kt = nullptr; + TAO_OutStream *os = this->ctx_->stream (); + be_type *bt = nullptr; if (this->ctx_->alias ()) { - kt = this->ctx_->alias (); + bt = this->ctx_->alias (); } else { - kt = node; + bt = node; } if (!this->ctx_->alias () @@ -428,7 +412,56 @@ be_visitor_field_ch::visit_map (be_map *node) // First generate the map declaration. be_visitor_map_ch visitor (&ctx); + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_ch::" + "visit_map - " + "codegen failed\n"), + -1); + } } + + // If we are being reused by valutype, this would get generated + // in the private section of the OBV_xx class, so we must + // generate the typedef for that case elsewhere. + AST_Decl::NodeType snt = + this->ctx_->scope ()->decl ()->node_type (); + + if (snt != AST_Decl::NT_valuetype && snt != AST_Decl::NT_eventtype) + { + // Generate the anonymous sequence member typedef. + be_decl *bs = this->ctx_->scope ()->decl (); + + TAO_INSERT_COMMENT (os); + + *os << "typedef " << bt->nested_type_name (bs) + << " _" << this->ctx_->node ()->local_name () + << "_map;" << be_nl; + } + } + + // ACE_NESTED_CLASS macro generated by nested_type_name + // is not necessary in all cases. + be_typedef *tdef = dynamic_cast (bt); + + // This was a typedefed array. + // ACE_NESTED_CLASS macro generated by nested_type_name + // is necessary if the struct, union, or valuetype containing this + // field was not defined inside a module. In such a case, VC++ + // complains that the non-module scope is not yet fully defined. + UTL_Scope *holds_container = + this->ctx_->scope ()->decl ()->defined_in (); + AST_Decl *hc_decl = ScopeAsDecl (holds_container); + + if (hc_decl->node_type () != AST_Decl::NT_module + || !tdef) + { + *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); + } + else + { + *os << bt->name (); } return 0; diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index a39ce0e7f469a..615eb531352b1 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -5,7 +5,7 @@ * * Visitor generating code for Sequence in the client header * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= @@ -29,18 +29,39 @@ int be_visitor_map_ch::visit_map (be_map *node) node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + TAO_OutStream *os = this->ctx_->stream (); *os << be_nl_2; TAO_INSERT_COMMENT (os); + + os->gen_ifdef_macro (node->flat_name ()); + + *os << be_nl_2; - *os << "std::map<" - << node->key_type ()->full_name () - << ", " - << node->value_type ()->full_name () - << ">"; + *os << "typedef std::map< "; + be_type* kt = node->key_type(); + be_type* vt = node->value_type(); + + *os << kt->full_name (); + *os << ", "; + *os << vt->full_name (); + + *os << "> " << node->local_name () << ";"; + + os->gen_endif (); node->cli_hdr_gen (true); + return 0; } diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index 619c9bc99958b..af8eafaf6d506 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -59,6 +59,10 @@ class be_map : public virtual AST_Map, */ be_type *primitive_value_type () const; + /// Create a name for ourselves. If we are typedefed, then we get the name of + /// the typedef node, else we generate a name for ourselves. + virtual int create_name (be_typedef *node); + // Scope management functions. virtual AST_Map *fe_add_map (AST_Map *); @@ -82,6 +86,9 @@ class be_map : public virtual AST_Map, be_field *field_node () const; void field_node (be_field *node); + /// Helper to create_name, also used by the traits visitor. + virtual char *gen_name (); + private: const char *smart_fwd_helper_name (AST_Decl *elem_scope, be_type *elem); diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index e711694e24739..0b7704bddf91d 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -5,7 +5,7 @@ struct TestStruct { typedef sequence TestStructSeq; -// typedef map TestStructMap; +typedef map TestStructMap; struct DataStruct { map mapData; @@ -17,6 +17,7 @@ struct DataStruct { map stringSequenceMap; map stringSequenceMapBounded; + // TODO these are not generated properly yet // map stringMapMap; // map stringMapMapBounded; }; From 2b7f3b4d0189f9cfc51053482831477f8d2043c5 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 22:36:20 -0400 Subject: [PATCH 039/445] more cleanup of stubbed code --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 40 --------------------- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 33 +++++++++++++---- 2 files changed, 27 insertions(+), 46 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 992f65681b9b3..1dcef6394b2c2 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -31,46 +31,6 @@ be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () int be_visitor_map_cdr_op_cs::visit_map (be_map *node) { - TAO_OutStream *os = this->ctx_->stream (); - - // *os << be_nl - // << "#if !defined _TAO_CDR_OP_" - // << node->flat_name () << "_CPP_" << be_nl - // << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" - // << be_nl; - - // *os << be_global->core_versioning_begin () << be_nl; - - // be_type* kt = node->key_type(); - // be_type* vt = node->key_type(); - - // *os << "::CORBA::Boolean operator<< (" << be_idt_nl - // << "TAO_OutputCDR &strm," << be_nl - // << "const std::map<" << kt->full_name () - // << "," << vt->full_name() - // << "> &_tao_map)" - // << be_uidt_nl - // << "{" << be_idt_nl - // << "return true;" << be_uidt_nl - // << "}" << be_nl_2; - - // *os << "::CORBA::Boolean operator>> (" << be_idt_nl - // << "TAO_OutputCDR &strm," << be_nl - // << "const std::map<" << kt->full_name () - // << "," << vt->full_name() - // << "> &_tao_map)" - // << be_uidt_nl - // << "{" << be_idt_nl - // << "return true;" << be_uidt_nl - // << "}" << be_nl_2; - - // *os << be_nl << be_global->core_versioning_end (); - - // *os << be_nl - // << "#endif /* _TAO_CDR_OP_" - // << node->flat_name () << "_CPP_ */" - // << be_nl; - return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index c914a4e85e810..a8a3b4ca124e8 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -26,24 +26,45 @@ be_visitor_map_cs::~be_visitor_map_cs () int be_visitor_map_cs::visit_map (be_map *node) { - if (node->defined_in () == nullptr) + if (node->defined_in () == nullptr) { // The node is a nested map, and has had no scope defined. node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); } + // First create a name for ourselves. + if (node->create_name (this->ctx_->tdef ()) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") + ACE_TEXT ("failed creating name\n")), + -1); + } + TAO_OutStream *os = this->ctx_->stream (); *os << be_nl_2; TAO_INSERT_COMMENT (os); + + os->gen_ifdef_macro (node->flat_name ()); + + *os << be_nl_2; - *os << "std::map<" - << node->key_type ()->full_name () - << ", " - << node->value_type ()->full_name () - << ">"; + *os << "typedef std::map< "; + be_type* kt = node->key_type(); + be_type* vt = node->value_type(); + + *os << kt->full_name (); + *os << ", "; + *os << vt->full_name (); + + *os << "> " << node->local_name () << ";"; + + os->gen_endif (); node->cli_hdr_gen (true); + return 0; } From db20a3a206d57235fefdda93f05d5793ff29d712 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 22:42:18 -0400 Subject: [PATCH 040/445] Fixed static analysis --- TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp | 1 - TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h | 1 - TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h | 1 - 3 files changed, 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp index 49fd7f6bf7494..4e4a1f6857e4c 100644 --- a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp @@ -181,7 +181,6 @@ be_visitor_valuetype_cs::visit_valuetype (be_valuetype *node) << "return formal_type_id == reinterpret_cast (" << node->name() << "::_downcast);" << be_uidt_nl << "}" << be_nl_2; - } else if (is_an_amh_exception_holder) { diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h index bcbcf2dd8408b..92a5c0ff50d07 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -26,7 +26,6 @@ */ class be_visitor_map_cdr_op_ch : public be_visitor_decl { - public: /// constructor be_visitor_map_cdr_op_ch (be_visitor_context *ctx); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h index 0193a639b2c2a..8cec44c6f0fd3 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h @@ -90,7 +90,6 @@ class be_visitor_map_cdr_op_cs : public be_visitor_decl protected: /// helper that does the common job int visit_node (be_type *); - }; #endif /* _BE_VISITOR_MAP_CDR_OP_CS_H_ */ From 0a2d7a4b1487a6f43de1895c0130232ebd61c546 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 23 Jun 2022 22:58:20 -0400 Subject: [PATCH 041/445] removed whitespace --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 615eb531352b1..23a12d3052e68 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -44,7 +44,7 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << be_nl_2; TAO_INSERT_COMMENT (os); - + os->gen_ifdef_macro (node->flat_name ()); *os << be_nl_2; diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index a8a3b4ca124e8..da408bbcfeaa5 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -47,7 +47,7 @@ int be_visitor_map_cs::visit_map (be_map *node) *os << be_nl_2; TAO_INSERT_COMMENT (os); - + os->gen_ifdef_macro (node->flat_name ()); *os << be_nl_2; From 243b7382a6281afe90f388e327725ca954648647 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:14:00 -0400 Subject: [PATCH 042/445] generating typedefs + maps with maps as values --- TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp | 74 +++++++++++++++++++ TAO/TAO_IDL/be/be_visitor_typedef/typedef.h | 2 + .../be/be_visitor_typedef/typedef_ch.cpp | 47 ++++++++++++ TAO/TAO_IDL/be_include/be_visitor_map.h | 6 +- .../be_include/be_visitor_typedef/typedef.h | 3 + .../be_visitor_typedef/typedef_ch.h | 3 + TAO/tests/IDLv4/maps/main.cpp | 6 ++ TAO/tests/IDLv4/maps/test.idl | 8 +- 8 files changed, 141 insertions(+), 8 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp index 070e3c679ab4c..400b79ec80e1d 100644 --- a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp +++ b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.cpp @@ -255,6 +255,80 @@ be_visitor_typedef::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_typedef::visit_map (be_map *node) +{ + // Instantiate a visitor context with a copy of our context. This info + // will be modified based on what type of node we are visiting. + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + int status = 0; + + switch (this->ctx_->state ()) + { + case TAO_CodeGen::TAO_ROOT_CH: + case TAO_CodeGen::TAO_INTERFACE_CH: + { + be_visitor_map_ch visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CI: + { + break; + } + case TAO_CodeGen::TAO_ROOT_CS: + { + be_visitor_map_cs visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_ANY_OP_CH: + { + // be_visitor_sequence_any_op_ch visitor (&ctx); + // status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_ANY_OP_CS: + { + // be_visitor_sequence_any_op_cs visitor (&ctx); + // status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CDR_OP_CH: + { + be_visitor_map_cdr_op_ch visitor (&ctx); + status = node->accept (&visitor); + break; + } + case TAO_CodeGen::TAO_ROOT_CDR_OP_CS: + { + be_visitor_map_cdr_op_cs visitor (&ctx); + status = node->accept (&visitor); + break; + } + default: + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_typedef::" + "visit_map - " + "Bad context state\n"), + -1); + } + } + + if (status == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_typedef::" + "visit_map - " + "failed to accept visitor\n"), + -1); + } + + return 0; +} + // visit an structure int be_visitor_typedef::visit_structure (be_structure *node) diff --git a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h index beaddccd32c64..b5709c736e359 100644 --- a/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h +++ b/TAO/TAO_IDL/be/be_visitor_typedef/typedef.h @@ -17,6 +17,7 @@ #include "be_module.h" #include "be_predefined_type.h" #include "be_sequence.h" +#include "be_map.h" #include "be_string.h" #include "be_structure.h" #include "be_type.h" @@ -31,6 +32,7 @@ #include "be_visitor_array.h" #include "be_visitor_enum.h" #include "be_visitor_sequence.h" +#include "be_visitor_map.h" #include "be_visitor_structure.h" #include "be_visitor_typecode.h" #include "be_visitor_union.h" diff --git a/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp b/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp index 888c585b085f4..a5fe571d32e18 100644 --- a/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp @@ -469,6 +469,53 @@ be_visitor_typedef_ch::visit_sequence (be_sequence *node) return 0; } +int +be_visitor_typedef_ch::visit_map (be_map *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + be_typedef *tdef = this->ctx_->tdef (); + be_decl *scope = this->ctx_->scope ()->decl (); + be_type *bt = nullptr; + + // Typedef of a typedef? + if (this->ctx_->alias ()) + { + bt = this->ctx_->alias (); + } + else + { + bt = node; + } + + if (bt->node_type () == AST_Decl::NT_map) + { + // Let the base class visitor handle this case. + if (this->be_visitor_typedef::visit_map (node) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_typedef_ch::" + "visit_map - " + "base class visitor failed\n"), + -1); + } + } + else + { + TAO_INSERT_COMMENT (os); + + // Typedef the type. + *os << "typedef " << bt->nested_type_name (scope) + << " " << tdef->nested_type_name (scope) << ";" << be_nl; + // Typedef the _var and _out types. + *os << "typedef " << bt->nested_type_name (scope, "_var") + << " " << tdef->nested_type_name (scope, "_var") << ";" << be_nl; + *os << "typedef " << bt->nested_type_name (scope, "_out") + << " " << tdef->nested_type_name (scope, "_out") << ";"; + } + + return 0; +} + int be_visitor_typedef_ch::visit_structure (be_structure *node) { diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 7b153fc251ab9..5cd7136c71521 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -1,7 +1,7 @@ /* -*- c++ -*- */ -#ifndef TAO_BE_VISITOR_SEQUENCE_H -#define TAO_BE_VISITOR_SEQUENCE_H +#ifndef TAO_BE_VISITOR_MAP_H +#define TAO_BE_VISITOR_MAP_H #include "idl_defines.h" @@ -15,4 +15,4 @@ #include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_map/cdr_op_cs.h" -#endif /* TAO_BE_VISITOR_SEQUENCE_H */ +#endif /* TAO_BE_VISITOR_MAP_H */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h index d287c2a406133..ff2ef51087b87 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h +++ b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h @@ -47,6 +47,9 @@ class be_visitor_typedef : public be_visitor_decl /// visit a sequence virtual int visit_sequence (be_sequence *node); + /// visit a map + virtual int visit_map (be_map *node); + /// visit a structure virtual int visit_structure (be_structure *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h index 8e88c8a599cd7..507c88a96fde3 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef_ch.h @@ -59,6 +59,9 @@ class be_visitor_typedef_ch : public be_visitor_typedef /// visit a sequence virtual int visit_sequence (be_sequence *node); + /// visit a masp + virtual int visit_map (be_map *node); + /// visit a structure virtual int visit_structure (be_structure *node); diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 16c8d5350bd02..4cd8d24b20fa9 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -66,6 +66,12 @@ int ACE_TMAIN(int, ACE_TCHAR *[]) expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].msg, "Test Struct"); + TestStruct t = TestStruct{0, "Test Struct"}; + TestStructMap tests; + tests[400] = t; + d.stringMapMap["Test"] = tests; + expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapMap["Test"][400].msg, "Test Struct"); + if (any_failed) return EXIT_FAILURE; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 0b7704bddf91d..abbabb6a8eef7 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -4,7 +4,6 @@ struct TestStruct { }; typedef sequence TestStructSeq; - typedef map TestStructMap; struct DataStruct { @@ -16,8 +15,7 @@ struct DataStruct { map stringSequenceMap; map stringSequenceMapBounded; - - // TODO these are not generated properly yet - // map stringMapMap; - // map stringMapMapBounded; + + map stringMapMap; + map stringMapMapBounded; }; From e5df3047c579041b40a53ef846c3af913c024fa4 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:26:48 -0400 Subject: [PATCH 043/445] Finished test --- TAO/tests/IDLv4/maps/main.cpp | 25 +++++++++++++++---------- TAO/tests/IDLv4/maps/test.idl | 7 +++++-- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 4cd8d24b20fa9..31c33ea58bea2 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -49,18 +49,18 @@ expect_equals (bool &any_failed, const char *name, const char* actual, const cha int ACE_TMAIN(int, ACE_TCHAR *[]) { DataStruct d; - d.mapData[0] = 0; - d.mapData[1] = 1; - d.mapData[2] = 2; - d.mapData[3] = 3; - d.mapData[4] = 4; - d.mapData[5] = 5; + d.intIntMap[0] = 0; + d.intIntMap[1] = 1; + d.intIntMap[2] = 2; + d.intIntMap[3] = 3; + d.intIntMap[4] = 4; + d.intIntMap[5] = 5; bool any_failed = false; - expect_equals (any_failed, "d.mapData.size()", d.mapData.size(), 6); - expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 0); - d.mapData[0] = 10; - expect_equals (any_failed, "d.mapData[0]", d.mapData[0], 10); + expect_equals (any_failed, "d.intIntMap.size()", d.intIntMap.size(), 6); + expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 0); + d.intIntMap[0] = 10; + expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 10); d.stringMapStructs["Test"] = TestStruct{0, "Test Struct"}; expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); @@ -72,6 +72,11 @@ int ACE_TMAIN(int, ACE_TCHAR *[]) d.stringMapMap["Test"] = tests; expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapMap["Test"][400].msg, "Test Struct"); + TestIntStringMap testMap; + testMap[10] = "Hello World!"; + d.mapStringMap[testMap] = "Hello World!"; + expect_equals (any_failed, "d.mapStringMap[testMap]", d.mapStringMap[testMap], "Hello World!"); + if (any_failed) return EXIT_FAILURE; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index abbabb6a8eef7..49a90ffe331f3 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -5,10 +5,11 @@ struct TestStruct { typedef sequence TestStructSeq; typedef map TestStructMap; +typedef map TestIntStringMap; struct DataStruct { - map mapData; - map mapDataBounded; + map intIntMap; + map intIntMapBounded; map stringMapStructs; map stringMapStructsBounded; @@ -18,4 +19,6 @@ struct DataStruct { map stringMapMap; map stringMapMapBounded; + + map mapStringMap; }; From 95b7517fef11ec15a99f0d06f9bdf8eed96677f3 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:27:43 -0400 Subject: [PATCH 044/445] whitespace --- TAO/tests/IDLv4/maps/test.idl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 49a90ffe331f3..07c1f65991350 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -16,7 +16,7 @@ struct DataStruct { map stringSequenceMap; map stringSequenceMapBounded; - + map stringMapMap; map stringMapMapBounded; From 53d65daa963da57b3d4236a9bd53ef17c8c0357b Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 08:28:52 -0400 Subject: [PATCH 045/445] whitespace --- TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h | 1 - 1 file changed, 1 deletion(-) diff --git a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h index ff2ef51087b87..a31f7b09e77f9 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h +++ b/TAO/TAO_IDL/be_include/be_visitor_typedef/typedef.h @@ -24,7 +24,6 @@ */ class be_visitor_typedef : public be_visitor_decl { - public: /// constructor be_visitor_typedef (be_visitor_context *ctx); From 94eecfccdba534a8912c370256436c27a868e400 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 09:44:51 -0400 Subject: [PATCH 046/445] generating include conditionally --- TAO/TAO_IDL/be/be_codegen.cpp | 11 +- TAO/TAO_IDL/be/be_map.cpp | 188 +------------------------------ TAO/TAO_IDL/include/idl_global.h | 1 + TAO/TAO_IDL/util/utl_global.cpp | 1 + 4 files changed, 13 insertions(+), 188 deletions(-) diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index cc647055e3629..8868d86f68249 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -231,9 +231,6 @@ TAO_CodeGen::start_client_header (const char *fname) << "\""; } - // TODO not sure where to put this - *this->client_header() << "\n#include \n"; - if (be_global->unique_include () != nullptr) { *this->client_header_ << "\n#include \"" @@ -3065,6 +3062,14 @@ TAO_CodeGen::gen_stub_arg_file_includes (TAO_OutStream * stream) stream ); + be_global->changing_standard_include_files(0); + this->gen_cond_file_include ( + idl_global->map_seen_, + "map", + stream + ); + be_global->changing_standard_include_files(1); + // If we have a bound string and we have any generation enabled we must // include Any.h to get the <<= operator for BD_String this->gen_cond_file_include ( diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index e6aa2d1ceae5a..03fa81c12ef0f 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -69,38 +69,9 @@ be_map::be_map (AST_Expression *v, return; } - // This one gets set for all sequences, in addition to any specialized - // one that may get set below. - idl_global->seq_seen_ = true; + // This one gets set for all maps + idl_global->map_seen_ = true; idl_global->var_size_decl_seen_ = true; - - AST_Type *const key_type = primitive_key_type (); - if (key_type && key_type->node_type () == AST_Decl::NT_pre_defined) - { - AST_PredefinedType *pdt = dynamic_cast (key_type); - switch (pdt->pt ()) - { - case AST_PredefinedType::PT_octet: - idl_global->octet_map_seen_ = true; - break; - default: - break; - } - } - - AST_Type *const value_type = primitive_value_type(); - if (value_type && value_type->node_type() == AST_Decl::NT_pre_defined) - { - AST_PredefinedType *pdt = dynamic_cast (key_type); - switch(pdt->pt()) - { - case AST_PredefinedType::PT_octet: - idl_global->octet_map_seen_ = true; - break; - default: - break; - } - } } be_type * @@ -180,44 +151,6 @@ be_map::gen_name () 0); } - // If this is non-zero, add its local name to the generated name, - // for uniqueness. - be_field *fn = this->field_node_; - - // TODO Key or value types that are anonymous maps - // if (bt->node_type () == AST_Decl::NT_sequence) - // { - // // Our base type is an anonymous sequence. - // be_sequence *seq = dynamic_cast (bt); - - // if (seq == nullptr) - // { - // ACE_ERROR_RETURN ((LM_ERROR, - // "(%N:%l) be_map::" - // "gen_name - " - // "error converting base type to map\n"), - // 0); - // } - - // // If the nested sequence were defined in - // // the scope of the enclosing sequence, we would have to - // // not only define the nested class in two places, but also - // // deal with the fact that, for the template classes, the - // // enclosing sequence's template type is a class defined - // // inside it. So we define the nested sequence in the next - // // scope up, and the existing code generation works for both - // // template and non-template implementations of IDL sequences. - // UTL_Scope *parent = this->defined_in (); - // seq->set_defined_in (parent); - // char *seq_name = seq->gen_name (); - - // ACE_OS::sprintf (namebuf, - // "_tao_seq_%s_%s", - // seq_name, - // fn ? fn->local_name ()->get_string () : ""); - // ACE::strdelete (seq_name); - // } - // else ACE_OS::sprintf (namebuf, "_tao_map_%s_%s_", kt->flat_name (), vt->flat_name ()); @@ -336,122 +269,7 @@ be_map::accept (be_visitor *visitor) const char * be_map::instance_name () { - static char namebuf[NAMEBUFSIZE]; - ACE_OS::memset (namebuf, - '\0', - NAMEBUFSIZE); - - // be_type *const prim_type = primitive_base_type (); - // if (!prim_type) - // { - // ACE_ERROR ((LM_ERROR, - // "(%N:%l) be_visitor_sequence_ch::" - // "gen_instantiate_name - " - // "Bad element type\n")); - - // return namebuf; - // } - - // // Generate the appropriate sequence type. - // switch (this->managed_type ()) - // { - // case be_sequence::MNG_PSEUDO: - // case be_sequence::MNG_OBJREF: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_object_reference_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_object_reference_sequence_%s_" - // ACE_UINT32_FORMAT_SPECIFIER_ASCII, - // prim_type->local_name ()->get_string (), - // this->max_size ()->ev ()->u.ulval); - // } - - // break; - // case be_sequence::MNG_VALUE: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_valuetype_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_valuetype_sequence_%s_" - // ACE_UINT32_FORMAT_SPECIFIER_ASCII, - // prim_type->local_name ()->get_string (), - // this->max_size ()->ev ()->u.ulval); - // } - - // break; - // case be_sequence::MNG_STRING: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "::TAO::unbounded_basic_string_sequence"); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_string_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - - // break; - // case be_sequence::MNG_WSTRING: - // if (this->unbounded ()) - // { - // ACE_OS::sprintf (namebuf, - // "::TAO::unbounded_basic_string_sequence"); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_wstring_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - - // break; - // default: // Not a managed type. - // if (this->unbounded ()) - // { - // // TAO provides extensions for octet sequences, first find out - // // if the base type is an octet (or an alias for octet) - // be_predefined_type *predef = - // dynamic_cast (prim_type); - - // if (predef != nullptr - // && predef->pt() == AST_PredefinedType::PT_octet) - // { - // ACE_OS::sprintf (namebuf, - // "::TAO::unbounded_value_sequence"); - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_unbounded_value_sequence_%s", - // prim_type->local_name ()->get_string ()); - // } - // } - // else - // { - // ACE_OS::sprintf (namebuf, - // "_TAO_bounded_value_sequence_%s_" - // ACE_UINT32_FORMAT_SPECIFIER_ASCII, - // prim_type->local_name ()->get_string (), - // this->max_size ()->ev ()->u.ulval); - // } - - // break; - // } - - return namebuf; + return ""; } be_field * diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 82b84618ad40c..810afdf30d0aa 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -800,6 +800,7 @@ class TAO_IDL_FE_Export IDL_GlobalData bool operation_seen_; bool pseudo_seq_seen_; bool recursive_type_seen_; + bool map_seen_; bool seq_seen_; bool short_seq_seen_; bool special_basic_decl_seen_; diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index b1d9afba5ee12..68a30aa7eaf89 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -289,6 +289,7 @@ IDL_GlobalData::reset_flag_seen () seq_seen_ = false; short_seq_seen_ = false; special_basic_decl_seen_ = false; + map_seen_ = false; string_seen_ = false; string_member_seen_ = false; string_seq_seen_ = false; From 11077a8a0b82fb60cc2ce5b3bc4fe78d6a17ffad Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 15:44:44 -0400 Subject: [PATCH 047/445] Should silence the codacy check --- TAO/tests/IDLv4/maps/main.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 31c33ea58bea2..2310b631a1ad9 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -36,6 +36,11 @@ template <> void expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) { + if (name == nullptr || actual == nullptr) + { + return; + } + if (std::strcmp(actual, expected) != 0) { using stream8::operator<<; From 4cff93034b471109e12cda6dcbd8a49b6a23f6d9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 16:29:08 -0400 Subject: [PATCH 048/445] used the wrong vars for the check --- TAO/tests/IDLv4/maps/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index 2310b631a1ad9..dc76b43a0a0f3 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -36,7 +36,7 @@ template <> void expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) { - if (name == nullptr || actual == nullptr) + if (actual == nullptr || expected == nullptr) { return; } From 922bc3f225150db7b42c6edb5312734f00fdadd8 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 24 Jun 2022 18:24:56 -0400 Subject: [PATCH 049/445] cleaned up some warnings --- TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 2 +- TAO/TAO_IDL/util/utl_global.cpp | 15 ++------------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp index d5b5eb0c51531..da3a08de2f8ee 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_cs.cpp @@ -127,7 +127,7 @@ be_visitor_field_cs::visit_sequence (be_sequence *node) } int -be_visitor_field_cs::visit_map (be_map *node) +be_visitor_field_cs::visit_map (be_map *) { return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 524fcb4470811..c070f1e86dbce 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -28,7 +28,7 @@ be_visitor_map_cdr_op_ch::~be_visitor_map_cdr_op_ch () } int -be_visitor_map_cdr_op_ch::visit_map (be_map *node) +be_visitor_map_cdr_op_ch::visit_map (be_map *) { return 0; } diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index 68a30aa7eaf89..f8880ee6e567c 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -1732,25 +1732,14 @@ IDL_GlobalData::dcps_sequence_type_defined (const char* seq_type) } void -IDL_GlobalData::set_dcps_map_type (const char* map_type) +IDL_GlobalData::set_dcps_map_type (const char*) { // this->dcps_sequence_types_list_.enqueue_tail (ACE::strnew (seq_type)); } bool -IDL_GlobalData::dcps_map_type_defined (const char* map_type) +IDL_GlobalData::dcps_map_type_defined (const char*) { - char **tmp = nullptr; - - // for (ACE_Unbounded_Queue_Iteratorriter ( - // this->dcps_sequence_types_list_); - // riter.done () == 0; - // riter.advance ()) - // { - // riter.next (tmp); - // if (ACE_OS::strcmp (*tmp, seq_type) == 0) - // return true; - // } return false; } From 51b71fde4e77c7e143a9c991f10f1e03a62758d0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 25 Jun 2022 12:00:37 -0400 Subject: [PATCH 050/445] No more generated warnings and fixed the last codacy warning --- TAO/TAO_IDL/be/be_map.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 03fa81c12ef0f..429994ae68f10 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -173,7 +173,6 @@ be_map::gen_name () int be_map::create_name (be_typedef *node) { - static char *namebuf = nullptr; UTL_ScopedName *n = nullptr; // Scope in which we are defined. @@ -189,7 +188,7 @@ be_map::create_name (be_typedef *node) else { // Generate a local name. - namebuf = this->gen_name (); + static char *namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); @@ -253,7 +252,7 @@ be_map::decl () // Overridden method void -be_map::gen_ostream_operator (TAO_OutStream *os, +be_map::gen_ostream_operator (TAO_OutStream * /*os*/, bool /* use_underscore */) { // TODO Gen ostream operator From 51ad46b22123ae719b7c5a2b6689d0865c1fa5dd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sun, 26 Jun 2022 16:13:26 -0400 Subject: [PATCH 051/445] added ast_map.h to ast.h --- TAO/TAO_IDL/include/ast.h | 1 + 1 file changed, 1 insertion(+) diff --git a/TAO/TAO_IDL/include/ast.h b/TAO/TAO_IDL/include/ast.h index 10360ac0c5361..685462c907e3c 100644 --- a/TAO/TAO_IDL/include/ast.h +++ b/TAO/TAO_IDL/include/ast.h @@ -114,6 +114,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ast_enum_val.h" // class AST_EnumVal #include "ast_array.h" // class AST_Array #include "ast_sequence.h" // class AST_Sequence +#include "ast_map.h" // class AST_Map #include "ast_string.h" // class AST_String #include "ast_typedef.h" // class AST_Typedef #include "ast_native.h" // class AST_Native From 3b736f576c32e8f293b4b2f1a13a24fcbaa50253 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 27 Jun 2022 18:47:07 -0400 Subject: [PATCH 052/445] Cleaned up the maps test --- TAO/tests/IDLv4/maps/main.cpp | 91 +++++++---------------------------- TAO/tests/IDLv4/maps/test.idl | 6 ++- 2 files changed, 21 insertions(+), 76 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index dc76b43a0a0f3..cfbbc95c8624a 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -2,88 +2,31 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_main.h" -#include "ace/streams.h" -#include -#include - -namespace stream8 { - std::ostream & - operator<< (std::ostream &os, CORBA::UInt8 value) { - return os << static_cast(value); - } - - std::ostream & - operator<< (std::ostream &os, CORBA::Int8 value) { - return os << static_cast(value); - } -} - -template -void -expect_equals (bool &any_failed, const char *name, IntType actual, IntType expected) -{ - if (actual != expected) - { - using stream8::operator<<; - *ACE_DEFAULT_LOG_STREAM - << "ERROR: For " << name << " expected: " << expected - << ", but got " << actual << "\n"; - any_failed = true; - } -} - -template <> -void -expect_equals (bool &any_failed, const char *name, const char* actual, const char* expected) -{ - if (actual == nullptr || expected == nullptr) - { - return; - } - - if (std::strcmp(actual, expected) != 0) - { - using stream8::operator<<; - *ACE_DEFAULT_LOG_STREAM - << "ERROR: For " << name << " expected: " << expected - << ", but got " << actual << "\n"; - any_failed = true; - } -} +#include int ACE_TMAIN(int, ACE_TCHAR *[]) { - DataStruct d; - d.intIntMap[0] = 0; - d.intIntMap[1] = 1; - d.intIntMap[2] = 2; - d.intIntMap[3] = 3; - d.intIntMap[4] = 4; - d.intIntMap[5] = 5; + // No need to test the actual map works as it's just a typedef to std::map + DataStruct testData; - bool any_failed = false; - expect_equals (any_failed, "d.intIntMap.size()", d.intIntMap.size(), 6); - expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 0); - d.intIntMap[0] = 10; - expect_equals (any_failed, "d.intIntMap[0]", d.intIntMap[0], 10); + TestStruct testStruct; + testStruct.id = 42; + testStruct.msg = "Hello World!"; - d.stringMapStructs["Test"] = TestStruct{0, "Test Struct"}; - expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].id, 0); - expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapStructs["Test"].msg, "Test Struct"); + TestStructMap testStructMap; + testStructMap[42] = testStruct; - TestStruct t = TestStruct{0, "Test Struct"}; - TestStructMap tests; - tests[400] = t; - d.stringMapMap["Test"] = tests; - expect_equals (any_failed, "d.stringMapStructs['Test']", d.stringMapMap["Test"][400].msg, "Test Struct"); + TestIntStringMap testIntStringMap; + testIntStringMap[42] = "Hello World!"; - TestIntStringMap testMap; - testMap[10] = "Hello World!"; - d.mapStringMap[testMap] = "Hello World!"; - expect_equals (any_failed, "d.mapStringMap[testMap]", d.mapStringMap[testMap], "Hello World!"); + TestStructSeq testStructSeq(1, 1, TestStructSeq::allocbuf(1)); + testStructSeq[0] = testStruct; - if (any_failed) - return EXIT_FAILURE; + testData.intIntMap[4] = 100; + testData.stringStructsMap["test"] = testStruct; + testData.stringSequenceMap["test"] = testStructSeq; + testData.stringMapMap["test"] = testStructMap; + testData.mapStringMap[testIntStringMap] = "Hello World"; return EXIT_SUCCESS; } diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 07c1f65991350..41a3752710607 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -8,11 +8,13 @@ typedef map TestStructMap; typedef map TestIntStringMap; struct DataStruct { + // Bounded maps are not actually bounded as std::map doesn't support that + map intIntMap; map intIntMapBounded; - map stringMapStructs; - map stringMapStructsBounded; + map stringStructsMap; + map stringStructsMapBounded; map stringSequenceMap; map stringSequenceMapBounded; From cbedd95c8be8b17c93497965c5cc2ff4747ff92c Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 27 Jun 2022 18:47:17 -0400 Subject: [PATCH 053/445] Fixed double free error --- TAO/TAO_IDL/be/be_map.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 429994ae68f10..d2102aaa72fc2 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -188,7 +188,8 @@ be_map::create_name (be_typedef *node) else { // Generate a local name. - static char *namebuf = this->gen_name (); + static char *namebuf = nullptr; + namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); From af034d4d6937736f200b3edd6dfe30ac925d7cbc Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Wed, 29 Jun 2022 17:55:30 -0400 Subject: [PATCH 054/445] Cleaned up some final comments and stubbed code and fixed formatting --- TAO/TAO_IDL/ast/ast_map.cpp | 2 +- TAO/TAO_IDL/be/be_map.cpp | 2 +- TAO/TAO_IDL/be_include/be_visitor_map.h | 4 ---- TAO/TAO_IDL/include/idl_global.h | 6 ------ TAO/TAO_IDL/util/utl_global.cpp | 12 ------------ TAO/orbsvcs/IFR_Service/ifr_visitor.h | 2 +- 6 files changed, 3 insertions(+), 25 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 02e2e1a919b0c..9e3722b086d86 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -116,7 +116,7 @@ AST_Map::AST_Map (AST_Expression *ms, if (knt == AST_Decl::NT_param_holder) { - AST_Param_Holder *ph = dynamic_cast (key_bt); + AST_Param_Holder *ph = dynamic_cast (key_bt); if (ph->info ()->type_ == AST_Decl::NT_const) { diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index d2102aaa72fc2..8fb5d3501200a 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -199,7 +199,7 @@ be_map::create_name (be_typedef *node) if (scope != nullptr) { // Make a copy of the enclosing scope's name. - n = (UTL_ScopedName *) scope->name ()->copy (); + n = static_cast (scope->name ()->copy ()); Identifier *id = nullptr; ACE_NEW_RETURN (id, diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 5cd7136c71521..5e0a40123fd7b 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -8,10 +8,6 @@ #include "be_visitor_decl.h" #include "be_visitor_map/map_ch.h" #include "be_visitor_map/map_cs.h" -// #include "be_visitor_map/map_base.h" -// #include "be_visitor_map/buffer_type.h" -// #include "be_visitor_map/any_op_ch.h" -// #include "be_visitor_map/any_op_cs.h" #include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_map/cdr_op_cs.h" diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 810afdf30d0aa..2315bd2f97b82 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -433,12 +433,6 @@ class TAO_IDL_FE_Export IDL_GlobalData // BE calls to check whether pragma for this sequence has been set bool dcps_sequence_type_defined (const char* seq_type); - // FE calls when #pragma DCPS_DATA_MAP_TYPE is processed - void set_dcps_map_type (const char* map_type); - - // BE calls to check whether pragma for this map has been set - bool dcps_map_type_defined (const char* map_type); - // FE calls when #pragma DCPS_GEN_ZERO_COPY_READ is processed void dcps_gen_zero_copy_read (bool value); diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index f8880ee6e567c..ff226e1cb56e1 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -1731,18 +1731,6 @@ IDL_GlobalData::dcps_sequence_type_defined (const char* seq_type) return false; } -void -IDL_GlobalData::set_dcps_map_type (const char*) -{ - // this->dcps_sequence_types_list_.enqueue_tail (ACE::strnew (seq_type)); -} - -bool -IDL_GlobalData::dcps_map_type_defined (const char*) -{ - return false; -} - void IDL_GlobalData::add_dcps_data_type (const char* id) { diff --git a/TAO/orbsvcs/IFR_Service/ifr_visitor.h b/TAO/orbsvcs/IFR_Service/ifr_visitor.h index 88d716572c617..7483638384b7d 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_visitor.h +++ b/TAO/orbsvcs/IFR_Service/ifr_visitor.h @@ -82,7 +82,7 @@ class ifr_visitor : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map* node); + virtual int visit_map (AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_typedef (AST_Typedef *node); virtual int visit_root (AST_Root *node); From f8e8e5df074f35f726b067af6108b082629bef46 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 5 Jul 2022 20:33:51 -0400 Subject: [PATCH 055/445] cleaned up default destructors + using is_empty --- TAO/TAO_IDL/ast/ast_map.cpp | 6 +----- TAO/TAO_IDL/be/be_map.cpp | 3 +-- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 4 ---- TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h | 2 +- TAO/TAO_IDL/include/ast_map.h | 2 +- 5 files changed, 4 insertions(+), 13 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index 9e3722b086d86..f7f9ea68e37f6 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -168,16 +168,12 @@ AST_Map::AST_Map (AST_Expression *ms, || vnt == AST_Decl::NT_param_holder; } -AST_Map::~AST_Map () -{ -} - // Public operations. bool AST_Map::in_recursion (ACE_Unbounded_Queue &list) { - if (list.size () == 0) // only structs, unions and valuetypes can be recursive + if (list.is_empty ()) // only structs, unions and valuetypes can be recursive return false; list.enqueue_tail(this); diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 8fb5d3501200a..68fd52ad2a673 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -254,9 +254,8 @@ be_map::decl () // Overridden method void be_map::gen_ostream_operator (TAO_OutStream * /*os*/, - bool /* use_underscore */) + bool /* use_underscore */) { -// TODO Gen ostream operator } int diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index c070f1e86dbce..cf0d95607c7b0 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -23,10 +23,6 @@ be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( { } -be_visitor_map_cdr_op_ch::~be_visitor_map_cdr_op_ch () -{ -} - int be_visitor_map_cdr_op_ch::visit_map (be_map *) { diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h index 92a5c0ff50d07..000256912b565 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -31,7 +31,7 @@ class be_visitor_map_cdr_op_ch : public be_visitor_decl be_visitor_map_cdr_op_ch (be_visitor_context *ctx); /// destructor - ~be_visitor_map_cdr_op_ch (); + ~be_visitor_map_cdr_op_ch () = default; /// visit map virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index a83e437ac68c2..b10217581946d 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -81,7 +81,7 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType bool local, bool abstract); - virtual ~AST_Map (); + virtual ~AST_Map () = default; virtual bool in_recursion (ACE_Unbounded_Queue &list); // Are we or the node represented by node involved in recursion. From 1cb036a913f9a9d4f15a3bbe40ec630e71aed7ce Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 7 Jul 2022 18:09:07 -0400 Subject: [PATCH 056/445] Fixed TAO_IDL_IDL_VERSION macro --- TAO/tao/idl_features.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/idl_features.h b/TAO/tao/idl_features.h index 58c70c23e22a0..5c58231ee8463 100644 --- a/TAO/tao/idl_features.h +++ b/TAO/tao/idl_features.h @@ -65,7 +65,7 @@ #endif #ifndef TAO_IDL_HAS_MAP -# define TAO_IDL_HAS_MAP TAO_IDL_VERSION >= 0x40000 +# define TAO_IDL_HAS_MAP TAO_IDL_IDL_VERSION >= 0x40000 #endif #ifndef TAO_IDL_HAS_BITSET From 508cb9548ea0fe1f778da16e3fe97c360cc5f795 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 7 Jul 2022 18:10:45 -0400 Subject: [PATCH 057/445] Fixed formatting --- TAO/TAO_IDL/fe/idl.ypp | 6 +++--- TAO/TAO_IDL/include/ast_visitor_reifying.h | 2 +- TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index e21ed87d2e0d5..fd1440ae25286 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3913,7 +3913,7 @@ map_type_spec Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -3927,8 +3927,8 @@ map_type_spec */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { diff --git a/TAO/TAO_IDL/include/ast_visitor_reifying.h b/TAO/TAO_IDL/include/ast_visitor_reifying.h index 32c5edcf42aba..593ff1c0399d3 100644 --- a/TAO/TAO_IDL/include/ast_visitor_reifying.h +++ b/TAO/TAO_IDL/include/ast_visitor_reifying.h @@ -93,7 +93,7 @@ class ast_visitor_reifying : public ast_visitor virtual int visit_typedef (AST_Typedef *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map* node); + virtual int visit_map(AST_Map *node); virtual int visit_predefined_type (AST_PredefinedType *node); virtual int visit_string (AST_String *node); virtual int visit_constant (AST_Constant *node); diff --git a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h index 1c3ce2b35ba30..ebbcb04326695 100644 --- a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h +++ b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h @@ -71,7 +71,7 @@ class ast_visitor_tmpl_module_inst : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map* node); + virtual int visit_map(AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_native (AST_Native *node); virtual int visit_valuebox (AST_ValueBox *node); From d1bf737bf7e59327c1a2d85c446cf5455357d86a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 7 Jul 2022 18:19:28 -0400 Subject: [PATCH 058/445] Removed comments --- .../IFR_Service/ifr_adding_visitor.cpp | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 15d33a94bc29f..8f0910c89a42a 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2304,24 +2304,8 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) int ifr_adding_visitor::visit_map (AST_Map *node) { - try - { - // this->element_type (node->base_type ()); - - // this->ir_current_ = - // be_global->repository ()->create_map ( - // node->max_size ()->ev ()->u.ulval, - // this->ir_current_.in () - // ); - } - catch (const CORBA::Exception& ex) - { - ex._tao_print_exception (ACE_TEXT ("visit_map")); - - return -1; - } - - return 0; + // TODO Not sure what type of exception it would be + return -1; } int From 90f9feb17103d46cb8e99dc1a6836c93190d55c4 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 12 Jul 2022 17:59:13 -0400 Subject: [PATCH 059/445] Fixed error messaging in ifr_adding_visitor --- TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 8f0910c89a42a..c0c27e42a7ddf 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2304,8 +2304,13 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) int ifr_adding_visitor::visit_map (AST_Map *node) { - // TODO Not sure what type of exception it would be - return -1; + ORBSVCS_ERROR_RETURN (( + LM_ERROR, + ACE_TEXT ("(%N:%l) ifr_adding_visitor::visit_map -") + ACE_TEXT (" maps are not supported\n") + ), + -1 + ); } int From b6de86b715ca1bc937520347bdf7dae1a3760349 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 22 Jul 2022 18:59:18 -0400 Subject: [PATCH 060/445] Formatted --- TAO/TAO_IDL/be/be_codegen.cpp | 4 ++-- TAO/TAO_IDL/be/be_map.cpp | 14 ++++---------- TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 2 -- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 4 +--- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 8 +------- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 4 ---- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 4 ---- TAO/TAO_IDL/be_include/be_map.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h | 2 +- TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h | 2 +- TAO/TAO_IDL/include/ast_map.h | 3 +-- 13 files changed, 14 insertions(+), 39 deletions(-) diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 8868d86f68249..b3608578efde7 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -3062,13 +3062,13 @@ TAO_CodeGen::gen_stub_arg_file_includes (TAO_OutStream * stream) stream ); - be_global->changing_standard_include_files(0); + be_global->changing_standard_include_files (0); this->gen_cond_file_include ( idl_global->map_seen_, "map", stream ); - be_global->changing_standard_include_files(1); + be_global->changing_standard_include_files (1); // If we have a bound string and we have any generation enabled we must // include Any.h to get the <<= operator for BD_String diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 68fd52ad2a673..93d12f12d8784 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -77,17 +77,13 @@ be_map::be_map (AST_Expression *v, be_type * be_map::key_type () const { - return - dynamic_cast ( - this->AST_Map::key_type ()); + return dynamic_cast (this->AST_Map::key_type ()); } be_type * be_map::value_type () const { - return - dynamic_cast ( - this->AST_Map::value_type ()); + return dynamic_cast (this->AST_Map::value_type ()); } be_type * @@ -182,14 +178,12 @@ be_map::create_name (be_typedef *node) if (node) { this->set_name ( - dynamic_cast (node->name ()->copy ()) - ); + dynamic_cast (node->name ()->copy ())); } else { // Generate a local name. - static char *namebuf = nullptr; - namebuf = this->gen_name (); + static char *namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 117ef8593bf93..08bd44a8f5b4b 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -660,8 +660,6 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) } } - // How generate the marshaling code for the map as a field. - TAO_OutStream *os = this->ctx_->stream (); // Retrieve the field node. diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index cf0d95607c7b0..3d6d3b2b36781 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -17,9 +17,7 @@ // *************************************************************************** be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( - be_visitor_context *ctx - ) - : be_visitor_decl (ctx) + be_visitor_context *ctx) : be_visitor_decl (ctx) { } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 1dcef6394b2c2..a245588125e15 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -17,17 +17,11 @@ // stubs file. // *************************************************************************** -be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs ( - be_visitor_context *ctx - ) +be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs (be_visitor_context *ctx) : be_visitor_decl (ctx) { } -be_visitor_map_cdr_op_cs::~be_visitor_map_cdr_op_cs () -{ -} - int be_visitor_map_cdr_op_cs::visit_map (be_map *node) { diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 23a12d3052e68..31c040fb4a172 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -17,10 +17,6 @@ be_visitor_map_ch::be_visitor_map_ch (be_visitor_context *ctx) { } -be_visitor_map_ch::~be_visitor_map_ch () -{ -} - int be_visitor_map_ch::visit_map (be_map *node) { if (node->defined_in () == nullptr) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index da408bbcfeaa5..6233574b7b6a6 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -20,10 +20,6 @@ be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) { } -be_visitor_map_cs::~be_visitor_map_cs () -{ -} - int be_visitor_map_cs::visit_map (be_map *node) { if (node->defined_in () == nullptr) diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index af8eafaf6d506..c8f980fca74de 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -61,7 +61,7 @@ class be_map : public virtual AST_Map, /// Create a name for ourselves. If we are typedefed, then we get the name of /// the typedef node, else we generate a name for ourselves. - virtual int create_name (be_typedef *node); + int create_name (be_typedef *node); // Scope management functions. virtual AST_Map *fe_add_map (AST_Map *); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h index 000256912b565..6194bcc986d17 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_ch.h @@ -34,7 +34,7 @@ class be_visitor_map_cdr_op_ch : public be_visitor_decl ~be_visitor_map_cdr_op_ch () = default; /// visit map - virtual int visit_map (be_map *node); + int visit_map (be_map *node) override; }; #endif /* _BE_VISITOR_MAP_CDR_OP_CH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h index 8cec44c6f0fd3..589875c890265 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/cdr_op_cs.h @@ -29,7 +29,7 @@ class be_visitor_map_cdr_op_cs : public be_visitor_decl be_visitor_map_cdr_op_cs (be_visitor_context *ctx); /// destructor - ~be_visitor_map_cdr_op_cs (); + ~be_visitor_map_cdr_op_cs () = default; /// visit map virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h index 14dbbd83593eb..a94eabc33665f 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_ch.h @@ -30,7 +30,7 @@ class be_visitor_map_ch : public be_visitor_decl be_visitor_map_ch (be_visitor_context *ctx); /// destructor - ~be_visitor_map_ch (); + ~be_visitor_map_ch () = default; /// visit map node. virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index 0e1b23254bfad..fa12e2ad28b3a 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -32,7 +32,7 @@ class be_visitor_map_cs : public be_visitor_decl be_visitor_map_cs (be_visitor_context *ctx); /// destructor - ~be_visitor_map_cs (); + ~be_visitor_map_cs () = default; /// visit map node virtual int visit_map (be_map *node); diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index b10217581946d..0e0f1934a0447 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -87,7 +87,7 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType // Are we or the node represented by node involved in recursion. // Data Accessors. - AST_Expression *max_size (); + AST_Expression *max_size () const; AST_Type *key_type () const; AST_Type *value_type () const; @@ -135,7 +135,6 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType void key_type_annotations (const AST_Annotation_Appls &annotations); ///} - /** * Get and Set Annotations on the value type */ From 23700ef9db62646b71e97d76b00f0ee848ddf3c9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 22 Jul 2022 19:00:20 -0400 Subject: [PATCH 061/445] fixed some things, switched to std::strcmp --- TAO/TAO_IDL/ast/ast_map.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index f7f9ea68e37f6..b83a09fd69545 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -85,6 +85,8 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "ace/OS_Memory.h" #include "ace/OS_NS_string.h" +#include + AST_Decl::NodeType const AST_Map::NT = AST_Decl::NT_map; @@ -208,7 +210,7 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) bool recursion_found = false; AST_Type** recursable_type = nullptr; list.get (recursable_type, 0); - if (!ACE_OS::strcmp (type->full_name (), + if (!std::strcmp (type->full_name (), (*recursable_type)->full_name ())) { // They match. @@ -264,7 +266,7 @@ AST_Map::ast_accept (ast_visitor *visitor) // Data accessors. AST_Expression * -AST_Map::max_size () +AST_Map::max_size () const { return this->pd_max_size; } From f55d0fb063fdbd6bd8a9615a072ad86176730a24 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 22 Jul 2022 19:13:01 -0400 Subject: [PATCH 062/445] Started on some more testing --- TAO/tests/IDLv4/maps/run_test.pl | 83 ++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl index e9383e6384c0a..4d05718fd9bef 100755 --- a/TAO/tests/IDLv4/maps/run_test.pl +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -6,6 +6,15 @@ use lib "$ENV{ACE_ROOT}/bin"; use PerlACE::TestTarget; +# Failing test idl + +my $tao_idl = "$ENV{ACE_ROOT}/bin/tao_idl"; +if (exists $ENV{HOST_ROOT}) { + $tao_idl = "$ENV{HOST_ROOT}/bin/tao_idl"; +} + +# Normal test + my $target = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; my $proc = $target->CreateProcess ("maps"); @@ -17,3 +26,77 @@ } exit 0; + +# -*- perl -*- + +# $status =0; + +# open (OLDOUT, ">&STDOUT"); +# open (STDOUT, ">" . File::Spec->devnull()); +# open (OLDERR, ">&STDERR"); +# open (STDERR, ">&STDOUT"); + + + +# my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; + +# $input_file1 = $server->LocalFile ("local_inarg.idl"); +# $input_file2 = $server->LocalFile ("local_inoutarg.idl"); +# $input_file3 = $server->LocalFile ("local_outarg.idl"); +# $input_file4 = $server->LocalFile ("local_rettype.idl"); +# $input_file5 = $server->LocalFile ("issue570.idl"); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file1"); + +# $server_status1 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file2"); + +# $server_status2 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file3"); + +# $server_status3 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file4"); + +# $server_status4 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# # Compile the IDL +# $SV = $server->CreateProcess ("$tao_idl", "$input_file5"); + +# $server_status5 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +# open (STDOUT, ">&OLDOUT"); +# open (STDERR, ">&OLDERR"); + +# if ($server_status1 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status1 for $input_file1, should have failed\n"; +# $status = 1; +# } + +# if ($server_status2 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status2 for $input_file2, should have failed\n"; +# $status = 1; +# } + +# if ($server_status3 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status3 for $input_file3, should have failed\n"; +# $status = 1; +# } + +# if ($server_status4 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status4 for $input_file4, should have failed\n"; +# $status = 1; +# } + +# if ($server_status5 == 0) { +# print STDERR "ERROR: tao_idl returned $server_status5 for $input_file5, should have failed\n"; +# $status = 1; +# } + +# exit $status; From e06ccf4fe34c1d94a90d14fb6c9a58db783b48bd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 4 Aug 2022 19:30:51 -0400 Subject: [PATCH 063/445] Fixed issue with names --- TAO/TAO_IDL/be/be_map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 93d12f12d8784..de721d7141523 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -183,7 +183,7 @@ be_map::create_name (be_typedef *node) else { // Generate a local name. - static char *namebuf = this->gen_name (); + char *namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. UTL_Scope *us = this->defined_in (); From 0c31804e6831f11b0a9914547f44267900f8f17f Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 6 Aug 2022 16:02:11 -0400 Subject: [PATCH 064/445] typos --- TAO/TAO_IDL/fe/idl.ypp | 56 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index fd1440ae25286..90e555a0aff21 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3923,7 +3923,7 @@ map_type_spec UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { @@ -4028,7 +4028,7 @@ map_head : idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); /* - * Push a sequence marker on scopes stack. + * Push a map marker on scopes stack. */ idl_global->scopes ().push (0); } @@ -5199,6 +5199,54 @@ param_type_spec } } + if (pbt->node_type() == AST_Decl::NT_map) + { + t = pbt; + AST_Map *map_type = + dynamic_cast (pbt); + AST_Type *key_type = + map_type->key_type (); + AST_Type *val_type = + map_type->value_type (); + + AST_Decl::NodeType key_nt = + key_type->node_type (); + AST_Decl::NodeType val_nt = + val_type->node_type (); + + if (key_nt == AST_Decl::NT_typedef) + { + AST_Typedef *key_td = + dynamic_cast (key_type); + key_type = key_td->primitive_base_type (); + key_nt = key_type->node_type (); + } + + if (val_nt == AST_Decl::NT_typedef) + { + AST_Typedef *val_td = + dynamic_cast (val_type); + val_type = val_td->primitive_base_type (); + val_nt = val_type->node_type (); + } + + if (key_nt == AST_Decl::NT_interface + || key_nt == AST_Decl::NT_interface_fwd + || key_nt == AST_Decl::NT_valuetype + || key_nt == AST_Decl::NT_valuetype_fwd + || key_nt == AST_Decl::NT_component + || key_nt == AST_Decl::NT_component_fwd + || val_nt == AST_Decl::NT_interface + || val_nt == AST_Decl::NT_interface_fwd + || val_nt == AST_Decl::NT_valuetype + || val_nt == AST_Decl::NT_valuetype_fwd + || val_nt == AST_Decl::NT_component + || val_nt == AST_Decl::NT_component_fwd) + { + can_be_undefined = true; + } + } + if (! t->is_defined () && ! can_be_undefined) { idl_global->err ()->error1 ( @@ -6773,6 +6821,10 @@ formal_parameter_type { $$ = AST_Decl::NT_sequence; } + | IDL_MAP + { + $$ = AST_Decl::NT_map; + } | IDL_INTERFACE { $$ = AST_Decl::NT_interface; From 3eac49912f4f0bc94433b320b239ab9de61c16c9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 6 Aug 2022 16:02:31 -0400 Subject: [PATCH 065/445] Created recursive example that fails --- TAO/tests/IDLv4/maps/test.idl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index 41a3752710607..bc0998494fb66 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,3 +1,11 @@ +struct RecurseStruct; +typedef map RecursedMap; +// typedef sequence RecursedSequence; +struct RecurseStruct { + // RecursedSequence seq; + RecursedMap map; +}; + struct TestStruct { int32 id; string msg; @@ -10,6 +18,9 @@ typedef map TestIntStringMap; struct DataStruct { // Bounded maps are not actually bounded as std::map doesn't support that + // RecursedSequence _recursedSequence; + RecursedMap _recursedMap; + map intIntMap; map intIntMapBounded; From 38dfb732b22f343624c6b1d10bfc1d6bc8b1247e Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:21:26 -0400 Subject: [PATCH 066/445] Updated comments / author notes --- TAO/TAO_IDL/be/be_map.cpp | 3 +-- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map.h | 4 ++-- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 4 ++-- TAO/TAO_IDL/be_include/be_map.h | 3 +-- TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h | 4 ++-- 8 files changed, 11 insertions(+), 13 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index de721d7141523..40d2b9ef8fa2c 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -6,8 +6,7 @@ * Extension of class AST_Sequence that provides additional means for C++ * mapping. * - * @author Copyright 1994-1995 by Sun Microsystems - * @author Inc. and Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 3d6d3b2b36781..605afdeb969f3 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -6,7 +6,7 @@ * Visitor generating code for CDR operators for maps. This uses * compiled marshaling. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index a245588125e15..c919eb8b76c47 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -6,7 +6,7 @@ * Visitor for code generation of Maps for the CDR operators * in the client stubs. * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h index ec98e9e90e363..93c040f7e8c0f 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map.h +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -3,9 +3,9 @@ /** * @file map.h * - * Visitors for generation of code for Sequence + * Visitors for generation of code for Map * - * @author Aniruddha Gokhale and Carlos O'Ryan + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 31c040fb4a172..152f2dbe18e8b 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -3,7 +3,7 @@ /** * @file map_ch.cpp * - * Visitor generating code for Sequence in the client header + * Visitor generating code for Map in the client header * * @author Tyler Mayoff */ diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index 6233574b7b6a6..d575b530f602e 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -3,9 +3,9 @@ /** * @file map_cs.cpp * - * Visitor generating code for Sequences in the client stubs file + * Visitor generating code for Maps in the client stubs file * - * @author Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be_include/be_map.h b/TAO/TAO_IDL/be_include/be_map.h index c8f980fca74de..d95a7a4bd8dd3 100644 --- a/TAO/TAO_IDL/be_include/be_map.h +++ b/TAO/TAO_IDL/be_include/be_map.h @@ -8,8 +8,7 @@ * Extension of class AST_Map that provides additional means for C++ * mapping. * - * @author Copyright 1994-1995 by Sun Microsystems - * @author Inc. and Aniruddha Gokhale + * @author Tyler Mayoff */ //============================================================================= diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h index fa12e2ad28b3a..bb3f651e9efd0 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map/map_cs.h @@ -4,8 +4,8 @@ /** * @file map_cs.h * - * Concrete visitor for the Sequence class - * This one provides code generation for the Sequence node in the client + * Concrete visitor for the Map class + * This one provides code generation for the Map node in the client * stubs. * * @author Tyler Mayoff From da15886b71026fe6128e0bb1ac475fab4234c13f Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:21:56 -0400 Subject: [PATCH 067/445] cleaned test file --- TAO/tests/IDLv4/maps/run_test.pl | 80 +------------------------------- 1 file changed, 1 insertion(+), 79 deletions(-) diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl index 4d05718fd9bef..2fc0fbc5f2e4d 100755 --- a/TAO/tests/IDLv4/maps/run_test.pl +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -6,15 +6,11 @@ use lib "$ENV{ACE_ROOT}/bin"; use PerlACE::TestTarget; -# Failing test idl - my $tao_idl = "$ENV{ACE_ROOT}/bin/tao_idl"; if (exists $ENV{HOST_ROOT}) { $tao_idl = "$ENV{HOST_ROOT}/bin/tao_idl"; } -# Normal test - my $target = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; my $proc = $target->CreateProcess ("maps"); @@ -25,78 +21,4 @@ exit 1; } -exit 0; - -# -*- perl -*- - -# $status =0; - -# open (OLDOUT, ">&STDOUT"); -# open (STDOUT, ">" . File::Spec->devnull()); -# open (OLDERR, ">&STDERR"); -# open (STDERR, ">&STDOUT"); - - - -# my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; - -# $input_file1 = $server->LocalFile ("local_inarg.idl"); -# $input_file2 = $server->LocalFile ("local_inoutarg.idl"); -# $input_file3 = $server->LocalFile ("local_outarg.idl"); -# $input_file4 = $server->LocalFile ("local_rettype.idl"); -# $input_file5 = $server->LocalFile ("issue570.idl"); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file1"); - -# $server_status1 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file2"); - -# $server_status2 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file3"); - -# $server_status3 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file4"); - -# $server_status4 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# # Compile the IDL -# $SV = $server->CreateProcess ("$tao_idl", "$input_file5"); - -# $server_status5 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); - -# open (STDOUT, ">&OLDOUT"); -# open (STDERR, ">&OLDERR"); - -# if ($server_status1 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status1 for $input_file1, should have failed\n"; -# $status = 1; -# } - -# if ($server_status2 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status2 for $input_file2, should have failed\n"; -# $status = 1; -# } - -# if ($server_status3 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status3 for $input_file3, should have failed\n"; -# $status = 1; -# } - -# if ($server_status4 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status4 for $input_file4, should have failed\n"; -# $status = 1; -# } - -# if ($server_status5 == 0) { -# print STDERR "ERROR: tao_idl returned $server_status5 for $input_file5, should have failed\n"; -# $status = 1; -# } - -# exit $status; +exit 0; \ No newline at end of file From 025d75aed6a6324adf146a818cf72aa3492e2bea Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:27:29 -0400 Subject: [PATCH 068/445] cleaned up old comments --- TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp index e41b8679eec68..a16b32f90b877 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/field_ch.cpp @@ -441,15 +441,8 @@ be_visitor_field_ch::visit_map (be_map *node) } } - // ACE_NESTED_CLASS macro generated by nested_type_name - // is not necessary in all cases. be_typedef *tdef = dynamic_cast (bt); - // This was a typedefed array. - // ACE_NESTED_CLASS macro generated by nested_type_name - // is necessary if the struct, union, or valuetype containing this - // field was not defined inside a module. In such a case, VC++ - // complains that the non-module scope is not yet fully defined. UTL_Scope *holds_container = this->ctx_->scope ()->decl ()->defined_in (); AST_Decl *hc_decl = ScopeAsDecl (holds_container); From 9caa9c9fb07c9f80f4677d11c18fb6979a9d6087 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 12 Aug 2022 18:37:48 -0400 Subject: [PATCH 069/445] fixed whitespace --- TAO/tests/IDLv4/maps/run_test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tests/IDLv4/maps/run_test.pl b/TAO/tests/IDLv4/maps/run_test.pl index 2fc0fbc5f2e4d..017390556b5b2 100755 --- a/TAO/tests/IDLv4/maps/run_test.pl +++ b/TAO/tests/IDLv4/maps/run_test.pl @@ -21,4 +21,4 @@ exit 1; } -exit 0; \ No newline at end of file +exit 0; From 73e4e121359c621c4a444e89bb1186b836b9ec69 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:27:26 -0400 Subject: [PATCH 070/445] comment --- TAO/TAO_IDL/fe/idl.ypp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 90e555a0aff21..075070c72215c 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3969,7 +3969,7 @@ map_type_spec Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -3979,7 +3979,7 @@ map_type_spec UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { From 4dfa44758f2aff38dc78e16bd67d27e2f6ba172f Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:29:54 -0400 Subject: [PATCH 071/445] regenerated after changes --- TAO/TAO_IDL/fe/idl.tab.cpp | 3724 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.tab.hpp | 2 +- 2 files changed, 1890 insertions(+), 1836 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 33f516fefce8e..15b349f7acdd2 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -146,8 +146,6 @@ #include #include -#include - void tao_yyerror (const char *); int tao_yylex (void); extern "C" int tao_yywrap (void); @@ -164,7 +162,7 @@ bool stack_based_lookup_for_primary_expr = false; // Compile Optional Tracing Output for Parser, can be enabled with --bison-trace #define YYDEBUG 1 -#line 168 "fe/idl.tab.cpp" +#line 166 "fe/idl.tab.cpp" # ifndef YY_CAST # ifdef __cplusplus @@ -1041,16 +1039,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2196 +#define YYLAST 2197 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 404 /* YYNRULES -- Number of rules. */ -#define YYNRULES 615 +#define YYNRULES 616 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 905 +#define YYNSTATES 906 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1109,68 +1107,68 @@ static const yytype_int8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 421, 421, 424, 425, 433, 448, 452, 453, 454, - 459, 458, 467, 466, 475, 474, 483, 482, 491, 490, - 499, 498, 507, 506, 515, 514, 523, 522, 531, 530, - 539, 538, 547, 546, 555, 554, 563, 562, 571, 570, - 584, 583, 595, 634, 638, 594, 654, 662, 676, 686, - 716, 720, 661, 745, 749, 750, 754, 755, 760, 765, - 759, 851, 856, 850, 927, 928, 933, 971, 975, 932, - 992, 991, 1003, 1040, 1070, 1103, 1102, 1111, 1118, 1119, - 1120, 1121, 1125, 1130, 1135, 1182, 1186, 1134, 1215, 1258, - 1262, 1213, 1281, 1279, 1319, 1318, 1330, 1334, 1341, 1346, - 1353, 1378, 1406, 1472, 1491, 1495, 1499, 1500, 1512, 1511, - 1529, 1533, 1540, 1561, 1562, 1566, 1581, 1586, 1585, 1594, - 1593, 1602, 1601, 1610, 1609, 1618, 1617, 1626, 1625, 1634, - 1633, 1642, 1641, 1654, 1666, 1664, 1689, 1696, 1706, 1705, - 1731, 1729, 1754, 1764, 1775, 1819, 1846, 1878, 1882, 1886, - 1890, 1877, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1962, - 1966, 2034, 2036, 2038, 2039, 2051, 2052, 2064, 2065, 2077, - 2078, 2087, 2099, 2100, 2109, 2121, 2122, 2131, 2140, 2152, - 2153, 2162, 2171, 2183, 2240, 2241, 2248, 2252, 2257, 2264, - 2271, 2275, 2280, 2284, 2288, 2292, 2299, 2368, 2367, 2396, - 2397, 2401, 2402, 2403, 2405, 2404, 2413, 2414, 2418, 2474, - 2478, 2485, 2498, 2508, 2516, 2515, 2603, 2607, 2614, 2623, - 2630, 2638, 2644, 2651, 2664, 2663, 2672, 2676, 2680, 2684, - 2712, 2720, 2719, 2790, 2791, 2795, 2802, 2803, 2829, 2830, - 2831, 2832, 2833, 2834, 2835, 2836, 2840, 2841, 2842, 2843, - 2844, 2848, 2849, 2850, 2854, 2855, 2859, 2871, 2869, 2894, - 2901, 2902, 2906, 2918, 2916, 2941, 2948, 2964, 2982, 2983, - 2987, 2991, 2995, 2999, 3003, 3007, 3011, 3018, 3022, 3026, - 3030, 3034, 3038, 3042, 3049, 3053, 3057, 3064, 3071, 3075, - 3082, 3089, 3096, 3103, 3111, 3110, 3124, 3155, 3159, 3123, - 3176, 3179, 3180, 3184, 3202, 3206, 3201, 3264, 3263, 3276, - 3275, 3288, 3292, 3325, 3329, 3388, 3392, 3287, 3414, 3421, - 3434, 3443, 3450, 3451, 3560, 3563, 3564, 3569, 3573, 3568, - 3609, 3608, 3620, 3630, 3648, 3656, 3655, 3669, 3673, 3668, - 3689, 3688, 3738, 3763, 3787, 3791, 3822, 3826, 3786, 3850, - 3855, 3853, 3859, 3863, 3903, 3907, 3901, 3965, 4029, 4039, - 4028, 4064, 4068, 4062, 4152, 4219, 4228, 4218, 4242, 4252, - 4256, 4250, 4298, 4324, 4333, 4337, 4331, 4379, 4405, 4413, - 4412, 4455, 4465, 4483, 4491, 4495, 4490, 4555, 4556, 4561, - 4565, 4569, 4573, 4560, 4632, 4636, 4640, 4644, 4631, 4712, - 4716, 4748, 4752, 4711, 4769, 4773, 4834, 4838, 4768, 4875, - 4880, 4885, 4892, 4893, 4904, 4909, 4952, 4903, 4974, 4973, - 4982, 4981, 4992, 4997, 4995, 5001, 5006, 5010, 5005, 5049, - 5048, 5057, 5056, 5067, 5072, 5070, 5076, 5081, 5085, 5080, - 5130, 5137, 5138, 5139, 5246, 5250, 5254, 5262, 5266, 5261, - 5275, 5283, 5287, 5282, 5296, 5304, 5308, 5303, 5317, 5325, - 5329, 5324, 5338, 5345, 5357, 5355, 5378, 5385, 5415, 5454, - 5455, 5459, 5490, 5532, 5536, 5489, 5555, 5559, 5553, 5600, - 5599, 5607, 5614, 5629, 5630, 5635, 5634, 5644, 5643, 5653, - 5652, 5662, 5661, 5671, 5670, 5680, 5679, 5689, 5688, 5699, - 5792, 5798, 5823, 5930, 5939, 5943, 5950, 6025, 6097, 6173, - 6172, 6222, 6226, 6230, 6234, 6238, 6242, 6221, 6295, 6294, - 6302, 6309, 6314, 6322, 6326, 6321, 6336, 6337, 6341, 6343, - 6342, 6351, 6350, 6363, 6386, 6361, 6412, 6439, 6410, 6463, - 6464, 6465, 6469, 6470, 6474, 6503, 6535, 6579, 6583, 6533, - 6600, 6609, 6627, 6638, 6637, 6675, 6726, 6730, 6673, 6747, - 6751, 6758, 6762, 6766, 6770, 6774, 6778, 6782, 6786, 6790, - 6794, 6802, 6833, 6846, 6853, 6878, 6896, 6903, 6918, 6925, - 6935, 6939, 6958, 6966, 6934, 6981, 6996, 7000, 7001, 7005, - 7006, 7008, 7007, 7018, 7085, 7133, 7149, 7162, 7169, 7228, - 7236, 7240, 7235, 7301, 7305, 7300, 7318, 7319, 7324, 7323, - 7332, 7331, 7340, 7339, 7348, 7347 + 0, 419, 419, 422, 423, 431, 446, 450, 451, 452, + 457, 456, 465, 464, 473, 472, 481, 480, 489, 488, + 497, 496, 505, 504, 513, 512, 521, 520, 529, 528, + 537, 536, 545, 544, 553, 552, 561, 560, 569, 568, + 582, 581, 593, 632, 636, 592, 652, 660, 674, 684, + 714, 718, 659, 743, 747, 748, 752, 753, 758, 763, + 757, 849, 854, 848, 925, 926, 931, 969, 973, 930, + 990, 989, 1001, 1038, 1068, 1101, 1100, 1109, 1116, 1117, + 1118, 1119, 1123, 1128, 1133, 1180, 1184, 1132, 1213, 1256, + 1260, 1211, 1279, 1277, 1317, 1316, 1328, 1332, 1339, 1344, + 1351, 1376, 1404, 1470, 1489, 1493, 1497, 1498, 1510, 1509, + 1527, 1531, 1538, 1559, 1560, 1564, 1579, 1584, 1583, 1592, + 1591, 1600, 1599, 1608, 1607, 1616, 1615, 1624, 1623, 1632, + 1631, 1640, 1639, 1652, 1664, 1662, 1687, 1694, 1704, 1703, + 1729, 1727, 1752, 1762, 1773, 1817, 1844, 1876, 1880, 1884, + 1888, 1875, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1960, + 1964, 2032, 2034, 2036, 2037, 2049, 2050, 2062, 2063, 2075, + 2076, 2085, 2097, 2098, 2107, 2119, 2120, 2129, 2138, 2150, + 2151, 2160, 2169, 2181, 2238, 2239, 2246, 2250, 2255, 2262, + 2269, 2273, 2278, 2282, 2286, 2290, 2297, 2366, 2365, 2394, + 2395, 2399, 2400, 2401, 2403, 2402, 2411, 2412, 2416, 2472, + 2476, 2483, 2496, 2506, 2514, 2513, 2601, 2605, 2612, 2621, + 2628, 2636, 2642, 2649, 2662, 2661, 2670, 2674, 2678, 2682, + 2710, 2718, 2717, 2788, 2789, 2793, 2800, 2801, 2827, 2828, + 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, + 2842, 2846, 2847, 2848, 2852, 2853, 2857, 2869, 2867, 2892, + 2899, 2900, 2904, 2916, 2914, 2939, 2946, 2962, 2980, 2981, + 2985, 2989, 2993, 2997, 3001, 3005, 3009, 3016, 3020, 3024, + 3028, 3032, 3036, 3040, 3047, 3051, 3055, 3062, 3069, 3073, + 3080, 3087, 3094, 3101, 3109, 3108, 3122, 3153, 3157, 3121, + 3174, 3177, 3178, 3182, 3200, 3204, 3199, 3262, 3261, 3274, + 3273, 3286, 3290, 3323, 3327, 3386, 3390, 3285, 3412, 3419, + 3432, 3441, 3448, 3449, 3558, 3561, 3562, 3567, 3571, 3566, + 3607, 3606, 3618, 3628, 3646, 3654, 3653, 3667, 3671, 3666, + 3687, 3686, 3736, 3761, 3785, 3789, 3820, 3824, 3784, 3848, + 3853, 3851, 3857, 3861, 3901, 3905, 3899, 3963, 4027, 4037, + 4026, 4062, 4066, 4060, 4150, 4217, 4226, 4216, 4240, 4250, + 4254, 4248, 4296, 4322, 4331, 4335, 4329, 4377, 4403, 4411, + 4410, 4453, 4463, 4481, 4489, 4493, 4488, 4553, 4554, 4559, + 4563, 4567, 4571, 4558, 4630, 4634, 4638, 4642, 4629, 4710, + 4714, 4746, 4750, 4709, 4767, 4771, 4832, 4836, 4766, 4873, + 4878, 4883, 4890, 4891, 4902, 4907, 4950, 4901, 4972, 4971, + 4980, 4979, 4990, 4995, 4993, 4999, 5004, 5008, 5003, 5047, + 5046, 5055, 5054, 5065, 5070, 5068, 5074, 5079, 5083, 5078, + 5128, 5135, 5136, 5137, 5292, 5296, 5300, 5308, 5312, 5307, + 5321, 5329, 5333, 5328, 5342, 5350, 5354, 5349, 5363, 5371, + 5375, 5370, 5384, 5391, 5403, 5401, 5424, 5431, 5461, 5500, + 5501, 5505, 5536, 5578, 5582, 5535, 5601, 5605, 5599, 5646, + 5645, 5653, 5660, 5675, 5676, 5681, 5680, 5690, 5689, 5699, + 5698, 5708, 5707, 5717, 5716, 5726, 5725, 5735, 5734, 5745, + 5838, 5844, 5869, 5976, 5985, 5989, 5996, 6071, 6143, 6219, + 6218, 6268, 6272, 6276, 6280, 6284, 6288, 6267, 6341, 6340, + 6348, 6355, 6360, 6368, 6372, 6367, 6382, 6383, 6387, 6389, + 6388, 6397, 6396, 6409, 6432, 6407, 6458, 6485, 6456, 6509, + 6510, 6511, 6515, 6516, 6520, 6549, 6581, 6625, 6629, 6579, + 6646, 6655, 6673, 6684, 6683, 6721, 6772, 6776, 6719, 6793, + 6797, 6804, 6808, 6812, 6816, 6820, 6824, 6828, 6832, 6836, + 6840, 6844, 6852, 6883, 6896, 6903, 6928, 6946, 6953, 6968, + 6975, 6985, 6989, 7008, 7016, 6984, 7031, 7046, 7050, 7051, + 7055, 7056, 7058, 7057, 7068, 7135, 7183, 7199, 7212, 7219, + 7278, 7286, 7290, 7285, 7351, 7355, 7350, 7368, 7369, 7374, + 7373, 7382, 7381, 7390, 7389, 7398, 7397 }; #endif @@ -1305,12 +1303,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-689) +#define YYPACT_NINF (-684) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-584) +#define YYTABLE_NINF (-585) #define yytable_value_is_error(Yyn) \ 0 @@ -1319,97 +1317,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -689, 97, 1423, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 105, 108, 70, 102, -689, 105, - 105, -689, 54, 54, -689, -689, 105, -689, -689, 23, - -689, 298, 28, 38, -689, -689, -4, -689, -689, -689, - -689, -689, -689, 566, -689, -689, -689, -689, -689, 1625, - 42, -689, -689, 65, -689, 133, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 72, -689, -689, -689, 72, -689, - -689, 84, 87, 2106, 54, 105, 1983, 105, 105, 105, - 105, -689, -689, -689, 56, 105, 67, -689, 71, 105, - -689, 72, 105, 99, 101, 105, -689, -689, 10, -689, - 26, 199, -689, 106, -689, 121, 129, 473, -689, -689, - -689, 140, 192, -689, 167, 163, 170, 88, -689, 162, - -689, -689, -689, -689, -689, -689, 174, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, 186, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - 133, -689, -689, -689, 14, -689, 74, -689, -689, 179, - -689, 197, 201, 203, -689, 54, 205, 206, 208, -689, - 210, 213, 216, 218, 214, 220, 227, 230, -689, -689, - -689, 236, 241, -689, -689, -689, -689, 186, -689, -689, - -689, -689, -689, -689, -689, -689, -689, 186, -689, -689, - -689, -689, -689, -689, -689, -689, 242, -689, 237, -689, - -689, 212, -689, 338, -689, -689, -689, -689, 44, -689, - -689, -689, 2106, -689, -689, -689, -689, 246, -689, -689, - -689, -689, 339, -689, -689, 52, 248, -689, -689, -689, - -689, -689, -689, -689, -689, 342, -689, 131, 255, 256, - 310, -689, -689, -689, -689, -689, -689, -689, -689, 186, - -689, -689, 251, -689, -689, -689, -689, -689, -689, -689, - -689, -689, 310, 262, 264, -689, -689, -689, 105, 105, - 270, 271, -689, -689, -689, 268, -689, 338, 273, -689, - -689, -689, -689, -689, 369, -689, 272, 274, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, 215, 215, - 215, 131, 186, -689, -689, 269, 275, 280, 125, 114, - 78, -689, -689, -689, -689, -689, 54, -689, -689, -689, - -689, 276, -689, -689, 54, -689, 131, 131, 131, 131, - 261, -689, -689, -689, -689, -689, -689, -689, 217, -689, - -13, -689, -689, -689, -689, -689, -689, -689, -689, 54, - 310, -689, -689, -689, -689, 212, 663, 1538, 277, 279, - -689, 473, -689, -689, -689, 284, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 285, 105, -689, 186, - 1123, -689, 842, 131, -689, 1715, -689, -689, -689, -689, - -689, 131, -689, 1488, -689, -689, -689, 200, 1030, -689, - -689, -689, -689, 49, 330, 54, 54, -689, -689, -689, - -689, -689, 49, -689, 291, -689, 290, -689, 292, -689, - -689, 1217, 186, -689, 54, 310, -689, -689, -689, -689, - 309, -689, -689, 105, -689, -689, 311, 313, 407, 317, - -689, -689, 275, 280, 125, 114, 114, 78, 78, -689, - -689, -689, -689, -689, 314, -689, -689, -689, 319, -689, - -689, 1895, -689, -689, -689, -689, 2018, -689, -689, -689, - -689, -689, 320, -689, 1930, -689, -689, 1805, -689, 315, - 1715, -689, 322, 323, 326, 327, 329, -689, 316, -689, - 331, -689, -689, -689, 336, 343, 542, 54, 54, 54, - 211, -689, 344, -689, -689, -689, -689, -689, -689, -689, - 105, 105, -689, 345, -689, -689, -689, 1311, 936, 398, - 2071, -689, 186, 338, -689, -689, 57, 60, 348, 349, - 351, 338, 352, -689, -689, -5, -689, 53, -689, -689, - 353, 355, 186, -689, 356, 75, 1983, -689, 411, -689, - -689, -689, -689, 52, -689, 354, -689, 359, -689, 360, - 361, 362, 364, -689, 186, -689, -689, -689, -689, -689, - 365, 368, 447, -689, -689, -689, 371, -689, -689, 366, - -689, -689, -689, -689, 131, -689, 338, -689, 381, 105, - -689, -689, 475, 186, -689, -689, -689, -689, -689, -689, - 69, 69, 69, -689, 384, -689, 389, 390, 392, 393, - 394, 395, -689, -689, -689, 401, 402, 396, 403, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 131, - -689, -689, -689, 105, -689, 404, 397, 409, -689, 442, - 412, 75, -689, 413, 415, -689, 416, 131, 417, 1600, - -689, 54, -689, -689, -689, -689, -689, -689, 514, -689, - -689, -689, -689, -689, -689, 329, 331, -689, -689, 405, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - 408, 408, -689, -689, -689, -689, 2071, 105, -689, 131, - 410, -689, -689, -689, -689, -689, -689, -689, 421, -689, - -689, -689, -689, -689, 54, -689, -689, -689, -689, 422, - 186, -689, 408, 1715, -689, 424, -689, 488, -689, -689, - -689, -689, -689, -689, -689, -689, 54, -689, 186, 426, - 1361, -689, 418, -689, -689, -689, 431, 419, 497, 498, - 498, 105, 484, 439, 430, -689, 186, 443, -689, -689, - 433, -689, 498, -689, -689, -689, 434, -689, -689, -689, - -689, -689, -689, -689, -689, -689, 493, 556, 445, 177, - 498, -689, 80, 2071, -689, 459, 449, 498, 450, 503, - 105, 54, -689, -689, 466, -689, -689, -689, -689, -689, - 453, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 186, - -689, 467, -689, 468, 2071, 532, 476, 131, 492, 496, - 58, -689, 150, 105, 497, 54, 54, 482, 105, 556, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 1690, - -689, -689, -689, 483, 485, -689, -689, -689, 177, 105, - 487, 495, -689, -689, -689, -689, 54, -689, -689, -689, - -689, 105, 502, 489, 526, -689, -689, -689, -689, 490, - 500, -689, -689, 530, -689 + -684, 90, 1424, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 55, 92, 81, 76, -684, 55, + 55, -684, 47, 47, -684, -684, 55, -684, -684, 2, + -684, 295, 74, 83, -684, -684, 4, -684, -684, -684, + -684, -684, -684, 602, -684, -684, -684, -684, -684, 1626, + 82, -684, -684, 86, -684, 132, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 12, -684, -684, -684, 12, -684, + -684, 106, 94, 2107, 47, 55, 1984, 55, 55, 55, + 55, -684, -684, -684, 15, 55, 27, -684, 30, 55, + -684, 12, 55, 121, 129, 55, -684, -684, 31, -684, + 33, 210, -684, 133, -684, 135, 144, 474, -684, -684, + -684, 146, 201, -684, 154, 160, 165, 100, -684, 166, + -684, -684, -684, -684, -684, -684, 56, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, 181, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 132, -684, -684, -684, 59, -684, 63, -684, -684, 177, + -684, 178, 182, 183, -684, 47, 185, 188, 184, -684, + 189, 193, 196, 197, 198, 200, 202, 206, -684, -684, + -684, 207, 209, -684, -684, -684, -684, 181, -684, -684, + -684, -684, -684, -684, -684, -684, -684, 181, -684, -684, + -684, -684, -684, -684, -684, -684, 211, -684, 212, -684, + -684, 205, -684, 292, -684, -684, -684, -684, 53, -684, + -684, -684, 2107, -684, -684, -684, -684, 213, -684, -684, + -684, -684, -684, 302, -684, -684, 131, 221, -684, -684, + -684, -684, -684, -684, -684, -684, 290, -684, 485, 214, + 224, 261, -684, -684, -684, -684, -684, -684, -684, -684, + 181, -684, -684, 216, -684, -684, -684, -684, -684, -684, + -684, -684, -684, 261, 228, 229, -684, -684, -684, 55, + 55, 241, 242, -684, -684, -684, 240, -684, 292, 250, + -684, -684, -684, -684, -684, 308, -684, 249, 248, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, 65, + 65, 65, 485, 181, -684, -684, 247, 251, 252, 107, + 93, 58, -684, -684, -684, -684, -684, 47, -684, -684, + -684, -684, 253, -684, -684, 47, -684, 485, 485, 485, + 485, 246, -684, -684, -684, -684, -684, -684, -684, 153, + -684, 0, -684, -684, -684, -684, -684, -684, -684, -684, + 47, 261, -684, -684, -684, -684, 205, 729, 1539, 255, + 254, -684, 474, -684, -684, -684, 256, 485, 485, 485, + 485, 485, 485, 485, 485, 485, 485, 258, 55, -684, + 181, 1124, -684, 843, 485, -684, 1716, -684, -684, -684, + -684, -684, 485, -684, 1489, -684, -684, -684, 203, 1031, + -684, -684, -684, -684, 67, 307, 47, 47, -684, -684, + -684, -684, -684, 67, -684, 268, -684, 265, -684, 267, + -684, -684, 1218, 181, -684, 47, 261, -684, -684, -684, + -684, 275, -684, -684, 55, -684, -684, 276, 279, 372, + 281, -684, -684, 251, 252, 107, 93, 93, 58, 58, + -684, -684, -684, -684, -684, 277, -684, -684, -684, 282, + -684, -684, 1896, -684, -684, -684, -684, 2019, -684, -684, + -684, -684, -684, 283, -684, 1931, -684, -684, 1806, -684, + 284, 1716, -684, 287, 288, 289, 294, 296, -684, 286, + -684, 293, -684, -684, -684, 312, 314, 995, 47, 47, + 47, 222, -684, 317, -684, -684, -684, -684, -684, -684, + -684, 55, 55, -684, 318, -684, -684, -684, 1312, 937, + 359, 2072, -684, 181, 292, -684, -684, 48, 60, 310, + 321, 323, 292, 326, -684, -684, 3, -684, 57, -684, + -684, 325, 327, 181, -684, 329, 116, 1984, -684, 395, + -684, -684, -684, -684, 131, -684, 332, -684, 333, -684, + 335, 338, 339, 341, -684, 181, -684, -684, -684, -684, + -684, 342, 344, 439, -684, -684, -684, 346, -684, -684, + 345, -684, -684, -684, -684, 485, -684, 292, -684, 347, + 55, -684, -684, 442, 181, -684, -684, -684, -684, -684, + -684, 71, 71, 71, -684, 354, -684, 355, 356, 358, + 360, 361, 362, -684, -684, -684, 363, 365, 357, 364, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 485, -684, -684, -684, 55, -684, 367, 366, 371, -684, + 412, 383, 116, -684, 387, 390, -684, 393, 485, 394, + 1601, -684, 47, -684, -684, -684, -684, -684, -684, 489, + -684, -684, -684, -684, -684, -684, 296, 293, -684, -684, + 378, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, 382, 382, -684, -684, -684, -684, 2072, 55, -684, + 485, 384, -684, -684, -684, -684, -684, -684, -684, 404, + -684, -684, -684, -684, -684, 47, -684, -684, -684, -684, + 406, 181, -684, 382, 1716, -684, 407, -684, 473, -684, + -684, -684, -684, -684, -684, -684, -684, 47, -684, 181, + 411, 1362, -684, 397, -684, -684, -684, 414, 398, 478, + 479, 479, 55, 461, 416, 403, -684, 181, 421, -684, + -684, 408, -684, 479, -684, -684, -684, 410, -684, -684, + -684, -684, -684, -684, -684, -684, -684, 462, 523, 415, + 158, 479, -684, 75, 2072, -684, 424, 419, 479, 420, + 472, 55, 47, -684, -684, 437, -684, -684, -684, -684, + -684, 426, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 181, -684, 440, -684, 441, 2072, 507, 451, 485, 447, + 452, 52, -684, 208, 55, 478, 47, 47, 436, 55, + 523, -684, -684, -684, -684, -684, -684, -684, -684, -684, + 1691, -684, -684, -684, 438, 443, -684, -684, -684, 158, + 55, 453, 450, -684, -684, -684, -684, 47, -684, -684, + -684, -684, 55, 457, 454, 480, -684, -684, -684, -684, + 456, 465, -684, -684, 481, -684 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1419,7 +1417,7 @@ static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, 294, 309, 344, 399, 0, 0, 0, 0, 94, 0, - 0, 511, 0, 0, 580, 600, 0, 6, 7, 42, + 0, 511, 0, 0, 581, 601, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, @@ -1437,123 +1435,123 @@ static const yytype_int16 yydefact[] = 0, 252, 253, 250, 0, 246, 0, 249, 247, 372, 248, 377, 0, 0, 5, 0, 211, 0, 0, 311, 0, 0, 0, 0, 0, 0, 0, 0, 553, 546, - 555, 0, 0, 603, 599, 39, 287, 160, 148, 152, + 555, 0, 0, 604, 600, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, 231, 295, 310, 345, 400, 73, 550, 74, 0, 551, - 95, 481, 512, 0, 467, 140, 468, 581, 0, 197, - 43, 25, 0, 566, 562, 563, 568, 565, 569, 567, - 564, 561, 0, 48, 573, 0, 0, 23, 96, 75, - 67, 27, 85, 271, 286, 277, 279, 0, 0, 0, - 99, 357, 354, 364, 361, 369, 374, 19, 11, 214, - 13, 297, 0, 21, 15, 17, 29, 473, 31, 523, - 510, 33, 99, 0, 0, 35, 37, 607, 0, 0, - 0, 0, 89, 479, 477, 520, 139, 0, 0, 601, - 212, 200, 4, 570, 0, 574, 0, 571, 186, 187, - 188, 190, 193, 192, 194, 195, 191, 189, 0, 0, - 0, 0, 183, 598, 161, 162, 163, 165, 167, 169, - 172, 175, 179, 184, 597, 62, 0, 114, 105, 278, - 196, 0, 366, 213, 0, 93, 0, 0, 0, 0, - 217, 213, 312, 484, 527, 554, 547, 556, 604, 149, - 266, 232, 259, 260, 261, 267, 346, 401, 114, 0, - 99, 518, 513, 141, 582, 481, 0, 0, 3, 0, - 49, 0, 180, 181, 182, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 595, 0, 76, 136, - 0, 113, 0, 0, 213, 0, 98, 355, 362, 370, - 375, 0, 215, 0, 298, 302, 213, 213, 0, 114, - 105, 389, 394, 0, 505, 0, 0, 612, 387, 388, - 608, 610, 0, 614, 0, 606, 0, 213, 256, 213, - 302, 0, 480, 478, 0, 99, 588, 602, 204, 198, - 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, - 572, 185, 164, 166, 168, 170, 171, 173, 174, 176, - 177, 178, 213, 63, 133, 131, 409, 410, 0, 116, - 123, 0, 117, 127, 125, 129, 0, 119, 121, 414, - 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, - 0, 359, 0, 0, 0, 0, 137, 218, 0, 219, - 222, 307, 304, 303, 0, 213, 0, 0, 0, 0, - 0, 495, 0, 483, 485, 487, 489, 491, 493, 497, - 0, 0, 528, 0, 526, 529, 531, 0, 0, 0, - 0, 501, 500, 0, 504, 503, 0, 0, 0, 0, - 0, 0, 0, 605, 150, 0, 257, 0, 347, 352, - 213, 0, 519, 514, 587, 213, 0, 202, 210, 203, - 45, 575, 50, 0, 134, 0, 69, 0, 115, 0, - 0, 0, 0, 413, 443, 440, 441, 442, 404, 412, - 0, 0, 0, 87, 112, 103, 0, 368, 367, 0, - 356, 363, 371, 376, 0, 216, 0, 220, 0, 0, - 299, 301, 270, 323, 318, 319, 320, 321, 313, 322, - 0, 0, 0, 482, 0, 475, 0, 0, 0, 0, - 0, 0, 533, 536, 525, 0, 0, 0, 0, 390, - 395, 499, 593, 594, 613, 609, 611, 502, 615, 0, - 384, 380, 383, 0, 353, 0, 349, 0, 91, 0, - 0, 0, 591, 0, 0, 586, 0, 0, 0, 0, - 596, 0, 132, 124, 118, 128, 126, 130, 0, 120, - 122, 415, 109, 213, 223, 0, 222, 308, 305, 0, - 508, 506, 507, 496, 486, 488, 490, 492, 494, 498, - 0, 0, 530, 532, 549, 558, 0, 0, 151, 0, - 381, 258, 348, 350, 403, 515, 584, 585, 0, 589, - 590, 205, 209, 208, 0, 56, 42, 51, 55, 0, - 135, 405, 0, 0, 221, 0, 314, 418, 534, 537, - 391, 396, 265, 385, 382, 213, 0, 592, 58, 0, - 0, 57, 0, 416, 360, 306, 0, 0, 0, 450, - 450, 0, 454, 262, 0, 351, 516, 0, 52, 54, - 431, 406, 450, 315, 419, 426, 0, 425, 447, 535, - 538, 392, 451, 397, 263, 386, 522, 0, 0, 0, - 450, 417, 0, 0, 421, 422, 0, 450, 0, 458, - 0, 0, 517, 579, 0, 578, 430, 444, 445, 446, - 0, 436, 437, 407, 330, 337, 335, 316, 326, 327, - 334, 427, 423, 448, 393, 452, 455, 398, 264, 521, - 59, 576, 432, 433, 0, 462, 0, 0, 0, 0, - 0, 213, 332, 0, 0, 0, 0, 0, 0, 0, - 434, 438, 459, 408, 331, 338, 336, 317, 325, 0, - 333, 428, 424, 0, 0, 456, 60, 577, 0, 0, - 0, 0, 340, 328, 449, 453, 0, 435, 439, 460, - 339, 0, 0, 0, 0, 341, 329, 457, 466, 0, - 463, 461, 464, 0, 465 + 95, 481, 512, 0, 467, 140, 468, 582, 0, 197, + 43, 25, 0, 567, 562, 563, 569, 565, 566, 570, + 568, 564, 561, 0, 48, 574, 0, 0, 23, 96, + 75, 67, 27, 85, 271, 286, 277, 279, 0, 0, + 0, 99, 357, 354, 364, 361, 369, 374, 19, 11, + 214, 13, 297, 0, 21, 15, 17, 29, 473, 31, + 523, 510, 33, 99, 0, 0, 35, 37, 608, 0, + 0, 0, 0, 89, 479, 477, 520, 139, 0, 0, + 602, 212, 200, 4, 571, 0, 575, 0, 572, 186, + 187, 188, 190, 193, 192, 194, 195, 191, 189, 0, + 0, 0, 0, 183, 599, 161, 162, 163, 165, 167, + 169, 172, 175, 179, 184, 598, 62, 0, 114, 105, + 278, 196, 0, 366, 213, 0, 93, 0, 0, 0, + 0, 217, 213, 312, 484, 527, 554, 547, 556, 605, + 149, 266, 232, 259, 260, 261, 267, 346, 401, 114, + 0, 99, 518, 513, 141, 583, 481, 0, 0, 3, + 0, 49, 0, 180, 181, 182, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 596, 0, 76, + 136, 0, 113, 0, 0, 213, 0, 98, 355, 362, + 370, 375, 0, 215, 0, 298, 302, 213, 213, 0, + 114, 105, 389, 394, 0, 505, 0, 0, 613, 387, + 388, 609, 611, 0, 615, 0, 607, 0, 213, 256, + 213, 302, 0, 480, 478, 0, 99, 589, 603, 204, + 198, 0, 206, 199, 0, 201, 207, 0, 0, 0, + 0, 573, 185, 164, 166, 168, 170, 171, 173, 174, + 176, 177, 178, 213, 63, 133, 131, 409, 410, 0, + 116, 123, 0, 117, 127, 125, 129, 0, 119, 121, + 414, 111, 110, 0, 104, 0, 106, 107, 0, 108, + 0, 0, 359, 0, 0, 0, 0, 137, 218, 0, + 219, 222, 307, 304, 303, 0, 213, 0, 0, 0, + 0, 0, 495, 0, 483, 485, 487, 489, 491, 493, + 497, 0, 0, 528, 0, 526, 529, 531, 0, 0, + 0, 0, 501, 500, 0, 504, 503, 0, 0, 0, + 0, 0, 0, 0, 606, 150, 0, 257, 0, 347, + 352, 213, 0, 519, 514, 588, 213, 0, 202, 210, + 203, 45, 576, 50, 0, 134, 0, 69, 0, 115, + 0, 0, 0, 0, 413, 443, 440, 441, 442, 404, + 412, 0, 0, 0, 87, 112, 103, 0, 368, 367, + 0, 356, 363, 371, 376, 0, 216, 0, 220, 0, + 0, 299, 301, 270, 323, 318, 319, 320, 321, 313, + 322, 0, 0, 0, 482, 0, 475, 0, 0, 0, + 0, 0, 0, 533, 536, 525, 0, 0, 0, 0, + 390, 395, 499, 594, 595, 614, 610, 612, 502, 616, + 0, 384, 380, 383, 0, 353, 0, 349, 0, 91, + 0, 0, 0, 592, 0, 0, 587, 0, 0, 0, + 0, 597, 0, 132, 124, 118, 128, 126, 130, 0, + 120, 122, 415, 109, 213, 223, 0, 222, 308, 305, + 0, 508, 506, 507, 496, 486, 488, 490, 492, 494, + 498, 0, 0, 530, 532, 549, 558, 0, 0, 151, + 0, 381, 258, 348, 350, 403, 515, 585, 586, 0, + 590, 591, 205, 209, 208, 0, 56, 42, 51, 55, + 0, 135, 405, 0, 0, 221, 0, 314, 418, 534, + 537, 391, 396, 265, 385, 382, 213, 0, 593, 58, + 0, 0, 57, 0, 416, 360, 306, 0, 0, 0, + 450, 450, 0, 454, 262, 0, 351, 516, 0, 52, + 54, 431, 406, 450, 315, 419, 426, 0, 425, 447, + 535, 538, 392, 451, 397, 263, 386, 522, 0, 0, + 0, 450, 417, 0, 0, 421, 422, 0, 450, 0, + 458, 0, 0, 517, 580, 0, 579, 430, 444, 445, + 446, 0, 436, 437, 407, 330, 337, 335, 316, 326, + 327, 334, 427, 423, 448, 393, 452, 455, 398, 264, + 521, 59, 577, 432, 433, 0, 462, 0, 0, 0, + 0, 0, 213, 332, 0, 0, 0, 0, 0, 0, + 0, 434, 438, 459, 408, 331, 338, 336, 317, 325, + 0, 333, 428, 424, 0, 0, 456, 60, 578, 0, + 0, 0, 0, 340, 328, 449, 453, 0, 435, 439, + 460, 339, 0, 0, 0, 0, 341, 329, 457, 466, + 0, 463, 461, 464, 0, 465 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -689, -689, 296, 297, 561, -609, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -606, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -149, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, 231, -689, - -689, 107, -689, -689, -689, 595, -689, -689, -689, -689, - -689, -689, -689, 597, -689, 238, -689, -689, -258, -689, - -689, 184, 109, -689, -689, -689, -325, -689, -370, -689, - -689, -689, -689, -689, -689, -689, -689, -340, -689, -689, - -22, -689, -689, -194, -10, -689, 16, -689, -689, -689, - -689, -192, -44, -230, -689, 222, 223, 221, -143, -117, - -175, -94, -689, -321, -689, -689, -689, -689, -689, -689, - -689, -689, 13, -86, 571, -689, -689, -689, -689, -74, - 7, 17, -689, 59, -689, -31, -392, -466, -689, -689, - -689, 15, -689, -689, -620, -138, -689, -689, -7, -689, - -66, -689, -689, -43, -42, -56, -55, -50, 250, -689, - -40, -689, -38, -689, -689, -689, -689, 187, 278, 136, - -689, -689, -689, -37, -689, -32, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -208, -689, -689, -689, -689, - -689, -209, -689, -689, -689, -689, -689, -689, -689, -41, - -689, -689, -689, -689, -689, -689, -689, -111, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -75, -689, -689, -689, -70, -689, -689, -689, -689, - -689, -689, -689, -73, -689, -689, -337, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, 18, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -637, -689, -689, -689, -689, -689, -197, - -689, -689, -689, -689, -689, -689, -689, -689, -233, -689, - -689, -521, -689, -688, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, 20, 22, - -689, -689, -689, -689, -689, -689, -689, -689, -689, 299, - -689, -689, 128, -689, -689, -689, -689, -689, -689, -689, - -324, 219, -317, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 582, -689, -689, -689, -689, -689, - -689, -689, -689, -689, 294, -689, -689, -195, -689, -689, - -689, -689, -689, -689, -689, -9, -689, 324, -689, -689, - 82, -689, -689, -689, -689, -689, -689, -689, -689, -689, - -689, -689, -689, -689 + -684, -684, 259, 260, 525, -628, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -596, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -185, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, 231, -684, + -684, 19, -684, -684, -684, 560, -684, -684, -684, -684, + -684, -684, -684, 564, -684, 243, -684, -684, -253, -684, + -684, 150, 77, -684, -684, -684, -320, -684, -356, -684, + -684, -684, -684, -684, -684, -684, -684, -341, -684, -684, + -22, -684, -684, -186, -10, -684, 16, -684, -684, -684, + -684, -199, -78, -241, -684, 186, 190, 187, -139, -136, + -189, -101, -684, -321, -684, -684, -684, -684, -684, -684, + -684, -684, 21, -86, 534, -684, -684, -684, -684, -110, + -28, 17, -684, 13, -684, -31, -391, -468, -684, -684, + -684, -29, -684, -684, -622, -180, -684, -684, -7, -684, + -66, -684, -684, -53, -52, -56, -55, -50, 215, -684, + -40, -684, -38, -684, -684, -684, -684, 145, 233, 95, + -684, -684, -684, -37, -684, -32, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -250, -684, -684, -684, -684, + -684, -249, -684, -684, -684, -684, -684, -684, -684, -41, + -684, -684, -684, -684, -684, -684, -684, -153, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -75, -684, -684, -684, -70, -684, -684, -684, -684, + -684, -684, -684, -115, -684, -684, -334, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, 18, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -640, -684, -684, -684, -684, -684, -246, + -684, -684, -684, -684, -684, -684, -684, -684, -255, -684, + -684, -517, -684, -683, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, 20, 22, + -684, -684, -684, -684, -684, -684, -684, -684, -684, 244, + -684, -684, 101, -684, -684, -684, -684, -684, -684, -684, + -328, 191, -325, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 553, -684, -684, -684, -684, -684, + -684, -684, -684, -684, 245, -684, -684, -227, -684, -684, + -684, -684, -684, -684, -684, -36, -684, 266, -684, -684, + 54, -684, -684, -684, -684, -684, -684, -684, -684, -684, + -684, -684, -684, -684 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1561,45 +1559,45 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 183, 187, 191, 192, 182, 190, 121, 116, 125, 193, 195, 197, 201, 202, - 82, 29, 84, 30, 115, 312, 467, 31, 32, 117, - 316, 469, 679, 759, 737, 760, 738, 739, 777, 858, - 33, 118, 407, 34, 35, 124, 347, 488, 36, 85, - 37, 151, 346, 38, 39, 40, 126, 348, 502, 41, - 228, 378, 571, 42, 270, 43, 102, 259, 355, 44, - 45, 412, 503, 606, 504, 505, 410, 411, 489, 589, - 600, 601, 587, 591, 590, 592, 585, 408, 484, 681, - 332, 233, 307, 109, 370, 46, 490, 83, 298, 446, - 659, 208, 333, 350, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 351, 48, 311, 386, 462, 576, 463, - 464, 678, 491, 50, 310, 360, 422, 518, 519, 617, - 520, 492, 86, 219, 299, 220, 154, 155, 156, 157, - 52, 371, 448, 663, 372, 751, 773, 810, 373, 374, + 82, 29, 84, 30, 115, 313, 468, 31, 32, 117, + 317, 470, 680, 760, 738, 761, 739, 740, 778, 859, + 33, 118, 408, 34, 35, 124, 348, 489, 36, 85, + 37, 151, 347, 38, 39, 40, 126, 349, 503, 41, + 228, 379, 572, 42, 271, 43, 102, 260, 356, 44, + 45, 413, 504, 607, 505, 506, 411, 412, 490, 590, + 601, 602, 588, 592, 591, 593, 586, 409, 485, 682, + 333, 233, 308, 109, 371, 46, 491, 83, 299, 447, + 660, 208, 334, 351, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 352, 48, 312, 387, 463, 577, 464, + 465, 679, 492, 50, 311, 361, 423, 519, 520, 618, + 521, 493, 86, 219, 300, 220, 154, 155, 156, 157, + 52, 372, 449, 664, 373, 752, 774, 811, 374, 375, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 188, 361, 524, 424, 525, 621, 523, - 619, 745, 618, 55, 88, 56, 282, 426, 699, 766, - 802, 849, 628, 827, 850, 828, 851, 892, 846, 829, - 852, 830, 848, 847, 881, 883, 891, 57, 58, 59, - 89, 300, 449, 665, 568, 666, 755, 569, 173, 356, - 512, 174, 269, 609, 175, 357, 513, 176, 268, 414, - 177, 178, 358, 514, 179, 180, 359, 515, 181, 375, - 447, 661, 720, 662, 719, 774, 493, 438, 549, 716, - 771, 807, 439, 550, 717, 772, 809, 494, 90, 301, - 450, 667, 495, 688, 762, 800, 845, 496, 598, 508, - 602, 742, 782, 748, 767, 768, 786, 805, 854, 787, - 803, 853, 781, 798, 799, 820, 843, 878, 821, 844, - 879, 599, 822, 789, 806, 855, 793, 808, 856, 837, - 857, 886, 863, 880, 894, 899, 900, 903, 497, 498, - 63, 64, 65, 194, 363, 532, 66, 231, 380, 304, - 379, 427, 533, 636, 637, 638, 639, 640, 634, 641, - 534, 553, 535, 442, 555, 536, 537, 538, 67, 196, - 68, 105, 305, 455, 669, 756, 796, 382, 454, 812, - 290, 364, 543, 428, 544, 645, 646, 545, 710, 769, - 546, 711, 770, 69, 70, 71, 72, 73, 293, 429, - 647, 74, 75, 76, 199, 292, 77, 294, 430, 648, - 78, 252, 253, 317, 254, 814, 841, 815, 79, 111, - 308, 456, 670, 574, 575, 675, 728, 539, 256, 406, - 344, 80, 81, 112, 385, 204, 297, 444, 368, 445, - 559, 560, 558, 562 + 53, 87, 54, 188, 362, 525, 425, 526, 622, 524, + 620, 746, 619, 55, 88, 56, 283, 427, 700, 767, + 803, 850, 629, 828, 851, 829, 852, 893, 847, 830, + 853, 831, 849, 848, 882, 884, 892, 57, 58, 59, + 89, 301, 450, 666, 569, 667, 756, 570, 173, 357, + 513, 174, 270, 610, 175, 358, 514, 176, 269, 415, + 177, 178, 359, 515, 179, 180, 360, 516, 181, 376, + 448, 662, 721, 663, 720, 775, 494, 439, 550, 717, + 772, 808, 440, 551, 718, 773, 810, 495, 90, 302, + 451, 668, 496, 689, 763, 801, 846, 497, 599, 509, + 603, 743, 783, 749, 768, 769, 787, 806, 855, 788, + 804, 854, 782, 799, 800, 821, 844, 879, 822, 845, + 880, 600, 823, 790, 807, 856, 794, 809, 857, 838, + 858, 887, 864, 881, 895, 900, 901, 904, 498, 499, + 63, 64, 65, 194, 364, 533, 66, 231, 381, 305, + 380, 428, 534, 637, 638, 639, 640, 641, 635, 642, + 535, 554, 536, 443, 556, 537, 538, 539, 67, 196, + 68, 105, 306, 456, 670, 757, 797, 383, 455, 813, + 291, 365, 544, 429, 545, 646, 647, 546, 711, 770, + 547, 712, 771, 69, 70, 71, 72, 73, 294, 430, + 648, 74, 75, 76, 199, 293, 77, 295, 431, 649, + 78, 253, 254, 318, 255, 815, 842, 816, 79, 111, + 309, 457, 671, 575, 576, 676, 729, 540, 257, 407, + 345, 80, 81, 112, 386, 204, 298, 445, 369, 446, + 560, 561, 559, 563 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1608,347 +1606,319 @@ static const yytype_int16 yydefgoto[] = static const yytype_int16 yytable[] = { 108, 110, 172, 168, 92, 169, 170, 93, 215, 103, - 104, 171, 153, 216, 416, 49, 113, 209, 47, 51, - 60, 152, 61, 511, 62, 334, 238, 212, 213, 650, - 595, 437, 255, 214, 365, 417, 418, 419, 420, 306, - 210, 211, 506, 721, 440, 172, 168, 309, 169, 170, - 313, 441, 106, 451, 171, 106, 664, 106, 542, 824, - 652, 207, 217, 653, 152, 47, 51, 60, 551, 61, - 735, 62, 106, 736, 749, 218, 8, 221, 222, 223, - 224, 824, 790, -379, 595, 226, 234, 825, 826, 229, - 531, 185, 230, -144, 801, 232, 263, 4, 122, 264, - 235, 395, 236, -379, 547, 763, 431, 432, 91, 825, - 826, 660, 823, 383, 8, 271, 235, 272, 608, 834, - 18, 588, 453, 114, 95, 119, 318, 319, 320, 321, - 322, 323, 324, 325, 106, 120, 433, 506, 185, 107, - 185, 434, 107, 123, 107, 326, 327, 235, 185, 185, - 235, 735, 18, -145, 736, 189, 99, -324, 122, 235, - 328, 329, -342, 279, -146, 330, 331, 215, -100, 122, - 265, 266, 216, 122, 122, 273, 209, 274, 506, 825, - 826, 198, 203, 509, 205, 198, 212, 213, 403, 404, - 405, 517, 214, 531, 461, 750, -471, 573, -544, 210, - 211, 225, 237, 227, 239, 318, 319, 320, 321, 322, - 323, 324, 325, 817, 818, 819, 399, 400, 106, 240, - 207, 107, 401, 402, 326, 327, 241, 516, 479, 480, - 481, 431, 432, 871, 392, 393, 394, 257, 672, 328, - 329, 258, 431, 432, 330, 331, 94, 96, 431, 432, - 595, 673, 527, 528, 98, 101, 475, 476, 674, 888, - 261, 433, 529, 527, 528, 260, 434, 415, 262, 435, - 436, 895, 433, 529, 267, 423, 235, 434, 433, 275, - 435, 436, 831, 434, 477, 478, 435, 436, 369, 318, - 319, 320, 321, 322, 323, 324, 325, 276, 277, -474, - 278, -212, -47, 280, -47, 107, 281, 283, 326, 327, - 284, 215, 287, 285, 303, 286, 216, 288, -47, -47, - 209, -47, -47, 861, 409, 289, -47, 291, 510, 331, - 212, 213, 409, 295, 672, 302, 214, 595, 296, -545, - 526, 106, 315, 210, 211, 466, 314, 673, -47, 345, - 349, 764, -47, 334, 674, 352, 353, 452, 354, 651, - 366, 565, 367, 567, 207, 362, -47, 657, 376, 377, - 381, 384, 389, 390, 396, 421, -44, 391, 595, 413, - 468, 397, 172, 168, 694, 169, 170, 398, 482, 554, - 563, 171, 522, 152, 564, 566, 583, 483, 753, 471, - 49, 152, 460, 47, 51, 60, 577, 61, 579, 62, - 581, 552, 580, 556, 557, 582, 607, 584, 586, 603, - 552, 596, 695, 610, 611, 507, 597, 612, 613, 334, - 649, 615, 572, 614, 616, 620, 700, 701, 702, 423, - 530, 677, -300, 635, 644, 654, 655, 732, 656, 658, - 691, 682, -402, 578, 668, -583, 683, 684, 685, 686, - 624, 687, 689, 172, 168, 690, 169, 170, 692, 693, - 625, 626, 171, 522, 594, 596, 627, 242, 697, 243, - 597, 703, 152, 263, 423, 629, 704, 705, 152, 706, - 707, 708, 709, 244, 245, 714, 246, 247, 712, 713, - 723, 248, 715, 722, 623, 630, 631, 632, 724, 725, - 729, 726, 730, 731, 733, 873, 874, 741, 757, 761, - 746, 765, 747, 249, -420, 778, 660, 250, 594, 783, - 642, 643, 780, 785, 784, 172, 168, 788, 169, 170, - 792, 251, 794, 797, 171, 106, 893, 795, -429, 804, - 622, 128, 129, 811, 152, 132, 133, 134, 135, 813, - 816, 507, 832, 833, 835, 12, 836, 840, 842, 106, - 859, 860, 862, 864, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 10, 11, 671, 12, - 139, 140, 141, 142, 866, 867, 875, 890, 884, 896, - 885, 889, 898, 902, 897, 901, 904, 743, 387, 388, - 184, 779, 100, 97, 548, 718, 605, 865, 472, 474, - 473, 186, 744, 696, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 791, 698, 676, 465, 570, 185, 425, - 604, 596, 868, 870, 775, 887, 597, 754, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 872, 633, 740, - 200, 561, 727, -101, 877, 680, 106, 6, 122, 567, - 458, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 206, 137, 0, 0, 457, 470, 12, 0, 0, 141, - 142, 0, 443, 0, 594, 47, 51, 60, 0, 61, - 0, 62, 0, 0, 0, 0, 0, 92, 0, 0, - 752, 0, 758, 0, 0, 0, 0, 0, 0, 0, - 0, 152, 0, 0, 0, 0, 0, 0, 596, 0, - 0, 0, 0, 597, 776, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 0, 0, 0, 0, 0, 0, - 0, 92, 459, 0, 752, 869, 0, 0, 0, 596, - 0, 0, 0, 0, 597, 0, 47, 51, 60, 0, - 61, 594, 62, 0, 0, 0, 0, 0, 0, 839, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 838, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 594, 0, 0, 0, 0, 0, 172, 168, - 0, 169, 170, 409, 409, 0, 0, 171, 882, 0, - 0, 0, 0, 485, 0, -411, 6, 152, 876, 9, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 10, 11, 409, 12, 0, 0, -411, -411, - 13, 0, 0, 431, 432, 486, 487, -411, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 499, 500, 501, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 0, 0, 0, 0, 485, -213, -411, - 6, -86, 0, 9, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, - 0, 0, -411, -411, 13, 0, 0, 431, 432, 486, - 487, -411, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, + 104, 171, 153, 216, 417, 335, 113, 209, 47, 51, + 60, 152, 61, 49, 62, 512, 238, 212, 213, 596, + 210, 211, 256, 214, 651, 438, 418, 419, 420, 421, + 366, 441, 722, 314, 442, 172, 168, 307, 169, 170, + 106, 653, 736, 825, 171, 123, 310, 507, 91, 452, + 665, 207, 217, 654, 152, 47, 51, 60, 106, 61, + 106, 62, 750, 543, 106, 218, 825, 221, 222, 223, + 224, 826, 827, 596, 737, 226, 552, 8, 791, 229, + 4, 396, 230, 198, 532, 232, -379, 198, 8, 185, + 802, -144, 114, 764, 826, 827, 122, 234, 264, 236, + 548, 265, -145, 225, 122, 227, -379, 122, 824, 661, + 609, 235, 384, 235, -146, 835, 18, -100, 454, 122, + 99, 18, 122, 736, 106, 95, 589, 107, 235, 319, + 320, 321, 322, 323, 324, 325, 326, 432, 433, 185, + 235, -324, 507, 185, 189, 107, 268, 107, 327, 328, + 272, 235, 273, 280, 274, 737, 275, 215, 404, 405, + 406, 119, 216, 510, 266, 267, 209, 434, 185, 332, + 120, 518, 435, -342, 432, 433, 212, 213, 462, 210, + 211, 205, 214, 507, 818, 819, 820, 532, 400, 401, + 751, 402, 403, 574, 203, 319, 320, 321, 322, 323, + 324, 325, 326, 237, 434, 480, 481, 482, -471, 435, + 207, 107, 436, 437, 327, 328, -544, 185, 393, 394, + 395, 239, 872, 240, 432, 433, 517, 826, 827, 329, + 330, 241, 673, 258, 331, 332, 94, 96, 674, 596, + 259, 675, 261, 432, 433, 528, 529, 262, 889, 98, + 101, 476, 477, 263, 434, 530, 478, 479, 416, 435, + 896, 235, 436, 437, 528, 529, 424, 276, 277, 278, + 279, -212, 282, 434, 530, 281, 284, 832, 435, 370, + 285, 436, 437, 286, 287, 106, 288, 289, 350, -47, + 290, -47, -474, 292, 296, 316, 297, 304, -545, 355, + 303, 390, 215, 315, 353, -47, -47, 216, -47, -47, + -47, 209, 346, -47, 354, 410, 367, 368, 862, 511, + 363, 212, 213, 410, 210, 211, 596, 214, 673, 377, + 378, 527, 382, 335, 674, -47, 467, 675, 385, -47, + 391, 392, 397, 765, -44, 469, 414, 398, 453, 399, + 422, 483, 566, -47, 568, 207, 555, 564, 652, 565, + 567, 472, 578, 580, 695, 582, 658, 596, 581, 583, + 585, 587, 604, 172, 168, 608, 169, 170, 611, 612, + 613, 650, 171, 523, 152, 614, 617, 584, 484, 754, + 615, 616, 152, 461, 47, 51, 60, 655, 61, 49, + 62, 621, 553, -300, 557, 558, 636, 645, 656, 335, + 657, 553, 597, 659, -402, 678, 669, 598, -584, 683, + 684, 696, 685, 573, 508, 686, 687, 733, 688, 690, + 424, 691, 692, 693, 698, 701, 702, 703, 694, 531, + 264, 704, 705, 706, 579, 707, 715, 708, 709, 710, + 713, 625, 714, 716, 172, 168, 723, 169, 170, 724, + 725, 626, 627, 171, 523, 595, 597, 628, 242, 726, + 243, 598, 727, 152, 730, 424, 630, 731, 106, 152, + 732, 734, 742, 747, 244, 245, 748, 246, 247, 248, + 661, 758, 249, 762, 766, 624, 631, 632, 633, -420, + 779, 781, 784, 785, 786, 874, 875, 793, 789, 795, + 796, 798, 812, -429, 250, 805, 814, 833, 251, 595, + 817, 643, 644, 834, 836, 837, 172, 168, 841, 169, + 170, 843, 252, 860, 861, 171, 894, 863, 865, 867, + 876, 868, 891, 885, 897, 152, 899, 905, 886, 319, + 320, 321, 322, 323, 324, 325, 326, 890, 903, 898, + 508, 902, 388, 389, 184, 107, 780, 100, 327, 328, + 97, 549, 719, 473, 186, 606, 475, 745, 474, 697, + 677, 699, 792, 329, 330, 426, 571, 672, 331, 332, + 605, 869, 466, 776, 871, 106, 755, 866, 744, 873, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 10, 11, 888, 12, 139, 140, 141, 142, + 458, 200, 634, 878, 562, 444, 728, 471, 681, 0, + 0, 0, 597, 0, 0, 0, 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 0, 0, 0, - 0, 485, -213, -411, 6, -557, 0, 9, -411, -411, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - 10, 11, 0, 12, 0, 0, -411, -411, 13, 0, - 0, 431, 432, 486, 487, -411, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 540, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -411, -411, -411, -411, -411, -411, -411, -411, - -411, 0, 0, 0, 485, 0, -411, 6, 0, -524, + 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 568, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 0, 0, 595, 47, 51, 60, -101, + 61, 0, 62, 0, 122, 0, 0, 0, 92, 0, + 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, + 0, 0, 152, 0, 0, 0, 0, 0, 0, 597, + 0, 0, 106, 6, 598, 777, 459, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 206, 137, 0, 0, + 0, 0, 12, 0, 0, 141, 142, 0, 0, 0, + 0, 0, 92, 0, 0, 753, 870, 0, 0, 0, + 597, 0, 0, 0, 0, 598, 0, 47, 51, 60, + 0, 61, 595, 62, 0, 0, 0, 0, 0, 0, + 840, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 839, 0, 0, 0, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 0, 0, 0, 595, 0, 0, 0, 0, 460, 172, + 168, 0, 169, 170, 410, 410, 0, 0, 171, 883, + 0, 0, 0, 0, 486, 0, -411, 6, 152, 877, 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 10, 11, 0, 12, 0, 0, -411, - -411, 13, 0, 0, 431, 432, 486, 487, -411, 0, - 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -411, -411, -411, 10, 11, 410, 12, 0, 0, -411, + -411, 13, 0, 0, 432, 433, 487, 488, -411, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 500, 501, + 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, - -411, -411, -411, -411, 0, 0, 0, 0, 485, -213, - -411, 6, -68, 0, 9, -411, -411, -411, -411, -411, + -411, -411, -411, -411, 0, 0, 0, 0, 486, -213, + -411, 6, -86, 0, 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, - 12, 0, 0, -411, -411, 13, 0, 0, 431, 432, - 486, 487, -411, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, + 12, 0, 0, -411, -411, 13, 0, 0, 432, 433, + 487, 488, -411, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 500, 501, 502, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, + 0, 22, 23, 623, 128, 129, 0, 0, 132, 133, + 134, 135, 0, 0, 0, 0, 0, 0, 12, -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, - 0, 0, 485, -213, -411, 6, -90, 0, 9, -411, + 0, 0, 486, -213, -411, 6, -557, 0, 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, 0, -411, -411, 13, - 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 6, 7, 8, 9, 0, - 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, + 0, 0, 432, 433, 487, 488, -411, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 541, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 542, 0, 0, 0, + 0, 185, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 14, 15, 16, 17, 0, -213, 0, 0, - -548, 18, 19, 0, 0, 20, 0, 0, 21, 0, - 0, 0, 0, -2, 5, 22, 23, 6, 7, 8, - 9, 0, 24, 25, 734, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, - 0, 13, 0, 0, 0, 0, 26, 0, 0, 0, - -53, 0, 0, 0, 14, 15, 16, 17, 0, 0, - 0, 0, 0, 18, 19, 0, 0, 20, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 22, 23, 521, - 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, - 0, 12, 139, 140, 141, 142, 0, 0, 26, -213, + -411, -411, 0, 0, 0, 486, 0, -411, 6, 0, + -524, 9, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, 10, 11, 0, 12, 0, 0, + -411, -411, 13, 0, 0, 432, 433, 487, 488, -411, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, - 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, - 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 14, - 15, 16, 17, 0, 185, 0, 0, 0, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, - 0, 5, 22, 23, 6, 7, 8, 9, 0, 24, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 11, 0, 12, 0, 0, 5, 0, 13, 6, - 7, 8, 9, 26, -213, 0, 0, 0, 0, 0, - 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, - 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, - 0, 0, 0, 0, 22, 23, 14, 15, 16, 17, - 0, 24, 25, 734, 0, 18, 19, 0, 0, 20, - 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 10, 11, 0, 12, 139, 140, 141, 142, 106, 0, - 26, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 0, 0, 139, - 140, 141, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, + -411, -411, -411, -411, -411, 0, 0, 0, 0, 486, + -213, -411, 6, -68, 0, 9, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, + 0, 12, 0, 0, -411, -411, 13, 0, 0, 432, + 433, 487, 488, -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 0, 0, 0, 0, 0, 185, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 485, 0, -411, 6, - 0, 185, 9, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, - 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, - -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 485, 0, -411, 6, - 0, 0, 9, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, 10, 11, 0, 12, 0, - 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, - -411, 521, 0, 106, 0, 0, 14, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 10, 11, 0, 12, 139, 140, 141, 142, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 106, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, - 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 206, 137, 138, 0, 0, - 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, - 0, 0, 0, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 206, 137, - 138, 0, 0, 0, 0, 0, 0, 141, 142, 0, - 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 206, 0, 0, 0, 0, 0, 0, - 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, + 0, 0, 0, 486, -213, -411, 6, -90, 0, 9, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 10, 11, 0, 12, 0, 0, -411, -411, + 13, 0, 0, 432, 433, 487, 488, -411, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 0, 0, 6, 7, 8, 9, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, + 13, 0, 0, 0, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 14, 15, 16, 17, 0, -213, 0, + 0, -548, 18, 19, 0, 0, 20, 0, 0, 21, + 0, 0, 0, 0, -2, 5, 22, 23, 6, 7, + 8, 9, 0, 24, 25, 735, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, + 0, 0, 13, 0, 0, 0, 0, 26, 0, 0, + 0, -53, 0, 0, 0, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, + 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, + 522, 0, 106, 0, 0, 24, 25, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, + 11, 0, 12, 139, 140, 141, 142, 0, 0, 26, + -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 11, 0, 12, 0, 0, 0, 0, 13, 0, 0, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 14, 15, 16, 17, 0, 185, 0, 0, 0, 18, + 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, + 0, 0, 5, 22, 23, 6, 7, 8, 9, 0, + 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 10, 11, 0, 12, 0, 0, 5, 0, 13, + 6, 7, 8, 9, 26, -213, 0, 0, 0, 0, + 0, 0, 14, 15, 16, 17, 10, 11, 0, 12, + 0, 18, 19, 0, 13, 20, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 22, 23, 14, 15, 16, + 17, 0, 24, 25, 735, 0, 18, 19, 0, 0, + 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 106, 0, 26, 24, 25, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 106, + 0, 26, 0, 0, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 0, 0, 0, 0, + 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107 + 145, 146, 147, 148, 149, 150, 107, 486, 0, -411, + 6, 0, 185, 9, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, + 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, + 488, -411, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 500, 501, 502, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 486, 0, -411, + 6, 0, 0, 9, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, + 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, + 488, -411, 522, 0, 106, 0, 0, 14, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, + -411, -411, -411, -411, -411, -411, -411, 106, 0, 0, + 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, + 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, + 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 206, 137, 138, 0, + 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, + 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, + 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, + 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 206, 0, 0, 0, 0, 0, + 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 354, 2, 26, 83, 2, 2, - 2, 43, 2, 415, 2, 255, 112, 83, 83, 550, - 496, 368, 118, 83, 292, 356, 357, 358, 359, 233, - 83, 83, 412, 663, 368, 86, 86, 3, 86, 86, - 242, 368, 3, 378, 86, 3, 3, 3, 428, 1, - 3, 83, 84, 3, 86, 49, 49, 49, 19, 49, - 679, 49, 3, 679, 711, 85, 6, 87, 88, 89, - 90, 1, 770, 96, 550, 95, 76, 29, 30, 99, - 427, 96, 102, 97, 782, 105, 8, 0, 102, 11, - 90, 331, 76, 116, 429, 742, 31, 32, 3, 29, - 30, 116, 800, 307, 6, 101, 90, 103, 510, 807, - 50, 491, 380, 100, 54, 97, 74, 75, 76, 77, - 78, 79, 80, 81, 3, 97, 61, 507, 96, 90, - 96, 66, 90, 36, 90, 93, 94, 90, 96, 96, - 90, 760, 50, 97, 760, 22, 54, 99, 102, 90, - 108, 109, 97, 185, 97, 113, 114, 242, 97, 102, - 8, 9, 242, 102, 102, 101, 242, 103, 548, 29, - 30, 74, 98, 413, 97, 78, 242, 242, 110, 111, - 112, 421, 242, 530, 386, 716, 97, 455, 97, 242, - 242, 94, 3, 96, 98, 74, 75, 76, 77, 78, - 79, 80, 81, 36, 37, 38, 91, 92, 3, 98, - 242, 90, 108, 109, 93, 94, 97, 421, 403, 404, - 405, 31, 32, 853, 328, 329, 330, 97, 575, 108, - 109, 49, 31, 32, 113, 114, 15, 16, 31, 32, - 716, 575, 52, 53, 16, 17, 399, 400, 575, 879, - 97, 61, 62, 52, 53, 98, 66, 353, 98, 69, - 70, 891, 61, 62, 100, 361, 90, 66, 61, 100, - 69, 70, 803, 66, 401, 402, 69, 70, 298, 74, - 75, 76, 77, 78, 79, 80, 81, 100, 97, 99, - 97, 96, 4, 97, 6, 90, 98, 97, 93, 94, - 97, 386, 98, 97, 102, 97, 386, 97, 20, 21, - 386, 23, 24, 844, 346, 98, 28, 97, 414, 114, - 386, 386, 354, 97, 671, 98, 386, 803, 97, 97, - 426, 3, 3, 386, 386, 386, 100, 671, 50, 101, - 8, 743, 54, 583, 671, 100, 100, 379, 48, 553, - 98, 447, 98, 449, 386, 114, 68, 561, 98, 98, - 102, 98, 3, 101, 105, 114, 99, 103, 844, 103, - 101, 106, 423, 423, 614, 423, 423, 107, 103, 59, - 99, 423, 423, 415, 104, 103, 482, 407, 719, 115, - 387, 423, 386, 387, 387, 387, 97, 387, 97, 387, - 3, 433, 99, 435, 436, 98, 101, 103, 99, 99, - 442, 496, 616, 101, 101, 412, 496, 101, 101, 659, - 32, 115, 454, 104, 103, 99, 630, 631, 632, 525, - 427, 30, 99, 99, 99, 97, 97, 677, 97, 97, - 3, 97, 99, 463, 99, 99, 97, 97, 97, 97, - 526, 97, 97, 504, 504, 97, 504, 504, 97, 103, - 526, 526, 504, 504, 496, 550, 526, 4, 97, 6, - 550, 97, 504, 8, 570, 526, 97, 97, 510, 97, - 97, 97, 97, 20, 21, 99, 23, 24, 97, 97, - 103, 28, 99, 99, 526, 527, 528, 529, 99, 67, - 97, 99, 97, 97, 97, 855, 856, 3, 97, 97, - 115, 97, 114, 50, 36, 99, 116, 54, 550, 98, - 540, 541, 114, 36, 115, 576, 576, 39, 576, 576, - 56, 68, 103, 100, 576, 3, 886, 117, 115, 115, - 8, 9, 10, 60, 576, 13, 14, 15, 16, 3, - 115, 548, 103, 114, 114, 23, 63, 101, 115, 3, - 103, 103, 40, 97, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 575, 23, - 24, 25, 26, 27, 102, 99, 114, 102, 115, 97, - 115, 114, 76, 103, 115, 115, 76, 693, 312, 312, - 49, 760, 17, 16, 430, 659, 507, 847, 396, 398, - 397, 50, 696, 616, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 771, 619, 576, 386, 450, 96, 361, - 504, 716, 850, 852, 755, 878, 716, 720, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 854, 530, 681, - 78, 442, 671, 97, 859, 583, 3, 4, 102, 755, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, -1, -1, 385, 391, 23, -1, -1, 26, - 27, -1, 368, -1, 716, 679, 679, 679, -1, 679, - -1, 679, -1, -1, -1, -1, -1, 717, -1, -1, - 717, -1, 734, -1, -1, -1, -1, -1, -1, -1, - -1, 743, -1, -1, -1, -1, -1, -1, 803, -1, - -1, -1, -1, 803, 756, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, -1, -1, -1, -1, -1, -1, - -1, 771, 99, -1, 771, 851, -1, -1, -1, 844, - -1, -1, -1, -1, 844, -1, 760, 760, 760, -1, - 760, 803, 760, -1, -1, -1, -1, -1, -1, 811, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 810, -1, -1, 810, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 844, -1, -1, -1, -1, -1, 869, 869, - -1, 869, 869, 855, 856, -1, -1, 869, 869, -1, - -1, -1, -1, 1, -1, 3, 4, 869, 858, 7, + 20, 43, 43, 83, 355, 256, 26, 83, 2, 2, + 2, 43, 2, 2, 2, 416, 112, 83, 83, 497, + 83, 83, 118, 83, 551, 369, 357, 358, 359, 360, + 293, 369, 664, 242, 369, 86, 86, 233, 86, 86, + 3, 3, 680, 1, 86, 36, 3, 413, 3, 379, + 3, 83, 84, 3, 86, 49, 49, 49, 3, 49, + 3, 49, 712, 429, 3, 85, 1, 87, 88, 89, + 90, 29, 30, 551, 680, 95, 19, 6, 771, 99, + 0, 332, 102, 74, 428, 105, 96, 78, 6, 96, + 783, 97, 100, 743, 29, 30, 102, 76, 8, 76, + 430, 11, 97, 94, 102, 96, 116, 102, 801, 116, + 511, 90, 308, 90, 97, 808, 50, 97, 381, 102, + 54, 50, 102, 761, 3, 54, 492, 90, 90, 74, + 75, 76, 77, 78, 79, 80, 81, 31, 32, 96, + 90, 99, 508, 96, 22, 90, 100, 90, 93, 94, + 101, 90, 103, 185, 101, 761, 103, 242, 110, 111, + 112, 97, 242, 414, 8, 9, 242, 61, 96, 114, + 97, 422, 66, 97, 31, 32, 242, 242, 387, 242, + 242, 97, 242, 549, 36, 37, 38, 531, 91, 92, + 717, 108, 109, 456, 98, 74, 75, 76, 77, 78, + 79, 80, 81, 3, 61, 404, 405, 406, 97, 66, + 242, 90, 69, 70, 93, 94, 97, 96, 329, 330, + 331, 98, 854, 98, 31, 32, 422, 29, 30, 108, + 109, 97, 576, 97, 113, 114, 15, 16, 576, 717, + 49, 576, 98, 31, 32, 52, 53, 97, 880, 16, + 17, 400, 401, 98, 61, 62, 402, 403, 354, 66, + 892, 90, 69, 70, 52, 53, 362, 100, 100, 97, + 97, 96, 98, 61, 62, 97, 97, 804, 66, 299, + 97, 69, 70, 97, 97, 3, 98, 97, 8, 4, + 98, 6, 99, 97, 97, 3, 97, 102, 97, 48, + 98, 3, 387, 100, 100, 20, 21, 387, 23, 24, + 25, 387, 101, 28, 100, 347, 98, 98, 845, 415, + 114, 387, 387, 355, 387, 387, 804, 387, 672, 98, + 98, 427, 102, 584, 672, 50, 387, 672, 98, 54, + 101, 103, 105, 744, 99, 101, 103, 106, 380, 107, + 114, 103, 448, 68, 450, 387, 59, 99, 554, 104, + 103, 115, 97, 97, 615, 3, 562, 845, 99, 98, + 103, 99, 99, 424, 424, 101, 424, 424, 101, 101, + 101, 32, 424, 424, 416, 101, 103, 483, 408, 720, + 104, 115, 424, 387, 388, 388, 388, 97, 388, 388, + 388, 99, 434, 99, 436, 437, 99, 99, 97, 660, + 97, 443, 497, 97, 99, 30, 99, 497, 99, 97, + 97, 617, 97, 455, 413, 97, 97, 678, 97, 97, + 526, 97, 3, 97, 97, 631, 632, 633, 103, 428, + 8, 97, 97, 97, 464, 97, 99, 97, 97, 97, + 97, 527, 97, 99, 505, 505, 99, 505, 505, 103, + 99, 527, 527, 505, 505, 497, 551, 527, 4, 67, + 6, 551, 99, 505, 97, 571, 527, 97, 3, 511, + 97, 97, 3, 115, 20, 21, 114, 23, 24, 25, + 116, 97, 28, 97, 97, 527, 528, 529, 530, 36, + 99, 114, 98, 115, 36, 856, 857, 56, 39, 103, + 117, 100, 60, 115, 50, 115, 3, 103, 54, 551, + 115, 541, 542, 114, 114, 63, 577, 577, 101, 577, + 577, 115, 68, 103, 103, 577, 887, 40, 97, 102, + 114, 99, 102, 115, 97, 577, 76, 76, 115, 74, + 75, 76, 77, 78, 79, 80, 81, 114, 103, 115, + 549, 115, 313, 313, 49, 90, 761, 17, 93, 94, + 16, 431, 660, 397, 50, 508, 399, 697, 398, 617, + 577, 620, 772, 108, 109, 362, 451, 576, 113, 114, + 505, 851, 387, 756, 853, 3, 721, 848, 694, 855, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 886, 23, -1, -1, 26, 27, - 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + 18, 19, 20, 21, 879, 23, 24, 25, 26, 27, + 386, 78, 531, 860, 443, 369, 672, 392, 584, -1, + -1, -1, 717, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 682, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, - 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, - -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, - -1, 41, -1, -1, -1, 45, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, 1, -1, 3, 4, -1, 99, + 88, 89, 90, -1, -1, 717, 680, 680, 680, 97, + 680, -1, 680, -1, 102, -1, -1, -1, 718, -1, + -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, + -1, -1, 744, -1, -1, -1, -1, -1, -1, 804, + -1, -1, 3, 4, 804, 757, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, -1, -1, + -1, -1, 23, -1, -1, 26, 27, -1, -1, -1, + -1, -1, 772, -1, -1, 772, 852, -1, -1, -1, + 845, -1, -1, -1, -1, 845, -1, 761, 761, 761, + -1, 761, 804, 761, -1, -1, -1, -1, -1, -1, + 812, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 811, -1, -1, 811, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + -1, -1, -1, 845, -1, -1, -1, -1, 99, 870, + 870, -1, 870, 870, 856, 857, -1, -1, 870, 870, + -1, -1, -1, -1, 1, -1, 3, 4, 870, 859, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, + 17, 18, 19, 20, 21, 887, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, - -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, -1, -1, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, @@ -1957,100 +1927,128 @@ static const yytype_int16 yycheck[] = 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, + -1, 64, 65, 8, 9, 10, -1, -1, 13, 14, + 15, 16, -1, -1, -1, -1, -1, -1, 23, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, 4, 5, 6, 7, -1, - -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, - -1, 20, 21, -1, 23, -1, -1, -1, -1, 28, + -1, -1, 41, -1, -1, -1, 45, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 55, -1, -1, -1, + -1, 96, -1, -1, -1, 64, 65, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 41, 42, 43, 44, -1, 96, -1, -1, - 99, 50, 51, -1, -1, 54, -1, -1, 57, -1, - -1, -1, -1, 0, 1, 64, 65, 4, 5, 6, - 7, -1, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, - -1, 28, -1, -1, -1, -1, 95, -1, -1, -1, - 99, -1, -1, -1, 41, 42, 43, 44, -1, -1, - -1, -1, -1, 50, 51, -1, -1, 54, -1, -1, - 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, - -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, + 89, 90, -1, -1, -1, 1, -1, 3, 4, -1, + 99, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, + 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, + -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, + 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, 24, 25, 26, 27, -1, -1, 95, 96, + -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, - -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 41, - 42, 43, 44, -1, 96, -1, -1, -1, 50, 51, - -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, - -1, 1, 64, 65, 4, 5, 6, 7, -1, 71, - 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 20, 21, -1, 23, -1, -1, 1, -1, 28, 4, - 5, 6, 7, 95, 96, -1, -1, -1, -1, -1, - -1, 41, 42, 43, 44, 20, 21, -1, 23, -1, - 50, 51, -1, 28, 54, -1, -1, 57, -1, -1, - -1, -1, -1, -1, 64, 65, 41, 42, 43, 44, - -1, 71, 72, 73, -1, 50, 51, -1, -1, 54, - -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, 24, 25, 26, 27, 3, -1, - 95, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, -1, -1, -1, -1, 24, - 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, -1, -1, 96, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, - -1, 96, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, -1, -1, -1, -1, -1, 41, -1, -1, -1, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 1, -1, 3, 4, - -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, - -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, - 35, 1, -1, 3, -1, -1, 41, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, -1, 23, 24, 25, 26, 27, -1, 64, - 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, - 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, - -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, - -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, -1, -1, 4, 5, 6, 7, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, + 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 41, 42, 43, 44, -1, 96, -1, + -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, + -1, -1, -1, -1, 0, 1, 64, 65, 4, 5, + 6, 7, -1, 71, 72, 73, -1, -1, -1, -1, + -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, + -1, -1, 28, -1, -1, -1, -1, 95, -1, -1, + -1, 99, -1, -1, -1, 41, 42, 43, 44, -1, + -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, + -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, + 1, -1, 3, -1, -1, 71, 72, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, 24, 25, 26, 27, -1, -1, 95, + 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, + 21, -1, 23, -1, -1, -1, -1, 28, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 41, 42, 43, 44, -1, 96, -1, -1, -1, 50, + 51, -1, -1, 54, -1, -1, 57, -1, -1, -1, + -1, -1, 1, 64, 65, 4, 5, 6, 7, -1, + 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 20, 21, -1, 23, -1, -1, 1, -1, 28, + 4, 5, 6, 7, 95, 96, -1, -1, -1, -1, + -1, -1, 41, 42, 43, 44, 20, 21, -1, 23, + -1, 50, 51, -1, 28, 54, -1, -1, 57, -1, + -1, -1, -1, -1, -1, 64, 65, 41, 42, 43, + 44, -1, 71, 72, 73, -1, 50, 51, -1, -1, + 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, -1, -1, -1, 26, 27, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, - -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, - -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, + 19, 20, 21, -1, 23, 24, 25, 26, 27, 3, + -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, + 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, + 89, 90, -1, -1, -1, -1, -1, 96, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, + 4, -1, 96, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, + 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90 + 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, + -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, + 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, + -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, + -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, + -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2081,73 +2079,73 @@ static const yytype_int16 yystos[] = 271, 272, 273, 274, 275, 339, 343, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, 212, 425, 212, 209, 76, 90, 76, 3, 241, 98, - 98, 97, 4, 6, 20, 21, 23, 24, 28, 50, - 54, 68, 489, 490, 492, 241, 506, 97, 49, 185, - 98, 97, 98, 8, 11, 8, 9, 100, 336, 330, - 182, 101, 103, 101, 103, 100, 100, 97, 97, 208, - 97, 98, 294, 97, 97, 97, 97, 98, 97, 98, - 458, 97, 483, 476, 485, 97, 97, 514, 216, 252, - 319, 367, 98, 102, 427, 450, 211, 210, 498, 3, - 242, 233, 143, 219, 100, 3, 148, 491, 74, 75, - 76, 77, 78, 79, 80, 81, 93, 94, 108, 109, - 113, 114, 208, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 508, 101, 170, 164, 175, 8, - 221, 231, 100, 100, 48, 186, 327, 333, 340, 344, - 243, 282, 114, 422, 459, 186, 98, 98, 516, 212, - 212, 259, 262, 266, 267, 347, 98, 98, 179, 428, - 426, 102, 455, 211, 98, 512, 234, 120, 121, 3, - 101, 103, 229, 229, 229, 221, 105, 106, 107, 91, - 92, 108, 109, 110, 111, 112, 507, 160, 205, 208, - 194, 195, 189, 103, 337, 241, 205, 231, 231, 231, - 231, 114, 244, 241, 284, 286, 295, 429, 461, 477, - 486, 31, 32, 61, 66, 69, 70, 354, 355, 360, - 438, 440, 441, 505, 515, 517, 217, 348, 260, 320, - 368, 194, 208, 186, 456, 451, 499, 427, 7, 99, - 214, 219, 235, 237, 238, 276, 317, 144, 101, 149, - 492, 115, 223, 224, 225, 226, 226, 227, 227, 228, - 228, 228, 103, 212, 206, 1, 33, 34, 165, 196, - 214, 240, 249, 354, 365, 370, 375, 416, 417, 45, - 46, 47, 176, 190, 192, 193, 196, 240, 377, 221, - 241, 254, 328, 334, 341, 345, 211, 221, 245, 246, - 248, 1, 253, 287, 283, 285, 241, 52, 53, 62, - 240, 354, 423, 430, 438, 440, 443, 444, 445, 505, - 45, 55, 196, 460, 462, 465, 468, 194, 189, 356, - 361, 19, 208, 439, 59, 442, 208, 208, 520, 518, - 519, 439, 521, 99, 104, 241, 103, 241, 322, 325, - 285, 180, 208, 186, 501, 502, 236, 97, 212, 97, - 99, 3, 98, 241, 103, 204, 99, 200, 196, 197, - 202, 201, 203, 35, 208, 255, 339, 343, 376, 399, - 198, 199, 378, 99, 287, 190, 191, 101, 254, 331, - 101, 101, 101, 101, 104, 115, 103, 247, 290, 288, - 99, 286, 8, 208, 268, 273, 274, 275, 300, 317, - 208, 208, 208, 430, 436, 99, 431, 432, 433, 434, - 435, 437, 212, 212, 99, 463, 464, 478, 487, 32, - 399, 211, 3, 3, 97, 97, 97, 211, 97, 218, - 116, 349, 351, 261, 3, 321, 323, 369, 99, 452, - 500, 240, 354, 438, 440, 503, 251, 30, 239, 150, - 508, 207, 97, 97, 97, 97, 97, 97, 371, 97, - 97, 3, 97, 103, 221, 211, 248, 97, 259, 296, - 211, 211, 211, 97, 97, 97, 97, 97, 97, 97, - 466, 469, 97, 97, 99, 99, 357, 362, 220, 352, - 350, 262, 99, 103, 99, 67, 99, 503, 504, 97, - 97, 97, 221, 97, 73, 123, 139, 152, 154, 155, - 208, 3, 379, 241, 247, 289, 115, 114, 381, 381, - 399, 263, 266, 231, 351, 324, 453, 97, 208, 151, - 153, 97, 372, 381, 254, 97, 297, 382, 383, 467, - 470, 358, 363, 264, 353, 325, 208, 156, 99, 154, - 114, 390, 380, 98, 115, 36, 384, 387, 39, 401, - 401, 263, 56, 404, 103, 117, 454, 100, 391, 392, - 373, 401, 298, 388, 115, 385, 402, 359, 405, 364, - 265, 60, 457, 3, 493, 495, 115, 36, 37, 38, - 393, 396, 400, 401, 1, 29, 30, 301, 303, 307, - 309, 399, 103, 114, 401, 114, 63, 407, 266, 208, - 101, 494, 115, 394, 397, 374, 306, 311, 310, 299, - 302, 304, 308, 389, 386, 403, 406, 408, 157, 103, - 103, 399, 40, 410, 97, 221, 102, 99, 303, 241, - 309, 262, 387, 205, 205, 114, 212, 495, 395, 398, - 411, 312, 253, 313, 115, 115, 409, 396, 262, 114, - 102, 314, 305, 205, 412, 262, 97, 115, 76, 413, - 414, 115, 103, 415, 76 + 98, 97, 4, 6, 20, 21, 23, 24, 25, 28, + 50, 54, 68, 489, 490, 492, 241, 506, 97, 49, + 185, 98, 97, 98, 8, 11, 8, 9, 100, 336, + 330, 182, 101, 103, 101, 103, 100, 100, 97, 97, + 208, 97, 98, 294, 97, 97, 97, 97, 98, 97, + 98, 458, 97, 483, 476, 485, 97, 97, 514, 216, + 252, 319, 367, 98, 102, 427, 450, 211, 210, 498, + 3, 242, 233, 143, 219, 100, 3, 148, 491, 74, + 75, 76, 77, 78, 79, 80, 81, 93, 94, 108, + 109, 113, 114, 208, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 508, 101, 170, 164, 175, + 8, 221, 231, 100, 100, 48, 186, 327, 333, 340, + 344, 243, 282, 114, 422, 459, 186, 98, 98, 516, + 212, 212, 259, 262, 266, 267, 347, 98, 98, 179, + 428, 426, 102, 455, 211, 98, 512, 234, 120, 121, + 3, 101, 103, 229, 229, 229, 221, 105, 106, 107, + 91, 92, 108, 109, 110, 111, 112, 507, 160, 205, + 208, 194, 195, 189, 103, 337, 241, 205, 231, 231, + 231, 231, 114, 244, 241, 284, 286, 295, 429, 461, + 477, 486, 31, 32, 61, 66, 69, 70, 354, 355, + 360, 438, 440, 441, 505, 515, 517, 217, 348, 260, + 320, 368, 194, 208, 186, 456, 451, 499, 427, 7, + 99, 214, 219, 235, 237, 238, 276, 317, 144, 101, + 149, 492, 115, 223, 224, 225, 226, 226, 227, 227, + 228, 228, 228, 103, 212, 206, 1, 33, 34, 165, + 196, 214, 240, 249, 354, 365, 370, 375, 416, 417, + 45, 46, 47, 176, 190, 192, 193, 196, 240, 377, + 221, 241, 254, 328, 334, 341, 345, 211, 221, 245, + 246, 248, 1, 253, 287, 283, 285, 241, 52, 53, + 62, 240, 354, 423, 430, 438, 440, 443, 444, 445, + 505, 45, 55, 196, 460, 462, 465, 468, 194, 189, + 356, 361, 19, 208, 439, 59, 442, 208, 208, 520, + 518, 519, 439, 521, 99, 104, 241, 103, 241, 322, + 325, 285, 180, 208, 186, 501, 502, 236, 97, 212, + 97, 99, 3, 98, 241, 103, 204, 99, 200, 196, + 197, 202, 201, 203, 35, 208, 255, 339, 343, 376, + 399, 198, 199, 378, 99, 287, 190, 191, 101, 254, + 331, 101, 101, 101, 101, 104, 115, 103, 247, 290, + 288, 99, 286, 8, 208, 268, 273, 274, 275, 300, + 317, 208, 208, 208, 430, 436, 99, 431, 432, 433, + 434, 435, 437, 212, 212, 99, 463, 464, 478, 487, + 32, 399, 211, 3, 3, 97, 97, 97, 211, 97, + 218, 116, 349, 351, 261, 3, 321, 323, 369, 99, + 452, 500, 240, 354, 438, 440, 503, 251, 30, 239, + 150, 508, 207, 97, 97, 97, 97, 97, 97, 371, + 97, 97, 3, 97, 103, 221, 211, 248, 97, 259, + 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, + 97, 466, 469, 97, 97, 99, 99, 357, 362, 220, + 352, 350, 262, 99, 103, 99, 67, 99, 503, 504, + 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, + 155, 208, 3, 379, 241, 247, 289, 115, 114, 381, + 381, 399, 263, 266, 231, 351, 324, 453, 97, 208, + 151, 153, 97, 372, 381, 254, 97, 297, 382, 383, + 467, 470, 358, 363, 264, 353, 325, 208, 156, 99, + 154, 114, 390, 380, 98, 115, 36, 384, 387, 39, + 401, 401, 263, 56, 404, 103, 117, 454, 100, 391, + 392, 373, 401, 298, 388, 115, 385, 402, 359, 405, + 364, 265, 60, 457, 3, 493, 495, 115, 36, 37, + 38, 393, 396, 400, 401, 1, 29, 30, 301, 303, + 307, 309, 399, 103, 114, 401, 114, 63, 407, 266, + 208, 101, 494, 115, 394, 397, 374, 306, 311, 310, + 299, 302, 304, 308, 389, 386, 403, 406, 408, 157, + 103, 103, 399, 40, 410, 97, 221, 102, 99, 303, + 241, 309, 262, 387, 205, 205, 114, 212, 495, 395, + 398, 411, 312, 253, 313, 115, 115, 409, 396, 262, + 114, 102, 314, 305, 205, 412, 262, 97, 115, 76, + 413, 414, 115, 103, 415, 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2210,11 +2208,11 @@ static const yytype_int16 yyr1[] = 471, 471, 472, 472, 473, 474, 476, 477, 478, 475, 479, 480, 481, 483, 482, 485, 486, 487, 484, 488, 488, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 489, 490, 491, 491, 492, 492, 493, 494, 494, 495, - 497, 498, 499, 500, 496, 501, 501, 502, 502, 503, - 503, 504, 503, 505, 505, 506, 507, 507, 508, 509, - 511, 512, 510, 514, 515, 513, 516, 516, 518, 517, - 519, 517, 520, 517, 521, 517 + 489, 489, 490, 491, 491, 492, 492, 493, 494, 494, + 495, 497, 498, 499, 500, 496, 501, 501, 502, 502, + 503, 503, 504, 503, 505, 505, 506, 507, 507, 508, + 509, 511, 512, 510, 514, 515, 513, 516, 516, 518, + 517, 519, 517, 520, 517, 521, 517 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2277,11 +2275,11 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 3, 0, 0, 0, 8, 3, 3, 2, 0, 3, 0, 0, 0, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 3, 0, 2, 5, 2, 3, 0, 1, - 0, 0, 0, 0, 9, 3, 2, 1, 0, 2, - 2, 0, 3, 3, 3, 3, 4, 0, 1, 2, - 0, 0, 6, 0, 0, 5, 2, 0, 0, 3, - 0, 3, 0, 3, 0, 3 + 1, 2, 2, 3, 0, 2, 5, 2, 3, 0, + 1, 0, 0, 0, 0, 9, 3, 2, 1, 0, + 2, 2, 0, 3, 3, 3, 3, 4, 0, 1, + 2, 0, 0, 6, 0, 0, 5, 2, 0, 0, + 3, 0, 3, 0, 3, 0, 3 }; @@ -2745,7 +2743,7 @@ yyparse (void) switch (yyn) { case 5: /* at_least_one_definition: definitions at_least_one_annotation definition */ -#line 434 "fe/idl.ypp" +#line 432 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -2760,269 +2758,269 @@ yyparse (void) } delete annotations; } -#line 2764 "fe/idl.tab.cpp" +#line 2762 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ -#line 459 "fe/idl.ypp" +#line 457 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2772 "fe/idl.tab.cpp" +#line 2770 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ -#line 463 "fe/idl.ypp" +#line 461 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2780 "fe/idl.tab.cpp" +#line 2778 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ -#line 467 "fe/idl.ypp" +#line 465 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2788 "fe/idl.tab.cpp" +#line 2786 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ -#line 471 "fe/idl.ypp" +#line 469 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2796 "fe/idl.tab.cpp" +#line 2794 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ -#line 475 "fe/idl.ypp" +#line 473 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2804 "fe/idl.tab.cpp" +#line 2802 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ -#line 479 "fe/idl.ypp" +#line 477 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2812 "fe/idl.tab.cpp" +#line 2810 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ -#line 483 "fe/idl.ypp" +#line 481 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2820 "fe/idl.tab.cpp" +#line 2818 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ -#line 487 "fe/idl.ypp" +#line 485 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2828 "fe/idl.tab.cpp" +#line 2826 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ -#line 491 "fe/idl.ypp" +#line 489 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2836 "fe/idl.tab.cpp" +#line 2834 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ -#line 495 "fe/idl.ypp" +#line 493 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2844 "fe/idl.tab.cpp" +#line 2842 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ -#line 499 "fe/idl.ypp" +#line 497 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2852 "fe/idl.tab.cpp" +#line 2850 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ -#line 503 "fe/idl.ypp" +#line 501 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2860 "fe/idl.tab.cpp" +#line 2858 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ -#line 507 "fe/idl.ypp" +#line 505 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2868 "fe/idl.tab.cpp" +#line 2866 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ -#line 511 "fe/idl.ypp" +#line 509 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2876 "fe/idl.tab.cpp" +#line 2874 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ -#line 515 "fe/idl.ypp" +#line 513 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2884 "fe/idl.tab.cpp" +#line 2882 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ -#line 519 "fe/idl.ypp" +#line 517 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2892 "fe/idl.tab.cpp" +#line 2890 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ -#line 523 "fe/idl.ypp" +#line 521 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2900 "fe/idl.tab.cpp" +#line 2898 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ -#line 527 "fe/idl.ypp" +#line 525 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2908 "fe/idl.tab.cpp" +#line 2906 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ -#line 531 "fe/idl.ypp" +#line 529 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2916 "fe/idl.tab.cpp" +#line 2914 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ -#line 535 "fe/idl.ypp" +#line 533 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2924 "fe/idl.tab.cpp" +#line 2922 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ -#line 539 "fe/idl.ypp" +#line 537 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2932 "fe/idl.tab.cpp" +#line 2930 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ -#line 543 "fe/idl.ypp" +#line 541 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2940 "fe/idl.tab.cpp" +#line 2938 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ -#line 547 "fe/idl.ypp" +#line 545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2948 "fe/idl.tab.cpp" +#line 2946 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ -#line 551 "fe/idl.ypp" +#line 549 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2956 "fe/idl.tab.cpp" +#line 2954 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ -#line 555 "fe/idl.ypp" +#line 553 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2964 "fe/idl.tab.cpp" +#line 2962 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ -#line 559 "fe/idl.ypp" +#line 557 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2972 "fe/idl.tab.cpp" +#line 2970 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ -#line 563 "fe/idl.ypp" +#line 561 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2980 "fe/idl.tab.cpp" +#line 2978 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ -#line 567 "fe/idl.ypp" +#line 565 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2988 "fe/idl.tab.cpp" +#line 2986 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ -#line 571 "fe/idl.ypp" +#line 569 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2996 "fe/idl.tab.cpp" +#line 2994 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ -#line 575 "fe/idl.ypp" +#line 573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 3006 "fe/idl.tab.cpp" +#line 3004 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ -#line 584 "fe/idl.ypp" +#line 582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3014 "fe/idl.tab.cpp" +#line 3012 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ -#line 588 "fe/idl.ypp" +#line 586 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3022 "fe/idl.tab.cpp" +#line 3020 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ -#line 595 "fe/idl.ypp" +#line 593 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -3061,27 +3059,27 @@ yyparse (void) (yyval.dcval) = m; } -#line 3065 "fe/idl.tab.cpp" +#line 3063 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ -#line 634 "fe/idl.ypp" +#line 632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3073 "fe/idl.tab.cpp" +#line 3071 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ -#line 638 "fe/idl.ypp" +#line 636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3081 "fe/idl.tab.cpp" +#line 3079 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ -#line 642 "fe/idl.ypp" +#line 640 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); /* @@ -3091,19 +3089,19 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3095 "fe/idl.tab.cpp" +#line 3093 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ -#line 655 "fe/idl.ypp" +#line 653 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3103 "fe/idl.tab.cpp" +#line 3101 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ -#line 662 "fe/idl.ypp" +#line 660 "fe/idl.ypp" { // The module_header rule is common to template module, fixed // module and instantiated template module. In the last @@ -3117,11 +3115,11 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3121 "fe/idl.tab.cpp" +#line 3119 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ -#line 676 "fe/idl.ypp" +#line 674 "fe/idl.ypp" { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -3131,11 +3129,11 @@ yyparse (void) return 1; } } -#line 3135 "fe/idl.tab.cpp" +#line 3133 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ -#line 686 "fe/idl.ypp" +#line 684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -3165,27 +3163,27 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3169 "fe/idl.tab.cpp" +#line 3167 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ -#line 716 "fe/idl.ypp" +#line 714 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3177 "fe/idl.tab.cpp" +#line 3175 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ -#line 720 "fe/idl.ypp" +#line 718 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3185 "fe/idl.tab.cpp" +#line 3183 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ -#line 724 "fe/idl.ypp" +#line 722 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -3204,29 +3202,29 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3208 "fe/idl.tab.cpp" +#line 3206 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ -#line 760 "fe/idl.ypp" +#line 758 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3217 "fe/idl.tab.cpp" +#line 3215 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ -#line 765 "fe/idl.ypp" +#line 763 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3226 "fe/idl.tab.cpp" +#line 3224 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ -#line 770 "fe/idl.ypp" +#line 768 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -3304,29 +3302,29 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3308 "fe/idl.tab.cpp" +#line 3306 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ -#line 851 "fe/idl.ypp" +#line 849 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3317 "fe/idl.tab.cpp" +#line 3315 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ -#line 856 "fe/idl.ypp" +#line 854 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3326 "fe/idl.tab.cpp" +#line 3324 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ -#line 861 "fe/idl.ypp" +#line 859 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -3390,11 +3388,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3394 "fe/idl.tab.cpp" +#line 3392 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ -#line 933 "fe/idl.ypp" +#line 931 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Interface *i = 0; @@ -3432,27 +3430,27 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3436 "fe/idl.tab.cpp" +#line 3434 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ -#line 971 "fe/idl.ypp" +#line 969 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3444 "fe/idl.tab.cpp" +#line 3442 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ -#line 975 "fe/idl.ypp" +#line 973 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3452 "fe/idl.tab.cpp" +#line 3450 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ -#line 979 "fe/idl.ypp" +#line 977 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -3462,28 +3460,28 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3466 "fe/idl.tab.cpp" +#line 3464 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ -#line 992 "fe/idl.ypp" +#line 990 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3474 "fe/idl.tab.cpp" +#line 3472 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ -#line 996 "fe/idl.ypp" +#line 994 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3483 "fe/idl.tab.cpp" +#line 3481 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ -#line 1004 "fe/idl.ypp" +#line 1002 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3519,11 +3517,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3523 "fe/idl.tab.cpp" +#line 3521 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ -#line 1041 "fe/idl.ypp" +#line 1039 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3552,11 +3550,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3556 "fe/idl.tab.cpp" +#line 3554 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ -#line 1071 "fe/idl.ypp" +#line 1069 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3585,45 +3583,45 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3589 "fe/idl.tab.cpp" +#line 3587 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ -#line 1103 "fe/idl.ypp" +#line 1101 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3597 "fe/idl.tab.cpp" +#line 3595 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ -#line 1107 "fe/idl.ypp" +#line 1105 "fe/idl.ypp" { (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3606 "fe/idl.tab.cpp" +#line 3604 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ -#line 1112 "fe/idl.ypp" +#line 1110 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3614 "fe/idl.tab.cpp" +#line 3612 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ -#line 1126 "fe/idl.ypp" +#line 1124 "fe/idl.ypp" { idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3623 "fe/idl.tab.cpp" +#line 3621 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ -#line 1135 "fe/idl.ypp" +#line 1133 "fe/idl.ypp" { FE_OBVHeader *&valuetype_header = (yyvsp[0].vhval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -3670,27 +3668,27 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3674 "fe/idl.tab.cpp" +#line 3672 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ -#line 1182 "fe/idl.ypp" +#line 1180 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3682 "fe/idl.tab.cpp" +#line 3680 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ -#line 1186 "fe/idl.ypp" +#line 1184 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3690 "fe/idl.tab.cpp" +#line 3688 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ -#line 1190 "fe/idl.ypp" +#line 1188 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3711,11 +3709,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3715 "fe/idl.tab.cpp" +#line 3713 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ -#line 1215 "fe/idl.ypp" +#line 1213 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_ValueType *v = 0; @@ -3758,27 +3756,27 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3762 "fe/idl.tab.cpp" +#line 3760 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ -#line 1258 "fe/idl.ypp" +#line 1256 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3770 "fe/idl.tab.cpp" +#line 3768 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ -#line 1262 "fe/idl.ypp" +#line 1260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3778 "fe/idl.tab.cpp" +#line 3776 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ -#line 1266 "fe/idl.ypp" +#line 1264 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3789,19 +3787,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3793 "fe/idl.tab.cpp" +#line 3791 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ -#line 1281 "fe/idl.ypp" +#line 1279 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3801 "fe/idl.tab.cpp" +#line 3799 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ -#line 1285 "fe/idl.ypp" +#line 1283 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3832,60 +3830,60 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3836 "fe/idl.tab.cpp" +#line 3834 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ -#line 1319 "fe/idl.ypp" +#line 1317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3844 "fe/idl.tab.cpp" +#line 3842 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ -#line 1323 "fe/idl.ypp" +#line 1321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3853 "fe/idl.tab.cpp" +#line 3851 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ -#line 1331 "fe/idl.ypp" +#line 1329 "fe/idl.ypp" { (yyval.bval) = true; } -#line 3861 "fe/idl.tab.cpp" +#line 3859 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ -#line 1335 "fe/idl.ypp" +#line 1333 "fe/idl.ypp" { (yyval.bval) = false; } -#line 3869 "fe/idl.tab.cpp" +#line 3867 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ -#line 1343 "fe/idl.ypp" +#line 1341 "fe/idl.ypp" { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3877 "fe/idl.tab.cpp" +#line 3875 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ -#line 1347 "fe/idl.ypp" +#line 1345 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3885 "fe/idl.tab.cpp" +#line 3883 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ -#line 1355 "fe/idl.ypp" +#line 1353 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3908,11 +3906,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3912 "fe/idl.tab.cpp" +#line 3910 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ -#line 1379 "fe/idl.ypp" +#line 1377 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3937,11 +3935,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3941 "fe/idl.tab.cpp" +#line 3939 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ -#line 1407 "fe/idl.ypp" +#line 1405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -4004,11 +4002,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 4008 "fe/idl.tab.cpp" +#line 4006 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ -#line 1473 "fe/idl.ypp" +#line 1471 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decls *&decls = (yyvsp[0].decls_val); @@ -4027,19 +4025,19 @@ yyparse (void) delete annotations; delete decls; } -#line 4031 "fe/idl.tab.cpp" +#line 4029 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ -#line 1492 "fe/idl.ypp" +#line 1490 "fe/idl.ypp" { delete (yyvsp[0].decls_val); } -#line 4039 "fe/idl.tab.cpp" +#line 4037 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ -#line 1501 "fe/idl.ypp" +#line 1499 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4050,11 +4048,11 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4054 "fe/idl.tab.cpp" +#line 4052 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ -#line 1512 "fe/idl.ypp" +#line 1510 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4065,35 +4063,35 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4069 "fe/idl.tab.cpp" +#line 4067 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ -#line 1523 "fe/idl.ypp" +#line 1521 "fe/idl.ypp" { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4077 "fe/idl.tab.cpp" +#line 4075 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ -#line 1530 "fe/idl.ypp" +#line 1528 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4085 "fe/idl.tab.cpp" +#line 4083 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ -#line 1534 "fe/idl.ypp" +#line 1532 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4093 "fe/idl.tab.cpp" +#line 4091 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ -#line 1541 "fe/idl.ypp" +#line 1539 "fe/idl.ypp" { AST_Field::Visibility &visibility = (yyvsp[-1].vival); AST_Decls *&decls_ptr = (yyvsp[0].decls_val); @@ -4111,11 +4109,11 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4115 "fe/idl.tab.cpp" +#line 4113 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ -#line 1567 "fe/idl.ypp" +#line 1565 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decl *d = (yyvsp[0].dcval); @@ -4130,160 +4128,160 @@ yyparse (void) } delete annotations; } -#line 4134 "fe/idl.tab.cpp" +#line 4132 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ -#line 1586 "fe/idl.ypp" +#line 1584 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4142 "fe/idl.tab.cpp" +#line 4140 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ -#line 1590 "fe/idl.ypp" +#line 1588 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4150 "fe/idl.tab.cpp" +#line 4148 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ -#line 1594 "fe/idl.ypp" +#line 1592 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4158 "fe/idl.tab.cpp" +#line 4156 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ -#line 1598 "fe/idl.ypp" +#line 1596 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4166 "fe/idl.tab.cpp" +#line 4164 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ -#line 1602 "fe/idl.ypp" +#line 1600 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4174 "fe/idl.tab.cpp" +#line 4172 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ -#line 1606 "fe/idl.ypp" +#line 1604 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4182 "fe/idl.tab.cpp" +#line 4180 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ -#line 1610 "fe/idl.ypp" +#line 1608 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4190 "fe/idl.tab.cpp" +#line 4188 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ -#line 1614 "fe/idl.ypp" +#line 1612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4198 "fe/idl.tab.cpp" +#line 4196 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ -#line 1618 "fe/idl.ypp" +#line 1616 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4206 "fe/idl.tab.cpp" +#line 4204 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ -#line 1622 "fe/idl.ypp" +#line 1620 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4214 "fe/idl.tab.cpp" +#line 4212 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ -#line 1626 "fe/idl.ypp" +#line 1624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4222 "fe/idl.tab.cpp" +#line 4220 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ -#line 1630 "fe/idl.ypp" +#line 1628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4230 "fe/idl.tab.cpp" +#line 4228 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ -#line 1634 "fe/idl.ypp" +#line 1632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4238 "fe/idl.tab.cpp" +#line 4236 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ -#line 1638 "fe/idl.ypp" +#line 1636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4246 "fe/idl.tab.cpp" +#line 4244 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ -#line 1642 "fe/idl.ypp" +#line 1640 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4254 "fe/idl.tab.cpp" +#line 4252 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ -#line 1646 "fe/idl.ypp" +#line 1644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 4264 "fe/idl.tab.cpp" +#line 4262 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ -#line 1655 "fe/idl.ypp" +#line 1653 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.nlval), UTL_NameList ((yyvsp[-1].idlist), (yyvsp[0].nlval)), 1); } -#line 4275 "fe/idl.tab.cpp" +#line 4273 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ -#line 1666 "fe/idl.ypp" +#line 1664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4283 "fe/idl.tab.cpp" +#line 4281 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ -#line 1670 "fe/idl.ypp" +#line 1668 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -4303,19 +4301,19 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4307 "fe/idl.tab.cpp" +#line 4305 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ -#line 1690 "fe/idl.ypp" +#line 1688 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 4315 "fe/idl.tab.cpp" +#line 4313 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ -#line 1697 "fe/idl.ypp" +#line 1695 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4324,19 +4322,19 @@ yyparse (void) 0), 1); } -#line 4328 "fe/idl.tab.cpp" +#line 4326 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ -#line 1706 "fe/idl.ypp" +#line 1704 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4336 "fe/idl.tab.cpp" +#line 4334 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ -#line 1710 "fe/idl.ypp" +#line 1708 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4356,11 +4354,11 @@ yyparse (void) sn), 1); } -#line 4360 "fe/idl.tab.cpp" +#line 4358 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ -#line 1731 "fe/idl.ypp" +#line 1729 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -4370,11 +4368,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4374 "fe/idl.tab.cpp" +#line 4372 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ -#line 1741 "fe/idl.ypp" +#line 1739 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4386,11 +4384,11 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4390 "fe/idl.tab.cpp" +#line 4388 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ -#line 1755 "fe/idl.ypp" +#line 1753 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.idval), Identifier ((yyvsp[0].strval)), @@ -4398,11 +4396,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4402 "fe/idl.tab.cpp" +#line 4400 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ -#line 1765 "fe/idl.ypp" +#line 1763 "fe/idl.ypp" { /* defining_id is a defining identifier whereas id is usually a reference to a defining identifier */ @@ -4410,11 +4408,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4414 "fe/idl.tab.cpp" +#line 4412 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ -#line 1776 "fe/idl.ypp" +#line 1774 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -4457,11 +4455,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4461 "fe/idl.tab.cpp" +#line 4459 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ -#line 1820 "fe/idl.ypp" +#line 1818 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4487,11 +4485,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4491 "fe/idl.tab.cpp" +#line 4489 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ -#line 1847 "fe/idl.ypp" +#line 1845 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4519,43 +4517,43 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4523 "fe/idl.tab.cpp" +#line 4521 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ -#line 1878 "fe/idl.ypp" +#line 1876 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4531 "fe/idl.tab.cpp" +#line 4529 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ -#line 1882 "fe/idl.ypp" +#line 1880 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4539 "fe/idl.tab.cpp" +#line 4537 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ -#line 1886 "fe/idl.ypp" +#line 1884 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4547 "fe/idl.tab.cpp" +#line 4545 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ -#line 1890 "fe/idl.ypp" +#line 1888 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4555 "fe/idl.tab.cpp" +#line 4553 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ -#line 1894 "fe/idl.ypp" +#line 1892 "fe/idl.ypp" { (yyval.dcval) = 0; UTL_ScopedName n ((yyvsp[-4].idval), 0); @@ -4611,27 +4609,27 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4615 "fe/idl.tab.cpp" +#line 4613 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ -#line 1959 "fe/idl.ypp" +#line 1957 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_string; } -#line 4623 "fe/idl.tab.cpp" +#line 4621 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ -#line 1963 "fe/idl.ypp" +#line 1961 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4631 "fe/idl.tab.cpp" +#line 4629 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ -#line 1967 "fe/idl.ypp" +#line 1965 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_PredefinedType *c = 0; @@ -4697,11 +4695,11 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4701 "fe/idl.tab.cpp" +#line 4699 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ -#line 2040 "fe/idl.ypp" +#line 2038 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4710,11 +4708,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4714 "fe/idl.tab.cpp" +#line 4712 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ -#line 2053 "fe/idl.ypp" +#line 2051 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4723,11 +4721,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4727 "fe/idl.tab.cpp" +#line 4725 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ -#line 2066 "fe/idl.ypp" +#line 2064 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4736,11 +4734,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4740 "fe/idl.tab.cpp" +#line 4738 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ -#line 2079 "fe/idl.ypp" +#line 2077 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4749,11 +4747,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4753 "fe/idl.tab.cpp" +#line 4751 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ -#line 2088 "fe/idl.ypp" +#line 2086 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4762,11 +4760,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4766 "fe/idl.tab.cpp" +#line 4764 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ -#line 2101 "fe/idl.ypp" +#line 2099 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4775,11 +4773,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4779 "fe/idl.tab.cpp" +#line 4777 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ -#line 2110 "fe/idl.ypp" +#line 2108 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4788,11 +4786,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4792 "fe/idl.tab.cpp" +#line 4790 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ -#line 2123 "fe/idl.ypp" +#line 2121 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4801,11 +4799,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4805 "fe/idl.tab.cpp" +#line 4803 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ -#line 2132 "fe/idl.ypp" +#line 2130 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4814,11 +4812,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4818 "fe/idl.tab.cpp" +#line 4816 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ -#line 2141 "fe/idl.ypp" +#line 2139 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4827,11 +4825,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4831 "fe/idl.tab.cpp" +#line 4829 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ -#line 2154 "fe/idl.ypp" +#line 2152 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4840,11 +4838,11 @@ yyparse (void) 0 ); } -#line 4844 "fe/idl.tab.cpp" +#line 4842 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ -#line 2163 "fe/idl.ypp" +#line 2161 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4853,11 +4851,11 @@ yyparse (void) 0 ); } -#line 4857 "fe/idl.tab.cpp" +#line 4855 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ -#line 2172 "fe/idl.ypp" +#line 2170 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4866,11 +4864,11 @@ yyparse (void) 0 ); } -#line 4870 "fe/idl.tab.cpp" +#line 4868 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ -#line 2184 "fe/idl.ypp" +#line 2182 "fe/idl.ypp" { UTL_ScopedName *name = (yyvsp[0].idlist); @@ -4927,107 +4925,107 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4931 "fe/idl.tab.cpp" +#line 4929 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ -#line 2242 "fe/idl.ypp" +#line 2240 "fe/idl.ypp" { (yyval.exval) = (yyvsp[-1].exval); } -#line 4939 "fe/idl.tab.cpp" +#line 4937 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ -#line 2249 "fe/idl.ypp" +#line 2247 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4947 "fe/idl.tab.cpp" +#line 4945 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ -#line 2253 "fe/idl.ypp" +#line 2251 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4956 "fe/idl.tab.cpp" +#line 4954 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ -#line 2258 "fe/idl.ypp" +#line 2256 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); (yyvsp[0].sval)->destroy (); delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4967 "fe/idl.tab.cpp" +#line 4965 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ -#line 2265 "fe/idl.ypp" +#line 2263 "fe/idl.ypp" { char *wide_string = (yyvsp[0].wsval); (yyval.exval) = idl_global->gen ()->create_expr (wide_string); ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4978 "fe/idl.tab.cpp" +#line 4976 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ -#line 2272 "fe/idl.ypp" +#line 2270 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4986 "fe/idl.tab.cpp" +#line 4984 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ -#line 2276 "fe/idl.ypp" +#line 2274 "fe/idl.ypp" { ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4995 "fe/idl.tab.cpp" +#line 4993 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ -#line 2281 "fe/idl.ypp" +#line 2279 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 5003 "fe/idl.tab.cpp" +#line 5001 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ -#line 2285 "fe/idl.ypp" +#line 2283 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5011 "fe/idl.tab.cpp" +#line 5009 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ -#line 2289 "fe/idl.ypp" +#line 2287 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5019 "fe/idl.tab.cpp" +#line 5017 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ -#line 2293 "fe/idl.ypp" +#line 2291 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5027 "fe/idl.tab.cpp" +#line 5025 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ -#line 2300 "fe/idl.ypp" +#line 2298 "fe/idl.ypp" { int good_expression = 1; (yyvsp[0].exval)->evaluate (AST_Expression::EK_positive_int); @@ -5092,11 +5090,11 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5096 "fe/idl.tab.cpp" +#line 5094 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ -#line 2368 "fe/idl.ypp" +#line 2366 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5113,11 +5111,11 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5117 "fe/idl.tab.cpp" +#line 5115 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ -#line 2385 "fe/idl.ypp" +#line 2383 "fe/idl.ypp" { Identifier *id = (yyvsp[-4].idval); idl_global->scopes ().pop (); @@ -5126,20 +5124,20 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5130 "fe/idl.tab.cpp" +#line 5128 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ -#line 2405 "fe/idl.ypp" +#line 2403 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5139 "fe/idl.tab.cpp" +#line 5137 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ -#line 2419 "fe/idl.ypp" +#line 2417 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); UTL_Scope *root = idl_global->scopes ().bottom (); @@ -5192,27 +5190,27 @@ yyparse (void) delete result; } } -#line 5196 "fe/idl.tab.cpp" +#line 5194 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ -#line 2475 "fe/idl.ypp" +#line 2473 "fe/idl.ypp" { (yyval.exval) = (yyvsp[0].exval); } -#line 5204 "fe/idl.tab.cpp" +#line 5202 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ -#line 2479 "fe/idl.ypp" +#line 2477 "fe/idl.ypp" { (yyval.exval) = 0; } -#line 5212 "fe/idl.tab.cpp" +#line 5210 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ -#line 2486 "fe/idl.ypp" +#line 2484 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5222,11 +5220,11 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5226 "fe/idl.tab.cpp" +#line 5224 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ -#line 2499 "fe/idl.ypp" +#line 2497 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5236,19 +5234,19 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5240 "fe/idl.tab.cpp" +#line 5238 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ -#line 2509 "fe/idl.ypp" +#line 2507 "fe/idl.ypp" { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5248 "fe/idl.tab.cpp" +#line 5246 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ -#line 2516 "fe/idl.ypp" +#line 2514 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) { @@ -5305,11 +5303,11 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5309 "fe/idl.tab.cpp" +#line 5307 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ -#line 2573 "fe/idl.ypp" +#line 2571 "fe/idl.ypp" { idl_global->ignore_lookup_errors_ = false; stack_based_lookup_for_primary_expr = false; @@ -5337,27 +5335,27 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5341 "fe/idl.tab.cpp" +#line 5339 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ -#line 2604 "fe/idl.ypp" +#line 2602 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5349 "fe/idl.tab.cpp" +#line 5347 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ -#line 2608 "fe/idl.ypp" +#line 2606 "fe/idl.ypp" { (yyval.annotation_params_val) = 0; } -#line 5357 "fe/idl.tab.cpp" +#line 5355 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ -#line 2615 "fe/idl.ypp" +#line 2613 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = new AST_Annotation_Appl::Params; AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; @@ -5366,47 +5364,47 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5370 "fe/idl.tab.cpp" +#line 5368 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ -#line 2624 "fe/idl.ypp" +#line 2622 "fe/idl.ypp" { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5378 "fe/idl.tab.cpp" +#line 5376 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ -#line 2631 "fe/idl.ypp" +#line 2629 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5388 "fe/idl.tab.cpp" +#line 5386 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ -#line 2639 "fe/idl.ypp" +#line 2637 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5398 "fe/idl.tab.cpp" +#line 5396 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ -#line 2645 "fe/idl.ypp" +#line 2643 "fe/idl.ypp" { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5406 "fe/idl.tab.cpp" +#line 5404 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ -#line 2652 "fe/idl.ypp" +#line 2650 "fe/idl.ypp" { AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; param->id = (yyvsp[-2].idval); @@ -5415,52 +5413,52 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5419 "fe/idl.tab.cpp" +#line 5417 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ -#line 2664 "fe/idl.ypp" +#line 2662 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5428 "fe/idl.tab.cpp" +#line 5426 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ -#line 2669 "fe/idl.ypp" +#line 2667 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5436 "fe/idl.tab.cpp" +#line 5434 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ -#line 2673 "fe/idl.ypp" +#line 2671 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5444 "fe/idl.tab.cpp" +#line 5442 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ -#line 2677 "fe/idl.ypp" +#line 2675 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5452 "fe/idl.tab.cpp" +#line 5450 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ -#line 2681 "fe/idl.ypp" +#line 2679 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5460 "fe/idl.tab.cpp" +#line 5458 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ -#line 2685 "fe/idl.ypp" +#line 2683 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Native *node = 0; @@ -5488,27 +5486,27 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5492 "fe/idl.tab.cpp" +#line 5490 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ -#line 2713 "fe/idl.ypp" +#line 2711 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 5500 "fe/idl.tab.cpp" +#line 5498 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ -#line 2720 "fe/idl.ypp" +#line 2718 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5508 "fe/idl.tab.cpp" +#line 5506 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ -#line 2724 "fe/idl.ypp" +#line 2722 "fe/idl.ypp" { AST_Decl *type_spec = (yyvsp[-2].dcval); UTL_DeclList *decls = (yyvsp[0].dlval); @@ -5572,22 +5570,22 @@ yyparse (void) (yyval.dcval) = t; } -#line 5576 "fe/idl.tab.cpp" +#line 5574 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ -#line 2796 "fe/idl.ypp" +#line 2794 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 5587 "fe/idl.tab.cpp" +#line 5585 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ -#line 2804 "fe/idl.ypp" +#line 2802 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -5610,30 +5608,30 @@ yyparse (void) (yyval.dcval) = d; } -#line 5614 "fe/idl.tab.cpp" +#line 5612 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ -#line 2860 "fe/idl.ypp" +#line 2858 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5625 "fe/idl.tab.cpp" +#line 5623 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ -#line 2871 "fe/idl.ypp" +#line 2869 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5633 "fe/idl.tab.cpp" +#line 5631 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ -#line 2875 "fe/idl.ypp" +#line 2873 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5653,38 +5651,38 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5657 "fe/idl.tab.cpp" +#line 5655 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ -#line 2895 "fe/idl.ypp" +#line 2893 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5665 "fe/idl.tab.cpp" +#line 5663 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ -#line 2907 "fe/idl.ypp" +#line 2905 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5676 "fe/idl.tab.cpp" +#line 5674 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ -#line 2918 "fe/idl.ypp" +#line 2916 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5684 "fe/idl.tab.cpp" +#line 5682 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ -#line 2922 "fe/idl.ypp" +#line 2920 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5704,19 +5702,19 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5708 "fe/idl.tab.cpp" +#line 5706 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ -#line 2942 "fe/idl.ypp" +#line 2940 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5716 "fe/idl.tab.cpp" +#line 5714 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ -#line 2949 "fe/idl.ypp" +#line 2947 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5729,11 +5727,11 @@ yyparse (void) 0), 1); } -#line 5733 "fe/idl.tab.cpp" +#line 5731 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ -#line 2965 "fe/idl.ypp" +#line 2963 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5748,220 +5746,220 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5752 "fe/idl.tab.cpp" +#line 5750 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ -#line 2988 "fe/idl.ypp" +#line 2986 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5760 "fe/idl.tab.cpp" +#line 5758 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ -#line 2992 "fe/idl.ypp" +#line 2990 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5768 "fe/idl.tab.cpp" +#line 5766 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ -#line 2996 "fe/idl.ypp" +#line 2994 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5776 "fe/idl.tab.cpp" +#line 5774 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ -#line 3000 "fe/idl.ypp" +#line 2998 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_int8; } -#line 5784 "fe/idl.tab.cpp" +#line 5782 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ -#line 3004 "fe/idl.ypp" +#line 3002 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5792 "fe/idl.tab.cpp" +#line 5790 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ -#line 3008 "fe/idl.ypp" +#line 3006 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5800 "fe/idl.tab.cpp" +#line 5798 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ -#line 3012 "fe/idl.ypp" +#line 3010 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5808 "fe/idl.tab.cpp" +#line 5806 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ -#line 3019 "fe/idl.ypp" +#line 3017 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5816 "fe/idl.tab.cpp" +#line 5814 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ -#line 3023 "fe/idl.ypp" +#line 3021 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5824 "fe/idl.tab.cpp" +#line 5822 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ -#line 3027 "fe/idl.ypp" +#line 3025 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5832 "fe/idl.tab.cpp" +#line 5830 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ -#line 3031 "fe/idl.ypp" +#line 3029 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5840 "fe/idl.tab.cpp" +#line 5838 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ -#line 3035 "fe/idl.ypp" +#line 3033 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5848 "fe/idl.tab.cpp" +#line 5846 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ -#line 3039 "fe/idl.ypp" +#line 3037 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5856 "fe/idl.tab.cpp" +#line 5854 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ -#line 3043 "fe/idl.ypp" +#line 3041 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5864 "fe/idl.tab.cpp" +#line 5862 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ -#line 3050 "fe/idl.ypp" +#line 3048 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_double; } -#line 5872 "fe/idl.tab.cpp" +#line 5870 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ -#line 3054 "fe/idl.ypp" +#line 3052 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_float; } -#line 5880 "fe/idl.tab.cpp" +#line 5878 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ -#line 3058 "fe/idl.ypp" +#line 3056 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5888 "fe/idl.tab.cpp" +#line 5886 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ -#line 3065 "fe/idl.ypp" +#line 3063 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5896 "fe/idl.tab.cpp" +#line 5894 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ -#line 3072 "fe/idl.ypp" +#line 3070 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_char; } -#line 5904 "fe/idl.tab.cpp" +#line 5902 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ -#line 3076 "fe/idl.ypp" +#line 3074 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5912 "fe/idl.tab.cpp" +#line 5910 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ -#line 3083 "fe/idl.ypp" +#line 3081 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_octet; } -#line 5920 "fe/idl.tab.cpp" +#line 5918 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ -#line 3090 "fe/idl.ypp" +#line 3088 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_bool; } -#line 5928 "fe/idl.tab.cpp" +#line 5926 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ -#line 3097 "fe/idl.ypp" +#line 3095 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_any; } -#line 5936 "fe/idl.tab.cpp" +#line 5934 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ -#line 3104 "fe/idl.ypp" +#line 3102 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_object; } -#line 5944 "fe/idl.tab.cpp" +#line 5942 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ -#line 3111 "fe/idl.ypp" +#line 3109 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5952 "fe/idl.tab.cpp" +#line 5950 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ -#line 3115 "fe/idl.ypp" +#line 3113 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5961 "fe/idl.tab.cpp" +#line 5959 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ -#line 3124 "fe/idl.ypp" +#line 3122 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5992,27 +5990,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5996 "fe/idl.tab.cpp" +#line 5994 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ -#line 3155 "fe/idl.ypp" +#line 3153 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6004 "fe/idl.tab.cpp" +#line 6002 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ -#line 3159 "fe/idl.ypp" +#line 3157 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6012 "fe/idl.tab.cpp" +#line 6010 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ -#line 3163 "fe/idl.ypp" +#line 3161 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); @@ -6024,11 +6022,11 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6028 "fe/idl.tab.cpp" +#line 6026 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ -#line 3185 "fe/idl.ypp" +#line 3183 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decls *members = (yyvsp[0].decls_val); @@ -6042,27 +6040,27 @@ yyparse (void) delete annotations; delete members; } -#line 6046 "fe/idl.tab.cpp" +#line 6044 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ -#line 3202 "fe/idl.ypp" +#line 3200 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6054 "fe/idl.tab.cpp" +#line 6052 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ -#line 3206 "fe/idl.ypp" +#line 3204 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6062 "fe/idl.tab.cpp" +#line 6060 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ -#line 3210 "fe/idl.ypp" +#line 3208 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); FE_Declarator *d = 0; @@ -6116,53 +6114,53 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6120 "fe/idl.tab.cpp" +#line 6118 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ -#line 3264 "fe/idl.ypp" +#line 3262 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6128 "fe/idl.tab.cpp" +#line 6126 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ -#line 3268 "fe/idl.ypp" +#line 3266 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6137 "fe/idl.tab.cpp" +#line 6135 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ -#line 3276 "fe/idl.ypp" +#line 3274 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6145 "fe/idl.tab.cpp" +#line 6143 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ -#line 3280 "fe/idl.ypp" +#line 3278 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6154 "fe/idl.tab.cpp" +#line 6152 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ -#line 3288 "fe/idl.ypp" +#line 3286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6162 "fe/idl.tab.cpp" +#line 6160 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ -#line 3292 "fe/idl.ypp" +#line 3290 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[-3].idval), 0); @@ -6195,19 +6193,19 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6199 "fe/idl.tab.cpp" +#line 6197 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ -#line 3325 "fe/idl.ypp" +#line 3323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6207 "fe/idl.tab.cpp" +#line 6205 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ -#line 3329 "fe/idl.ypp" +#line 3327 "fe/idl.ypp" { /* * The top of the scopes must be an empty union we added after we @@ -6266,27 +6264,27 @@ yyparse (void) delete disc_annotations; } -#line 6270 "fe/idl.tab.cpp" +#line 6268 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ -#line 3388 "fe/idl.ypp" +#line 3386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6278 "fe/idl.tab.cpp" +#line 6276 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ -#line 3392 "fe/idl.ypp" +#line 3390 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6286 "fe/idl.tab.cpp" +#line 6284 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ -#line 3396 "fe/idl.ypp" +#line 3394 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -6302,22 +6300,22 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6306 "fe/idl.tab.cpp" +#line 6304 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ -#line 3415 "fe/idl.ypp" +#line 3413 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6317 "fe/idl.tab.cpp" +#line 6315 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ -#line 3422 "fe/idl.ypp" +#line 3420 "fe/idl.ypp" { /* wchars are not allowed. */ if ((yyvsp[0].etval) == AST_Expression::EV_wchar) @@ -6330,11 +6328,11 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6334 "fe/idl.tab.cpp" +#line 6332 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ -#line 3435 "fe/idl.ypp" +#line 3433 "fe/idl.ypp" { /* octets are not allowed. */ idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); @@ -6343,22 +6341,22 @@ yyparse (void) (yyvsp[0].etval) ); } -#line 6347 "fe/idl.tab.cpp" +#line 6345 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ -#line 3444 "fe/idl.ypp" +#line 3442 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 6358 "fe/idl.tab.cpp" +#line 6356 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ -#line 3452 "fe/idl.ypp" +#line 3450 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -6465,27 +6463,27 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6469 "fe/idl.tab.cpp" +#line 6467 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ -#line 3569 "fe/idl.ypp" +#line 3567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6477 "fe/idl.tab.cpp" +#line 6475 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ -#line 3573 "fe/idl.ypp" +#line 3571 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6485 "fe/idl.tab.cpp" +#line 6483 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ -#line 3577 "fe/idl.ypp" +#line 3575 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; @@ -6517,39 +6515,39 @@ yyparse (void) delete annotations; } -#line 6521 "fe/idl.tab.cpp" +#line 6519 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ -#line 3609 "fe/idl.ypp" +#line 3607 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6529 "fe/idl.tab.cpp" +#line 6527 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ -#line 3613 "fe/idl.ypp" +#line 3611 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6538 "fe/idl.tab.cpp" +#line 6536 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ -#line 3621 "fe/idl.ypp" +#line 3619 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.llval), UTL_LabelList ((yyvsp[-1].ulval), (yyvsp[0].llval)), 1); } -#line 6549 "fe/idl.tab.cpp" +#line 6547 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ -#line 3631 "fe/idl.ypp" +#line 3629 "fe/idl.ypp" { UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, @@ -6567,27 +6565,27 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6571 "fe/idl.tab.cpp" +#line 6569 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ -#line 3649 "fe/idl.ypp" +#line 3647 "fe/idl.ypp" { (yyval.llval) = 0; } -#line 6579 "fe/idl.tab.cpp" +#line 6577 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ -#line 3656 "fe/idl.ypp" +#line 3654 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6587 "fe/idl.tab.cpp" +#line 6585 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ -#line 3660 "fe/idl.ypp" +#line 3658 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6596,27 +6594,27 @@ yyparse (void) 0 ); } -#line 6600 "fe/idl.tab.cpp" +#line 6598 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ -#line 3669 "fe/idl.ypp" +#line 3667 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6608 "fe/idl.tab.cpp" +#line 6606 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ -#line 3673 "fe/idl.ypp" +#line 3671 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6616 "fe/idl.tab.cpp" +#line 6614 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ -#line 3677 "fe/idl.ypp" +#line 3675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6625,19 +6623,19 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6629 "fe/idl.tab.cpp" +#line 6627 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ -#line 3689 "fe/idl.ypp" +#line 3687 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6637 "fe/idl.tab.cpp" +#line 6635 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ -#line 3693 "fe/idl.ypp" +#line 3691 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -6680,11 +6678,11 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6684 "fe/idl.tab.cpp" +#line 6682 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ -#line 3739 "fe/idl.ypp" +#line 3737 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6706,11 +6704,11 @@ yyparse (void) (yyval.dcval) = d; } -#line 6710 "fe/idl.tab.cpp" +#line 6708 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ -#line 3764 "fe/idl.ypp" +#line 3762 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6730,19 +6728,19 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6734 "fe/idl.tab.cpp" +#line 6732 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ -#line 3787 "fe/idl.ypp" +#line 3785 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6742 "fe/idl.tab.cpp" +#line 6740 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ -#line 3791 "fe/idl.ypp" +#line 3789 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6773,27 +6771,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6777 "fe/idl.tab.cpp" +#line 6775 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ -#line 3822 "fe/idl.ypp" +#line 3820 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6785 "fe/idl.tab.cpp" +#line 6783 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ -#line 3826 "fe/idl.ypp" +#line 3824 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6793 "fe/idl.tab.cpp" +#line 6791 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ -#line 3830 "fe/idl.ypp" +#line 3828 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6812,19 +6810,19 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6816 "fe/idl.tab.cpp" +#line 6814 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ -#line 3855 "fe/idl.ypp" +#line 3853 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6824 "fe/idl.tab.cpp" +#line 6822 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ -#line 3864 "fe/idl.ypp" +#line 3862 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); @@ -6859,27 +6857,27 @@ yyparse (void) delete annotations; } -#line 6863 "fe/idl.tab.cpp" +#line 6861 "fe/idl.tab.cpp" break; case 354: /* $@91: %empty */ -#line 3903 "fe/idl.ypp" +#line 3901 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); } -#line 6871 "fe/idl.tab.cpp" +#line 6869 "fe/idl.tab.cpp" break; case 355: /* $@92: %empty */ -#line 3907 "fe/idl.ypp" +#line 3905 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); } -#line 6879 "fe/idl.tab.cpp" +#line 6877 "fe/idl.tab.cpp" break; case 356: /* map_type_spec: map_head ',' $@91 positive_int_expr $@92 '>' */ -#line 3911 "fe/idl.ypp" +#line 3909 "fe/idl.ypp" { AST_Map *map = 0; Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-5].decl_annotations_pair_val_pair); @@ -6887,7 +6885,7 @@ yyparse (void) Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -6897,12 +6895,12 @@ yyparse (void) UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); + AST_Type *ktp = dynamic_cast (key_type->decl); + AST_Type *vtp = dynamic_cast (val_type->decl); if (ktp == 0 || vtp == 0) { @@ -6934,11 +6932,11 @@ yyparse (void) delete type_pair; (yyval.dcval) = map; } -#line 6938 "fe/idl.tab.cpp" +#line 6936 "fe/idl.tab.cpp" break; case 357: /* map_type_spec: map_head '>' */ -#line 3967 "fe/idl.ypp" +#line 3965 "fe/idl.ypp" { AST_Map *map = 0; Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-1].decl_annotations_pair_val_pair); @@ -6946,7 +6944,7 @@ yyparse (void) Decl_Annotations_Pair *val_type = type_pair->second; /* - * Remove sequence marker from scopes stack. + * Remove map marker from scopes stack. */ if (idl_global->scopes ().top () == 0) { @@ -6956,7 +6954,7 @@ yyparse (void) UTL_Scope *s = idl_global->scopes ().top_non_null (); /* - * Create a node representing a sequence. + * Create a node representing a map. */ if (key_type && val_type) { @@ -6997,32 +6995,32 @@ yyparse (void) delete type_pair; (yyval.dcval) = map; } -#line 7001 "fe/idl.tab.cpp" +#line 6999 "fe/idl.tab.cpp" break; case 358: /* $@93: %empty */ -#line 4029 "fe/idl.ypp" +#line 4027 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); /* - * Push a sequence marker on scopes stack. + * Push a map marker on scopes stack. */ idl_global->scopes ().push (0); } -#line 7014 "fe/idl.tab.cpp" +#line 7012 "fe/idl.tab.cpp" break; case 359: /* $@94: %empty */ -#line 4039 "fe/idl.ypp" +#line 4037 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); } -#line 7022 "fe/idl.tab.cpp" +#line 7020 "fe/idl.tab.cpp" break; case 360: /* map_head: IDL_MAP $@93 '<' annotations_maybe simple_type_spec $@94 ',' annotations_maybe simple_type_spec */ -#line 4044 "fe/idl.ypp" +#line 4042 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); Decl_Annotations_Pair *key = new Decl_Annotations_Pair; @@ -7038,27 +7036,27 @@ yyparse (void) pairs->second = value; (yyval.decl_annotations_pair_val_pair) = pairs; } -#line 7042 "fe/idl.tab.cpp" +#line 7040 "fe/idl.tab.cpp" break; case 361: /* $@95: %empty */ -#line 4064 "fe/idl.ypp" +#line 4062 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7050 "fe/idl.tab.cpp" +#line 7048 "fe/idl.tab.cpp" break; case 362: /* $@96: %empty */ -#line 4068 "fe/idl.ypp" +#line 4066 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7058 "fe/idl.tab.cpp" +#line 7056 "fe/idl.tab.cpp" break; case 363: /* sequence_type_spec: seq_head ',' $@95 positive_int_expr $@96 '>' */ -#line 4072 "fe/idl.ypp" +#line 4070 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7139,11 +7137,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7143 "fe/idl.tab.cpp" +#line 7141 "fe/idl.tab.cpp" break; case 364: /* sequence_type_spec: seq_head '>' */ -#line 4154 "fe/idl.ypp" +#line 4152 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7205,11 +7203,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7209 "fe/idl.tab.cpp" +#line 7207 "fe/idl.tab.cpp" break; case 365: /* $@97: %empty */ -#line 4219 "fe/idl.ypp" +#line 4217 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7218,19 +7216,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7222 "fe/idl.tab.cpp" +#line 7220 "fe/idl.tab.cpp" break; case 366: /* $@98: %empty */ -#line 4228 "fe/idl.ypp" +#line 4226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7230 "fe/idl.tab.cpp" +#line 7228 "fe/idl.tab.cpp" break; case 367: /* seq_head: IDL_SEQUENCE $@97 '<' $@98 annotations_maybe simple_type_spec */ -#line 4232 "fe/idl.ypp" +#line 4230 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7238,36 +7236,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7242 "fe/idl.tab.cpp" +#line 7240 "fe/idl.tab.cpp" break; case 368: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4243 "fe/idl.ypp" +#line 4241 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7251 "fe/idl.tab.cpp" +#line 7249 "fe/idl.tab.cpp" break; case 369: /* $@99: %empty */ -#line 4252 "fe/idl.ypp" +#line 4250 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7259 "fe/idl.tab.cpp" +#line 7257 "fe/idl.tab.cpp" break; case 370: /* $@100: %empty */ -#line 4256 "fe/idl.ypp" +#line 4254 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7267 "fe/idl.tab.cpp" +#line 7265 "fe/idl.tab.cpp" break; case 371: /* string_type_spec: string_head '<' $@99 positive_int_expr $@100 '>' */ -#line 4260 "fe/idl.ypp" +#line 4258 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7306,11 +7304,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7310 "fe/idl.tab.cpp" +#line 7308 "fe/idl.tab.cpp" break; case 372: /* string_type_spec: string_head */ -#line 4299 "fe/idl.ypp" +#line 4297 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7333,35 +7331,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7337 "fe/idl.tab.cpp" +#line 7335 "fe/idl.tab.cpp" break; case 373: /* string_head: IDL_STRING */ -#line 4325 "fe/idl.ypp" +#line 4323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7345 "fe/idl.tab.cpp" +#line 7343 "fe/idl.tab.cpp" break; case 374: /* $@101: %empty */ -#line 4333 "fe/idl.ypp" +#line 4331 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7353 "fe/idl.tab.cpp" +#line 7351 "fe/idl.tab.cpp" break; case 375: /* $@102: %empty */ -#line 4337 "fe/idl.ypp" +#line 4335 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7361 "fe/idl.tab.cpp" +#line 7359 "fe/idl.tab.cpp" break; case 376: /* wstring_type_spec: wstring_head '<' $@101 positive_int_expr $@102 '>' */ -#line 4341 "fe/idl.ypp" +#line 4339 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7400,11 +7398,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7404 "fe/idl.tab.cpp" +#line 7402 "fe/idl.tab.cpp" break; case 377: /* wstring_type_spec: wstring_head */ -#line 4380 "fe/idl.ypp" +#line 4378 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7427,27 +7425,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7431 "fe/idl.tab.cpp" +#line 7429 "fe/idl.tab.cpp" break; case 378: /* wstring_head: IDL_WSTRING */ -#line 4406 "fe/idl.ypp" +#line 4404 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7439 "fe/idl.tab.cpp" +#line 7437 "fe/idl.tab.cpp" break; case 379: /* $@103: %empty */ -#line 4413 "fe/idl.ypp" +#line 4411 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7447 "fe/idl.tab.cpp" +#line 7445 "fe/idl.tab.cpp" break; case 380: /* array_declarator: defining_id $@103 annotations_maybe at_least_one_array_dim */ -#line 4417 "fe/idl.ypp" +#line 4415 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7483,22 +7481,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7487 "fe/idl.tab.cpp" +#line 7485 "fe/idl.tab.cpp" break; case 381: /* at_least_one_array_dim: array_dim array_dims */ -#line 4456 "fe/idl.ypp" +#line 4454 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7498 "fe/idl.tab.cpp" +#line 7496 "fe/idl.tab.cpp" break; case 382: /* array_dims: array_dims array_dim */ -#line 4466 "fe/idl.ypp" +#line 4464 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7516,35 +7514,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7520 "fe/idl.tab.cpp" +#line 7518 "fe/idl.tab.cpp" break; case 383: /* array_dims: %empty */ -#line 4484 "fe/idl.ypp" +#line 4482 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7528 "fe/idl.tab.cpp" +#line 7526 "fe/idl.tab.cpp" break; case 384: /* $@104: %empty */ -#line 4491 "fe/idl.ypp" +#line 4489 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7536 "fe/idl.tab.cpp" +#line 7534 "fe/idl.tab.cpp" break; case 385: /* $@105: %empty */ -#line 4495 "fe/idl.ypp" +#line 4493 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7544 "fe/idl.tab.cpp" +#line 7542 "fe/idl.tab.cpp" break; case 386: /* array_dim: '[' $@104 positive_int_expr $@105 ']' */ -#line 4499 "fe/idl.ypp" +#line 4497 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7598,43 +7596,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7602 "fe/idl.tab.cpp" +#line 7600 "fe/idl.tab.cpp" break; case 389: /* $@106: %empty */ -#line 4561 "fe/idl.ypp" +#line 4559 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7610 "fe/idl.tab.cpp" +#line 7608 "fe/idl.tab.cpp" break; case 390: /* $@107: %empty */ -#line 4565 "fe/idl.ypp" +#line 4563 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7618 "fe/idl.tab.cpp" +#line 7616 "fe/idl.tab.cpp" break; case 391: /* $@108: %empty */ -#line 4569 "fe/idl.ypp" +#line 4567 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7626 "fe/idl.tab.cpp" +#line 7624 "fe/idl.tab.cpp" break; case 392: /* $@109: %empty */ -#line 4573 "fe/idl.ypp" +#line 4571 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7634 "fe/idl.tab.cpp" +#line 7632 "fe/idl.tab.cpp" break; case 393: /* attribute_readonly: IDL_READONLY $@106 IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_raises */ -#line 4577 "fe/idl.ypp" +#line 4575 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7686,43 +7684,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7690 "fe/idl.tab.cpp" +#line 7688 "fe/idl.tab.cpp" break; case 394: /* $@110: %empty */ -#line 4632 "fe/idl.ypp" +#line 4630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7698 "fe/idl.tab.cpp" +#line 7696 "fe/idl.tab.cpp" break; case 395: /* $@111: %empty */ -#line 4636 "fe/idl.ypp" +#line 4634 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7706 "fe/idl.tab.cpp" +#line 7704 "fe/idl.tab.cpp" break; case 396: /* $@112: %empty */ -#line 4640 "fe/idl.ypp" +#line 4638 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7714 "fe/idl.tab.cpp" +#line 7712 "fe/idl.tab.cpp" break; case 397: /* $@113: %empty */ -#line 4644 "fe/idl.ypp" +#line 4642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7722 "fe/idl.tab.cpp" +#line 7720 "fe/idl.tab.cpp" break; case 398: /* attribute_readwrite: IDL_ATTRIBUTE $@110 param_type_spec $@111 at_least_one_simple_declarator $@112 opt_getraises $@113 opt_setraises */ -#line 4648 "fe/idl.ypp" +#line 4646 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7783,19 +7781,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7787 "fe/idl.tab.cpp" +#line 7785 "fe/idl.tab.cpp" break; case 399: /* $@114: %empty */ -#line 4712 "fe/idl.ypp" +#line 4710 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7795 "fe/idl.tab.cpp" +#line 7793 "fe/idl.tab.cpp" break; case 400: /* @115: %empty */ -#line 4716 "fe/idl.ypp" +#line 4714 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7827,27 +7825,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7831 "fe/idl.tab.cpp" +#line 7829 "fe/idl.tab.cpp" break; case 401: /* $@116: %empty */ -#line 4748 "fe/idl.ypp" +#line 4746 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7839 "fe/idl.tab.cpp" +#line 7837 "fe/idl.tab.cpp" break; case 402: /* $@117: %empty */ -#line 4752 "fe/idl.ypp" +#line 4750 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7847 "fe/idl.tab.cpp" +#line 7845 "fe/idl.tab.cpp" break; case 403: /* exception: IDL_EXCEPTION $@114 defining_id @115 '{' $@116 members $@117 '}' */ -#line 4756 "fe/idl.ypp" +#line 4754 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7857,19 +7855,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7861 "fe/idl.tab.cpp" +#line 7859 "fe/idl.tab.cpp" break; case 404: /* $@118: %empty */ -#line 4769 "fe/idl.ypp" +#line 4767 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7869 "fe/idl.tab.cpp" +#line 7867 "fe/idl.tab.cpp" break; case 405: /* $@119: %empty */ -#line 4773 "fe/idl.ypp" +#line 4771 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7930,27 +7928,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7934 "fe/idl.tab.cpp" +#line 7932 "fe/idl.tab.cpp" break; case 406: /* $@120: %empty */ -#line 4834 "fe/idl.ypp" +#line 4832 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7942 "fe/idl.tab.cpp" +#line 7940 "fe/idl.tab.cpp" break; case 407: /* $@121: %empty */ -#line 4838 "fe/idl.ypp" +#line 4836 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7950 "fe/idl.tab.cpp" +#line 7948 "fe/idl.tab.cpp" break; case 408: /* operation: opt_op_attribute op_type_spec $@118 IDENTIFIER $@119 parameter_list $@120 opt_raises $@121 opt_context */ -#line 4842 "fe/idl.ypp" +#line 4840 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7981,57 +7979,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7985 "fe/idl.tab.cpp" +#line 7983 "fe/idl.tab.cpp" break; case 409: /* opt_op_attribute: IDL_ONEWAY */ -#line 4876 "fe/idl.ypp" +#line 4874 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7994 "fe/idl.tab.cpp" +#line 7992 "fe/idl.tab.cpp" break; case 410: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4881 "fe/idl.ypp" +#line 4879 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 8003 "fe/idl.tab.cpp" +#line 8001 "fe/idl.tab.cpp" break; case 411: /* opt_op_attribute: %empty */ -#line 4886 "fe/idl.ypp" +#line 4884 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 8011 "fe/idl.tab.cpp" +#line 8009 "fe/idl.tab.cpp" break; case 413: /* op_type_spec: IDL_VOID */ -#line 4894 "fe/idl.ypp" +#line 4892 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 8022 "fe/idl.tab.cpp" +#line 8020 "fe/idl.tab.cpp" break; case 414: /* $@122: %empty */ -#line 4904 "fe/idl.ypp" +#line 4902 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 8031 "fe/idl.tab.cpp" +#line 8029 "fe/idl.tab.cpp" break; case 415: /* @123: %empty */ -#line 4909 "fe/idl.ypp" +#line 4907 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8074,19 +8072,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 8078 "fe/idl.tab.cpp" +#line 8076 "fe/idl.tab.cpp" break; case 416: /* $@124: %empty */ -#line 4952 "fe/idl.ypp" +#line 4950 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8086 "fe/idl.tab.cpp" +#line 8084 "fe/idl.tab.cpp" break; case 417: /* init_decl: IDL_FACTORY $@122 IDENTIFIER @123 init_parameter_list $@124 opt_raises */ -#line 4956 "fe/idl.ypp" +#line 4954 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8101,67 +8099,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8105 "fe/idl.tab.cpp" +#line 8103 "fe/idl.tab.cpp" break; case 418: /* $@125: %empty */ -#line 4974 "fe/idl.ypp" +#line 4972 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8113 "fe/idl.tab.cpp" +#line 8111 "fe/idl.tab.cpp" break; case 419: /* init_parameter_list: '(' $@125 ')' */ -#line 4978 "fe/idl.ypp" +#line 4976 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8121 "fe/idl.tab.cpp" +#line 8119 "fe/idl.tab.cpp" break; case 420: /* $@126: %empty */ -#line 4982 "fe/idl.ypp" +#line 4980 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8129 "fe/idl.tab.cpp" +#line 8127 "fe/idl.tab.cpp" break; case 421: /* init_parameter_list: '(' $@126 at_least_one_in_parameter ')' */ -#line 4987 "fe/idl.ypp" +#line 4985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8137 "fe/idl.tab.cpp" +#line 8135 "fe/idl.tab.cpp" break; case 423: /* $@127: %empty */ -#line 4997 "fe/idl.ypp" +#line 4995 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8145 "fe/idl.tab.cpp" +#line 8143 "fe/idl.tab.cpp" break; case 426: /* $@128: %empty */ -#line 5006 "fe/idl.ypp" +#line 5004 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8153 "fe/idl.tab.cpp" +#line 8151 "fe/idl.tab.cpp" break; case 427: /* $@129: %empty */ -#line 5010 "fe/idl.ypp" +#line 5008 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8161 "fe/idl.tab.cpp" +#line 8159 "fe/idl.tab.cpp" break; case 428: /* in_parameter: IDL_IN $@128 param_type_spec $@129 declarator */ -#line 5014 "fe/idl.ypp" +#line 5012 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8193,67 +8191,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8197 "fe/idl.tab.cpp" +#line 8195 "fe/idl.tab.cpp" break; case 429: /* $@130: %empty */ -#line 5049 "fe/idl.ypp" +#line 5047 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8205 "fe/idl.tab.cpp" +#line 8203 "fe/idl.tab.cpp" break; case 430: /* parameter_list: '(' $@130 ')' */ -#line 5053 "fe/idl.ypp" +#line 5051 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8213 "fe/idl.tab.cpp" +#line 8211 "fe/idl.tab.cpp" break; case 431: /* $@131: %empty */ -#line 5057 "fe/idl.ypp" +#line 5055 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8221 "fe/idl.tab.cpp" +#line 8219 "fe/idl.tab.cpp" break; case 432: /* parameter_list: '(' $@131 at_least_one_parameter ')' */ -#line 5062 "fe/idl.ypp" +#line 5060 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8229 "fe/idl.tab.cpp" +#line 8227 "fe/idl.tab.cpp" break; case 434: /* $@132: %empty */ -#line 5072 "fe/idl.ypp" +#line 5070 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8237 "fe/idl.tab.cpp" +#line 8235 "fe/idl.tab.cpp" break; case 437: /* $@133: %empty */ -#line 5081 "fe/idl.ypp" +#line 5079 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8245 "fe/idl.tab.cpp" +#line 8243 "fe/idl.tab.cpp" break; case 438: /* $@134: %empty */ -#line 5085 "fe/idl.ypp" +#line 5083 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8253 "fe/idl.tab.cpp" +#line 8251 "fe/idl.tab.cpp" break; case 439: /* parameter: direction $@133 param_type_spec $@134 declarator */ -#line 5089 "fe/idl.ypp" +#line 5087 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8292,22 +8290,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8296 "fe/idl.tab.cpp" +#line 8294 "fe/idl.tab.cpp" break; case 440: /* param_type_spec: base_type_spec */ -#line 5131 "fe/idl.ypp" +#line 5129 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8307 "fe/idl.tab.cpp" +#line 8305 "fe/idl.tab.cpp" break; case 443: /* param_type_spec: scoped_name */ -#line 5140 "fe/idl.ypp" +#line 5138 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8372,6 +8370,54 @@ yyparse (void) } } + if (pbt->node_type() == AST_Decl::NT_map) + { + t = pbt; + AST_Map *map_type = + dynamic_cast (pbt); + AST_Type *key_type = + map_type->key_type (); + AST_Type *val_type = + map_type->value_type (); + + AST_Decl::NodeType key_nt = + key_type->node_type (); + AST_Decl::NodeType val_nt = + val_type->node_type (); + + if (key_nt == AST_Decl::NT_typedef) + { + AST_Typedef *key_td = + dynamic_cast (key_type); + key_type = key_td->primitive_base_type (); + key_nt = key_type->node_type (); + } + + if (val_nt == AST_Decl::NT_typedef) + { + AST_Typedef *val_td = + dynamic_cast (val_type); + val_type = val_td->primitive_base_type (); + val_nt = val_type->node_type (); + } + + if (key_nt == AST_Decl::NT_interface + || key_nt == AST_Decl::NT_interface_fwd + || key_nt == AST_Decl::NT_valuetype + || key_nt == AST_Decl::NT_valuetype_fwd + || key_nt == AST_Decl::NT_component + || key_nt == AST_Decl::NT_component_fwd + || val_nt == AST_Decl::NT_interface + || val_nt == AST_Decl::NT_interface_fwd + || val_nt == AST_Decl::NT_valuetype + || val_nt == AST_Decl::NT_valuetype_fwd + || val_nt == AST_Decl::NT_component + || val_nt == AST_Decl::NT_component_fwd) + { + can_be_undefined = true; + } + } + if (! t->is_defined () && ! can_be_undefined) { idl_global->err ()->error1 ( @@ -8411,186 +8457,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8415 "fe/idl.tab.cpp" +#line 8461 "fe/idl.tab.cpp" break; case 444: /* direction: IDL_IN */ -#line 5247 "fe/idl.ypp" +#line 5293 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8423 "fe/idl.tab.cpp" +#line 8469 "fe/idl.tab.cpp" break; case 445: /* direction: IDL_OUT */ -#line 5251 "fe/idl.ypp" +#line 5297 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8431 "fe/idl.tab.cpp" +#line 8477 "fe/idl.tab.cpp" break; case 446: /* direction: IDL_INOUT */ -#line 5255 "fe/idl.ypp" +#line 5301 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8439 "fe/idl.tab.cpp" +#line 8485 "fe/idl.tab.cpp" break; case 447: /* $@135: %empty */ -#line 5262 "fe/idl.ypp" +#line 5308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8447 "fe/idl.tab.cpp" +#line 8493 "fe/idl.tab.cpp" break; case 448: /* $@136: %empty */ -#line 5266 "fe/idl.ypp" +#line 5312 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8455 "fe/idl.tab.cpp" +#line 8501 "fe/idl.tab.cpp" break; case 449: /* opt_raises: IDL_RAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5271 "fe/idl.ypp" +#line 5317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8464 "fe/idl.tab.cpp" +#line 8510 "fe/idl.tab.cpp" break; case 450: /* opt_raises: %empty */ -#line 5276 "fe/idl.ypp" +#line 5322 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8472 "fe/idl.tab.cpp" +#line 8518 "fe/idl.tab.cpp" break; case 451: /* $@137: %empty */ -#line 5283 "fe/idl.ypp" +#line 5329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8480 "fe/idl.tab.cpp" +#line 8526 "fe/idl.tab.cpp" break; case 452: /* $@138: %empty */ -#line 5287 "fe/idl.ypp" +#line 5333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8488 "fe/idl.tab.cpp" +#line 8534 "fe/idl.tab.cpp" break; case 453: /* opt_getraises: IDL_GETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ -#line 5292 "fe/idl.ypp" +#line 5338 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8497 "fe/idl.tab.cpp" +#line 8543 "fe/idl.tab.cpp" break; case 454: /* opt_getraises: %empty */ -#line 5297 "fe/idl.ypp" +#line 5343 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8505 "fe/idl.tab.cpp" +#line 8551 "fe/idl.tab.cpp" break; case 455: /* $@139: %empty */ -#line 5304 "fe/idl.ypp" +#line 5350 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8513 "fe/idl.tab.cpp" +#line 8559 "fe/idl.tab.cpp" break; case 456: /* $@140: %empty */ -#line 5308 "fe/idl.ypp" +#line 5354 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8521 "fe/idl.tab.cpp" +#line 8567 "fe/idl.tab.cpp" break; case 457: /* opt_setraises: IDL_SETRAISES $@139 '(' $@140 at_least_one_scoped_name ')' */ -#line 5313 "fe/idl.ypp" +#line 5359 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8530 "fe/idl.tab.cpp" +#line 8576 "fe/idl.tab.cpp" break; case 458: /* opt_setraises: %empty */ -#line 5318 "fe/idl.ypp" +#line 5364 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8538 "fe/idl.tab.cpp" +#line 8584 "fe/idl.tab.cpp" break; case 459: /* $@141: %empty */ -#line 5325 "fe/idl.ypp" +#line 5371 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8546 "fe/idl.tab.cpp" +#line 8592 "fe/idl.tab.cpp" break; case 460: /* $@142: %empty */ -#line 5329 "fe/idl.ypp" +#line 5375 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8554 "fe/idl.tab.cpp" +#line 8600 "fe/idl.tab.cpp" break; case 461: /* opt_context: IDL_CONTEXT $@141 '(' $@142 at_least_one_string_literal ')' */ -#line 5334 "fe/idl.ypp" +#line 5380 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8563 "fe/idl.tab.cpp" +#line 8609 "fe/idl.tab.cpp" break; case 462: /* opt_context: %empty */ -#line 5339 "fe/idl.ypp" +#line 5385 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8571 "fe/idl.tab.cpp" +#line 8617 "fe/idl.tab.cpp" break; case 463: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5346 "fe/idl.ypp" +#line 5392 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8582 "fe/idl.tab.cpp" +#line 8628 "fe/idl.tab.cpp" break; case 464: /* $@143: %empty */ -#line 5357 "fe/idl.ypp" +#line 5403 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8590 "fe/idl.tab.cpp" +#line 8636 "fe/idl.tab.cpp" break; case 465: /* string_literals: string_literals ',' $@143 IDL_STRING_LITERAL */ -#line 5361 "fe/idl.ypp" +#line 5407 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8608,19 +8654,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8612 "fe/idl.tab.cpp" +#line 8658 "fe/idl.tab.cpp" break; case 466: /* string_literals: %empty */ -#line 5379 "fe/idl.ypp" +#line 5425 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8620 "fe/idl.tab.cpp" +#line 8666 "fe/idl.tab.cpp" break; case 467: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5386 "fe/idl.ypp" +#line 5432 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8647,11 +8693,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8651 "fe/idl.tab.cpp" +#line 8697 "fe/idl.tab.cpp" break; case 468: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5416 "fe/idl.ypp" +#line 5462 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8687,11 +8733,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8691 "fe/idl.tab.cpp" +#line 8737 "fe/idl.tab.cpp" break; case 471: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5461 "fe/idl.ypp" +#line 5507 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8717,11 +8763,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8721 "fe/idl.tab.cpp" +#line 8767 "fe/idl.tab.cpp" break; case 472: /* @144: %empty */ -#line 5490 "fe/idl.ypp" +#line 5536 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8763,27 +8809,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8767 "fe/idl.tab.cpp" +#line 8813 "fe/idl.tab.cpp" break; case 473: /* $@145: %empty */ -#line 5532 "fe/idl.ypp" +#line 5578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8775 "fe/idl.tab.cpp" +#line 8821 "fe/idl.tab.cpp" break; case 474: /* $@146: %empty */ -#line 5536 "fe/idl.ypp" +#line 5582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8783 "fe/idl.tab.cpp" +#line 8829 "fe/idl.tab.cpp" break; case 475: /* component_decl: component_header @144 '{' $@145 component_exports $@146 '}' */ -#line 5540 "fe/idl.ypp" +#line 5586 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8794,27 +8840,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8798 "fe/idl.tab.cpp" +#line 8844 "fe/idl.tab.cpp" break; case 476: /* $@147: %empty */ -#line 5555 "fe/idl.ypp" +#line 5601 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8806 "fe/idl.tab.cpp" +#line 8852 "fe/idl.tab.cpp" break; case 477: /* $@148: %empty */ -#line 5559 "fe/idl.ypp" +#line 5605 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8814 "fe/idl.tab.cpp" +#line 8860 "fe/idl.tab.cpp" break; case 478: /* component_header: IDL_COMPONENT defining_id $@147 component_inheritance_spec $@148 supports_spec */ -#line 5563 "fe/idl.ypp" +#line 5609 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8848,35 +8894,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8852 "fe/idl.tab.cpp" +#line 8898 "fe/idl.tab.cpp" break; case 479: /* $@149: %empty */ -#line 5600 "fe/idl.ypp" +#line 5646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8860 "fe/idl.tab.cpp" +#line 8906 "fe/idl.tab.cpp" break; case 480: /* component_inheritance_spec: ':' $@149 scoped_name */ -#line 5604 "fe/idl.ypp" +#line 5650 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8868 "fe/idl.tab.cpp" +#line 8914 "fe/idl.tab.cpp" break; case 481: /* component_inheritance_spec: %empty */ -#line 5608 "fe/idl.ypp" +#line 5654 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8876 "fe/idl.tab.cpp" +#line 8922 "fe/idl.tab.cpp" break; case 482: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5615 "fe/idl.ypp" +#line 5661 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8891,130 +8937,130 @@ yyparse (void) } delete annotations; } -#line 8895 "fe/idl.tab.cpp" +#line 8941 "fe/idl.tab.cpp" break; case 485: /* $@150: %empty */ -#line 5635 "fe/idl.ypp" +#line 5681 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8903 "fe/idl.tab.cpp" +#line 8949 "fe/idl.tab.cpp" break; case 486: /* component_export: provides_decl $@150 ';' */ -#line 5639 "fe/idl.ypp" +#line 5685 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8912 "fe/idl.tab.cpp" +#line 8958 "fe/idl.tab.cpp" break; case 487: /* $@151: %empty */ -#line 5644 "fe/idl.ypp" +#line 5690 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8920 "fe/idl.tab.cpp" +#line 8966 "fe/idl.tab.cpp" break; case 488: /* component_export: uses_decl $@151 ';' */ -#line 5648 "fe/idl.ypp" +#line 5694 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8929 "fe/idl.tab.cpp" +#line 8975 "fe/idl.tab.cpp" break; case 489: /* $@152: %empty */ -#line 5653 "fe/idl.ypp" +#line 5699 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8937 "fe/idl.tab.cpp" +#line 8983 "fe/idl.tab.cpp" break; case 490: /* component_export: emits_decl $@152 ';' */ -#line 5657 "fe/idl.ypp" +#line 5703 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8946 "fe/idl.tab.cpp" +#line 8992 "fe/idl.tab.cpp" break; case 491: /* $@153: %empty */ -#line 5662 "fe/idl.ypp" +#line 5708 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8954 "fe/idl.tab.cpp" +#line 9000 "fe/idl.tab.cpp" break; case 492: /* component_export: publishes_decl $@153 ';' */ -#line 5666 "fe/idl.ypp" +#line 5712 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8963 "fe/idl.tab.cpp" +#line 9009 "fe/idl.tab.cpp" break; case 493: /* $@154: %empty */ -#line 5671 "fe/idl.ypp" +#line 5717 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8971 "fe/idl.tab.cpp" +#line 9017 "fe/idl.tab.cpp" break; case 494: /* component_export: consumes_decl $@154 ';' */ -#line 5675 "fe/idl.ypp" +#line 5721 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8980 "fe/idl.tab.cpp" +#line 9026 "fe/idl.tab.cpp" break; case 495: /* $@155: %empty */ -#line 5680 "fe/idl.ypp" +#line 5726 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8988 "fe/idl.tab.cpp" +#line 9034 "fe/idl.tab.cpp" break; case 496: /* component_export: attribute $@155 ';' */ -#line 5684 "fe/idl.ypp" +#line 5730 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8997 "fe/idl.tab.cpp" +#line 9043 "fe/idl.tab.cpp" break; case 497: /* $@156: %empty */ -#line 5689 "fe/idl.ypp" +#line 5735 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 9005 "fe/idl.tab.cpp" +#line 9051 "fe/idl.tab.cpp" break; case 498: /* component_export: extended_port_decl $@156 ';' */ -#line 5693 "fe/idl.ypp" +#line 5739 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9014 "fe/idl.tab.cpp" +#line 9060 "fe/idl.tab.cpp" break; case 499: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5700 "fe/idl.ypp" +#line 5746 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9104,21 +9150,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9108 "fe/idl.tab.cpp" +#line 9154 "fe/idl.tab.cpp" break; case 500: /* interface_type: scoped_name */ -#line 5793 "fe/idl.ypp" +#line 5839 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9118 "fe/idl.tab.cpp" +#line 9164 "fe/idl.tab.cpp" break; case 501: /* interface_type: IDL_OBJECT */ -#line 5799 "fe/idl.ypp" +#line 5845 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9141,11 +9187,11 @@ yyparse (void) conc_name), 1); } -#line 9145 "fe/idl.tab.cpp" +#line 9191 "fe/idl.tab.cpp" break; case 502: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5824 "fe/idl.ypp" +#line 5870 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9249,37 +9295,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9253 "fe/idl.tab.cpp" +#line 9299 "fe/idl.tab.cpp" break; case 503: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5931 "fe/idl.ypp" +#line 5977 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9263 "fe/idl.tab.cpp" +#line 9309 "fe/idl.tab.cpp" break; case 504: /* opt_multiple: IDL_MULTIPLE */ -#line 5940 "fe/idl.ypp" +#line 5986 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9271 "fe/idl.tab.cpp" +#line 9317 "fe/idl.tab.cpp" break; case 505: /* opt_multiple: %empty */ -#line 5944 "fe/idl.ypp" +#line 5990 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9279 "fe/idl.tab.cpp" +#line 9325 "fe/idl.tab.cpp" break; case 506: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5951 "fe/idl.ypp" +#line 5997 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9351,11 +9397,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9355 "fe/idl.tab.cpp" +#line 9401 "fe/idl.tab.cpp" break; case 507: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6026 "fe/idl.ypp" +#line 6072 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9424,11 +9470,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9428 "fe/idl.tab.cpp" +#line 9474 "fe/idl.tab.cpp" break; case 508: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6098 "fe/idl.ypp" +#line 6144 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9500,11 +9546,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9504 "fe/idl.tab.cpp" +#line 9550 "fe/idl.tab.cpp" break; case 509: /* $@157: %empty */ -#line 6173 "fe/idl.ypp" +#line 6219 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9541,11 +9587,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9545 "fe/idl.tab.cpp" +#line 9591 "fe/idl.tab.cpp" break; case 510: /* home_decl: home_header $@157 home_body */ -#line 6210 "fe/idl.ypp" +#line 6256 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9554,59 +9600,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9558 "fe/idl.tab.cpp" +#line 9604 "fe/idl.tab.cpp" break; case 511: /* $@158: %empty */ -#line 6222 "fe/idl.ypp" +#line 6268 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9566 "fe/idl.tab.cpp" +#line 9612 "fe/idl.tab.cpp" break; case 512: /* $@159: %empty */ -#line 6226 "fe/idl.ypp" +#line 6272 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9574 "fe/idl.tab.cpp" +#line 9620 "fe/idl.tab.cpp" break; case 513: /* $@160: %empty */ -#line 6230 "fe/idl.ypp" +#line 6276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9582 "fe/idl.tab.cpp" +#line 9628 "fe/idl.tab.cpp" break; case 514: /* $@161: %empty */ -#line 6234 "fe/idl.ypp" +#line 6280 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9590 "fe/idl.tab.cpp" +#line 9636 "fe/idl.tab.cpp" break; case 515: /* $@162: %empty */ -#line 6238 "fe/idl.ypp" +#line 6284 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9598 "fe/idl.tab.cpp" +#line 9644 "fe/idl.tab.cpp" break; case 516: /* $@163: %empty */ -#line 6242 "fe/idl.ypp" +#line 6288 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9606 "fe/idl.tab.cpp" +#line 9652 "fe/idl.tab.cpp" break; case 517: /* home_header: IDL_HOME $@158 defining_id $@159 home_inheritance_spec $@160 supports_spec $@161 IDL_MANAGES $@162 scoped_name $@163 primary_key_spec */ -#line 6246 "fe/idl.ypp" +#line 6292 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9652,107 +9698,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9656 "fe/idl.tab.cpp" +#line 9702 "fe/idl.tab.cpp" break; case 518: /* $@164: %empty */ -#line 6295 "fe/idl.ypp" +#line 6341 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9664 "fe/idl.tab.cpp" +#line 9710 "fe/idl.tab.cpp" break; case 519: /* home_inheritance_spec: ':' $@164 scoped_name */ -#line 6299 "fe/idl.ypp" +#line 6345 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9672 "fe/idl.tab.cpp" +#line 9718 "fe/idl.tab.cpp" break; case 520: /* home_inheritance_spec: %empty */ -#line 6303 "fe/idl.ypp" +#line 6349 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9680 "fe/idl.tab.cpp" +#line 9726 "fe/idl.tab.cpp" break; case 521: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6311 "fe/idl.ypp" +#line 6357 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9688 "fe/idl.tab.cpp" +#line 9734 "fe/idl.tab.cpp" break; case 522: /* primary_key_spec: %empty */ -#line 6315 "fe/idl.ypp" +#line 6361 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9696 "fe/idl.tab.cpp" +#line 9742 "fe/idl.tab.cpp" break; case 523: /* $@165: %empty */ -#line 6322 "fe/idl.ypp" +#line 6368 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9704 "fe/idl.tab.cpp" +#line 9750 "fe/idl.tab.cpp" break; case 524: /* $@166: %empty */ -#line 6326 "fe/idl.ypp" +#line 6372 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9712 "fe/idl.tab.cpp" +#line 9758 "fe/idl.tab.cpp" break; case 525: /* home_body: '{' $@165 home_exports $@166 '}' */ -#line 6330 "fe/idl.ypp" +#line 6376 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9720 "fe/idl.tab.cpp" +#line 9766 "fe/idl.tab.cpp" break; case 529: /* $@167: %empty */ -#line 6343 "fe/idl.ypp" +#line 6389 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9728 "fe/idl.tab.cpp" +#line 9774 "fe/idl.tab.cpp" break; case 530: /* home_export: factory_decl $@167 ';' */ -#line 6347 "fe/idl.ypp" +#line 6393 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9736 "fe/idl.tab.cpp" +#line 9782 "fe/idl.tab.cpp" break; case 531: /* $@168: %empty */ -#line 6351 "fe/idl.ypp" +#line 6397 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9744 "fe/idl.tab.cpp" +#line 9790 "fe/idl.tab.cpp" break; case 532: /* home_export: finder_decl $@168 ';' */ -#line 6355 "fe/idl.ypp" +#line 6401 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9752 "fe/idl.tab.cpp" +#line 9798 "fe/idl.tab.cpp" break; case 533: /* $@169: %empty */ -#line 6363 "fe/idl.ypp" +#line 6409 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9775,19 +9821,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9779 "fe/idl.tab.cpp" +#line 9825 "fe/idl.tab.cpp" break; case 534: /* $@170: %empty */ -#line 6386 "fe/idl.ypp" +#line 6432 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9787 "fe/idl.tab.cpp" +#line 9833 "fe/idl.tab.cpp" break; case 535: /* factory_decl: IDL_FACTORY defining_id $@169 init_parameter_list $@170 opt_raises */ -#line 6390 "fe/idl.ypp" +#line 6436 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9805,11 +9851,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9809 "fe/idl.tab.cpp" +#line 9855 "fe/idl.tab.cpp" break; case 536: /* $@171: %empty */ -#line 6412 "fe/idl.ypp" +#line 6458 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9836,19 +9882,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9840 "fe/idl.tab.cpp" +#line 9886 "fe/idl.tab.cpp" break; case 537: /* $@172: %empty */ -#line 6439 "fe/idl.ypp" +#line 6485 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9848 "fe/idl.tab.cpp" +#line 9894 "fe/idl.tab.cpp" break; case 538: /* finder_decl: IDL_FINDER defining_id $@171 init_parameter_list $@172 opt_raises */ -#line 6443 "fe/idl.ypp" +#line 6489 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9866,11 +9912,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9870 "fe/idl.tab.cpp" +#line 9916 "fe/idl.tab.cpp" break; case 544: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6476 "fe/idl.ypp" +#line 6522 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9895,11 +9941,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9899 "fe/idl.tab.cpp" +#line 9945 "fe/idl.tab.cpp" break; case 545: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6506 "fe/idl.ypp" +#line 6552 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9924,11 +9970,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9928 "fe/idl.tab.cpp" +#line 9974 "fe/idl.tab.cpp" break; case 546: /* $@173: %empty */ -#line 6535 "fe/idl.ypp" +#line 6581 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9972,27 +10018,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9976 "fe/idl.tab.cpp" +#line 10022 "fe/idl.tab.cpp" break; case 547: /* $@174: %empty */ -#line 6579 "fe/idl.ypp" +#line 6625 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9984 "fe/idl.tab.cpp" +#line 10030 "fe/idl.tab.cpp" break; case 548: /* $@175: %empty */ -#line 6583 "fe/idl.ypp" +#line 6629 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9992 "fe/idl.tab.cpp" +#line 10038 "fe/idl.tab.cpp" break; case 549: /* event_abs_decl: event_abs_header event_rest_of_header $@173 '{' $@174 exports $@175 '}' */ -#line 6587 "fe/idl.ypp" +#line 6633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10003,19 +10049,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 10007 "fe/idl.tab.cpp" +#line 10053 "fe/idl.tab.cpp" break; case 550: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6603 "fe/idl.ypp" +#line 6649 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10015 "fe/idl.tab.cpp" +#line 10061 "fe/idl.tab.cpp" break; case 551: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6612 "fe/idl.ypp" +#line 6658 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -10028,29 +10074,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 10032 "fe/idl.tab.cpp" +#line 10078 "fe/idl.tab.cpp" break; case 552: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6629 "fe/idl.ypp" +#line 6675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 10042 "fe/idl.tab.cpp" +#line 10088 "fe/idl.tab.cpp" break; case 553: /* $@176: %empty */ -#line 6638 "fe/idl.ypp" +#line 6684 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10050 "fe/idl.tab.cpp" +#line 10096 "fe/idl.tab.cpp" break; case 554: /* event_rest_of_header: inheritance_spec $@176 supports_spec */ -#line 6642 "fe/idl.ypp" +#line 6688 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10079,11 +10125,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10083 "fe/idl.tab.cpp" +#line 10129 "fe/idl.tab.cpp" break; case 555: /* @177: %empty */ -#line 6675 "fe/idl.ypp" +#line 6721 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10134,27 +10180,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10138 "fe/idl.tab.cpp" +#line 10184 "fe/idl.tab.cpp" break; case 556: /* $@178: %empty */ -#line 6726 "fe/idl.ypp" +#line 6772 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10146 "fe/idl.tab.cpp" +#line 10192 "fe/idl.tab.cpp" break; case 557: /* $@179: %empty */ -#line 6730 "fe/idl.ypp" +#line 6776 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10154 "fe/idl.tab.cpp" +#line 10200 "fe/idl.tab.cpp" break; case 558: /* event_decl: event_header event_rest_of_header @177 '{' $@178 value_elements $@179 '}' */ -#line 6734 "fe/idl.ypp" +#line 6780 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10165,108 +10211,116 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10169 "fe/idl.tab.cpp" +#line 10215 "fe/idl.tab.cpp" break; case 559: /* event_header: event_custom_header */ -#line 6748 "fe/idl.ypp" +#line 6794 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10177 "fe/idl.tab.cpp" +#line 10223 "fe/idl.tab.cpp" break; case 560: /* event_header: event_plain_header */ -#line 6752 "fe/idl.ypp" +#line 6798 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10185 "fe/idl.tab.cpp" +#line 10231 "fe/idl.tab.cpp" break; case 561: /* formal_parameter_type: IDL_TYPENAME */ -#line 6759 "fe/idl.ypp" +#line 6805 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10193 "fe/idl.tab.cpp" +#line 10239 "fe/idl.tab.cpp" break; case 562: /* formal_parameter_type: IDL_STRUCT */ -#line 6763 "fe/idl.ypp" +#line 6809 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10201 "fe/idl.tab.cpp" +#line 10247 "fe/idl.tab.cpp" break; case 563: /* formal_parameter_type: IDL_UNION */ -#line 6767 "fe/idl.ypp" +#line 6813 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10209 "fe/idl.tab.cpp" +#line 10255 "fe/idl.tab.cpp" break; case 564: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6771 "fe/idl.ypp" +#line 6817 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10217 "fe/idl.tab.cpp" +#line 10263 "fe/idl.tab.cpp" break; case 565: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6775 "fe/idl.ypp" +#line 6821 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10225 "fe/idl.tab.cpp" +#line 10271 "fe/idl.tab.cpp" + break; + + case 566: /* formal_parameter_type: IDL_MAP */ +#line 6825 "fe/idl.ypp" + { + (yyval.ntval) = AST_Decl::NT_map; + } +#line 10279 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_INTERFACE */ -#line 6779 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_INTERFACE */ +#line 6829 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10233 "fe/idl.tab.cpp" +#line 10287 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6783 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6833 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10241 "fe/idl.tab.cpp" +#line 10295 "fe/idl.tab.cpp" break; - case 568: /* formal_parameter_type: IDL_ENUM */ -#line 6787 "fe/idl.ypp" + case 569: /* formal_parameter_type: IDL_ENUM */ +#line 6837 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10249 "fe/idl.tab.cpp" +#line 10303 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6791 "fe/idl.ypp" + case 570: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6841 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10257 "fe/idl.tab.cpp" +#line 10311 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter_type: IDL_CONST const_type */ -#line 6795 "fe/idl.ypp" + case 571: /* formal_parameter_type: IDL_CONST const_type */ +#line 6845 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10266 "fe/idl.tab.cpp" +#line 10320 "fe/idl.tab.cpp" break; - case 571: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6803 "fe/idl.ypp" + case 572: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6853 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10294,11 +10348,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10298 "fe/idl.tab.cpp" +#line 10352 "fe/idl.tab.cpp" break; - case 572: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6834 "fe/idl.ypp" + case 573: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6884 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10311,19 +10365,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10315 "fe/idl.tab.cpp" +#line 10369 "fe/idl.tab.cpp" break; - case 573: /* formal_parameters: %empty */ -#line 6847 "fe/idl.ypp" + case 574: /* formal_parameters: %empty */ +#line 6897 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10323 "fe/idl.tab.cpp" +#line 10377 "fe/idl.tab.cpp" break; - case 574: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6854 "fe/idl.ypp" + case 575: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6904 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10348,11 +10402,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10352 "fe/idl.tab.cpp" +#line 10406 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6879 "fe/idl.ypp" + case 576: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6929 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10367,19 +10421,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10371 "fe/idl.tab.cpp" +#line 10425 "fe/idl.tab.cpp" break; - case 576: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6897 "fe/idl.ypp" + case 577: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6947 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10379 "fe/idl.tab.cpp" +#line 10433 "fe/idl.tab.cpp" break; - case 577: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6904 "fe/idl.ypp" + case 578: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6954 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10394,37 +10448,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10398 "fe/idl.tab.cpp" +#line 10452 "fe/idl.tab.cpp" break; - case 578: /* formal_parameter_names: %empty */ -#line 6919 "fe/idl.ypp" + case 579: /* formal_parameter_names: %empty */ +#line 6969 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10406 "fe/idl.tab.cpp" +#line 10460 "fe/idl.tab.cpp" break; - case 579: /* formal_parameter_name: IDENTIFIER */ -#line 6926 "fe/idl.ypp" + case 580: /* formal_parameter_name: IDENTIFIER */ +#line 6976 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10416 "fe/idl.tab.cpp" +#line 10470 "fe/idl.tab.cpp" break; - case 580: /* $@180: %empty */ -#line 6935 "fe/idl.ypp" + case 581: /* $@180: %empty */ +#line 6985 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10424 "fe/idl.tab.cpp" +#line 10478 "fe/idl.tab.cpp" break; - case 581: /* @181: %empty */ -#line 6939 "fe/idl.ypp" + case 582: /* @181: %empty */ +#line 6989 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10443,27 +10497,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10447 "fe/idl.tab.cpp" +#line 10501 "fe/idl.tab.cpp" break; - case 582: /* $@182: %empty */ -#line 6958 "fe/idl.ypp" + case 583: /* $@182: %empty */ +#line 7008 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10455 "fe/idl.tab.cpp" +#line 10509 "fe/idl.tab.cpp" break; - case 583: /* $@183: %empty */ -#line 6966 "fe/idl.ypp" + case 584: /* $@183: %empty */ +#line 7016 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10463 "fe/idl.tab.cpp" +#line 10517 "fe/idl.tab.cpp" break; - case 584: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ -#line 6970 "fe/idl.ypp" + case 585: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ +#line 7020 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10472,11 +10526,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10476 "fe/idl.tab.cpp" +#line 10530 "fe/idl.tab.cpp" break; - case 585: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6982 "fe/idl.ypp" + case 586: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 7032 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10491,27 +10545,27 @@ yyparse (void) } delete annotations; } -#line 10495 "fe/idl.tab.cpp" +#line 10549 "fe/idl.tab.cpp" break; - case 591: /* $@184: %empty */ -#line 7008 "fe/idl.ypp" + case 592: /* $@184: %empty */ +#line 7058 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10503 "fe/idl.tab.cpp" +#line 10557 "fe/idl.tab.cpp" break; - case 592: /* port_export: attribute $@184 ';' */ -#line 7012 "fe/idl.ypp" + case 593: /* port_export: attribute $@184 ';' */ +#line 7062 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10511 "fe/idl.tab.cpp" +#line 10565 "fe/idl.tab.cpp" break; - case 593: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 7019 "fe/idl.ypp" + case 594: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 7069 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10578,11 +10632,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10582 "fe/idl.tab.cpp" +#line 10636 "fe/idl.tab.cpp" break; - case 594: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7086 "fe/idl.ypp" + case 595: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7136 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10627,11 +10681,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10631 "fe/idl.tab.cpp" +#line 10685 "fe/idl.tab.cpp" break; - case 595: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7134 "fe/idl.ypp" + case 596: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7184 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10644,11 +10698,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10648 "fe/idl.tab.cpp" +#line 10702 "fe/idl.tab.cpp" break; - case 596: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7150 "fe/idl.ypp" + case 597: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7200 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10661,19 +10715,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10665 "fe/idl.tab.cpp" +#line 10719 "fe/idl.tab.cpp" break; - case 597: /* actual_parameters: %empty */ -#line 7163 "fe/idl.ypp" + case 598: /* actual_parameters: %empty */ +#line 7213 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10673 "fe/idl.tab.cpp" +#line 10727 "fe/idl.tab.cpp" break; - case 598: /* actual_parameter: expression */ -#line 7170 "fe/idl.ypp" + case 599: /* actual_parameter: expression */ +#line 7220 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10729,35 +10783,35 @@ yyparse (void) 0); } } -#line 10733 "fe/idl.tab.cpp" +#line 10787 "fe/idl.tab.cpp" break; - case 599: /* connector_decl: connector_header connector_body */ -#line 7229 "fe/idl.ypp" + case 600: /* connector_decl: connector_header connector_body */ +#line 7279 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10741 "fe/idl.tab.cpp" +#line 10795 "fe/idl.tab.cpp" break; - case 600: /* $@185: %empty */ -#line 7236 "fe/idl.ypp" + case 601: /* $@185: %empty */ +#line 7286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10749 "fe/idl.tab.cpp" +#line 10803 "fe/idl.tab.cpp" break; - case 601: /* $@186: %empty */ -#line 7240 "fe/idl.ypp" + case 602: /* $@186: %empty */ +#line 7290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10757 "fe/idl.tab.cpp" +#line 10811 "fe/idl.tab.cpp" break; - case 602: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ -#line 7244 "fe/idl.ypp" + case 603: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ +#line 7294 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10811,102 +10865,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10815 "fe/idl.tab.cpp" +#line 10869 "fe/idl.tab.cpp" break; - case 603: /* $@187: %empty */ -#line 7301 "fe/idl.ypp" + case 604: /* $@187: %empty */ +#line 7351 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10823 "fe/idl.tab.cpp" +#line 10877 "fe/idl.tab.cpp" break; - case 604: /* $@188: %empty */ -#line 7305 "fe/idl.ypp" + case 605: /* $@188: %empty */ +#line 7355 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10831 "fe/idl.tab.cpp" +#line 10885 "fe/idl.tab.cpp" break; - case 605: /* connector_body: '{' $@187 connector_exports $@188 '}' */ -#line 7309 "fe/idl.ypp" + case 606: /* connector_body: '{' $@187 connector_exports $@188 '}' */ +#line 7359 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10842 "fe/idl.tab.cpp" +#line 10896 "fe/idl.tab.cpp" break; - case 608: /* $@189: %empty */ -#line 7324 "fe/idl.ypp" + case 609: /* $@189: %empty */ +#line 7374 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10850 "fe/idl.tab.cpp" +#line 10904 "fe/idl.tab.cpp" break; - case 609: /* connector_export: provides_decl $@189 ';' */ -#line 7328 "fe/idl.ypp" + case 610: /* connector_export: provides_decl $@189 ';' */ +#line 7378 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10858 "fe/idl.tab.cpp" +#line 10912 "fe/idl.tab.cpp" break; - case 610: /* $@190: %empty */ -#line 7332 "fe/idl.ypp" + case 611: /* $@190: %empty */ +#line 7382 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10866 "fe/idl.tab.cpp" +#line 10920 "fe/idl.tab.cpp" break; - case 611: /* connector_export: uses_decl $@190 ';' */ -#line 7336 "fe/idl.ypp" + case 612: /* connector_export: uses_decl $@190 ';' */ +#line 7386 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10874 "fe/idl.tab.cpp" +#line 10928 "fe/idl.tab.cpp" break; - case 612: /* $@191: %empty */ -#line 7340 "fe/idl.ypp" + case 613: /* $@191: %empty */ +#line 7390 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10882 "fe/idl.tab.cpp" +#line 10936 "fe/idl.tab.cpp" break; - case 613: /* connector_export: attribute $@191 ';' */ -#line 7344 "fe/idl.ypp" + case 614: /* connector_export: attribute $@191 ';' */ +#line 7394 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10890 "fe/idl.tab.cpp" +#line 10944 "fe/idl.tab.cpp" break; - case 614: /* $@192: %empty */ -#line 7348 "fe/idl.ypp" + case 615: /* $@192: %empty */ +#line 7398 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10898 "fe/idl.tab.cpp" +#line 10952 "fe/idl.tab.cpp" break; - case 615: /* connector_export: extended_port_decl $@192 ';' */ -#line 7352 "fe/idl.ypp" + case 616: /* connector_export: extended_port_decl $@192 ';' */ +#line 7402 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10906 "fe/idl.tab.cpp" +#line 10960 "fe/idl.tab.cpp" break; -#line 10910 "fe/idl.tab.cpp" +#line 10964 "fe/idl.tab.cpp" default: break; } @@ -11099,7 +11153,7 @@ yyparse (void) return yyresult; } -#line 7357 "fe/idl.ypp" +#line 7407 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index c3e3476e4f74c..512f86809f647 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -156,7 +156,7 @@ extern int tao_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 166 "fe/idl.ypp" +#line 164 "fe/idl.ypp" AST_Decl *dcval; /* Decl value */ UTL_StrList *slval; /* String list */ From d9477512c3b0256d67438426072895669097980b Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:30:16 -0400 Subject: [PATCH 072/445] Fixed recursion check Checks both key and val types --- TAO/TAO_IDL/ast/ast_map.cpp | 53 ++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index b83a09fd69545..a630882c75935 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -180,29 +180,50 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) list.enqueue_tail(this); - AST_Type *type = dynamic_cast (this->key_type ()); + AST_Type *key_type = dynamic_cast (this->key_type ()); + AST_Type *val_type = dynamic_cast (this->value_type()); - if (type == nullptr) + if (key_type == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("AST_Map::in_recursion - ") - ACE_TEXT ("bad base type\n")), + ACE_TEXT ("bad key type\n")), false); } - AST_Decl::NodeType nt = type->node_type (); + if (key_type == nullptr) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("AST_Map::in_recursion - ") + ACE_TEXT ("bad value type\n")), + false); + } + + AST_Decl::NodeType kt = key_type->node_type (); + AST_Decl::NodeType vt = val_type->node_type (); + + if (kt == AST_Decl::NT_typedef) + { + AST_Typedef *td = dynamic_cast (key_type); + key_type = td->primitive_base_type (); + kt = key_type->node_type (); + } - if (nt == AST_Decl::NT_typedef) + if (vt == AST_Decl::NT_typedef) { - AST_Typedef *td = dynamic_cast (type); - type = td->primitive_base_type (); - nt = type->node_type (); + AST_Typedef *td = dynamic_cast(val_type); + val_type = td->primitive_base_type(); + vt = val_type->node_type(); } - if (nt != AST_Decl::NT_struct - && nt != AST_Decl::NT_union - && nt != AST_Decl::NT_valuetype - && nt != AST_Decl::NT_map) + if (kt != AST_Decl::NT_struct + && kt != AST_Decl::NT_union + && kt != AST_Decl::NT_valuetype + && kt != AST_Decl::NT_map + && vt != AST_Decl::NT_struct + && vt != AST_Decl::NT_union + && vt != AST_Decl::NT_valuetype + && vt != AST_Decl::NT_map) { return false; } @@ -210,8 +231,10 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) bool recursion_found = false; AST_Type** recursable_type = nullptr; list.get (recursable_type, 0); - if (!std::strcmp (type->full_name (), - (*recursable_type)->full_name ())) + if (!std::strcmp (key_type->full_name (), + (*recursable_type)->full_name ()) + || !std::strcmp(val_type->full_name (), + (*recursable_type)->full_name ())) { // They match. recursion_found = true; @@ -220,7 +243,7 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) else { // Check the element type. - recursion_found = type->in_recursion (list); + recursion_found = key_type->in_recursion (list) && val_type->in_recursion (list); } return recursion_found; From f223c829718b10ee349cf69fc94c96be9913a8cb Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 13:30:28 -0400 Subject: [PATCH 073/445] Fixed recursive type test --- TAO/tests/IDLv4/maps/main.cpp | 4 ++++ TAO/tests/IDLv4/maps/test.idl | 11 ++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/TAO/tests/IDLv4/maps/main.cpp b/TAO/tests/IDLv4/maps/main.cpp index cfbbc95c8624a..baf07e4060c63 100644 --- a/TAO/tests/IDLv4/maps/main.cpp +++ b/TAO/tests/IDLv4/maps/main.cpp @@ -9,6 +9,10 @@ int ACE_TMAIN(int, ACE_TCHAR *[]) // No need to test the actual map works as it's just a typedef to std::map DataStruct testData; + RecurseStruct rStruct; + rStruct.iMapR[10] = rStruct; + // rStruct.rMapI[rStruct] = 10; // Structs as keys aren't really valid, as they fail to compile when generated via tao_idl + TestStruct testStruct; testStruct.id = 42; testStruct.msg = "Hello World!"; diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index bc0998494fb66..ee062d099b059 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,9 +1,9 @@ struct RecurseStruct; -typedef map RecursedMap; -// typedef sequence RecursedSequence; +typedef map IntRecursedMap; +typedef map RecursedMapInt; struct RecurseStruct { - // RecursedSequence seq; - RecursedMap map; + RecursedMapInt rMapI; + IntRecursedMap iMapR; }; struct TestStruct { @@ -18,9 +18,6 @@ typedef map TestIntStringMap; struct DataStruct { // Bounded maps are not actually bounded as std::map doesn't support that - // RecursedSequence _recursedSequence; - RecursedMap _recursedMap; - map intIntMap; map intIntMapBounded; From f4789ac31459f9906a3718642ed4a669e04e7aa4 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 14:58:25 -0400 Subject: [PATCH 074/445] Switched to std::snprintf --- TAO/TAO_IDL/be/be_map.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 40d2b9ef8fa2c..7052e2f0e0683 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -154,9 +154,10 @@ be_map::gen_name () if (this->unbounded () == false) { char ulval_str [NAMEBUFSIZE]; - ACE_OS::sprintf (ulval_str, - "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, - this->max_size ()->ev ()->u.ulval); + std::snprintf (ulval_str, + NAMEBUFSIZE, + "_" ACE_UINT32_FORMAT_SPECIFIER_ASCII, + this->max_size ()->ev ()->u.ulval); ACE_OS::strcat (namebuf, ulval_str); } From 42df71b21849e0d07459e3a13741e72ee8b1fa12 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 13 Aug 2022 14:59:46 -0400 Subject: [PATCH 075/445] another switch --- TAO/TAO_IDL/be/be_map.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index 7052e2f0e0683..db7f531cea78e 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -146,7 +146,8 @@ be_map::gen_name () 0); } - ACE_OS::sprintf (namebuf, + std::snprintf (namebuf, + NAMEBUFSIZE, "_tao_map_%s_%s_", kt->flat_name (), vt->flat_name ()); From 4a3d7ed69699463e0e70c43ff7ff76a0a182d265 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Fri, 19 Aug 2022 21:38:38 -0400 Subject: [PATCH 076/445] Typo --- TAO/TAO_IDL/ast/ast_map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/ast/ast_map.cpp b/TAO/TAO_IDL/ast/ast_map.cpp index a630882c75935..3b1255a518538 100644 --- a/TAO/TAO_IDL/ast/ast_map.cpp +++ b/TAO/TAO_IDL/ast/ast_map.cpp @@ -191,7 +191,7 @@ AST_Map::in_recursion (ACE_Unbounded_Queue &list) false); } - if (key_type == nullptr) + if (val_type == nullptr) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("AST_Map::in_recursion - ") From 9b3324cf5a6478f7fe2fe88c6d6a3ca407245837 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:15 -0400 Subject: [PATCH 077/445] Update TAO/TAO_IDL/include/idl_global.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/idl_global.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 2315bd2f97b82..ef2af5be1b32e 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -239,8 +239,8 @@ class TAO_IDL_FE_Export IDL_GlobalData , PS_MapQsSeen // Seen a '>' for map , PS_MapKeyTypeSeen // Seen a key type decl for map , PS_MapValueTypeSeen // Seen a value type decl for map - , PS_MapCommaSeen // Seen comma for sequence - , PS_MapExprSeen // Seen a size expression for sequence + , PS_MapCommaSeen // Seen comma for map + , PS_MapExprSeen // Seen a size expression for map , PS_SequenceSeen // Seen a SEQUENCE keyword , PS_SequenceSqSeen // Seen '<' for sequence , PS_SequenceQsSeen // Seen '>' for sequence From 2d311a57982bdb874095f6c8a6103e5f7fcf1879 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:27 -0400 Subject: [PATCH 078/445] Update TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h index ebbcb04326695..59b24c2287606 100644 --- a/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h +++ b/TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h @@ -71,7 +71,7 @@ class ast_visitor_tmpl_module_inst : public ast_visitor virtual int visit_enum_val (AST_EnumVal *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map *node); + virtual int visit_map (AST_Map *node); virtual int visit_string (AST_String *node); virtual int visit_native (AST_Native *node); virtual int visit_valuebox (AST_ValueBox *node); From cfc7584a04d2b7b8d69a82d01187fb6edb196c55 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:38 -0400 Subject: [PATCH 079/445] Update TAO/TAO_IDL/include/ast_visitor_reifying.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/ast_visitor_reifying.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_visitor_reifying.h b/TAO/TAO_IDL/include/ast_visitor_reifying.h index 593ff1c0399d3..fddd783693d5e 100644 --- a/TAO/TAO_IDL/include/ast_visitor_reifying.h +++ b/TAO/TAO_IDL/include/ast_visitor_reifying.h @@ -93,7 +93,7 @@ class ast_visitor_reifying : public ast_visitor virtual int visit_typedef (AST_Typedef *node); virtual int visit_array (AST_Array *node); virtual int visit_sequence (AST_Sequence *node); - virtual int visit_map(AST_Map *node); + virtual int visit_map (AST_Map *node); virtual int visit_predefined_type (AST_PredefinedType *node); virtual int visit_string (AST_String *node); virtual int visit_constant (AST_Constant *node); From 45dbc23a979e3aa61244c28dd872ee3aa08e9c2d Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 30 Sep 2022 15:11:43 -0400 Subject: [PATCH 080/445] Update TAO/TAO_IDL/include/ast_generator.h Co-authored-by: Adam Mitz --- TAO/TAO_IDL/include/ast_generator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/include/ast_generator.h b/TAO/TAO_IDL/include/ast_generator.h index ea333341f8bac..ea310c22b79de 100644 --- a/TAO/TAO_IDL/include/ast_generator.h +++ b/TAO/TAO_IDL/include/ast_generator.h @@ -330,7 +330,7 @@ class TAO_IDL_FE_Export AST_Generator bool is_abstract); // Create a node representing a map type. - virtual AST_Map *create_map(AST_Expression *v, + virtual AST_Map *create_map (AST_Expression *v, AST_Type *key_bt, AST_Type *val_bt, UTL_ScopedName *n, From 300a3a128675e3afd251c0599866e2478b8f3735 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 13 Oct 2022 17:24:01 -0400 Subject: [PATCH 081/445] Added tests/IDLv4 to github actions --- .github/workflows/linux.yml | 7 +++++++ .github/workflows/macosx.yml | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 4f3b2fb4638d5..aab5363131f2a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -239,6 +239,10 @@ jobs: run: | perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4 shell: pwsh + - name: Run mwc.pl on $(TAO_ROOT)/tests/IDLv4 + run: | + perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDLv4 -workers 4 + shell: pwsh - name: Build TAO_ACE workspace run: | make -j 6 -C ${env:TAO_ROOT} @@ -252,6 +256,9 @@ jobs: make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test shell: pwsh if: matrix.feature != 'CORBA/e micro' + - name: Build TAO/tests/IDLv4 project + run: | + make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 if: matrix.feature == 'CodeQL' diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 4227b0a65e233..365dec69a0780 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -61,6 +61,10 @@ jobs: run: | perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4 shell: pwsh + - name: Run mwc.pl on $(TAO_ROOT)/tests/IDLv4 + run: | + perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDLv4 -workers 4 + shell: pwsh - name: Build TAO_ACE project run: | make -j 6 -C ${env:TAO_ROOT} @@ -73,3 +77,8 @@ jobs: run: | make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test shell: pwsh + - name: Build TAO/tests/IDLv4/maps project + run: | + make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4 + shell: pwsh + From f3aff9b252cc9117f4da53f5ea661829f1795efd Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 13 Oct 2022 18:31:53 -0400 Subject: [PATCH 082/445] added shell to CI --- .github/workflows/linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 98e2a5b34fec5..00aac2dcdf22f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -265,6 +265,7 @@ jobs: - name: Build TAO/tests/IDLv4 project run: | make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4 + shell: pwsh - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 if: matrix.feature == 'CodeQL' From 6ceaada7c54077c188b207ee69fe54906e3010b1 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Thu, 13 Oct 2022 18:50:35 -0400 Subject: [PATCH 083/445] cleaned up some generated code --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 40 ------------------------ 2 files changed, 1 insertion(+), 41 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 152f2dbe18e8b..f4aeaf75c5dc4 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -45,7 +45,7 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << be_nl_2; - *os << "typedef std::map< "; + *os << "typedef std::map<"; be_type* kt = node->key_type(); be_type* vt = node->value_type(); diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index d575b530f602e..6da71ee89543a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -22,45 +22,5 @@ be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) int be_visitor_map_cs::visit_map (be_map *node) { - if (node->defined_in () == nullptr) - { - // The node is a nested map, and has had no scope defined. - node->set_defined_in (DeclAsScope (this->ctx_->scope ()->decl ())); - } - - // First create a name for ourselves. - if (node->create_name (this->ctx_->tdef ()) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_map_ch::") - ACE_TEXT ("visit_map - ") - ACE_TEXT ("failed creating name\n")), - -1); - } - - TAO_OutStream *os = this->ctx_->stream (); - - *os << be_nl_2; - - TAO_INSERT_COMMENT (os); - - os->gen_ifdef_macro (node->flat_name ()); - - *os << be_nl_2; - - *os << "typedef std::map< "; - - be_type* kt = node->key_type(); - be_type* vt = node->value_type(); - - *os << kt->full_name (); - *os << ", "; - *os << vt->full_name (); - - *os << "> " << node->local_name () << ";"; - - os->gen_endif (); - node->cli_hdr_gen (true); - return 0; } From 4d1b3d3561b27ba53fd494bcbd2cda195939cda9 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Tue, 18 Oct 2022 00:06:29 -0400 Subject: [PATCH 084/445] fixed comments, removed unused --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 2 +- TAO/TAO_IDL/include/ast_map.h | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index c919eb8b76c47..6007fef759b3a 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -23,7 +23,7 @@ be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs (be_visitor_context *ctx) } int -be_visitor_map_cdr_op_cs::visit_map (be_map *node) +be_visitor_map_cdr_op_cs::visit_map (be_map *) { return 0; } diff --git a/TAO/TAO_IDL/include/ast_map.h b/TAO/TAO_IDL/include/ast_map.h index 0e0f1934a0447..c7791eea23268 100644 --- a/TAO/TAO_IDL/include/ast_map.h +++ b/TAO/TAO_IDL/include/ast_map.h @@ -148,10 +148,15 @@ class TAO_IDL_FE_Export AST_Map : public virtual AST_ConcreteType AST_Expression *pd_max_size; // Maximum map size. + /** + * Key type for map + **/ AST_Type *key_pd_type; - // map key type. + + /** + * Value type for map + **/ AST_Type *value_pd_type; - // map value type. bool unbounded_; // Whether we are bounded or unbounded. From bdc650de2ff16972c9b0e9b3e64280f224df08b0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 00:53:58 -0400 Subject: [PATCH 085/445] Almost working stream operators --- TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp | 23 +++++++ TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp | 4 +- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 65 +++++++++++++++++- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 68 ++++++++++++++++++- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 25 ++++++- 5 files changed, 178 insertions(+), 7 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp index 7d2ea51517d6c..c24decb4ef284 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_ch.cpp @@ -15,6 +15,7 @@ #include "be_visitor_sequence/cdr_op_ch.h" #include "be_visitor_structure/structure.h" #include "be_visitor_structure/cdr_op_ch.h" +#include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_union/union.h" #include "be_visitor_union/cdr_op_ch.h" @@ -150,6 +151,28 @@ be_visitor_field_cdr_op_ch::visit_sequence (be_sequence *node) int be_visitor_field_cdr_op_ch::visit_map (be_map *node) { + // If not a typedef and we are defined in the use scope, we must be defined. + if (!this->ctx_->alias () // not a typedef + && node->is_child (this->ctx_->scope ()->decl ())) + { + // Instantiate a visitor context with a copy of our context. This info + // will be modified based on what type of node we are visiting. + be_visitor_context ctx (*this->ctx_); + ctx.node (node); + + // First generate the map declaration. + be_visitor_map_cdr_op_ch visitor (&ctx); + + if (node->accept (&visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "(%N:%l) be_visitor_field_cdr_op_ch::" + "visit_map - " + "codegen failed\n" + ), -1); + } + } + return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp index 08bd44a8f5b4b..f731c29339958 100644 --- a/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp @@ -680,11 +680,11 @@ be_visitor_field_cdr_op_cs::visit_map (be_map *node) switch (this->ctx_->sub_state ()) { case TAO_CodeGen::TAO_CDR_INPUT: - *os << "true"; + *os << "(strm >> _tao_aggregate." << f->local_name () << ")"; return 0; case TAO_CodeGen::TAO_CDR_OUTPUT: - *os << "true"; + *os << "(strm << _tao_aggregate." << f->local_name () << ")"; return 0; case TAO_CodeGen::TAO_CDR_SCOPE: diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 605afdeb969f3..19ff452f936fb 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -22,7 +22,70 @@ be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( } int -be_visitor_map_cdr_op_ch::visit_map (be_map *) +be_visitor_map_cdr_op_ch::visit_map (be_map *node) { + be_type *key_type = dynamic_cast (node->key_type ()); + + // If our base type is an anonymous sequence, generate code for it here. + if (key_type->node_type () == AST_Decl::NT_map) + { + if (key_type->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + "be_visitor_map_cdr_op_ch::visit_map -" + "codegen for nested anonymous map failed\n"), + -1); + } + } + + be_type *value_type = dynamic_cast (node->value_type ()); + + // If our base type is an anonymous map, generate code for it here. + if (value_type->node_type () == AST_Decl::NT_map) + { + if (value_type->accept (this) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + "be_visitor_map_cdr_op_ch::visit_map -" + "codegen for nested anonymous map failed\n"), + -1); + } + } + + TAO_OutStream *os = this->ctx_->stream (); + + be_type *bt = dynamic_cast (node); + be_typedef *tdef = dynamic_cast (bt); + + if (tdef == nullptr) + { + *os << "\n\n#if !defined _TAO_CDR_OP_" + << node->flat_name () << "_H_" + << "\n#define _TAO_CDR_OP_" << node->flat_name () << "_H_"; + } + + *os << be_nl_2 + << be_global->stub_export_macro () << " ::CORBA::Boolean" + << " operator<< (" << be_idt << be_idt_nl + << "TAO_OutputCDR &strm," << be_nl + << "const std::map<" << key_type->name() << ", " << value_type->name() << ">"; + + *os << " &_tao_map);" << be_uidt << be_uidt_nl; + + *os << be_global->stub_export_macro () << " ::CORBA::Boolean" + << " operator>> (" << be_idt << be_idt_nl + << "TAO_InputCDR &strm," << be_nl + << "std::map<" << key_type->name() << ", " << value_type->name() << ">"; + + *os << " &_tao_map);" << be_uidt << be_uidt; + + if (tdef == nullptr) + { + *os << "\n\n#endif /* _TAO_CDR_OP_" + << node->flat_name () << "_H_ */"; + } + + node->cli_hdr_cdr_op_gen (true); + return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index 6007fef759b3a..f7ec5b7de43f2 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -23,8 +23,72 @@ be_visitor_map_cdr_op_cs::be_visitor_map_cdr_op_cs (be_visitor_context *ctx) } int -be_visitor_map_cdr_op_cs::visit_map (be_map *) -{ +be_visitor_map_cdr_op_cs::visit_map (be_map *node) +{ + if (this->ctx_->alias ()) + { + return this->visit_node(node); + } + + if (node->cli_stub_cdr_op_gen() + || node->imported() + || node->is_local()) + { + return 0; + } + + TAO_OutStream *os = this->ctx_->stream (); + + be_type *key_type = dynamic_cast (node->key_type ()); + + be_type *value_type = dynamic_cast (node->value_type ()); + + TAO_INSERT_COMMENT (os); + + *os << "#if !defined _TAO_CDR_OP_" + << node->flat_name () << "_CPP_" << be_nl + << "#define _TAO_CDR_OP_" << node->flat_name () << "_CPP_" + << be_nl; + + *os << be_global->core_versioning_begin () << be_nl; + + // Set the sub state as generating code for the output operator. + this->ctx_->sub_state (TAO_CodeGen::TAO_CDR_OUTPUT); + + *os << "::CORBA::Boolean operator<< (" << be_idt_nl + << "TAO_OutputCDR &," << be_nl + << "const std::map<" << key_type->full_name () + << ", " << value_type->full_name() + << "> &)" + << be_uidt_nl + << "{" << be_idt_nl + << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl + << "return false;" << be_uidt_nl + << "}" << be_nl_2; + + *os << "::CORBA::Boolean operator>> (" << be_idt_nl + << "TAO_InputCDR &," << be_nl + << "std::map<" << key_type->full_name () + << ", " << value_type->full_name() + << "> &)" + << be_uidt_nl + << "{" << be_idt_nl + << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl + << "return false;" << be_uidt_nl + << "}" << be_nl_2; + + if (be_global->gen_ostream_operators ()) + { + node->gen_ostream_operator (os, false); + } + + *os << be_nl << be_global->core_versioning_end (); + + *os << be_nl + << "#endif /* _TAO_CDR_OP_" + << node->flat_name () << "_CPP_ */"; + + node->cli_stub_cdr_op_gen (true); return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index f4aeaf75c5dc4..a927059423d67 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -50,9 +50,30 @@ int be_visitor_map_ch::visit_map (be_map *node) be_type* kt = node->key_type(); be_type* vt = node->value_type(); - *os << kt->full_name (); + // Generate the base type for the buffer. + be_visitor_context ctx (*this->ctx_); + ctx.state (TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH); + be_visitor_map_buffer_type bt_visitor (&ctx); + + if (kt->accept (&bt_visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_sequence_ch::") + ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("buffer type visit failed\n")), + -1); + } + *os << ", "; - *os << vt->full_name (); + + if (vt->accept (&bt_visitor) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_sequence_ch::") + ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("buffer type visit failed\n")), + -1); + } *os << "> " << node->local_name () << ";"; From 6f8fce1c507d3ccb179c60d07c3e9b42961f447a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 13:01:05 -0400 Subject: [PATCH 086/445] removed support for bounded maps This was causing issues with the code generation. A bounded map isn't supported with std::map --- TAO/TAO_IDL/fe/idl.tab.cpp | 3967 ++++++++++++++++++------------------ TAO/TAO_IDL/fe/idl.ypp | 64 - TAO/TAO_IDL/fe/idl.yy.cpp | 82 +- 3 files changed, 1988 insertions(+), 2125 deletions(-) diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 85d2e3b1fae26..ea575ee17f312 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -147,8 +147,8 @@ #include void tao_yyerror (const char *); -int tao_yylex (); -extern "C" int tao_yywrap (); +int tao_yylex (void); +extern "C" int tao_yywrap (void); extern char tao_yytext[]; extern int tao_yyleng; @@ -517,206 +517,205 @@ enum yysymbol_kind_t YYSYMBOL_324_90 = 324, /* $@90 */ YYSYMBOL_enumerator = 325, /* enumerator */ YYSYMBOL_map_type_spec = 326, /* map_type_spec */ - YYSYMBOL_327_91 = 327, /* $@91 */ - YYSYMBOL_328_92 = 328, /* $@92 */ - YYSYMBOL_map_head = 329, /* map_head */ - YYSYMBOL_330_93 = 330, /* $@93 */ - YYSYMBOL_331_94 = 331, /* $@94 */ - YYSYMBOL_sequence_type_spec = 332, /* sequence_type_spec */ - YYSYMBOL_333_95 = 333, /* $@95 */ - YYSYMBOL_334_96 = 334, /* $@96 */ - YYSYMBOL_seq_head = 335, /* seq_head */ - YYSYMBOL_336_97 = 336, /* $@97 */ - YYSYMBOL_337_98 = 337, /* $@98 */ - YYSYMBOL_fixed_type_spec = 338, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 339, /* string_type_spec */ - YYSYMBOL_340_99 = 340, /* $@99 */ - YYSYMBOL_341_100 = 341, /* $@100 */ - YYSYMBOL_string_head = 342, /* string_head */ - YYSYMBOL_wstring_type_spec = 343, /* wstring_type_spec */ - YYSYMBOL_344_101 = 344, /* $@101 */ - YYSYMBOL_345_102 = 345, /* $@102 */ - YYSYMBOL_wstring_head = 346, /* wstring_head */ - YYSYMBOL_array_declarator = 347, /* array_declarator */ - YYSYMBOL_348_103 = 348, /* $@103 */ - YYSYMBOL_at_least_one_array_dim = 349, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 350, /* array_dims */ - YYSYMBOL_array_dim = 351, /* array_dim */ - YYSYMBOL_352_104 = 352, /* $@104 */ - YYSYMBOL_353_105 = 353, /* $@105 */ - YYSYMBOL_attribute = 354, /* attribute */ - YYSYMBOL_attribute_readonly = 355, /* attribute_readonly */ + YYSYMBOL_map_head = 327, /* map_head */ + YYSYMBOL_328_91 = 328, /* $@91 */ + YYSYMBOL_329_92 = 329, /* $@92 */ + YYSYMBOL_sequence_type_spec = 330, /* sequence_type_spec */ + YYSYMBOL_331_93 = 331, /* $@93 */ + YYSYMBOL_332_94 = 332, /* $@94 */ + YYSYMBOL_seq_head = 333, /* seq_head */ + YYSYMBOL_334_95 = 334, /* $@95 */ + YYSYMBOL_335_96 = 335, /* $@96 */ + YYSYMBOL_fixed_type_spec = 336, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 337, /* string_type_spec */ + YYSYMBOL_338_97 = 338, /* $@97 */ + YYSYMBOL_339_98 = 339, /* $@98 */ + YYSYMBOL_string_head = 340, /* string_head */ + YYSYMBOL_wstring_type_spec = 341, /* wstring_type_spec */ + YYSYMBOL_342_99 = 342, /* $@99 */ + YYSYMBOL_343_100 = 343, /* $@100 */ + YYSYMBOL_wstring_head = 344, /* wstring_head */ + YYSYMBOL_array_declarator = 345, /* array_declarator */ + YYSYMBOL_346_101 = 346, /* $@101 */ + YYSYMBOL_at_least_one_array_dim = 347, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 348, /* array_dims */ + YYSYMBOL_array_dim = 349, /* array_dim */ + YYSYMBOL_350_102 = 350, /* $@102 */ + YYSYMBOL_351_103 = 351, /* $@103 */ + YYSYMBOL_attribute = 352, /* attribute */ + YYSYMBOL_attribute_readonly = 353, /* attribute_readonly */ + YYSYMBOL_354_104 = 354, /* $@104 */ + YYSYMBOL_355_105 = 355, /* $@105 */ YYSYMBOL_356_106 = 356, /* $@106 */ YYSYMBOL_357_107 = 357, /* $@107 */ - YYSYMBOL_358_108 = 358, /* $@108 */ - YYSYMBOL_359_109 = 359, /* $@109 */ - YYSYMBOL_attribute_readwrite = 360, /* attribute_readwrite */ + YYSYMBOL_attribute_readwrite = 358, /* attribute_readwrite */ + YYSYMBOL_359_108 = 359, /* $@108 */ + YYSYMBOL_360_109 = 360, /* $@109 */ YYSYMBOL_361_110 = 361, /* $@110 */ YYSYMBOL_362_111 = 362, /* $@111 */ - YYSYMBOL_363_112 = 363, /* $@112 */ - YYSYMBOL_364_113 = 364, /* $@113 */ - YYSYMBOL_exception = 365, /* exception */ + YYSYMBOL_exception = 363, /* exception */ + YYSYMBOL_364_112 = 364, /* $@112 */ + YYSYMBOL_365_113 = 365, /* @113 */ YYSYMBOL_366_114 = 366, /* $@114 */ - YYSYMBOL_367_115 = 367, /* @115 */ - YYSYMBOL_368_116 = 368, /* $@116 */ - YYSYMBOL_369_117 = 369, /* $@117 */ - YYSYMBOL_operation = 370, /* operation */ + YYSYMBOL_367_115 = 367, /* $@115 */ + YYSYMBOL_operation = 368, /* operation */ + YYSYMBOL_369_116 = 369, /* $@116 */ + YYSYMBOL_370_117 = 370, /* $@117 */ YYSYMBOL_371_118 = 371, /* $@118 */ YYSYMBOL_372_119 = 372, /* $@119 */ - YYSYMBOL_373_120 = 373, /* $@120 */ - YYSYMBOL_374_121 = 374, /* $@121 */ - YYSYMBOL_opt_op_attribute = 375, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 376, /* op_type_spec */ - YYSYMBOL_init_decl = 377, /* init_decl */ + YYSYMBOL_opt_op_attribute = 373, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 374, /* op_type_spec */ + YYSYMBOL_init_decl = 375, /* init_decl */ + YYSYMBOL_376_120 = 376, /* $@120 */ + YYSYMBOL_377_121 = 377, /* @121 */ YYSYMBOL_378_122 = 378, /* $@122 */ - YYSYMBOL_379_123 = 379, /* @123 */ - YYSYMBOL_380_124 = 380, /* $@124 */ - YYSYMBOL_init_parameter_list = 381, /* init_parameter_list */ - YYSYMBOL_382_125 = 382, /* $@125 */ - YYSYMBOL_383_126 = 383, /* $@126 */ - YYSYMBOL_at_least_one_in_parameter = 384, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 385, /* in_parameters */ - YYSYMBOL_386_127 = 386, /* $@127 */ - YYSYMBOL_in_parameter = 387, /* in_parameter */ - YYSYMBOL_388_128 = 388, /* $@128 */ - YYSYMBOL_389_129 = 389, /* $@129 */ - YYSYMBOL_parameter_list = 390, /* parameter_list */ - YYSYMBOL_391_130 = 391, /* $@130 */ - YYSYMBOL_392_131 = 392, /* $@131 */ - YYSYMBOL_at_least_one_parameter = 393, /* at_least_one_parameter */ - YYSYMBOL_parameters = 394, /* parameters */ - YYSYMBOL_395_132 = 395, /* $@132 */ - YYSYMBOL_parameter = 396, /* parameter */ - YYSYMBOL_397_133 = 397, /* $@133 */ - YYSYMBOL_398_134 = 398, /* $@134 */ - YYSYMBOL_param_type_spec = 399, /* param_type_spec */ - YYSYMBOL_direction = 400, /* direction */ - YYSYMBOL_opt_raises = 401, /* opt_raises */ - YYSYMBOL_402_135 = 402, /* $@135 */ - YYSYMBOL_403_136 = 403, /* $@136 */ - YYSYMBOL_opt_getraises = 404, /* opt_getraises */ - YYSYMBOL_405_137 = 405, /* $@137 */ - YYSYMBOL_406_138 = 406, /* $@138 */ - YYSYMBOL_opt_setraises = 407, /* opt_setraises */ - YYSYMBOL_408_139 = 408, /* $@139 */ - YYSYMBOL_409_140 = 409, /* $@140 */ - YYSYMBOL_opt_context = 410, /* opt_context */ - YYSYMBOL_411_141 = 411, /* $@141 */ - YYSYMBOL_412_142 = 412, /* $@142 */ - YYSYMBOL_at_least_one_string_literal = 413, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 414, /* string_literals */ - YYSYMBOL_415_143 = 415, /* $@143 */ - YYSYMBOL_typeid_dcl = 416, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 417, /* typeprefix_dcl */ - YYSYMBOL_component = 418, /* component */ - YYSYMBOL_component_forward_decl = 419, /* component_forward_decl */ - YYSYMBOL_component_decl = 420, /* component_decl */ - YYSYMBOL_421_144 = 421, /* @144 */ - YYSYMBOL_422_145 = 422, /* $@145 */ - YYSYMBOL_423_146 = 423, /* $@146 */ - YYSYMBOL_component_header = 424, /* component_header */ - YYSYMBOL_425_147 = 425, /* $@147 */ - YYSYMBOL_426_148 = 426, /* $@148 */ - YYSYMBOL_component_inheritance_spec = 427, /* component_inheritance_spec */ - YYSYMBOL_428_149 = 428, /* $@149 */ - YYSYMBOL_component_exports = 429, /* component_exports */ - YYSYMBOL_component_export = 430, /* component_export */ + YYSYMBOL_init_parameter_list = 379, /* init_parameter_list */ + YYSYMBOL_380_123 = 380, /* $@123 */ + YYSYMBOL_381_124 = 381, /* $@124 */ + YYSYMBOL_at_least_one_in_parameter = 382, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 383, /* in_parameters */ + YYSYMBOL_384_125 = 384, /* $@125 */ + YYSYMBOL_in_parameter = 385, /* in_parameter */ + YYSYMBOL_386_126 = 386, /* $@126 */ + YYSYMBOL_387_127 = 387, /* $@127 */ + YYSYMBOL_parameter_list = 388, /* parameter_list */ + YYSYMBOL_389_128 = 389, /* $@128 */ + YYSYMBOL_390_129 = 390, /* $@129 */ + YYSYMBOL_at_least_one_parameter = 391, /* at_least_one_parameter */ + YYSYMBOL_parameters = 392, /* parameters */ + YYSYMBOL_393_130 = 393, /* $@130 */ + YYSYMBOL_parameter = 394, /* parameter */ + YYSYMBOL_395_131 = 395, /* $@131 */ + YYSYMBOL_396_132 = 396, /* $@132 */ + YYSYMBOL_param_type_spec = 397, /* param_type_spec */ + YYSYMBOL_direction = 398, /* direction */ + YYSYMBOL_opt_raises = 399, /* opt_raises */ + YYSYMBOL_400_133 = 400, /* $@133 */ + YYSYMBOL_401_134 = 401, /* $@134 */ + YYSYMBOL_opt_getraises = 402, /* opt_getraises */ + YYSYMBOL_403_135 = 403, /* $@135 */ + YYSYMBOL_404_136 = 404, /* $@136 */ + YYSYMBOL_opt_setraises = 405, /* opt_setraises */ + YYSYMBOL_406_137 = 406, /* $@137 */ + YYSYMBOL_407_138 = 407, /* $@138 */ + YYSYMBOL_opt_context = 408, /* opt_context */ + YYSYMBOL_409_139 = 409, /* $@139 */ + YYSYMBOL_410_140 = 410, /* $@140 */ + YYSYMBOL_at_least_one_string_literal = 411, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 412, /* string_literals */ + YYSYMBOL_413_141 = 413, /* $@141 */ + YYSYMBOL_typeid_dcl = 414, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 415, /* typeprefix_dcl */ + YYSYMBOL_component = 416, /* component */ + YYSYMBOL_component_forward_decl = 417, /* component_forward_decl */ + YYSYMBOL_component_decl = 418, /* component_decl */ + YYSYMBOL_419_142 = 419, /* @142 */ + YYSYMBOL_420_143 = 420, /* $@143 */ + YYSYMBOL_421_144 = 421, /* $@144 */ + YYSYMBOL_component_header = 422, /* component_header */ + YYSYMBOL_423_145 = 423, /* $@145 */ + YYSYMBOL_424_146 = 424, /* $@146 */ + YYSYMBOL_component_inheritance_spec = 425, /* component_inheritance_spec */ + YYSYMBOL_426_147 = 426, /* $@147 */ + YYSYMBOL_component_exports = 427, /* component_exports */ + YYSYMBOL_component_export = 428, /* component_export */ + YYSYMBOL_429_148 = 429, /* $@148 */ + YYSYMBOL_430_149 = 430, /* $@149 */ YYSYMBOL_431_150 = 431, /* $@150 */ YYSYMBOL_432_151 = 432, /* $@151 */ YYSYMBOL_433_152 = 433, /* $@152 */ YYSYMBOL_434_153 = 434, /* $@153 */ YYSYMBOL_435_154 = 435, /* $@154 */ - YYSYMBOL_436_155 = 436, /* $@155 */ - YYSYMBOL_437_156 = 437, /* $@156 */ - YYSYMBOL_provides_decl = 438, /* provides_decl */ - YYSYMBOL_interface_type = 439, /* interface_type */ - YYSYMBOL_uses_decl = 440, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 441, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 442, /* opt_multiple */ - YYSYMBOL_emits_decl = 443, /* emits_decl */ - YYSYMBOL_publishes_decl = 444, /* publishes_decl */ - YYSYMBOL_consumes_decl = 445, /* consumes_decl */ - YYSYMBOL_home_decl = 446, /* home_decl */ - YYSYMBOL_447_157 = 447, /* $@157 */ - YYSYMBOL_home_header = 448, /* home_header */ + YYSYMBOL_provides_decl = 436, /* provides_decl */ + YYSYMBOL_interface_type = 437, /* interface_type */ + YYSYMBOL_uses_decl = 438, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 439, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 440, /* opt_multiple */ + YYSYMBOL_emits_decl = 441, /* emits_decl */ + YYSYMBOL_publishes_decl = 442, /* publishes_decl */ + YYSYMBOL_consumes_decl = 443, /* consumes_decl */ + YYSYMBOL_home_decl = 444, /* home_decl */ + YYSYMBOL_445_155 = 445, /* $@155 */ + YYSYMBOL_home_header = 446, /* home_header */ + YYSYMBOL_447_156 = 447, /* $@156 */ + YYSYMBOL_448_157 = 448, /* $@157 */ YYSYMBOL_449_158 = 449, /* $@158 */ YYSYMBOL_450_159 = 450, /* $@159 */ YYSYMBOL_451_160 = 451, /* $@160 */ YYSYMBOL_452_161 = 452, /* $@161 */ - YYSYMBOL_453_162 = 453, /* $@162 */ - YYSYMBOL_454_163 = 454, /* $@163 */ - YYSYMBOL_home_inheritance_spec = 455, /* home_inheritance_spec */ - YYSYMBOL_456_164 = 456, /* $@164 */ - YYSYMBOL_primary_key_spec = 457, /* primary_key_spec */ - YYSYMBOL_home_body = 458, /* home_body */ - YYSYMBOL_459_165 = 459, /* $@165 */ - YYSYMBOL_460_166 = 460, /* $@166 */ - YYSYMBOL_home_exports = 461, /* home_exports */ - YYSYMBOL_home_export = 462, /* home_export */ - YYSYMBOL_463_167 = 463, /* $@167 */ - YYSYMBOL_464_168 = 464, /* $@168 */ - YYSYMBOL_factory_decl = 465, /* factory_decl */ - YYSYMBOL_466_169 = 466, /* $@169 */ - YYSYMBOL_467_170 = 467, /* $@170 */ - YYSYMBOL_finder_decl = 468, /* finder_decl */ - YYSYMBOL_469_171 = 469, /* $@171 */ - YYSYMBOL_470_172 = 470, /* $@172 */ - YYSYMBOL_event = 471, /* event */ - YYSYMBOL_event_forward_decl = 472, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 473, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 474, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 475, /* event_abs_decl */ + YYSYMBOL_home_inheritance_spec = 453, /* home_inheritance_spec */ + YYSYMBOL_454_162 = 454, /* $@162 */ + YYSYMBOL_primary_key_spec = 455, /* primary_key_spec */ + YYSYMBOL_home_body = 456, /* home_body */ + YYSYMBOL_457_163 = 457, /* $@163 */ + YYSYMBOL_458_164 = 458, /* $@164 */ + YYSYMBOL_home_exports = 459, /* home_exports */ + YYSYMBOL_home_export = 460, /* home_export */ + YYSYMBOL_461_165 = 461, /* $@165 */ + YYSYMBOL_462_166 = 462, /* $@166 */ + YYSYMBOL_factory_decl = 463, /* factory_decl */ + YYSYMBOL_464_167 = 464, /* $@167 */ + YYSYMBOL_465_168 = 465, /* $@168 */ + YYSYMBOL_finder_decl = 466, /* finder_decl */ + YYSYMBOL_467_169 = 467, /* $@169 */ + YYSYMBOL_468_170 = 468, /* $@170 */ + YYSYMBOL_event = 469, /* event */ + YYSYMBOL_event_forward_decl = 470, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 471, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 472, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 473, /* event_abs_decl */ + YYSYMBOL_474_171 = 474, /* $@171 */ + YYSYMBOL_475_172 = 475, /* $@172 */ YYSYMBOL_476_173 = 476, /* $@173 */ - YYSYMBOL_477_174 = 477, /* $@174 */ - YYSYMBOL_478_175 = 478, /* $@175 */ - YYSYMBOL_event_abs_header = 479, /* event_abs_header */ - YYSYMBOL_event_custom_header = 480, /* event_custom_header */ - YYSYMBOL_event_plain_header = 481, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 482, /* event_rest_of_header */ - YYSYMBOL_483_176 = 483, /* $@176 */ - YYSYMBOL_event_decl = 484, /* event_decl */ - YYSYMBOL_485_177 = 485, /* @177 */ - YYSYMBOL_486_178 = 486, /* $@178 */ - YYSYMBOL_487_179 = 487, /* $@179 */ - YYSYMBOL_event_header = 488, /* event_header */ - YYSYMBOL_formal_parameter_type = 489, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 490, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 491, /* formal_parameters */ - YYSYMBOL_formal_parameter = 492, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 493, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 494, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 495, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 496, /* porttype_decl */ + YYSYMBOL_event_abs_header = 477, /* event_abs_header */ + YYSYMBOL_event_custom_header = 478, /* event_custom_header */ + YYSYMBOL_event_plain_header = 479, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 480, /* event_rest_of_header */ + YYSYMBOL_481_174 = 481, /* $@174 */ + YYSYMBOL_event_decl = 482, /* event_decl */ + YYSYMBOL_483_175 = 483, /* @175 */ + YYSYMBOL_484_176 = 484, /* $@176 */ + YYSYMBOL_485_177 = 485, /* $@177 */ + YYSYMBOL_event_header = 486, /* event_header */ + YYSYMBOL_formal_parameter_type = 487, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 488, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 489, /* formal_parameters */ + YYSYMBOL_formal_parameter = 490, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 491, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 492, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 493, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 494, /* porttype_decl */ + YYSYMBOL_495_178 = 495, /* $@178 */ + YYSYMBOL_496_179 = 496, /* @179 */ YYSYMBOL_497_180 = 497, /* $@180 */ - YYSYMBOL_498_181 = 498, /* @181 */ - YYSYMBOL_499_182 = 499, /* $@182 */ - YYSYMBOL_500_183 = 500, /* $@183 */ - YYSYMBOL_at_least_one_port_export = 501, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 502, /* port_exports */ - YYSYMBOL_port_export = 503, /* port_export */ - YYSYMBOL_504_184 = 504, /* $@184 */ - YYSYMBOL_extended_port_decl = 505, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 506, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 507, /* actual_parameters */ - YYSYMBOL_actual_parameter = 508, /* actual_parameter */ - YYSYMBOL_connector_decl = 509, /* connector_decl */ - YYSYMBOL_connector_header = 510, /* connector_header */ - YYSYMBOL_511_185 = 511, /* $@185 */ - YYSYMBOL_512_186 = 512, /* $@186 */ - YYSYMBOL_connector_body = 513, /* connector_body */ - YYSYMBOL_514_187 = 514, /* $@187 */ - YYSYMBOL_515_188 = 515, /* $@188 */ - YYSYMBOL_connector_exports = 516, /* connector_exports */ - YYSYMBOL_connector_export = 517, /* connector_export */ + YYSYMBOL_498_181 = 498, /* $@181 */ + YYSYMBOL_at_least_one_port_export = 499, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 500, /* port_exports */ + YYSYMBOL_port_export = 501, /* port_export */ + YYSYMBOL_502_182 = 502, /* $@182 */ + YYSYMBOL_extended_port_decl = 503, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 504, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 505, /* actual_parameters */ + YYSYMBOL_actual_parameter = 506, /* actual_parameter */ + YYSYMBOL_connector_decl = 507, /* connector_decl */ + YYSYMBOL_connector_header = 508, /* connector_header */ + YYSYMBOL_509_183 = 509, /* $@183 */ + YYSYMBOL_510_184 = 510, /* $@184 */ + YYSYMBOL_connector_body = 511, /* connector_body */ + YYSYMBOL_512_185 = 512, /* $@185 */ + YYSYMBOL_513_186 = 513, /* $@186 */ + YYSYMBOL_connector_exports = 514, /* connector_exports */ + YYSYMBOL_connector_export = 515, /* connector_export */ + YYSYMBOL_516_187 = 516, /* $@187 */ + YYSYMBOL_517_188 = 517, /* $@188 */ YYSYMBOL_518_189 = 518, /* $@189 */ - YYSYMBOL_519_190 = 519, /* $@190 */ - YYSYMBOL_520_191 = 520, /* $@191 */ - YYSYMBOL_521_192 = 521 /* $@192 */ + YYSYMBOL_519_190 = 519 /* $@190 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; + #ifdef short # undef short #endif @@ -1038,16 +1037,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2197 +#define YYLAST 2130 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 118 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 404 +#define YYNNTS 402 /* YYNRULES -- Number of rules. */ -#define YYNRULES 616 +#define YYNRULES 613 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 906 +#define YYNSTATES 901 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 351 @@ -1141,33 +1140,33 @@ static const yytype_int16 yyrline[] = 3432, 3441, 3448, 3449, 3558, 3561, 3562, 3567, 3571, 3566, 3607, 3606, 3618, 3628, 3646, 3654, 3653, 3667, 3671, 3666, 3687, 3686, 3736, 3761, 3785, 3789, 3820, 3824, 3784, 3848, - 3853, 3851, 3857, 3861, 3901, 3905, 3899, 3963, 4027, 4037, - 4026, 4062, 4066, 4060, 4150, 4217, 4226, 4216, 4240, 4250, - 4254, 4248, 4296, 4322, 4331, 4335, 4329, 4377, 4403, 4411, - 4410, 4453, 4463, 4481, 4489, 4493, 4488, 4553, 4554, 4559, - 4563, 4567, 4571, 4558, 4630, 4634, 4638, 4642, 4629, 4710, - 4714, 4746, 4750, 4709, 4767, 4771, 4832, 4836, 4766, 4873, - 4878, 4883, 4890, 4891, 4902, 4907, 4950, 4901, 4972, 4971, - 4980, 4979, 4990, 4995, 4993, 4999, 5004, 5008, 5003, 5047, - 5046, 5055, 5054, 5065, 5070, 5068, 5074, 5079, 5083, 5078, - 5128, 5135, 5136, 5137, 5292, 5296, 5300, 5308, 5312, 5307, - 5321, 5329, 5333, 5328, 5342, 5350, 5354, 5349, 5363, 5371, - 5375, 5370, 5384, 5391, 5403, 5401, 5424, 5431, 5461, 5500, - 5501, 5505, 5536, 5578, 5582, 5535, 5601, 5605, 5599, 5646, - 5645, 5653, 5660, 5675, 5676, 5681, 5680, 5690, 5689, 5699, - 5698, 5708, 5707, 5717, 5716, 5726, 5725, 5735, 5734, 5745, - 5838, 5844, 5869, 5976, 5985, 5989, 5996, 6071, 6143, 6219, - 6218, 6268, 6272, 6276, 6280, 6284, 6288, 6267, 6341, 6340, - 6348, 6355, 6360, 6368, 6372, 6367, 6382, 6383, 6387, 6389, - 6388, 6397, 6396, 6409, 6432, 6407, 6458, 6485, 6456, 6509, - 6510, 6511, 6515, 6516, 6520, 6549, 6581, 6625, 6629, 6579, - 6646, 6655, 6673, 6684, 6683, 6721, 6772, 6776, 6719, 6793, - 6797, 6804, 6808, 6812, 6816, 6820, 6824, 6828, 6832, 6836, - 6840, 6844, 6852, 6883, 6896, 6903, 6928, 6946, 6953, 6968, - 6975, 6985, 6989, 7008, 7016, 6984, 7031, 7046, 7050, 7051, - 7055, 7056, 7058, 7057, 7068, 7135, 7183, 7199, 7212, 7219, - 7278, 7286, 7290, 7285, 7351, 7355, 7350, 7368, 7369, 7374, - 7373, 7382, 7381, 7390, 7389, 7398, 7397 + 3853, 3851, 3857, 3861, 3899, 3963, 3973, 3962, 3998, 4002, + 3996, 4086, 4153, 4162, 4152, 4176, 4186, 4190, 4184, 4232, + 4258, 4267, 4271, 4265, 4313, 4339, 4347, 4346, 4389, 4399, + 4417, 4425, 4429, 4424, 4489, 4490, 4495, 4499, 4503, 4507, + 4494, 4566, 4570, 4574, 4578, 4565, 4646, 4650, 4682, 4686, + 4645, 4703, 4707, 4768, 4772, 4702, 4809, 4814, 4819, 4826, + 4827, 4838, 4843, 4886, 4837, 4908, 4907, 4916, 4915, 4926, + 4931, 4929, 4935, 4940, 4944, 4939, 4983, 4982, 4991, 4990, + 5001, 5006, 5004, 5010, 5015, 5019, 5014, 5064, 5071, 5072, + 5073, 5228, 5232, 5236, 5244, 5248, 5243, 5257, 5265, 5269, + 5264, 5278, 5286, 5290, 5285, 5299, 5307, 5311, 5306, 5320, + 5327, 5339, 5337, 5360, 5367, 5397, 5436, 5437, 5441, 5472, + 5514, 5518, 5471, 5537, 5541, 5535, 5582, 5581, 5589, 5596, + 5611, 5612, 5617, 5616, 5626, 5625, 5635, 5634, 5644, 5643, + 5653, 5652, 5662, 5661, 5671, 5670, 5681, 5774, 5780, 5805, + 5912, 5921, 5925, 5932, 6007, 6079, 6155, 6154, 6204, 6208, + 6212, 6216, 6220, 6224, 6203, 6277, 6276, 6284, 6291, 6296, + 6304, 6308, 6303, 6318, 6319, 6323, 6325, 6324, 6333, 6332, + 6345, 6368, 6343, 6394, 6421, 6392, 6445, 6446, 6447, 6451, + 6452, 6456, 6485, 6517, 6561, 6565, 6515, 6582, 6591, 6609, + 6620, 6619, 6657, 6708, 6712, 6655, 6729, 6733, 6740, 6744, + 6748, 6752, 6756, 6760, 6764, 6768, 6772, 6776, 6780, 6788, + 6819, 6832, 6839, 6864, 6882, 6889, 6904, 6911, 6921, 6925, + 6944, 6952, 6920, 6967, 6982, 6986, 6987, 6991, 6992, 6994, + 6993, 7004, 7071, 7119, 7135, 7148, 7155, 7214, 7222, 7226, + 7221, 7287, 7291, 7286, 7304, 7305, 7310, 7309, 7318, 7317, + 7326, 7325, 7334, 7333 }; #endif @@ -1251,48 +1250,47 @@ static const char *const yytname[] = "$@82", "$@83", "$@84", "element_spec", "$@85", "struct_forward_type", "union_forward_type", "enum_type", "$@86", "$@87", "$@88", "$@89", "at_least_one_enumerator", "enumerators", "$@90", "enumerator", - "map_type_spec", "$@91", "$@92", "map_head", "$@93", "$@94", - "sequence_type_spec", "$@95", "$@96", "seq_head", "$@97", "$@98", - "fixed_type_spec", "string_type_spec", "$@99", "$@100", "string_head", - "wstring_type_spec", "$@101", "$@102", "wstring_head", - "array_declarator", "$@103", "at_least_one_array_dim", "array_dims", - "array_dim", "$@104", "$@105", "attribute", "attribute_readonly", - "$@106", "$@107", "$@108", "$@109", "attribute_readwrite", "$@110", - "$@111", "$@112", "$@113", "exception", "$@114", "@115", "$@116", - "$@117", "operation", "$@118", "$@119", "$@120", "$@121", - "opt_op_attribute", "op_type_spec", "init_decl", "$@122", "@123", - "$@124", "init_parameter_list", "$@125", "$@126", - "at_least_one_in_parameter", "in_parameters", "$@127", "in_parameter", - "$@128", "$@129", "parameter_list", "$@130", "$@131", - "at_least_one_parameter", "parameters", "$@132", "parameter", "$@133", - "$@134", "param_type_spec", "direction", "opt_raises", "$@135", "$@136", - "opt_getraises", "$@137", "$@138", "opt_setraises", "$@139", "$@140", - "opt_context", "$@141", "$@142", "at_least_one_string_literal", - "string_literals", "$@143", "typeid_dcl", "typeprefix_dcl", "component", - "component_forward_decl", "component_decl", "@144", "$@145", "$@146", - "component_header", "$@147", "$@148", "component_inheritance_spec", - "$@149", "component_exports", "component_export", "$@150", "$@151", - "$@152", "$@153", "$@154", "$@155", "$@156", "provides_decl", + "map_type_spec", "map_head", "$@91", "$@92", "sequence_type_spec", + "$@93", "$@94", "seq_head", "$@95", "$@96", "fixed_type_spec", + "string_type_spec", "$@97", "$@98", "string_head", "wstring_type_spec", + "$@99", "$@100", "wstring_head", "array_declarator", "$@101", + "at_least_one_array_dim", "array_dims", "array_dim", "$@102", "$@103", + "attribute", "attribute_readonly", "$@104", "$@105", "$@106", "$@107", + "attribute_readwrite", "$@108", "$@109", "$@110", "$@111", "exception", + "$@112", "@113", "$@114", "$@115", "operation", "$@116", "$@117", + "$@118", "$@119", "opt_op_attribute", "op_type_spec", "init_decl", + "$@120", "@121", "$@122", "init_parameter_list", "$@123", "$@124", + "at_least_one_in_parameter", "in_parameters", "$@125", "in_parameter", + "$@126", "$@127", "parameter_list", "$@128", "$@129", + "at_least_one_parameter", "parameters", "$@130", "parameter", "$@131", + "$@132", "param_type_spec", "direction", "opt_raises", "$@133", "$@134", + "opt_getraises", "$@135", "$@136", "opt_setraises", "$@137", "$@138", + "opt_context", "$@139", "$@140", "at_least_one_string_literal", + "string_literals", "$@141", "typeid_dcl", "typeprefix_dcl", "component", + "component_forward_decl", "component_decl", "@142", "$@143", "$@144", + "component_header", "$@145", "$@146", "component_inheritance_spec", + "$@147", "component_exports", "component_export", "$@148", "$@149", + "$@150", "$@151", "$@152", "$@153", "$@154", "provides_decl", "interface_type", "uses_decl", "uses_opt_multiple", "opt_multiple", - "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@157", - "home_header", "$@158", "$@159", "$@160", "$@161", "$@162", "$@163", - "home_inheritance_spec", "$@164", "primary_key_spec", "home_body", - "$@165", "$@166", "home_exports", "home_export", "$@167", "$@168", - "factory_decl", "$@169", "$@170", "finder_decl", "$@171", "$@172", + "emits_decl", "publishes_decl", "consumes_decl", "home_decl", "$@155", + "home_header", "$@156", "$@157", "$@158", "$@159", "$@160", "$@161", + "home_inheritance_spec", "$@162", "primary_key_spec", "home_body", + "$@163", "$@164", "home_exports", "home_export", "$@165", "$@166", + "factory_decl", "$@167", "$@168", "finder_decl", "$@169", "$@170", "event", "event_forward_decl", "event_concrete_forward_decl", - "event_abs_forward_decl", "event_abs_decl", "$@173", "$@174", "$@175", + "event_abs_forward_decl", "event_abs_decl", "$@171", "$@172", "$@173", "event_abs_header", "event_custom_header", "event_plain_header", - "event_rest_of_header", "$@176", "event_decl", "@177", "$@178", "$@179", + "event_rest_of_header", "$@174", "event_decl", "@175", "$@176", "$@177", "event_header", "formal_parameter_type", "at_least_one_formal_parameter", "formal_parameters", "formal_parameter", "at_least_one_formal_parameter_name", "formal_parameter_names", - "formal_parameter_name", "porttype_decl", "$@180", "@181", "$@182", - "$@183", "at_least_one_port_export", "port_exports", "port_export", - "$@184", "extended_port_decl", "at_least_one_actual_parameter", + "formal_parameter_name", "porttype_decl", "$@178", "@179", "$@180", + "$@181", "at_least_one_port_export", "port_exports", "port_export", + "$@182", "extended_port_decl", "at_least_one_actual_parameter", "actual_parameters", "actual_parameter", "connector_decl", - "connector_header", "$@185", "$@186", "connector_body", "$@187", "$@188", - "connector_exports", "connector_export", "$@189", "$@190", "$@191", - "$@192", YY_NULLPTR + "connector_header", "$@183", "$@184", "connector_body", "$@185", "$@186", + "connector_exports", "connector_export", "$@187", "$@188", "$@189", + "$@190", YY_NULLPTR }; static const char * @@ -1302,12 +1300,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-684) +#define YYPACT_NINF (-679) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-585) +#define YYTABLE_NINF (-582) #define yytable_value_is_error(Yyn) \ 0 @@ -1316,97 +1314,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -684, 90, 1424, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 55, 92, 81, 76, -684, 55, - 55, -684, 47, 47, -684, -684, 55, -684, -684, 2, - -684, 295, 74, 83, -684, -684, 4, -684, -684, -684, - -684, -684, -684, 602, -684, -684, -684, -684, -684, 1626, - 82, -684, -684, 86, -684, 132, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 12, -684, -684, -684, 12, -684, - -684, 106, 94, 2107, 47, 55, 1984, 55, 55, 55, - 55, -684, -684, -684, 15, 55, 27, -684, 30, 55, - -684, 12, 55, 121, 129, 55, -684, -684, 31, -684, - 33, 210, -684, 133, -684, 135, 144, 474, -684, -684, - -684, 146, 201, -684, 154, 160, 165, 100, -684, 166, - -684, -684, -684, -684, -684, -684, 56, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, 181, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 132, -684, -684, -684, 59, -684, 63, -684, -684, 177, - -684, 178, 182, 183, -684, 47, 185, 188, 184, -684, - 189, 193, 196, 197, 198, 200, 202, 206, -684, -684, - -684, 207, 209, -684, -684, -684, -684, 181, -684, -684, - -684, -684, -684, -684, -684, -684, -684, 181, -684, -684, - -684, -684, -684, -684, -684, -684, 211, -684, 212, -684, - -684, 205, -684, 292, -684, -684, -684, -684, 53, -684, - -684, -684, 2107, -684, -684, -684, -684, 213, -684, -684, - -684, -684, -684, 302, -684, -684, 131, 221, -684, -684, - -684, -684, -684, -684, -684, -684, 290, -684, 485, 214, - 224, 261, -684, -684, -684, -684, -684, -684, -684, -684, - 181, -684, -684, 216, -684, -684, -684, -684, -684, -684, - -684, -684, -684, 261, 228, 229, -684, -684, -684, 55, - 55, 241, 242, -684, -684, -684, 240, -684, 292, 250, - -684, -684, -684, -684, -684, 308, -684, 249, 248, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, 65, - 65, 65, 485, 181, -684, -684, 247, 251, 252, 107, - 93, 58, -684, -684, -684, -684, -684, 47, -684, -684, - -684, -684, 253, -684, -684, 47, -684, 485, 485, 485, - 485, 246, -684, -684, -684, -684, -684, -684, -684, 153, - -684, 0, -684, -684, -684, -684, -684, -684, -684, -684, - 47, 261, -684, -684, -684, -684, 205, 729, 1539, 255, - 254, -684, 474, -684, -684, -684, 256, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 258, 55, -684, - 181, 1124, -684, 843, 485, -684, 1716, -684, -684, -684, - -684, -684, 485, -684, 1489, -684, -684, -684, 203, 1031, - -684, -684, -684, -684, 67, 307, 47, 47, -684, -684, - -684, -684, -684, 67, -684, 268, -684, 265, -684, 267, - -684, -684, 1218, 181, -684, 47, 261, -684, -684, -684, - -684, 275, -684, -684, 55, -684, -684, 276, 279, 372, - 281, -684, -684, 251, 252, 107, 93, 93, 58, 58, - -684, -684, -684, -684, -684, 277, -684, -684, -684, 282, - -684, -684, 1896, -684, -684, -684, -684, 2019, -684, -684, - -684, -684, -684, 283, -684, 1931, -684, -684, 1806, -684, - 284, 1716, -684, 287, 288, 289, 294, 296, -684, 286, - -684, 293, -684, -684, -684, 312, 314, 995, 47, 47, - 47, 222, -684, 317, -684, -684, -684, -684, -684, -684, - -684, 55, 55, -684, 318, -684, -684, -684, 1312, 937, - 359, 2072, -684, 181, 292, -684, -684, 48, 60, 310, - 321, 323, 292, 326, -684, -684, 3, -684, 57, -684, - -684, 325, 327, 181, -684, 329, 116, 1984, -684, 395, - -684, -684, -684, -684, 131, -684, 332, -684, 333, -684, - 335, 338, 339, 341, -684, 181, -684, -684, -684, -684, - -684, 342, 344, 439, -684, -684, -684, 346, -684, -684, - 345, -684, -684, -684, -684, 485, -684, 292, -684, 347, - 55, -684, -684, 442, 181, -684, -684, -684, -684, -684, - -684, 71, 71, 71, -684, 354, -684, 355, 356, 358, - 360, 361, 362, -684, -684, -684, 363, 365, 357, 364, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 485, -684, -684, -684, 55, -684, 367, 366, 371, -684, - 412, 383, 116, -684, 387, 390, -684, 393, 485, 394, - 1601, -684, 47, -684, -684, -684, -684, -684, -684, 489, - -684, -684, -684, -684, -684, -684, 296, 293, -684, -684, - 378, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, 382, 382, -684, -684, -684, -684, 2072, 55, -684, - 485, 384, -684, -684, -684, -684, -684, -684, -684, 404, - -684, -684, -684, -684, -684, 47, -684, -684, -684, -684, - 406, 181, -684, 382, 1716, -684, 407, -684, 473, -684, - -684, -684, -684, -684, -684, -684, -684, 47, -684, 181, - 411, 1362, -684, 397, -684, -684, -684, 414, 398, 478, - 479, 479, 55, 461, 416, 403, -684, 181, 421, -684, - -684, 408, -684, 479, -684, -684, -684, 410, -684, -684, - -684, -684, -684, -684, -684, -684, -684, 462, 523, 415, - 158, 479, -684, 75, 2072, -684, 424, 419, 479, 420, - 472, 55, 47, -684, -684, 437, -684, -684, -684, -684, - -684, 426, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 181, -684, 440, -684, 441, 2072, 507, 451, 485, 447, - 452, 52, -684, 208, 55, 478, 47, 47, 436, 55, - 523, -684, -684, -684, -684, -684, -684, -684, -684, -684, - 1691, -684, -684, -684, 438, 443, -684, -684, -684, 158, - 55, 453, 450, -684, -684, -684, -684, 47, -684, -684, - -684, -684, 55, 457, 454, 480, -684, -684, -684, -684, - 456, 465, -684, -684, 481, -684 + -679, 94, 1414, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, 83, 51, 70, 106, -679, 83, + 83, -679, 57, 57, -679, -679, 83, -679, -679, 15, + -679, 577, 29, 69, -679, -679, 7, -679, -679, -679, + -679, -679, -679, 550, -679, -679, -679, -679, -679, 1616, + 21, -679, -679, 78, -679, 126, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, 60, -679, -679, -679, 60, -679, + -679, 87, 91, 2010, 57, 83, 1887, 83, 83, 83, + 83, -679, -679, -679, 10, 83, 25, -679, 76, 83, + -679, 60, 83, 97, 127, 83, -679, -679, 23, -679, + 26, 148, -679, 92, -679, 129, 138, 2062, -679, -679, + -679, 155, 196, -679, 156, 158, 159, 85, -679, 150, + -679, -679, -679, -679, -679, -679, 168, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 163, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + 126, -679, -679, -679, 157, -679, 5, -679, -679, 169, + -679, 172, 176, 177, -679, 57, 160, 178, 180, -679, + 184, 188, 189, 190, 191, 193, 194, 199, -679, -679, + -679, 200, 204, -679, -679, -679, -679, 163, -679, -679, + -679, -679, -679, -679, -679, -679, -679, 163, -679, -679, + -679, -679, -679, -679, -679, -679, 205, -679, 195, -679, + -679, 207, -679, 288, -679, -679, -679, -679, 44, -679, + -679, -679, 2010, -679, -679, -679, -679, 198, -679, -679, + -679, -679, -679, 300, -679, -679, 56, 210, -679, -679, + -679, -679, -679, -679, -679, -679, 298, -679, 186, 212, + 216, 271, -679, -679, -679, -679, -679, -679, -679, 163, + -679, -679, 211, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 271, 228, 242, -679, -679, -679, 83, 83, + 250, 251, -679, -679, -679, 253, -679, 288, 254, -679, + -679, -679, -679, -679, 350, -679, 257, 256, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, 135, 135, + 135, 186, 163, -679, -679, 249, 255, 259, 89, 93, + 86, -679, -679, -679, -679, -679, 57, -679, -679, -679, + -679, 264, -679, -679, 57, -679, 186, 186, 186, 246, + -679, -679, -679, -679, -679, -679, -679, 173, -679, -6, + -679, -679, -679, -679, -679, -679, -679, -679, 57, 271, + -679, -679, -679, -679, 207, 1342, 1529, 269, 268, -679, + 2062, -679, -679, -679, 258, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 186, 267, 83, -679, 163, 1119, + -679, 838, 186, -679, 1435, -679, -679, -679, -679, 186, + -679, 1479, -679, -679, -679, 252, 1026, -679, -679, -679, + -679, 53, 312, 57, 57, -679, -679, -679, -679, -679, + 53, -679, 273, -679, 272, -679, 275, -679, -679, 1213, + 163, -679, 57, 271, -679, -679, -679, -679, 278, -679, + -679, 83, -679, -679, 282, 283, 382, 289, -679, -679, + 255, 259, 89, 93, 93, 86, 86, -679, -679, -679, + -679, -679, 285, -679, -679, -679, 287, -679, -679, 1799, + -679, -679, -679, -679, 1922, -679, -679, -679, -679, -679, + 292, -679, 1834, -679, -679, 1709, -679, 293, 1435, -679, + 299, 304, 306, 297, -679, 301, -679, 290, -679, -679, + -679, 314, 315, 503, 57, 57, 57, 276, -679, 316, + -679, -679, -679, -679, -679, -679, -679, 83, 83, -679, + 318, -679, -679, -679, 1307, 932, 388, 1975, -679, 163, + 288, -679, -679, 65, 67, 324, 328, 330, 288, 331, + -679, -679, -5, -679, 49, -679, -679, 332, 333, 163, + -679, 337, 110, 1887, -679, 399, -679, -679, -679, -679, + 56, -679, 341, -679, 344, -679, 345, 346, 347, 348, + -679, 163, -679, -679, -679, -679, -679, 349, 352, 444, + -679, -679, -679, 353, -679, -679, 351, -679, -679, -679, + 186, -679, 288, -679, 355, 83, -679, -679, 445, 163, + -679, -679, -679, -679, -679, -679, 71, 71, 71, -679, + 358, -679, 359, 360, 362, 363, 366, 369, -679, -679, + -679, 370, 371, 376, 377, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 186, -679, -679, -679, 83, + -679, 379, 378, 384, -679, 402, 386, 110, -679, 390, + 391, -679, 392, 186, 393, 1591, -679, 57, -679, -679, + -679, -679, -679, -679, 488, -679, -679, -679, -679, -679, + -679, 297, 290, -679, -679, 380, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, 383, 383, -679, -679, + -679, -679, 1975, 83, -679, 186, 389, -679, -679, -679, + -679, -679, -679, -679, 395, -679, -679, -679, -679, -679, + 57, -679, -679, -679, -679, 396, 163, -679, 383, 1435, + -679, 397, -679, 460, -679, -679, -679, -679, -679, -679, + -679, -679, 57, -679, 163, 400, 668, -679, 394, -679, + -679, -679, 409, 385, 462, 470, 470, 83, 454, 417, + 404, -679, 163, 422, -679, -679, 408, -679, 470, -679, + -679, -679, 414, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 464, 527, 416, 170, 470, -679, 153, 1975, + -679, 431, 423, 470, 424, 476, 83, 57, -679, -679, + 439, -679, -679, -679, -679, -679, 427, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 163, -679, 440, -679, 441, + 1975, 506, 450, 186, 446, 451, 54, -679, 201, 83, + 462, 57, 57, 435, 83, 527, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 1681, -679, -679, -679, 437, + 457, -679, -679, -679, 170, 83, 442, 452, -679, -679, + -679, -679, 57, -679, -679, -679, -679, 83, 458, 463, + 504, -679, -679, -679, -679, 467, 491, -679, -679, 519, + -679 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1415,142 +1413,142 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 399, 0, 0, 0, 0, 94, 0, - 0, 511, 0, 0, 581, 601, 0, 6, 7, 42, + 294, 309, 344, 396, 0, 0, 0, 0, 94, 0, + 0, 508, 0, 0, 578, 598, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 470, 469, 472, 30, 509, 32, - 541, 543, 542, 540, 77, 559, 560, 539, 77, 34, + 20, 14, 16, 28, 467, 466, 469, 30, 506, 32, + 538, 540, 539, 537, 77, 556, 557, 536, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 476, 552, 0, 142, 138, 0, 137, + 82, 77, 0, 473, 549, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 365, - 358, 373, 378, 273, 280, 274, 281, 275, 282, 276, + 284, 285, 288, 289, 290, 291, 287, 292, 293, 362, + 355, 370, 375, 273, 280, 274, 281, 275, 282, 276, 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 0, 246, 0, 249, 247, 372, - 248, 377, 0, 0, 5, 0, 211, 0, 0, 311, - 0, 0, 0, 0, 0, 0, 0, 0, 553, 546, - 555, 0, 0, 604, 600, 39, 287, 160, 148, 152, + 0, 252, 253, 250, 0, 246, 0, 249, 247, 369, + 248, 374, 0, 0, 5, 0, 211, 0, 0, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 550, 543, + 552, 0, 0, 601, 597, 39, 287, 160, 148, 152, 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, - 231, 295, 310, 345, 400, 73, 550, 74, 0, 551, - 95, 481, 512, 0, 467, 140, 468, 582, 0, 197, - 43, 25, 0, 567, 562, 563, 569, 565, 566, 570, - 568, 564, 561, 0, 48, 574, 0, 0, 23, 96, + 231, 295, 310, 345, 397, 73, 547, 74, 0, 548, + 95, 478, 509, 0, 464, 140, 465, 579, 0, 197, + 43, 25, 0, 564, 559, 560, 566, 562, 563, 567, + 565, 561, 558, 0, 48, 571, 0, 0, 23, 96, 75, 67, 27, 85, 271, 286, 277, 279, 0, 0, - 0, 99, 357, 354, 364, 361, 369, 374, 19, 11, - 214, 13, 297, 0, 21, 15, 17, 29, 473, 31, - 523, 510, 33, 99, 0, 0, 35, 37, 608, 0, - 0, 0, 0, 89, 479, 477, 520, 139, 0, 0, - 602, 212, 200, 4, 571, 0, 575, 0, 572, 186, - 187, 188, 190, 193, 192, 194, 195, 191, 189, 0, - 0, 0, 0, 183, 599, 161, 162, 163, 165, 167, - 169, 172, 175, 179, 184, 598, 62, 0, 114, 105, - 278, 196, 0, 366, 213, 0, 93, 0, 0, 0, - 0, 217, 213, 312, 484, 527, 554, 547, 556, 605, - 149, 266, 232, 259, 260, 261, 267, 346, 401, 114, - 0, 99, 518, 513, 141, 583, 481, 0, 0, 3, - 0, 49, 0, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 596, 0, 76, - 136, 0, 113, 0, 0, 213, 0, 98, 355, 362, - 370, 375, 0, 215, 0, 298, 302, 213, 213, 0, - 114, 105, 389, 394, 0, 505, 0, 0, 613, 387, - 388, 609, 611, 0, 615, 0, 607, 0, 213, 256, - 213, 302, 0, 480, 478, 0, 99, 589, 603, 204, - 198, 0, 206, 199, 0, 201, 207, 0, 0, 0, - 0, 573, 185, 164, 166, 168, 170, 171, 173, 174, - 176, 177, 178, 213, 63, 133, 131, 409, 410, 0, - 116, 123, 0, 117, 127, 125, 129, 0, 119, 121, - 414, 111, 110, 0, 104, 0, 106, 107, 0, 108, - 0, 0, 359, 0, 0, 0, 0, 137, 218, 0, - 219, 222, 307, 304, 303, 0, 213, 0, 0, 0, - 0, 0, 495, 0, 483, 485, 487, 489, 491, 493, - 497, 0, 0, 528, 0, 526, 529, 531, 0, 0, - 0, 0, 501, 500, 0, 504, 503, 0, 0, 0, - 0, 0, 0, 0, 606, 150, 0, 257, 0, 347, - 352, 213, 0, 519, 514, 588, 213, 0, 202, 210, - 203, 45, 576, 50, 0, 134, 0, 69, 0, 115, - 0, 0, 0, 0, 413, 443, 440, 441, 442, 404, - 412, 0, 0, 0, 87, 112, 103, 0, 368, 367, - 0, 356, 363, 371, 376, 0, 216, 0, 220, 0, - 0, 299, 301, 270, 323, 318, 319, 320, 321, 313, - 322, 0, 0, 0, 482, 0, 475, 0, 0, 0, - 0, 0, 0, 533, 536, 525, 0, 0, 0, 0, - 390, 395, 499, 594, 595, 614, 610, 612, 502, 616, - 0, 384, 380, 383, 0, 353, 0, 349, 0, 91, - 0, 0, 0, 592, 0, 0, 587, 0, 0, 0, - 0, 597, 0, 132, 124, 118, 128, 126, 130, 0, - 120, 122, 415, 109, 213, 223, 0, 222, 308, 305, - 0, 508, 506, 507, 496, 486, 488, 490, 492, 494, - 498, 0, 0, 530, 532, 549, 558, 0, 0, 151, - 0, 381, 258, 348, 350, 403, 515, 585, 586, 0, - 590, 591, 205, 209, 208, 0, 56, 42, 51, 55, - 0, 135, 405, 0, 0, 221, 0, 314, 418, 534, - 537, 391, 396, 265, 385, 382, 213, 0, 593, 58, - 0, 0, 57, 0, 416, 360, 306, 0, 0, 0, - 450, 450, 0, 454, 262, 0, 351, 516, 0, 52, - 54, 431, 406, 450, 315, 419, 426, 0, 425, 447, - 535, 538, 392, 451, 397, 263, 386, 522, 0, 0, - 0, 450, 417, 0, 0, 421, 422, 0, 450, 0, - 458, 0, 0, 517, 580, 0, 579, 430, 444, 445, - 446, 0, 436, 437, 407, 330, 337, 335, 316, 326, - 327, 334, 427, 423, 448, 393, 452, 455, 398, 264, - 521, 59, 577, 432, 433, 0, 462, 0, 0, 0, - 0, 0, 213, 332, 0, 0, 0, 0, 0, 0, - 0, 434, 438, 459, 408, 331, 338, 336, 317, 325, - 0, 333, 428, 424, 0, 0, 456, 60, 578, 0, - 0, 0, 0, 340, 328, 449, 453, 0, 435, 439, - 460, 339, 0, 0, 0, 0, 341, 329, 457, 466, - 0, 463, 461, 464, 0, 465 + 0, 99, 354, 361, 358, 366, 371, 19, 11, 214, + 13, 297, 0, 21, 15, 17, 29, 470, 31, 520, + 507, 33, 99, 0, 0, 35, 37, 605, 0, 0, + 0, 0, 89, 476, 474, 517, 139, 0, 0, 599, + 212, 200, 4, 568, 0, 572, 0, 569, 186, 187, + 188, 190, 193, 192, 194, 195, 191, 189, 0, 0, + 0, 0, 183, 596, 161, 162, 163, 165, 167, 169, + 172, 175, 179, 184, 595, 62, 0, 114, 105, 278, + 196, 0, 363, 213, 0, 93, 0, 0, 0, 217, + 213, 312, 481, 524, 551, 544, 553, 602, 149, 266, + 232, 259, 260, 261, 267, 346, 398, 114, 0, 99, + 515, 510, 141, 580, 478, 0, 0, 3, 0, 49, + 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 593, 0, 76, 136, 0, + 113, 0, 0, 213, 0, 98, 359, 367, 372, 0, + 215, 0, 298, 302, 213, 213, 0, 114, 105, 386, + 391, 0, 502, 0, 0, 610, 384, 385, 606, 608, + 0, 612, 0, 604, 0, 213, 256, 213, 302, 0, + 477, 475, 0, 99, 586, 600, 204, 198, 0, 206, + 199, 0, 201, 207, 0, 0, 0, 0, 570, 185, + 164, 166, 168, 170, 171, 173, 174, 176, 177, 178, + 213, 63, 133, 131, 406, 407, 0, 116, 123, 0, + 117, 127, 125, 129, 0, 119, 121, 411, 111, 110, + 0, 104, 0, 106, 107, 0, 108, 0, 0, 356, + 0, 0, 0, 137, 218, 0, 219, 222, 307, 304, + 303, 0, 213, 0, 0, 0, 0, 0, 492, 0, + 480, 482, 484, 486, 488, 490, 494, 0, 0, 525, + 0, 523, 526, 528, 0, 0, 0, 0, 498, 497, + 0, 501, 500, 0, 0, 0, 0, 0, 0, 0, + 603, 150, 0, 257, 0, 347, 352, 213, 0, 516, + 511, 585, 213, 0, 202, 210, 203, 45, 573, 50, + 0, 134, 0, 69, 0, 115, 0, 0, 0, 0, + 410, 440, 437, 438, 439, 401, 409, 0, 0, 0, + 87, 112, 103, 0, 365, 364, 0, 360, 368, 373, + 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, + 318, 319, 320, 321, 313, 322, 0, 0, 0, 479, + 0, 472, 0, 0, 0, 0, 0, 0, 530, 533, + 522, 0, 0, 0, 0, 387, 392, 496, 591, 592, + 611, 607, 609, 499, 613, 0, 381, 377, 380, 0, + 353, 0, 349, 0, 91, 0, 0, 0, 589, 0, + 0, 584, 0, 0, 0, 0, 594, 0, 132, 124, + 118, 128, 126, 130, 0, 120, 122, 412, 109, 213, + 223, 0, 222, 308, 305, 0, 505, 503, 504, 493, + 483, 485, 487, 489, 491, 495, 0, 0, 527, 529, + 546, 555, 0, 0, 151, 0, 378, 258, 348, 350, + 400, 512, 582, 583, 0, 587, 588, 205, 209, 208, + 0, 56, 42, 51, 55, 0, 135, 402, 0, 0, + 221, 0, 314, 415, 531, 534, 388, 393, 265, 382, + 379, 213, 0, 590, 58, 0, 0, 57, 0, 413, + 357, 306, 0, 0, 0, 447, 447, 0, 451, 262, + 0, 351, 513, 0, 52, 54, 428, 403, 447, 315, + 416, 423, 0, 422, 444, 532, 535, 389, 448, 394, + 263, 383, 519, 0, 0, 0, 447, 414, 0, 0, + 418, 419, 0, 447, 0, 455, 0, 0, 514, 577, + 0, 576, 427, 441, 442, 443, 0, 433, 434, 404, + 330, 337, 335, 316, 326, 327, 334, 424, 420, 445, + 390, 449, 452, 395, 264, 518, 59, 574, 429, 430, + 0, 459, 0, 0, 0, 0, 0, 213, 332, 0, + 0, 0, 0, 0, 0, 0, 431, 435, 456, 405, + 331, 338, 336, 317, 325, 0, 333, 425, 421, 0, + 0, 453, 60, 575, 0, 0, 0, 0, 340, 328, + 446, 450, 0, 432, 436, 457, 339, 0, 0, 0, + 0, 341, 329, 454, 463, 0, 460, 458, 461, 0, + 462 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -684, -684, 259, 260, 525, -628, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -596, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -185, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, 231, -684, - -684, 19, -684, -684, -684, 560, -684, -684, -684, -684, - -684, -684, -684, 564, -684, 243, -684, -684, -253, -684, - -684, 150, 77, -684, -684, -684, -320, -684, -356, -684, - -684, -684, -684, -684, -684, -684, -684, -341, -684, -684, - -22, -684, -684, -186, -10, -684, 16, -684, -684, -684, - -684, -199, -78, -241, -684, 186, 190, 187, -139, -136, - -189, -101, -684, -321, -684, -684, -684, -684, -684, -684, - -684, -684, 21, -86, 534, -684, -684, -684, -684, -110, - -28, 17, -684, 13, -684, -31, -391, -468, -684, -684, - -684, -29, -684, -684, -622, -180, -684, -684, -7, -684, - -66, -684, -684, -53, -52, -56, -55, -50, 215, -684, - -40, -684, -38, -684, -684, -684, -684, 145, 233, 95, - -684, -684, -684, -37, -684, -32, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -250, -684, -684, -684, -684, - -684, -249, -684, -684, -684, -684, -684, -684, -684, -41, - -684, -684, -684, -684, -684, -684, -684, -153, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -75, -684, -684, -684, -70, -684, -684, -684, -684, - -684, -684, -684, -115, -684, -684, -334, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, 18, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -640, -684, -684, -684, -684, -684, -246, - -684, -684, -684, -684, -684, -684, -684, -684, -255, -684, - -684, -517, -684, -683, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, 20, 22, - -684, -684, -684, -684, -684, -684, -684, -684, -684, 244, - -684, -684, 101, -684, -684, -684, -684, -684, -684, -684, - -328, 191, -325, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 553, -684, -684, -684, -684, -684, - -684, -684, -684, -684, 245, -684, -684, -227, -684, -684, - -684, -684, -684, -684, -684, -36, -684, 266, -684, -684, - 54, -684, -684, -684, -684, -684, -684, -684, -684, -684, - -684, -684, -684, -684 + -679, -679, 284, 291, 530, -617, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -588, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -152, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, 222, -679, + -679, 27, -679, -679, -679, 590, -679, -679, -679, -679, + -679, -679, -679, 592, -679, 224, -679, -679, -250, -679, + -679, 181, 107, -679, -679, -679, -324, -679, -361, -679, + -679, -679, -679, -679, -679, -679, -679, -337, -679, -679, + -22, -679, -679, -193, -10, -679, 17, -679, -679, -679, + -679, -198, -44, -233, -679, 218, 219, 217, -151, -150, + -185, -107, -679, -320, -679, -679, -679, -679, -679, -679, + -679, -679, 12, -83, 566, -679, -679, -679, -679, -74, + 8, 18, -679, 46, -679, -31, -389, -466, -679, -679, + -679, 2, -679, -679, -616, -146, -679, -679, -7, -679, + -75, -679, -679, -51, -42, -65, -50, -49, 237, -679, + -40, -679, -38, -679, -679, -679, -679, 175, 265, 122, + -679, -679, -679, -37, -679, -32, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -220, -679, -679, -679, -679, + -679, -219, -679, -679, -679, -679, -679, -679, -679, -41, + -679, -679, -679, -679, -679, -679, -679, -123, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -70, + -679, -679, -679, -68, -679, -679, -679, -679, -679, -679, + -679, -86, -679, -679, -328, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 20, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -656, -679, -679, -679, -679, -679, -209, -679, -679, + -679, -679, -679, -679, -679, -679, -231, -679, -679, -517, + -679, -678, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, 22, 24, -679, -679, + -679, -679, -679, -679, -679, -679, -679, 262, -679, -679, + 121, -679, -679, -679, -679, -679, -679, -679, -340, 209, + -336, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 572, -679, -679, -679, -679, -679, -679, -679, + -679, -679, 261, -679, -679, -202, -679, -679, -679, -679, + -679, -679, -679, -13, -679, 294, -679, -679, 77, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1558,45 +1556,45 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 183, 187, 191, 192, 182, 190, 121, 116, 125, 193, 195, 197, 201, 202, - 82, 29, 84, 30, 115, 313, 468, 31, 32, 117, - 317, 470, 680, 760, 738, 761, 739, 740, 778, 859, - 33, 118, 408, 34, 35, 124, 348, 489, 36, 85, - 37, 151, 347, 38, 39, 40, 126, 349, 503, 41, - 228, 379, 572, 42, 271, 43, 102, 260, 356, 44, - 45, 413, 504, 607, 505, 506, 411, 412, 490, 590, - 601, 602, 588, 592, 591, 593, 586, 409, 485, 682, - 333, 233, 308, 109, 371, 46, 491, 83, 299, 447, - 660, 208, 334, 351, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 352, 48, 312, 387, 463, 577, 464, - 465, 679, 492, 50, 311, 361, 423, 519, 520, 618, - 521, 493, 86, 219, 300, 220, 154, 155, 156, 157, - 52, 372, 449, 664, 373, 752, 774, 811, 374, 375, + 82, 29, 84, 30, 115, 312, 465, 31, 32, 117, + 316, 467, 675, 755, 733, 756, 734, 735, 773, 854, + 33, 118, 406, 34, 35, 124, 347, 486, 36, 85, + 37, 151, 346, 38, 39, 40, 126, 348, 500, 41, + 228, 377, 568, 42, 271, 43, 102, 260, 355, 44, + 45, 411, 501, 603, 502, 503, 409, 410, 487, 586, + 597, 598, 584, 588, 587, 589, 582, 407, 482, 677, + 332, 233, 307, 109, 369, 46, 488, 83, 298, 444, + 655, 208, 333, 350, 335, 336, 337, 338, 339, 340, + 341, 342, 343, 351, 48, 311, 385, 460, 573, 461, + 462, 674, 489, 50, 310, 359, 420, 515, 516, 613, + 517, 490, 86, 219, 299, 220, 154, 155, 156, 157, + 52, 370, 446, 659, 371, 747, 769, 806, 372, 373, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 188, 362, 525, 425, 526, 622, 524, - 620, 746, 619, 55, 88, 56, 283, 427, 700, 767, - 803, 850, 629, 828, 851, 829, 852, 893, 847, 830, - 853, 831, 849, 848, 882, 884, 892, 57, 58, 59, - 89, 301, 450, 666, 569, 667, 756, 570, 173, 357, - 513, 174, 270, 610, 175, 358, 514, 176, 269, 415, - 177, 178, 359, 515, 179, 180, 360, 516, 181, 376, - 448, 662, 721, 663, 720, 775, 494, 439, 550, 717, - 772, 808, 440, 551, 718, 773, 810, 495, 90, 302, - 451, 668, 496, 689, 763, 801, 846, 497, 599, 509, - 603, 743, 783, 749, 768, 769, 787, 806, 855, 788, - 804, 854, 782, 799, 800, 821, 844, 879, 822, 845, - 880, 600, 823, 790, 807, 856, 794, 809, 857, 838, - 858, 887, 864, 881, 895, 900, 901, 904, 498, 499, - 63, 64, 65, 194, 364, 533, 66, 231, 381, 305, - 380, 428, 534, 637, 638, 639, 640, 641, 635, 642, - 535, 554, 536, 443, 556, 537, 538, 539, 67, 196, - 68, 105, 306, 456, 670, 757, 797, 383, 455, 813, - 291, 365, 544, 429, 545, 646, 647, 546, 711, 770, - 547, 712, 771, 69, 70, 71, 72, 73, 294, 430, - 648, 74, 75, 76, 199, 293, 77, 295, 431, 649, - 78, 253, 254, 318, 255, 815, 842, 816, 79, 111, - 309, 457, 671, 575, 576, 676, 729, 540, 257, 407, - 345, 80, 81, 112, 386, 204, 298, 445, 369, 446, - 560, 561, 559, 563 + 53, 87, 54, 188, 360, 521, 422, 522, 617, 520, + 615, 741, 614, 55, 88, 56, 282, 424, 695, 762, + 798, 845, 624, 823, 846, 824, 847, 888, 842, 825, + 848, 826, 844, 843, 877, 879, 887, 57, 58, 59, + 89, 300, 447, 661, 565, 662, 751, 566, 173, 174, + 270, 606, 175, 356, 510, 176, 269, 413, 177, 178, + 357, 511, 179, 180, 358, 512, 181, 374, 445, 657, + 716, 658, 715, 770, 491, 436, 546, 712, 767, 803, + 437, 547, 713, 768, 805, 492, 90, 301, 448, 663, + 493, 684, 758, 796, 841, 494, 595, 506, 599, 738, + 778, 744, 763, 764, 782, 801, 850, 783, 799, 849, + 777, 794, 795, 816, 839, 874, 817, 840, 875, 596, + 818, 785, 802, 851, 789, 804, 852, 833, 853, 882, + 859, 876, 890, 895, 896, 899, 495, 496, 63, 64, + 65, 194, 362, 529, 66, 231, 379, 304, 378, 425, + 530, 632, 633, 634, 635, 636, 630, 637, 531, 550, + 532, 440, 552, 533, 534, 535, 67, 196, 68, 105, + 305, 453, 665, 752, 792, 381, 452, 808, 290, 363, + 540, 426, 541, 641, 642, 542, 706, 765, 543, 707, + 766, 69, 70, 71, 72, 73, 293, 427, 643, 74, + 75, 76, 199, 292, 77, 294, 428, 644, 78, 253, + 254, 317, 255, 810, 837, 811, 79, 111, 308, 454, + 666, 571, 572, 671, 724, 536, 257, 405, 344, 80, + 81, 112, 384, 204, 297, 442, 367, 443, 556, 557, + 555, 559 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1604,161 +1602,160 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 215, 103, - 104, 171, 153, 216, 417, 335, 113, 209, 47, 51, - 60, 152, 61, 49, 62, 512, 238, 212, 213, 596, - 210, 211, 256, 214, 651, 438, 418, 419, 420, 421, - 366, 441, 722, 314, 442, 172, 168, 307, 169, 170, - 106, 653, 736, 825, 171, 123, 310, 507, 91, 452, - 665, 207, 217, 654, 152, 47, 51, 60, 106, 61, - 106, 62, 750, 543, 106, 218, 825, 221, 222, 223, - 224, 826, 827, 596, 737, 226, 552, 8, 791, 229, - 4, 396, 230, 198, 532, 232, -379, 198, 8, 185, - 802, -144, 114, 764, 826, 827, 122, 234, 264, 236, - 548, 265, -145, 225, 122, 227, -379, 122, 824, 661, - 609, 235, 384, 235, -146, 835, 18, -100, 454, 122, - 99, 18, 122, 736, 106, 95, 589, 107, 235, 319, - 320, 321, 322, 323, 324, 325, 326, 432, 433, 185, - 235, -324, 507, 185, 189, 107, 268, 107, 327, 328, - 272, 235, 273, 280, 274, 737, 275, 215, 404, 405, - 406, 119, 216, 510, 266, 267, 209, 434, 185, 332, - 120, 518, 435, -342, 432, 433, 212, 213, 462, 210, - 211, 205, 214, 507, 818, 819, 820, 532, 400, 401, - 751, 402, 403, 574, 203, 319, 320, 321, 322, 323, - 324, 325, 326, 237, 434, 480, 481, 482, -471, 435, - 207, 107, 436, 437, 327, 328, -544, 185, 393, 394, - 395, 239, 872, 240, 432, 433, 517, 826, 827, 329, - 330, 241, 673, 258, 331, 332, 94, 96, 674, 596, - 259, 675, 261, 432, 433, 528, 529, 262, 889, 98, - 101, 476, 477, 263, 434, 530, 478, 479, 416, 435, - 896, 235, 436, 437, 528, 529, 424, 276, 277, 278, - 279, -212, 282, 434, 530, 281, 284, 832, 435, 370, - 285, 436, 437, 286, 287, 106, 288, 289, 350, -47, - 290, -47, -474, 292, 296, 316, 297, 304, -545, 355, - 303, 390, 215, 315, 353, -47, -47, 216, -47, -47, - -47, 209, 346, -47, 354, 410, 367, 368, 862, 511, - 363, 212, 213, 410, 210, 211, 596, 214, 673, 377, - 378, 527, 382, 335, 674, -47, 467, 675, 385, -47, - 391, 392, 397, 765, -44, 469, 414, 398, 453, 399, - 422, 483, 566, -47, 568, 207, 555, 564, 652, 565, - 567, 472, 578, 580, 695, 582, 658, 596, 581, 583, - 585, 587, 604, 172, 168, 608, 169, 170, 611, 612, - 613, 650, 171, 523, 152, 614, 617, 584, 484, 754, - 615, 616, 152, 461, 47, 51, 60, 655, 61, 49, - 62, 621, 553, -300, 557, 558, 636, 645, 656, 335, - 657, 553, 597, 659, -402, 678, 669, 598, -584, 683, - 684, 696, 685, 573, 508, 686, 687, 733, 688, 690, - 424, 691, 692, 693, 698, 701, 702, 703, 694, 531, - 264, 704, 705, 706, 579, 707, 715, 708, 709, 710, - 713, 625, 714, 716, 172, 168, 723, 169, 170, 724, - 725, 626, 627, 171, 523, 595, 597, 628, 242, 726, - 243, 598, 727, 152, 730, 424, 630, 731, 106, 152, - 732, 734, 742, 747, 244, 245, 748, 246, 247, 248, - 661, 758, 249, 762, 766, 624, 631, 632, 633, -420, - 779, 781, 784, 785, 786, 874, 875, 793, 789, 795, - 796, 798, 812, -429, 250, 805, 814, 833, 251, 595, - 817, 643, 644, 834, 836, 837, 172, 168, 841, 169, - 170, 843, 252, 860, 861, 171, 894, 863, 865, 867, - 876, 868, 891, 885, 897, 152, 899, 905, 886, 319, - 320, 321, 322, 323, 324, 325, 326, 890, 903, 898, - 508, 902, 388, 389, 184, 107, 780, 100, 327, 328, - 97, 549, 719, 473, 186, 606, 475, 745, 474, 697, - 677, 699, 792, 329, 330, 426, 571, 672, 331, 332, - 605, 869, 466, 776, 871, 106, 755, 866, 744, 873, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 10, 11, 888, 12, 139, 140, 141, 142, - 458, 200, 634, 878, 562, 444, 728, 471, 681, 0, - 0, 0, 597, 0, 0, 0, 0, 598, 0, 0, + 108, 110, 172, 168, 92, 169, 170, 93, 209, 103, + 104, 171, 153, 215, 49, 216, 113, 415, 212, 47, + 51, 152, 60, 334, 61, 509, 62, 438, 592, 238, + 646, 439, 210, 213, 214, 256, 416, 417, 418, 435, + 306, 211, 364, 717, 313, 172, 168, 309, 169, 170, + 504, 745, 660, 449, 171, 820, 106, 8, 731, 106, + 106, 207, 217, 123, 152, 539, 47, 51, 648, 60, + 649, 61, 548, 62, 106, 218, 8, 221, 222, 223, + 224, 592, 759, 821, 822, 226, 91, 732, 786, 229, + -376, 185, 230, 264, 4, 232, 265, 528, 394, 234, + 797, 198, 236, 544, -144, 198, 273, -145, 274, 122, + -376, 656, 122, 235, 382, 114, 235, 185, 819, 605, + 18, 225, -146, 227, 95, 830, 119, 122, 585, 451, + 318, 319, 320, 321, 322, 323, 324, 325, 106, 731, + 185, 429, 430, 107, 504, 185, 107, 107, 189, 326, + 327, 237, 185, -324, 820, 235, 18, 235, 266, 267, + 99, 235, 122, 279, 328, 329, 120, 209, 732, 330, + 331, 431, 215, -100, 216, -342, 432, 212, 122, 507, + 398, 399, 821, 822, 504, 203, 514, 459, 205, 106, + 239, 210, 213, 214, -468, 746, 402, 403, 404, 528, + 211, 400, 401, 570, 429, 430, 813, 814, 815, 318, + 319, 320, 321, 322, 323, 324, 325, 477, 478, 479, + 207, 391, 392, 393, -541, 107, 513, 240, 326, 327, + 821, 822, 669, 867, 431, 241, 670, 94, 96, 432, + 98, 101, 433, 434, 668, 259, 592, 473, 474, 331, + 475, 476, 258, 235, 261, 262, -212, 263, 272, 884, + 318, 319, 320, 321, 322, 323, 324, 325, 268, 275, + 414, 891, 276, 277, 278, 280, 107, 421, 281, 326, + 327, 283, 827, 429, 430, 284, 285, 286, 368, 287, + 288, 106, 289, 302, 328, 329, 291, 295, 314, 330, + 331, 296, -542, 315, 524, 525, 349, 429, 430, 303, + 209, 345, 352, 431, 526, 215, 353, 216, 432, 354, + 212, 433, 434, 857, 408, 361, 365, 669, 524, 525, + 508, 670, 408, 592, 210, 213, 214, 431, 526, 668, + 366, 523, 432, 211, 464, 433, 434, 334, 375, 376, + 760, -471, 383, 388, 395, 380, 450, 647, 389, 390, + 419, 396, 562, 207, 564, 653, 397, 412, -44, 466, + 480, 551, 560, 469, 592, 574, 561, 690, 563, 576, + 172, 168, 577, 169, 170, 578, 583, 579, 581, 171, + 519, 600, 152, 612, 604, 749, 481, 580, 49, 152, + 607, 610, 458, 47, 51, 608, 60, 609, 61, 549, + 62, 553, 554, 616, -300, 631, 611, 640, 549, 691, + 645, 650, 334, 505, 593, 651, 594, 652, 654, 673, + 569, -399, 664, 696, 697, 698, -581, 527, 678, 421, + 728, 679, 680, 681, 682, 683, 685, 687, 620, 686, + 688, 575, 693, 264, 689, 699, 700, 701, 621, 702, + 703, 172, 168, 704, 169, 170, 705, 708, 709, 721, + 171, 519, 591, 622, 623, 710, 711, 593, 718, 594, + 152, 719, 625, 720, 421, 722, 152, 725, 726, 727, + 729, 737, 753, 757, 761, 742, -417, 743, 781, 774, + 780, 619, 626, 627, 628, 656, 106, 779, 776, 784, + 788, 618, 128, 129, 869, 870, 132, 133, 134, 135, + 790, 791, 793, -426, 807, 591, 12, 638, 639, 800, + 809, 812, 172, 168, 828, 169, 170, 829, 831, 832, + 836, 171, 838, 855, 856, 889, 858, 860, 862, 871, + 863, 152, 880, 106, 886, 892, 885, 505, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 10, 11, 881, 12, 139, 140, 141, 142, 893, 184, + 894, -47, 897, -47, 667, 143, 144, 145, 146, 147, + 148, 149, 150, 107, 898, 900, 386, -47, -47, 185, + -47, -47, -47, 387, 775, -47, 739, 100, 97, 545, + 861, 714, 602, 470, 472, 471, 186, 694, 740, 672, + 692, 787, 463, 567, 601, 423, 864, -47, 771, 866, + 750, -47, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 868, 593, 883, 594, -47, 455, -101, 629, 558, + 200, 468, 122, 873, 723, 736, 0, 676, 0, 0, + 0, 441, 0, 0, 0, 0, 0, 0, 564, 5, + 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 591, 12, 47, 51, 0, 60, 13, 61, 0, 62, + 0, 0, 0, 92, 0, 0, 748, 0, 754, 14, + 15, 16, 17, 0, 0, 0, 0, 152, 18, 19, + 0, 0, 20, 0, 0, 21, 0, 0, 0, 593, + 772, 594, 22, 23, 0, 0, 0, 0, 0, 24, + 25, 730, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 748, 0, 0, 26, 865, 0, 0, -53, 0, 0, + 593, 0, 594, 47, 51, 0, 60, 591, 61, 0, + 62, 0, 0, 0, 0, 835, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 568, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 0, 0, 595, 47, 51, 60, -101, - 61, 0, 62, 0, 122, 0, 0, 0, 92, 0, - 0, 753, 0, 759, 0, 0, 0, 0, 0, 0, - 0, 0, 152, 0, 0, 0, 0, 0, 0, 597, - 0, 0, 106, 6, 598, 777, 459, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 206, 137, 0, 0, - 0, 0, 12, 0, 0, 141, 142, 0, 0, 0, - 0, 0, 92, 0, 0, 753, 870, 0, 0, 0, - 597, 0, 0, 0, 0, 598, 0, 47, 51, 60, - 0, 61, 595, 62, 0, 0, 0, 0, 0, 0, - 840, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 839, 0, 0, 0, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 0, 0, 0, 595, 0, 0, 0, 0, 460, 172, - 168, 0, 169, 170, 410, 410, 0, 0, 171, 883, - 0, 0, 0, 0, 486, 0, -411, 6, 152, 877, - 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 10, 11, 410, 12, 0, 0, -411, - -411, 13, 0, 0, 432, 433, 487, 488, -411, 0, - 0, 0, 0, 0, 14, 0, 0, 0, 500, 501, - 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 591, 0, + 0, 0, 0, 0, 172, 168, 0, 169, 170, 408, + 408, 0, 0, 171, 878, 0, 0, 0, 0, 483, + 0, -408, 6, 152, 872, 9, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, 10, 11, + 408, 12, 0, 0, -408, -408, 13, 0, 0, 429, + 430, 484, 485, -408, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 497, 498, 499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -411, -411, -411, -411, -411, - -411, -411, -411, -411, 0, 0, 0, 0, 486, -213, - -411, 6, -86, 0, 9, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 10, 11, 0, - 12, 0, 0, -411, -411, 13, 0, 0, 432, 433, - 487, 488, -411, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 500, 501, 502, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, - 0, 22, 23, 623, 128, 129, 0, 0, 132, 133, - 134, 135, 0, 0, 0, 0, 0, 0, 12, -411, - -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, - 0, 0, 486, -213, -411, 6, -557, 0, 9, -411, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, 10, 11, 0, 12, 0, 0, -411, -411, 13, - 0, 0, 432, 433, 487, 488, -411, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 541, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 542, 0, 0, 0, - 0, 185, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 0, 0, 0, 486, 0, -411, 6, 0, - -524, 9, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, 10, 11, 0, 12, 0, 0, - -411, -411, 13, 0, 0, 432, 433, 487, 488, -411, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 0, + 0, 0, 0, 483, -213, -408, 6, -86, 0, 9, + -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, 10, 11, 0, 12, 0, 0, -408, -408, + 13, 0, 0, 429, 430, 484, 485, -408, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 497, 498, 499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -411, -411, -411, -411, - -411, -411, -411, -411, -411, 0, 0, 0, 0, 486, - -213, -411, 6, -68, 0, 9, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, - 0, 12, 0, 0, -411, -411, 13, 0, 0, 432, - 433, 487, 488, -411, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 0, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 0, 0, 0, 0, 483, -213, -408, + 6, -554, 0, 9, -408, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, 10, 11, 0, 12, + 0, 0, -408, -408, 13, 0, 0, 429, 430, 484, + 485, -408, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 537, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 538, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, + 483, 0, -408, 6, 0, -521, 9, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, + 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, + 429, 430, 484, 485, -408, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 0, 0, 0, 0, 483, -213, -408, 6, -68, 0, + 9, -408, -408, -408, -408, -408, -408, -408, -408, -408, + -408, -408, -408, 10, 11, 0, 12, 0, 0, -408, + -408, 13, 0, 0, 429, 430, 484, 485, -408, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, - 0, 0, 0, 486, -213, -411, 6, -90, 0, 9, - -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, - -411, -411, 10, 11, 0, 12, 0, 0, -411, -411, - 13, 0, 0, 432, 433, 487, 488, -411, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 0, 6, 7, 8, 9, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, - 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, - 13, 0, 0, 0, -411, -411, -411, -411, -411, -411, - -411, -411, -411, 14, 15, 16, 17, 0, -213, 0, - 0, -548, 18, 19, 0, 0, 20, 0, 0, 21, - 0, 0, 0, 0, -2, 5, 22, 23, 6, 7, - 8, 9, 0, 24, 25, 735, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 26, 0, 0, - 0, -53, 0, 0, 0, 14, 15, 16, 17, 0, - 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, + 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -408, -408, -408, -408, -408, + -408, -408, -408, -408, 0, 0, 0, 0, 483, -213, + -408, 6, -90, 0, 9, -408, -408, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, 10, 11, 0, + 12, 0, 0, -408, -408, 13, 0, 0, 429, 430, + 484, 485, -408, 0, 0, 106, 6, 0, 14, 456, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, + 137, 0, 0, 0, 0, 12, 0, 0, 141, 142, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, + -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, + 0, 0, 0, -213, 0, 0, -545, 0, 0, 0, + 0, 0, 0, 0, -2, 5, 0, 0, 6, 7, + 8, 9, 0, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 0, 10, 11, 0, 12, 106, 0, + 0, 457, 13, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 14, 15, 16, 17, 139, + 140, 141, 142, 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, - 522, 0, 106, 0, 0, 24, 25, 127, 128, 129, + 518, 0, 106, 0, 0, 24, 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, 0, 26, - -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 6, 7, 8, 9, 0, 0, 0, + -213, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 0, 0, 0, 0, + 5, 185, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, @@ -1771,153 +1768,185 @@ static const yytype_int16 yytable[] = 0, 0, 14, 15, 16, 17, 10, 11, 0, 12, 0, 18, 19, 0, 13, 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, 14, 15, 16, - 17, 0, 24, 25, 735, 0, 18, 19, 0, 0, + 17, 0, 24, 25, 730, 0, 18, 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 106, 0, 26, 24, 25, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 10, 11, 0, 12, 139, 140, 141, 142, 106, - 0, 26, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 0, 0, 0, 0, - 139, 140, 141, 142, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, + 483, 26, -408, 6, 0, 0, 9, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, + 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, + 429, 430, 484, 485, -408, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 497, 498, 499, 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 0, 0, 0, 0, 0, 185, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, - 145, 146, 147, 148, 149, 150, 107, 486, 0, -411, - 6, 0, 185, 9, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, - 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, - 488, -411, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 500, 501, 502, 0, 0, 0, 0, 0, 0, + 150, 107, 0, 22, 23, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 486, 0, -411, - 6, 0, 0, 9, -411, -411, -411, -411, -411, -411, - -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, - 0, 0, -411, -411, 13, 0, 0, 432, 433, 487, - 488, -411, 522, 0, 106, 0, 0, 14, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -411, -411, - -411, -411, -411, -411, -411, -411, -411, 106, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, + 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 483, 0, -408, 6, 0, 0, 9, -408, -408, -408, + -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, + 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, + 429, 430, 484, 485, -408, 518, 0, 106, 0, 0, + 14, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, - 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 206, 137, 138, 0, - 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, - 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 144, 145, 146, + 141, 142, 0, 22, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, + 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, + 12, 139, 140, 141, 142, 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, + 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, + 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 206, 137, 138, 0, 0, 0, 0, 0, + 0, 141, 142, 0, 143, 144, 145, 146, 147, 148, + 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 206, 0, 0, + 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, + 146, 147, 148, 149, 150, 107, 242, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107 + 0, 0, 244, 245, 0, 246, 247, 248, 0, 0, + 249, 0, 143, 144, 145, 146, 147, 148, 149, 150, + 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 251, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 252 }; static const yytype_int16 yycheck[] = { 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 355, 256, 26, 83, 2, 2, - 2, 43, 2, 2, 2, 416, 112, 83, 83, 497, - 83, 83, 118, 83, 551, 369, 357, 358, 359, 360, - 293, 369, 664, 242, 369, 86, 86, 233, 86, 86, - 3, 3, 680, 1, 86, 36, 3, 413, 3, 379, - 3, 83, 84, 3, 86, 49, 49, 49, 3, 49, - 3, 49, 712, 429, 3, 85, 1, 87, 88, 89, - 90, 29, 30, 551, 680, 95, 19, 6, 771, 99, - 0, 332, 102, 74, 428, 105, 96, 78, 6, 96, - 783, 97, 100, 743, 29, 30, 102, 76, 8, 76, - 430, 11, 97, 94, 102, 96, 116, 102, 801, 116, - 511, 90, 308, 90, 97, 808, 50, 97, 381, 102, - 54, 50, 102, 761, 3, 54, 492, 90, 90, 74, - 75, 76, 77, 78, 79, 80, 81, 31, 32, 96, - 90, 99, 508, 96, 22, 90, 100, 90, 93, 94, - 101, 90, 103, 185, 101, 761, 103, 242, 110, 111, - 112, 97, 242, 414, 8, 9, 242, 61, 96, 114, - 97, 422, 66, 97, 31, 32, 242, 242, 387, 242, - 242, 97, 242, 549, 36, 37, 38, 531, 91, 92, - 717, 108, 109, 456, 98, 74, 75, 76, 77, 78, - 79, 80, 81, 3, 61, 404, 405, 406, 97, 66, - 242, 90, 69, 70, 93, 94, 97, 96, 329, 330, - 331, 98, 854, 98, 31, 32, 422, 29, 30, 108, - 109, 97, 576, 97, 113, 114, 15, 16, 576, 717, - 49, 576, 98, 31, 32, 52, 53, 97, 880, 16, - 17, 400, 401, 98, 61, 62, 402, 403, 354, 66, - 892, 90, 69, 70, 52, 53, 362, 100, 100, 97, - 97, 96, 98, 61, 62, 97, 97, 804, 66, 299, - 97, 69, 70, 97, 97, 3, 98, 97, 8, 4, - 98, 6, 99, 97, 97, 3, 97, 102, 97, 48, - 98, 3, 387, 100, 100, 20, 21, 387, 23, 24, - 25, 387, 101, 28, 100, 347, 98, 98, 845, 415, - 114, 387, 387, 355, 387, 387, 804, 387, 672, 98, - 98, 427, 102, 584, 672, 50, 387, 672, 98, 54, - 101, 103, 105, 744, 99, 101, 103, 106, 380, 107, - 114, 103, 448, 68, 450, 387, 59, 99, 554, 104, - 103, 115, 97, 97, 615, 3, 562, 845, 99, 98, - 103, 99, 99, 424, 424, 101, 424, 424, 101, 101, - 101, 32, 424, 424, 416, 101, 103, 483, 408, 720, - 104, 115, 424, 387, 388, 388, 388, 97, 388, 388, - 388, 99, 434, 99, 436, 437, 99, 99, 97, 660, - 97, 443, 497, 97, 99, 30, 99, 497, 99, 97, - 97, 617, 97, 455, 413, 97, 97, 678, 97, 97, - 526, 97, 3, 97, 97, 631, 632, 633, 103, 428, - 8, 97, 97, 97, 464, 97, 99, 97, 97, 97, - 97, 527, 97, 99, 505, 505, 99, 505, 505, 103, - 99, 527, 527, 505, 505, 497, 551, 527, 4, 67, - 6, 551, 99, 505, 97, 571, 527, 97, 3, 511, - 97, 97, 3, 115, 20, 21, 114, 23, 24, 25, - 116, 97, 28, 97, 97, 527, 528, 529, 530, 36, - 99, 114, 98, 115, 36, 856, 857, 56, 39, 103, - 117, 100, 60, 115, 50, 115, 3, 103, 54, 551, - 115, 541, 542, 114, 114, 63, 577, 577, 101, 577, - 577, 115, 68, 103, 103, 577, 887, 40, 97, 102, - 114, 99, 102, 115, 97, 577, 76, 76, 115, 74, - 75, 76, 77, 78, 79, 80, 81, 114, 103, 115, - 549, 115, 313, 313, 49, 90, 761, 17, 93, 94, - 16, 431, 660, 397, 50, 508, 399, 697, 398, 617, - 577, 620, 772, 108, 109, 362, 451, 576, 113, 114, - 505, 851, 387, 756, 853, 3, 721, 848, 694, 855, + 20, 43, 43, 83, 2, 83, 26, 354, 83, 2, + 2, 43, 2, 256, 2, 414, 2, 367, 494, 112, + 547, 367, 83, 83, 83, 118, 356, 357, 358, 367, + 233, 83, 292, 659, 242, 86, 86, 3, 86, 86, + 411, 707, 3, 377, 86, 1, 3, 6, 675, 3, + 3, 83, 84, 36, 86, 426, 49, 49, 3, 49, + 3, 49, 19, 49, 3, 85, 6, 87, 88, 89, + 90, 547, 738, 29, 30, 95, 3, 675, 766, 99, + 96, 96, 102, 8, 0, 105, 11, 425, 331, 76, + 778, 74, 76, 427, 97, 78, 101, 97, 103, 102, + 116, 116, 102, 90, 307, 100, 90, 96, 796, 508, + 50, 94, 97, 96, 54, 803, 97, 102, 489, 379, + 74, 75, 76, 77, 78, 79, 80, 81, 3, 756, + 96, 31, 32, 90, 505, 96, 90, 90, 22, 93, + 94, 3, 96, 99, 1, 90, 50, 90, 8, 9, + 54, 90, 102, 185, 108, 109, 97, 242, 756, 113, + 114, 61, 242, 97, 242, 97, 66, 242, 102, 412, + 91, 92, 29, 30, 545, 98, 419, 385, 97, 3, + 98, 242, 242, 242, 97, 712, 110, 111, 112, 527, + 242, 108, 109, 453, 31, 32, 36, 37, 38, 74, + 75, 76, 77, 78, 79, 80, 81, 402, 403, 404, + 242, 328, 329, 330, 97, 90, 419, 98, 93, 94, + 29, 30, 572, 849, 61, 97, 572, 15, 16, 66, + 16, 17, 69, 70, 572, 49, 712, 398, 399, 114, + 400, 401, 97, 90, 98, 97, 96, 98, 101, 875, + 74, 75, 76, 77, 78, 79, 80, 81, 100, 100, + 353, 887, 100, 97, 97, 97, 90, 360, 98, 93, + 94, 97, 799, 31, 32, 97, 97, 97, 298, 98, + 97, 3, 98, 98, 108, 109, 97, 97, 100, 113, + 114, 97, 97, 3, 52, 53, 8, 31, 32, 102, + 385, 101, 100, 61, 62, 385, 100, 385, 66, 48, + 385, 69, 70, 840, 346, 114, 98, 667, 52, 53, + 413, 667, 354, 799, 385, 385, 385, 61, 62, 667, + 98, 424, 66, 385, 385, 69, 70, 580, 98, 98, + 739, 99, 98, 3, 105, 102, 378, 550, 101, 103, + 114, 106, 445, 385, 447, 558, 107, 103, 99, 101, + 103, 59, 99, 115, 840, 97, 104, 610, 103, 97, + 421, 421, 99, 421, 421, 3, 99, 98, 103, 421, + 421, 99, 414, 103, 101, 715, 406, 480, 386, 421, + 101, 104, 385, 386, 386, 101, 386, 101, 386, 431, + 386, 433, 434, 99, 99, 99, 115, 99, 440, 612, + 32, 97, 655, 411, 494, 97, 494, 97, 97, 30, + 452, 99, 99, 626, 627, 628, 99, 425, 97, 522, + 673, 97, 97, 97, 97, 97, 97, 3, 523, 97, + 97, 461, 97, 8, 103, 97, 97, 97, 523, 97, + 97, 502, 502, 97, 502, 502, 97, 97, 97, 67, + 502, 502, 494, 523, 523, 99, 99, 547, 99, 547, + 502, 103, 523, 99, 567, 99, 508, 97, 97, 97, + 97, 3, 97, 97, 97, 115, 36, 114, 36, 99, + 115, 523, 524, 525, 526, 116, 3, 98, 114, 39, + 56, 8, 9, 10, 851, 852, 13, 14, 15, 16, + 103, 117, 100, 115, 60, 547, 23, 537, 538, 115, + 3, 115, 573, 573, 103, 573, 573, 114, 114, 63, + 101, 573, 115, 103, 103, 882, 40, 97, 102, 114, + 99, 573, 115, 3, 102, 97, 114, 545, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 115, 23, 24, 25, 26, 27, 115, 49, + 76, 4, 115, 6, 572, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 103, 76, 312, 20, 21, 96, + 23, 24, 25, 312, 756, 28, 689, 17, 16, 428, + 843, 655, 505, 395, 397, 396, 50, 615, 692, 573, + 612, 767, 385, 448, 502, 360, 846, 50, 751, 848, + 716, 54, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 850, 712, 874, 712, 68, 384, 97, 527, 440, + 78, 390, 102, 855, 667, 677, -1, 580, -1, -1, + -1, 367, -1, -1, -1, -1, -1, -1, 751, 1, + -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, + 712, 23, 675, 675, -1, 675, 28, 675, -1, 675, + -1, -1, -1, 713, -1, -1, 713, -1, 730, 41, + 42, 43, 44, -1, -1, -1, -1, 739, 50, 51, + -1, -1, 54, -1, -1, 57, -1, -1, -1, 799, + 752, 799, 64, 65, -1, -1, -1, -1, -1, 71, + 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 767, -1, -1, + 767, -1, -1, 95, 847, -1, -1, 99, -1, -1, + 840, -1, 840, 756, 756, -1, 756, 799, 756, -1, + 756, -1, -1, -1, -1, 807, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 806, -1, -1, 806, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 840, -1, + -1, -1, -1, -1, 865, 865, -1, 865, 865, 851, + 852, -1, -1, 865, 865, -1, -1, -1, -1, 1, + -1, 3, 4, 865, 854, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 882, 23, -1, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, + -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 879, 23, 24, 25, 26, 27, - 386, 78, 531, 860, 443, 369, 672, 392, 584, -1, - -1, -1, 717, -1, -1, -1, -1, 717, -1, -1, + 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, + 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, + -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 682, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, 717, 680, 680, 680, 97, - 680, -1, 680, -1, 102, -1, -1, -1, 718, -1, - -1, 718, -1, 735, -1, -1, -1, -1, -1, -1, - -1, -1, 744, -1, -1, -1, -1, -1, -1, 804, - -1, -1, 3, 4, 804, 757, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, -1, -1, - -1, -1, 23, -1, -1, 26, 27, -1, -1, -1, - -1, -1, 772, -1, -1, 772, 852, -1, -1, -1, - 845, -1, -1, -1, -1, 845, -1, 761, 761, 761, - -1, 761, 804, 761, -1, -1, -1, -1, -1, -1, - 812, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 811, -1, -1, 811, -1, -1, -1, -1, -1, + 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, + 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, + 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, + 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, + 1, -1, 3, 4, -1, 99, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - -1, -1, -1, 845, -1, -1, -1, -1, 99, 870, - 870, -1, 870, 870, 856, 857, -1, -1, 870, 870, - -1, -1, -1, -1, 1, -1, 3, 4, 870, 859, + -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 887, 23, -1, -1, 26, + 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, - -1, -1, -1, -1, 41, -1, -1, -1, 45, 46, - 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, @@ -1925,64 +1954,26 @@ static const yytype_int16 yycheck[] = 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, - 33, 34, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, - -1, 64, 65, 8, 9, 10, -1, -1, 13, 14, - 15, 16, -1, -1, -1, -1, -1, -1, 23, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, 1, 96, 3, 4, 99, -1, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, -1, -1, 26, 27, 28, - -1, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, -1, -1, -1, 45, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 55, -1, -1, -1, - -1, 96, -1, -1, -1, 64, 65, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, 1, -1, 3, 4, -1, - 99, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, -1, -1, - 26, 27, 28, -1, -1, 31, 32, 33, 34, 35, - -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, 1, - 96, 3, 4, 99, -1, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + 33, 34, 35, -1, -1, 3, 4, -1, 41, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, - 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -1, 4, 5, 6, 7, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, - -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, - 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 41, 42, 43, 44, -1, 96, -1, - -1, 99, 50, 51, -1, -1, 54, -1, -1, 57, - -1, -1, -1, -1, 0, 1, 64, 65, 4, 5, - 6, 7, -1, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, - -1, -1, 28, -1, -1, -1, -1, 95, -1, -1, - -1, 99, -1, -1, -1, 41, 42, 43, 44, -1, - -1, -1, -1, -1, 50, 51, -1, -1, 54, -1, + 18, -1, -1, -1, -1, 23, -1, -1, 26, 27, + -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, + -1, -1, -1, 96, -1, -1, 99, -1, -1, -1, + -1, -1, -1, -1, 0, 1, -1, -1, 4, 5, + 6, 7, -1, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, 20, 21, -1, 23, 3, -1, + -1, 99, 28, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 41, 42, 43, 44, 24, + 25, 26, 27, -1, 50, 51, -1, -1, 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, 1, -1, 3, -1, -1, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, -1, 95, - 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, 4, 5, 6, 7, -1, -1, -1, + 96, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, + 1, 96, -1, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, @@ -1999,55 +1990,50 @@ static const yytype_int16 yycheck[] = 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, 3, -1, 95, 71, 72, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, 27, 3, - -1, 95, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, + 1, 95, 3, 4, -1, -1, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, + 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, + 41, -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, -1, -1, -1, -1, 96, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, - 4, -1, 96, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, + 89, 90, -1, 64, 65, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 1, -1, 3, - 4, -1, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, 1, -1, 3, -1, -1, 41, -1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, - -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 1, -1, 3, 4, -1, -1, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, + 31, 32, 33, 34, 35, 1, -1, 3, -1, -1, + 41, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, - 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, - -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, 83, 84, 85, + 26, 27, -1, 64, 65, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, + 23, 24, 25, 26, 27, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, - -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, + -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, + -1, 26, 27, -1, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, + -1, -1, -1, -1, -1, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 4, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90 + -1, -1, 20, 21, -1, 23, 24, 25, -1, -1, + 28, -1, 82, 83, 84, 85, 86, 87, 88, 89, + 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 50, -1, -1, -1, 54, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 68 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -2060,91 +2046,91 @@ static const yytype_int16 yystos[] = 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 365, 416, 417, 418, 419, 420, 424, 446, 448, 471, - 472, 473, 474, 475, 479, 480, 481, 484, 488, 496, - 509, 510, 138, 215, 140, 167, 250, 279, 292, 318, - 366, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 449, 3, 90, 208, 211, - 208, 497, 511, 212, 100, 142, 131, 147, 159, 97, + 363, 414, 415, 416, 417, 418, 422, 444, 446, 469, + 470, 471, 472, 473, 477, 478, 479, 482, 486, 494, + 507, 508, 138, 215, 140, 167, 250, 279, 292, 318, + 364, 3, 212, 266, 166, 54, 166, 181, 183, 54, + 173, 183, 184, 212, 212, 447, 3, 90, 208, 211, + 208, 495, 509, 212, 100, 142, 131, 147, 159, 97, 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 329, 332, 335, 338, 339, 342, - 343, 346, 128, 124, 122, 96, 242, 125, 281, 22, - 129, 126, 127, 133, 421, 134, 447, 135, 169, 482, - 482, 136, 137, 98, 513, 97, 17, 208, 219, 268, - 271, 272, 273, 274, 275, 339, 343, 208, 212, 251, + 291, 293, 317, 326, 327, 330, 333, 336, 337, 340, + 341, 344, 128, 124, 122, 96, 242, 125, 281, 22, + 129, 126, 127, 133, 419, 134, 445, 135, 169, 480, + 480, 136, 137, 98, 511, 97, 17, 208, 219, 268, + 271, 272, 273, 274, 275, 337, 341, 208, 212, 251, 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, - 212, 425, 212, 209, 76, 90, 76, 3, 241, 98, + 212, 423, 212, 209, 76, 90, 76, 3, 241, 98, 98, 97, 4, 6, 20, 21, 23, 24, 25, 28, - 50, 54, 68, 489, 490, 492, 241, 506, 97, 49, - 185, 98, 97, 98, 8, 11, 8, 9, 100, 336, - 330, 182, 101, 103, 101, 103, 100, 100, 97, 97, - 208, 97, 98, 294, 97, 97, 97, 97, 98, 97, - 98, 458, 97, 483, 476, 485, 97, 97, 514, 216, - 252, 319, 367, 98, 102, 427, 450, 211, 210, 498, - 3, 242, 233, 143, 219, 100, 3, 148, 491, 74, - 75, 76, 77, 78, 79, 80, 81, 93, 94, 108, - 109, 113, 114, 208, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 508, 101, 170, 164, 175, - 8, 221, 231, 100, 100, 48, 186, 327, 333, 340, - 344, 243, 282, 114, 422, 459, 186, 98, 98, 516, - 212, 212, 259, 262, 266, 267, 347, 98, 98, 179, - 428, 426, 102, 455, 211, 98, 512, 234, 120, 121, - 3, 101, 103, 229, 229, 229, 221, 105, 106, 107, - 91, 92, 108, 109, 110, 111, 112, 507, 160, 205, - 208, 194, 195, 189, 103, 337, 241, 205, 231, 231, - 231, 231, 114, 244, 241, 284, 286, 295, 429, 461, - 477, 486, 31, 32, 61, 66, 69, 70, 354, 355, - 360, 438, 440, 441, 505, 515, 517, 217, 348, 260, - 320, 368, 194, 208, 186, 456, 451, 499, 427, 7, - 99, 214, 219, 235, 237, 238, 276, 317, 144, 101, - 149, 492, 115, 223, 224, 225, 226, 226, 227, 227, - 228, 228, 228, 103, 212, 206, 1, 33, 34, 165, - 196, 214, 240, 249, 354, 365, 370, 375, 416, 417, - 45, 46, 47, 176, 190, 192, 193, 196, 240, 377, - 221, 241, 254, 328, 334, 341, 345, 211, 221, 245, - 246, 248, 1, 253, 287, 283, 285, 241, 52, 53, - 62, 240, 354, 423, 430, 438, 440, 443, 444, 445, - 505, 45, 55, 196, 460, 462, 465, 468, 194, 189, - 356, 361, 19, 208, 439, 59, 442, 208, 208, 520, - 518, 519, 439, 521, 99, 104, 241, 103, 241, 322, - 325, 285, 180, 208, 186, 501, 502, 236, 97, 212, - 97, 99, 3, 98, 241, 103, 204, 99, 200, 196, - 197, 202, 201, 203, 35, 208, 255, 339, 343, 376, - 399, 198, 199, 378, 99, 287, 190, 191, 101, 254, - 331, 101, 101, 101, 101, 104, 115, 103, 247, 290, - 288, 99, 286, 8, 208, 268, 273, 274, 275, 300, - 317, 208, 208, 208, 430, 436, 99, 431, 432, 433, - 434, 435, 437, 212, 212, 99, 463, 464, 478, 487, - 32, 399, 211, 3, 3, 97, 97, 97, 211, 97, - 218, 116, 349, 351, 261, 3, 321, 323, 369, 99, - 452, 500, 240, 354, 438, 440, 503, 251, 30, 239, - 150, 508, 207, 97, 97, 97, 97, 97, 97, 371, - 97, 97, 3, 97, 103, 221, 211, 248, 97, 259, - 296, 211, 211, 211, 97, 97, 97, 97, 97, 97, - 97, 466, 469, 97, 97, 99, 99, 357, 362, 220, - 352, 350, 262, 99, 103, 99, 67, 99, 503, 504, - 97, 97, 97, 221, 97, 73, 123, 139, 152, 154, - 155, 208, 3, 379, 241, 247, 289, 115, 114, 381, - 381, 399, 263, 266, 231, 351, 324, 453, 97, 208, - 151, 153, 97, 372, 381, 254, 97, 297, 382, 383, - 467, 470, 358, 363, 264, 353, 325, 208, 156, 99, - 154, 114, 390, 380, 98, 115, 36, 384, 387, 39, - 401, 401, 263, 56, 404, 103, 117, 454, 100, 391, - 392, 373, 401, 298, 388, 115, 385, 402, 359, 405, - 364, 265, 60, 457, 3, 493, 495, 115, 36, 37, - 38, 393, 396, 400, 401, 1, 29, 30, 301, 303, - 307, 309, 399, 103, 114, 401, 114, 63, 407, 266, - 208, 101, 494, 115, 394, 397, 374, 306, 311, 310, - 299, 302, 304, 308, 389, 386, 403, 406, 408, 157, - 103, 103, 399, 40, 410, 97, 221, 102, 99, 303, - 241, 309, 262, 387, 205, 205, 114, 212, 495, 395, - 398, 411, 312, 253, 313, 115, 115, 409, 396, 262, - 114, 102, 314, 305, 205, 412, 262, 97, 115, 76, - 413, 414, 115, 103, 415, 76 + 50, 54, 68, 487, 488, 490, 241, 504, 97, 49, + 185, 98, 97, 98, 8, 11, 8, 9, 100, 334, + 328, 182, 101, 101, 103, 100, 100, 97, 97, 208, + 97, 98, 294, 97, 97, 97, 97, 98, 97, 98, + 456, 97, 481, 474, 483, 97, 97, 512, 216, 252, + 319, 365, 98, 102, 425, 448, 211, 210, 496, 3, + 242, 233, 143, 219, 100, 3, 148, 489, 74, 75, + 76, 77, 78, 79, 80, 81, 93, 94, 108, 109, + 113, 114, 208, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 506, 101, 170, 164, 175, 8, + 221, 231, 100, 100, 48, 186, 331, 338, 342, 243, + 282, 114, 420, 457, 186, 98, 98, 514, 212, 212, + 259, 262, 266, 267, 345, 98, 98, 179, 426, 424, + 102, 453, 211, 98, 510, 234, 120, 121, 3, 101, + 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, + 108, 109, 110, 111, 112, 505, 160, 205, 208, 194, + 195, 189, 103, 335, 241, 205, 231, 231, 231, 114, + 244, 241, 284, 286, 295, 427, 459, 475, 484, 31, + 32, 61, 66, 69, 70, 352, 353, 358, 436, 438, + 439, 503, 513, 515, 217, 346, 260, 320, 366, 194, + 208, 186, 454, 449, 497, 425, 7, 99, 214, 219, + 235, 237, 238, 276, 317, 144, 101, 149, 490, 115, + 223, 224, 225, 226, 226, 227, 227, 228, 228, 228, + 103, 212, 206, 1, 33, 34, 165, 196, 214, 240, + 249, 352, 363, 368, 373, 414, 415, 45, 46, 47, + 176, 190, 192, 193, 196, 240, 375, 221, 241, 254, + 332, 339, 343, 211, 221, 245, 246, 248, 1, 253, + 287, 283, 285, 241, 52, 53, 62, 240, 352, 421, + 428, 436, 438, 441, 442, 443, 503, 45, 55, 196, + 458, 460, 463, 466, 194, 189, 354, 359, 19, 208, + 437, 59, 440, 208, 208, 518, 516, 517, 437, 519, + 99, 104, 241, 103, 241, 322, 325, 285, 180, 208, + 186, 499, 500, 236, 97, 212, 97, 99, 3, 98, + 241, 103, 204, 99, 200, 196, 197, 202, 201, 203, + 35, 208, 255, 337, 341, 374, 397, 198, 199, 376, + 99, 287, 190, 191, 101, 254, 329, 101, 101, 101, + 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, + 268, 273, 274, 275, 300, 317, 208, 208, 208, 428, + 434, 99, 429, 430, 431, 432, 433, 435, 212, 212, + 99, 461, 462, 476, 485, 32, 397, 211, 3, 3, + 97, 97, 97, 211, 97, 218, 116, 347, 349, 261, + 3, 321, 323, 367, 99, 450, 498, 240, 352, 436, + 438, 501, 251, 30, 239, 150, 506, 207, 97, 97, + 97, 97, 97, 97, 369, 97, 97, 3, 97, 103, + 221, 211, 248, 97, 259, 296, 211, 211, 211, 97, + 97, 97, 97, 97, 97, 97, 464, 467, 97, 97, + 99, 99, 355, 360, 220, 350, 348, 262, 99, 103, + 99, 67, 99, 501, 502, 97, 97, 97, 221, 97, + 73, 123, 139, 152, 154, 155, 208, 3, 377, 241, + 247, 289, 115, 114, 379, 379, 397, 263, 266, 231, + 349, 324, 451, 97, 208, 151, 153, 97, 370, 379, + 254, 97, 297, 380, 381, 465, 468, 356, 361, 264, + 351, 325, 208, 156, 99, 154, 114, 388, 378, 98, + 115, 36, 382, 385, 39, 399, 399, 263, 56, 402, + 103, 117, 452, 100, 389, 390, 371, 399, 298, 386, + 115, 383, 400, 357, 403, 362, 265, 60, 455, 3, + 491, 493, 115, 36, 37, 38, 391, 394, 398, 399, + 1, 29, 30, 301, 303, 307, 309, 397, 103, 114, + 399, 114, 63, 405, 266, 208, 101, 492, 115, 392, + 395, 372, 306, 311, 310, 299, 302, 304, 308, 387, + 384, 401, 404, 406, 157, 103, 103, 397, 40, 408, + 97, 221, 102, 99, 303, 241, 309, 262, 385, 205, + 205, 114, 212, 493, 393, 396, 409, 312, 253, 313, + 115, 115, 407, 394, 262, 114, 102, 314, 305, 205, + 410, 262, 97, 115, 76, 411, 412, 115, 103, 413, + 76 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -2185,33 +2171,33 @@ static const yytype_int16 yyr1[] = 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 327, 328, 326, 326, 330, 331, - 329, 333, 334, 332, 332, 336, 337, 335, 338, 340, - 341, 339, 339, 342, 344, 345, 343, 343, 346, 348, - 347, 349, 350, 350, 352, 353, 351, 354, 354, 356, - 357, 358, 359, 355, 361, 362, 363, 364, 360, 366, - 367, 368, 369, 365, 371, 372, 373, 374, 370, 375, - 375, 375, 376, 376, 378, 379, 380, 377, 382, 381, - 383, 381, 384, 386, 385, 385, 388, 389, 387, 391, - 390, 392, 390, 393, 395, 394, 394, 397, 398, 396, - 399, 399, 399, 399, 400, 400, 400, 402, 403, 401, - 401, 405, 406, 404, 404, 408, 409, 407, 407, 411, - 412, 410, 410, 413, 415, 414, 414, 416, 417, 418, - 418, 419, 421, 422, 423, 420, 425, 426, 424, 428, - 427, 427, 429, 429, 429, 431, 430, 432, 430, 433, - 430, 434, 430, 435, 430, 436, 430, 437, 430, 438, - 439, 439, 440, 441, 442, 442, 443, 444, 445, 447, - 446, 449, 450, 451, 452, 453, 454, 448, 456, 455, - 455, 457, 457, 459, 460, 458, 461, 461, 462, 463, - 462, 464, 462, 466, 467, 465, 469, 470, 468, 471, - 471, 471, 472, 472, 473, 474, 476, 477, 478, 475, - 479, 480, 481, 483, 482, 485, 486, 487, 484, 488, - 488, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 489, 489, 490, 491, 491, 492, 492, 493, 494, 494, - 495, 497, 498, 499, 500, 496, 501, 501, 502, 502, - 503, 503, 504, 503, 505, 505, 506, 507, 507, 508, - 509, 511, 512, 510, 514, 515, 513, 516, 516, 518, - 517, 519, 517, 520, 517, 521, 517 + 324, 323, 323, 325, 326, 328, 329, 327, 331, 332, + 330, 330, 334, 335, 333, 336, 338, 339, 337, 337, + 340, 342, 343, 341, 341, 344, 346, 345, 347, 348, + 348, 350, 351, 349, 352, 352, 354, 355, 356, 357, + 353, 359, 360, 361, 362, 358, 364, 365, 366, 367, + 363, 369, 370, 371, 372, 368, 373, 373, 373, 374, + 374, 376, 377, 378, 375, 380, 379, 381, 379, 382, + 384, 383, 383, 386, 387, 385, 389, 388, 390, 388, + 391, 393, 392, 392, 395, 396, 394, 397, 397, 397, + 397, 398, 398, 398, 400, 401, 399, 399, 403, 404, + 402, 402, 406, 407, 405, 405, 409, 410, 408, 408, + 411, 413, 412, 412, 414, 415, 416, 416, 417, 419, + 420, 421, 418, 423, 424, 422, 426, 425, 425, 427, + 427, 427, 429, 428, 430, 428, 431, 428, 432, 428, + 433, 428, 434, 428, 435, 428, 436, 437, 437, 438, + 439, 440, 440, 441, 442, 443, 445, 444, 447, 448, + 449, 450, 451, 452, 446, 454, 453, 453, 455, 455, + 457, 458, 456, 459, 459, 460, 461, 460, 462, 460, + 464, 465, 463, 467, 468, 466, 469, 469, 469, 470, + 470, 471, 472, 474, 475, 476, 473, 477, 478, 479, + 481, 480, 483, 484, 485, 482, 486, 486, 487, 487, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 488, + 489, 489, 490, 490, 491, 492, 492, 493, 495, 496, + 497, 498, 494, 499, 499, 500, 500, 501, 501, 502, + 501, 503, 503, 504, 505, 505, 506, 507, 509, 510, + 508, 512, 513, 511, 514, 514, 516, 515, 517, 515, + 518, 515, 519, 515 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2252,33 +2238,33 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 0, 0, 6, 2, 0, 0, - 9, 0, 0, 6, 2, 0, 0, 6, 6, 0, - 0, 6, 1, 1, 0, 0, 6, 1, 1, 0, - 4, 2, 2, 0, 0, 0, 5, 1, 1, 0, - 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, - 0, 0, 0, 9, 0, 0, 0, 0, 10, 1, - 1, 0, 1, 1, 0, 0, 0, 7, 0, 3, - 0, 4, 2, 0, 4, 0, 0, 0, 5, 0, - 3, 0, 4, 2, 0, 4, 0, 0, 0, 5, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 6, - 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, - 0, 6, 0, 2, 0, 4, 0, 3, 3, 1, - 1, 2, 0, 0, 0, 7, 0, 0, 6, 0, - 3, 0, 3, 2, 0, 0, 3, 0, 3, 0, - 3, 0, 3, 0, 3, 0, 3, 0, 3, 3, - 1, 1, 3, 2, 1, 0, 3, 3, 3, 0, - 3, 0, 0, 0, 0, 0, 0, 13, 0, 3, - 0, 2, 0, 0, 0, 5, 2, 0, 1, 0, - 3, 0, 3, 0, 0, 6, 0, 0, 6, 1, - 1, 1, 1, 1, 2, 3, 0, 0, 0, 8, - 3, 3, 2, 0, 3, 0, 0, 0, 8, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 3, 0, 2, 5, 2, 3, 0, - 1, 0, 0, 0, 0, 9, 3, 2, 1, 0, - 2, 2, 0, 3, 3, 3, 3, 4, 0, 1, - 2, 0, 0, 6, 0, 0, 5, 2, 0, 0, - 3, 0, 3, 0, 3, 0, 3 + 0, 4, 0, 2, 2, 0, 0, 9, 0, 0, + 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, + 1, 0, 0, 6, 1, 1, 0, 4, 2, 2, + 0, 0, 0, 5, 1, 1, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 10, 1, 1, 0, 1, + 1, 0, 0, 0, 7, 0, 3, 0, 4, 2, + 0, 4, 0, 0, 0, 5, 0, 3, 0, 4, + 2, 0, 4, 0, 0, 0, 5, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 6, 0, 0, 0, + 6, 0, 0, 0, 6, 0, 0, 0, 6, 0, + 2, 0, 4, 0, 3, 3, 1, 1, 2, 0, + 0, 0, 7, 0, 0, 6, 0, 3, 0, 3, + 2, 0, 0, 3, 0, 3, 0, 3, 0, 3, + 0, 3, 0, 3, 0, 3, 3, 1, 1, 3, + 2, 1, 0, 3, 3, 3, 0, 3, 0, 0, + 0, 0, 0, 0, 13, 0, 3, 0, 2, 0, + 0, 0, 5, 2, 0, 1, 0, 3, 0, 3, + 0, 0, 6, 0, 0, 6, 1, 1, 1, 1, + 1, 2, 3, 0, 0, 0, 8, 3, 3, 2, + 0, 3, 0, 0, 0, 8, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 3, 0, 2, 5, 2, 3, 0, 1, 0, 0, + 0, 0, 9, 3, 2, 1, 0, 2, 2, 0, + 3, 3, 3, 3, 4, 0, 1, 2, 0, 0, + 6, 0, 0, 5, 2, 0, 0, 3, 0, 3, + 0, 3, 0, 3 }; @@ -2464,6 +2450,7 @@ int yydebug; + /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ @@ -2493,12 +2480,13 @@ int yynerrs; + /*----------. | yyparse. | `----------*/ int -yyparse () +yyparse (void) { yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ @@ -2530,6 +2518,7 @@ yyparse () YYSTYPE yyval; + #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. @@ -2754,7 +2743,7 @@ yyparse () } delete annotations; } -#line 2762 "fe/idl.tab.cpp" +#line 2747 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ @@ -2762,7 +2751,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2770 "fe/idl.tab.cpp" +#line 2755 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ @@ -2770,7 +2759,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2778 "fe/idl.tab.cpp" +#line 2763 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ @@ -2778,7 +2767,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2786 "fe/idl.tab.cpp" +#line 2771 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ @@ -2786,7 +2775,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2794 "fe/idl.tab.cpp" +#line 2779 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ @@ -2794,7 +2783,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2802 "fe/idl.tab.cpp" +#line 2787 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ @@ -2802,7 +2791,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2810 "fe/idl.tab.cpp" +#line 2795 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ @@ -2810,7 +2799,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2818 "fe/idl.tab.cpp" +#line 2803 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ @@ -2818,7 +2807,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2826 "fe/idl.tab.cpp" +#line 2811 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ @@ -2826,7 +2815,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2834 "fe/idl.tab.cpp" +#line 2819 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ @@ -2834,7 +2823,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2842 "fe/idl.tab.cpp" +#line 2827 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ @@ -2842,7 +2831,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2850 "fe/idl.tab.cpp" +#line 2835 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ @@ -2850,7 +2839,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2858 "fe/idl.tab.cpp" +#line 2843 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ @@ -2858,7 +2847,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2866 "fe/idl.tab.cpp" +#line 2851 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ @@ -2866,7 +2855,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2874 "fe/idl.tab.cpp" +#line 2859 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ @@ -2874,7 +2863,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2882 "fe/idl.tab.cpp" +#line 2867 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ @@ -2882,7 +2871,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2890 "fe/idl.tab.cpp" +#line 2875 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ @@ -2890,7 +2879,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2898 "fe/idl.tab.cpp" +#line 2883 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ @@ -2898,7 +2887,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2906 "fe/idl.tab.cpp" +#line 2891 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ @@ -2906,7 +2895,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2914 "fe/idl.tab.cpp" +#line 2899 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ @@ -2914,7 +2903,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2922 "fe/idl.tab.cpp" +#line 2907 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ @@ -2922,7 +2911,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2930 "fe/idl.tab.cpp" +#line 2915 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ @@ -2930,7 +2919,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2938 "fe/idl.tab.cpp" +#line 2923 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ @@ -2938,7 +2927,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2946 "fe/idl.tab.cpp" +#line 2931 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ @@ -2946,7 +2935,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2954 "fe/idl.tab.cpp" +#line 2939 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ @@ -2954,7 +2943,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2962 "fe/idl.tab.cpp" +#line 2947 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ @@ -2962,7 +2951,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2970 "fe/idl.tab.cpp" +#line 2955 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ @@ -2970,7 +2959,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2978 "fe/idl.tab.cpp" +#line 2963 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ @@ -2978,7 +2967,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2986 "fe/idl.tab.cpp" +#line 2971 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ @@ -2986,7 +2975,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2994 "fe/idl.tab.cpp" +#line 2979 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ @@ -2996,7 +2985,7 @@ yyparse () yyerrok; (yyval.dcval) = 0; } -#line 3004 "fe/idl.tab.cpp" +#line 2989 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ @@ -3004,7 +2993,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 3012 "fe/idl.tab.cpp" +#line 2997 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ @@ -3012,7 +3001,7 @@ yyparse () { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3020 "fe/idl.tab.cpp" +#line 3005 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ @@ -3055,7 +3044,7 @@ yyparse () (yyval.dcval) = m; } -#line 3063 "fe/idl.tab.cpp" +#line 3048 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ @@ -3063,7 +3052,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3071 "fe/idl.tab.cpp" +#line 3056 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ @@ -3071,7 +3060,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3079 "fe/idl.tab.cpp" +#line 3064 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ @@ -3085,7 +3074,7 @@ yyparse () idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3093 "fe/idl.tab.cpp" +#line 3078 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ @@ -3093,7 +3082,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3101 "fe/idl.tab.cpp" +#line 3086 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ @@ -3111,7 +3100,7 @@ yyparse () IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3119 "fe/idl.tab.cpp" +#line 3104 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ @@ -3125,7 +3114,7 @@ yyparse () return 1; } } -#line 3133 "fe/idl.tab.cpp" +#line 3118 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ @@ -3159,7 +3148,7 @@ yyparse () // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3167 "fe/idl.tab.cpp" +#line 3152 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ @@ -3167,7 +3156,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3175 "fe/idl.tab.cpp" +#line 3160 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ @@ -3175,7 +3164,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3183 "fe/idl.tab.cpp" +#line 3168 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ @@ -3198,7 +3187,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3206 "fe/idl.tab.cpp" +#line 3191 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ @@ -3207,7 +3196,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3215 "fe/idl.tab.cpp" +#line 3200 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ @@ -3216,7 +3205,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3224 "fe/idl.tab.cpp" +#line 3209 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ @@ -3298,7 +3287,7 @@ yyparse () idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3306 "fe/idl.tab.cpp" +#line 3291 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ @@ -3307,7 +3296,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3315 "fe/idl.tab.cpp" +#line 3300 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ @@ -3316,7 +3305,7 @@ yyparse () idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3324 "fe/idl.tab.cpp" +#line 3309 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ @@ -3384,7 +3373,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3392 "fe/idl.tab.cpp" +#line 3377 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ @@ -3426,7 +3415,7 @@ yyparse () */ idl_global->scopes ().push (i); } -#line 3434 "fe/idl.tab.cpp" +#line 3419 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ @@ -3434,7 +3423,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3442 "fe/idl.tab.cpp" +#line 3427 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ @@ -3442,7 +3431,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3450 "fe/idl.tab.cpp" +#line 3435 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ @@ -3456,7 +3445,7 @@ yyparse () */ idl_global->scopes ().pop (); } -#line 3464 "fe/idl.tab.cpp" +#line 3449 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ @@ -3464,7 +3453,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3472 "fe/idl.tab.cpp" +#line 3457 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ @@ -3473,7 +3462,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3481 "fe/idl.tab.cpp" +#line 3466 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ @@ -3513,7 +3502,7 @@ yyparse () (yyvsp[0].nlval) = 0; } } -#line 3521 "fe/idl.tab.cpp" +#line 3506 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ @@ -3546,7 +3535,7 @@ yyparse () (yyvsp[0].nlval) = 0; } } -#line 3554 "fe/idl.tab.cpp" +#line 3539 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ @@ -3579,7 +3568,7 @@ yyparse () (yyvsp[0].nlval) = 0; } } -#line 3587 "fe/idl.tab.cpp" +#line 3572 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ @@ -3587,7 +3576,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3595 "fe/idl.tab.cpp" +#line 3580 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ @@ -3596,7 +3585,7 @@ yyparse () (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3604 "fe/idl.tab.cpp" +#line 3589 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ @@ -3604,7 +3593,7 @@ yyparse () { (yyval.nlval) = 0; } -#line 3612 "fe/idl.tab.cpp" +#line 3597 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ @@ -3613,7 +3602,7 @@ yyparse () idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3621 "fe/idl.tab.cpp" +#line 3606 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ @@ -3664,7 +3653,7 @@ yyparse () (yyval.dcval) = valuetype; } -#line 3672 "fe/idl.tab.cpp" +#line 3657 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ @@ -3672,7 +3661,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3680 "fe/idl.tab.cpp" +#line 3665 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ @@ -3680,7 +3669,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3688 "fe/idl.tab.cpp" +#line 3673 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ @@ -3705,7 +3694,7 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3713 "fe/idl.tab.cpp" +#line 3698 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ @@ -3752,7 +3741,7 @@ yyparse () */ idl_global->scopes ().push (v); } -#line 3760 "fe/idl.tab.cpp" +#line 3745 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ @@ -3760,7 +3749,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3768 "fe/idl.tab.cpp" +#line 3753 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ @@ -3768,7 +3757,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3776 "fe/idl.tab.cpp" +#line 3761 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ @@ -3783,7 +3772,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3791 "fe/idl.tab.cpp" +#line 3776 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ @@ -3791,7 +3780,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3799 "fe/idl.tab.cpp" +#line 3784 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ @@ -3826,7 +3815,7 @@ yyparse () (yyvsp[-2].nlval) = 0; } } -#line 3834 "fe/idl.tab.cpp" +#line 3819 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ @@ -3834,7 +3823,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3842 "fe/idl.tab.cpp" +#line 3827 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ @@ -3843,7 +3832,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3851 "fe/idl.tab.cpp" +#line 3836 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ @@ -3851,7 +3840,7 @@ yyparse () { (yyval.bval) = true; } -#line 3859 "fe/idl.tab.cpp" +#line 3844 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ @@ -3859,7 +3848,7 @@ yyparse () { (yyval.bval) = false; } -#line 3867 "fe/idl.tab.cpp" +#line 3852 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ @@ -3867,7 +3856,7 @@ yyparse () { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3875 "fe/idl.tab.cpp" +#line 3860 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ @@ -3875,7 +3864,7 @@ yyparse () { (yyval.nlval) = 0; } -#line 3883 "fe/idl.tab.cpp" +#line 3868 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ @@ -3902,7 +3891,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3910 "fe/idl.tab.cpp" +#line 3895 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ @@ -3931,7 +3920,7 @@ yyparse () (yyval.dcval) = 0; } -#line 3939 "fe/idl.tab.cpp" +#line 3924 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ @@ -3998,7 +3987,7 @@ yyparse () (yyval.dcval) = 0; } -#line 4006 "fe/idl.tab.cpp" +#line 3991 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ @@ -4021,7 +4010,7 @@ yyparse () delete annotations; delete decls; } -#line 4029 "fe/idl.tab.cpp" +#line 4014 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ @@ -4029,7 +4018,7 @@ yyparse () { delete (yyvsp[0].decls_val); } -#line 4037 "fe/idl.tab.cpp" +#line 4022 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ @@ -4044,7 +4033,7 @@ yyparse () } (yyval.decls_val) = value; } -#line 4052 "fe/idl.tab.cpp" +#line 4037 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ @@ -4059,7 +4048,7 @@ yyparse () } (yyval.decls_val) = value; } -#line 4067 "fe/idl.tab.cpp" +#line 4052 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ @@ -4067,7 +4056,7 @@ yyparse () { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4075 "fe/idl.tab.cpp" +#line 4060 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ @@ -4075,7 +4064,7 @@ yyparse () { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4083 "fe/idl.tab.cpp" +#line 4068 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ @@ -4083,7 +4072,7 @@ yyparse () { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4091 "fe/idl.tab.cpp" +#line 4076 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ @@ -4105,7 +4094,7 @@ yyparse () } (yyval.decls_val) = decls_ptr; } -#line 4113 "fe/idl.tab.cpp" +#line 4098 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ @@ -4124,7 +4113,7 @@ yyparse () } delete annotations; } -#line 4132 "fe/idl.tab.cpp" +#line 4117 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ @@ -4132,7 +4121,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4140 "fe/idl.tab.cpp" +#line 4125 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ @@ -4140,7 +4129,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4148 "fe/idl.tab.cpp" +#line 4133 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ @@ -4148,7 +4137,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4156 "fe/idl.tab.cpp" +#line 4141 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ @@ -4156,7 +4145,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4164 "fe/idl.tab.cpp" +#line 4149 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ @@ -4164,7 +4153,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4172 "fe/idl.tab.cpp" +#line 4157 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ @@ -4172,7 +4161,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4180 "fe/idl.tab.cpp" +#line 4165 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ @@ -4180,7 +4169,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4188 "fe/idl.tab.cpp" +#line 4173 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ @@ -4188,7 +4177,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4196 "fe/idl.tab.cpp" +#line 4181 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ @@ -4196,7 +4185,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4204 "fe/idl.tab.cpp" +#line 4189 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ @@ -4204,7 +4193,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4212 "fe/idl.tab.cpp" +#line 4197 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ @@ -4212,7 +4201,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4220 "fe/idl.tab.cpp" +#line 4205 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ @@ -4220,7 +4209,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4228 "fe/idl.tab.cpp" +#line 4213 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ @@ -4228,7 +4217,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4236 "fe/idl.tab.cpp" +#line 4221 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ @@ -4236,7 +4225,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4244 "fe/idl.tab.cpp" +#line 4229 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ @@ -4244,7 +4233,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4252 "fe/idl.tab.cpp" +#line 4237 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ @@ -4254,7 +4243,7 @@ yyparse () yyerrok; (yyval.dcval) = 0; } -#line 4262 "fe/idl.tab.cpp" +#line 4247 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ @@ -4265,7 +4254,7 @@ yyparse () (yyvsp[0].nlval)), 1); } -#line 4273 "fe/idl.tab.cpp" +#line 4258 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ @@ -4273,7 +4262,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4281 "fe/idl.tab.cpp" +#line 4266 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ @@ -4297,7 +4286,7 @@ yyparse () (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4305 "fe/idl.tab.cpp" +#line 4290 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ @@ -4305,7 +4294,7 @@ yyparse () { (yyval.nlval) = 0; } -#line 4313 "fe/idl.tab.cpp" +#line 4298 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ @@ -4318,7 +4307,7 @@ yyparse () 0), 1); } -#line 4326 "fe/idl.tab.cpp" +#line 4311 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ @@ -4326,7 +4315,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4334 "fe/idl.tab.cpp" +#line 4319 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ @@ -4350,7 +4339,7 @@ yyparse () sn), 1); } -#line 4358 "fe/idl.tab.cpp" +#line 4343 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ @@ -4364,7 +4353,7 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4372 "fe/idl.tab.cpp" +#line 4357 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ @@ -4380,7 +4369,7 @@ yyparse () (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4388 "fe/idl.tab.cpp" +#line 4373 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ @@ -4392,7 +4381,7 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4400 "fe/idl.tab.cpp" +#line 4385 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ @@ -4404,7 +4393,7 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4412 "fe/idl.tab.cpp" +#line 4397 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ @@ -4451,7 +4440,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4459 "fe/idl.tab.cpp" +#line 4444 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ @@ -4481,7 +4470,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4489 "fe/idl.tab.cpp" +#line 4474 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ @@ -4513,7 +4502,7 @@ yyparse () (yyval.dcval) = dynamic_cast (f); } -#line 4521 "fe/idl.tab.cpp" +#line 4506 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ @@ -4521,7 +4510,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4529 "fe/idl.tab.cpp" +#line 4514 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ @@ -4529,7 +4518,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4537 "fe/idl.tab.cpp" +#line 4522 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ @@ -4537,7 +4526,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4545 "fe/idl.tab.cpp" +#line 4530 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ @@ -4545,7 +4534,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4553 "fe/idl.tab.cpp" +#line 4538 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ @@ -4605,7 +4594,7 @@ yyparse () delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4613 "fe/idl.tab.cpp" +#line 4598 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ @@ -4613,7 +4602,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_string; } -#line 4621 "fe/idl.tab.cpp" +#line 4606 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ @@ -4621,7 +4610,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4629 "fe/idl.tab.cpp" +#line 4614 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ @@ -4691,7 +4680,7 @@ yyparse () sn = 0; (yyvsp[0].idlist) = 0; } -#line 4699 "fe/idl.tab.cpp" +#line 4684 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ @@ -4704,7 +4693,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4712 "fe/idl.tab.cpp" +#line 4697 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ @@ -4717,7 +4706,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4725 "fe/idl.tab.cpp" +#line 4710 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ @@ -4730,7 +4719,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4738 "fe/idl.tab.cpp" +#line 4723 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ @@ -4743,7 +4732,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4751 "fe/idl.tab.cpp" +#line 4736 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ @@ -4756,7 +4745,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4764 "fe/idl.tab.cpp" +#line 4749 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ @@ -4769,7 +4758,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4777 "fe/idl.tab.cpp" +#line 4762 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ @@ -4782,7 +4771,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4790 "fe/idl.tab.cpp" +#line 4775 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ @@ -4795,7 +4784,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4803 "fe/idl.tab.cpp" +#line 4788 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ @@ -4808,7 +4797,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4816 "fe/idl.tab.cpp" +#line 4801 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ @@ -4821,7 +4810,7 @@ yyparse () (yyvsp[0].exval) ); } -#line 4829 "fe/idl.tab.cpp" +#line 4814 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ @@ -4834,7 +4823,7 @@ yyparse () 0 ); } -#line 4842 "fe/idl.tab.cpp" +#line 4827 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ @@ -4847,7 +4836,7 @@ yyparse () 0 ); } -#line 4855 "fe/idl.tab.cpp" +#line 4840 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ @@ -4860,7 +4849,7 @@ yyparse () 0 ); } -#line 4868 "fe/idl.tab.cpp" +#line 4853 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ @@ -4921,7 +4910,7 @@ yyparse () delete name; (yyvsp[0].idlist) = name = 0; } -#line 4929 "fe/idl.tab.cpp" +#line 4914 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ @@ -4929,7 +4918,7 @@ yyparse () { (yyval.exval) = (yyvsp[-1].exval); } -#line 4937 "fe/idl.tab.cpp" +#line 4922 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ @@ -4937,7 +4926,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4945 "fe/idl.tab.cpp" +#line 4930 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ @@ -4946,7 +4935,7 @@ yyparse () (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4954 "fe/idl.tab.cpp" +#line 4939 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ @@ -4957,7 +4946,7 @@ yyparse () delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4965 "fe/idl.tab.cpp" +#line 4950 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ @@ -4968,7 +4957,7 @@ yyparse () ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4976 "fe/idl.tab.cpp" +#line 4961 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ @@ -4976,7 +4965,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4984 "fe/idl.tab.cpp" +#line 4969 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ @@ -4985,7 +4974,7 @@ yyparse () ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4993 "fe/idl.tab.cpp" +#line 4978 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ @@ -4993,7 +4982,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 5001 "fe/idl.tab.cpp" +#line 4986 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ @@ -5001,7 +4990,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 5009 "fe/idl.tab.cpp" +#line 4994 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ @@ -5009,7 +4998,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5017 "fe/idl.tab.cpp" +#line 5002 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ @@ -5017,7 +5006,7 @@ yyparse () { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5025 "fe/idl.tab.cpp" +#line 5010 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ @@ -5086,7 +5075,7 @@ yyparse () idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5094 "fe/idl.tab.cpp" +#line 5079 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ @@ -5107,7 +5096,7 @@ yyparse () fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5115 "fe/idl.tab.cpp" +#line 5100 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ @@ -5120,7 +5109,7 @@ yyparse () (yyval.dcval) = 0; } -#line 5128 "fe/idl.tab.cpp" +#line 5113 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ @@ -5129,7 +5118,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5137 "fe/idl.tab.cpp" +#line 5122 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ @@ -5186,7 +5175,7 @@ yyparse () delete result; } } -#line 5194 "fe/idl.tab.cpp" +#line 5179 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ @@ -5194,7 +5183,7 @@ yyparse () { (yyval.exval) = (yyvsp[0].exval); } -#line 5202 "fe/idl.tab.cpp" +#line 5187 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ @@ -5202,7 +5191,7 @@ yyparse () { (yyval.exval) = 0; } -#line 5210 "fe/idl.tab.cpp" +#line 5195 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ @@ -5216,7 +5205,7 @@ yyparse () } (yyval.annotations_val) = annotations; } -#line 5224 "fe/idl.tab.cpp" +#line 5209 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ @@ -5230,7 +5219,7 @@ yyparse () } (yyval.annotations_val) = annotations; } -#line 5238 "fe/idl.tab.cpp" +#line 5223 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ @@ -5238,7 +5227,7 @@ yyparse () { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5246 "fe/idl.tab.cpp" +#line 5231 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ @@ -5299,7 +5288,7 @@ yyparse () (yyval.annotation_decl_val) = decl; } -#line 5307 "fe/idl.tab.cpp" +#line 5292 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5331,7 +5320,7 @@ yyparse () (yyval.annotation_val) = appl; } -#line 5339 "fe/idl.tab.cpp" +#line 5324 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5339,7 +5328,7 @@ yyparse () { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5347 "fe/idl.tab.cpp" +#line 5332 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5347,7 +5336,7 @@ yyparse () { (yyval.annotation_params_val) = 0; } -#line 5355 "fe/idl.tab.cpp" +#line 5340 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5360,7 +5349,7 @@ yyparse () params->push (param); (yyval.annotation_params_val) = params; } -#line 5368 "fe/idl.tab.cpp" +#line 5353 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5368,7 +5357,7 @@ yyparse () { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5376 "fe/idl.tab.cpp" +#line 5361 "fe/idl.tab.cpp" break; case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ @@ -5378,7 +5367,7 @@ yyparse () params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5386 "fe/idl.tab.cpp" +#line 5371 "fe/idl.tab.cpp" break; case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ @@ -5388,7 +5377,7 @@ yyparse () params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5396 "fe/idl.tab.cpp" +#line 5381 "fe/idl.tab.cpp" break; case 222: /* more_named_annotation_appl_params: %empty */ @@ -5396,7 +5385,7 @@ yyparse () { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5404 "fe/idl.tab.cpp" +#line 5389 "fe/idl.tab.cpp" break; case 223: /* named_annotation_appl_param: id '=' const_expr */ @@ -5409,7 +5398,7 @@ yyparse () param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5417 "fe/idl.tab.cpp" +#line 5402 "fe/idl.tab.cpp" break; case 224: /* $@61: %empty */ @@ -5418,7 +5407,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5426 "fe/idl.tab.cpp" +#line 5411 "fe/idl.tab.cpp" break; case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ @@ -5426,7 +5415,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5434 "fe/idl.tab.cpp" +#line 5419 "fe/idl.tab.cpp" break; case 226: /* type_dcl: struct_type */ @@ -5434,7 +5423,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5442 "fe/idl.tab.cpp" +#line 5427 "fe/idl.tab.cpp" break; case 227: /* type_dcl: union_type */ @@ -5442,7 +5431,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5450 "fe/idl.tab.cpp" +#line 5435 "fe/idl.tab.cpp" break; case 228: /* type_dcl: enum_type */ @@ -5450,7 +5439,7 @@ yyparse () { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5458 "fe/idl.tab.cpp" +#line 5443 "fe/idl.tab.cpp" break; case 229: /* type_dcl: IDL_NATIVE simple_declarator */ @@ -5482,7 +5471,7 @@ yyparse () (yyval.dcval) = 0; } -#line 5490 "fe/idl.tab.cpp" +#line 5475 "fe/idl.tab.cpp" break; case 230: /* type_dcl: constructed_forward_type_spec */ @@ -5490,7 +5479,7 @@ yyparse () { (yyval.dcval) = 0; } -#line 5498 "fe/idl.tab.cpp" +#line 5483 "fe/idl.tab.cpp" break; case 231: /* $@62: %empty */ @@ -5498,7 +5487,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5506 "fe/idl.tab.cpp" +#line 5491 "fe/idl.tab.cpp" break; case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ @@ -5566,7 +5555,7 @@ yyparse () (yyval.dcval) = t; } -#line 5574 "fe/idl.tab.cpp" +#line 5559 "fe/idl.tab.cpp" break; case 235: /* simple_type_spec: base_type_spec */ @@ -5577,7 +5566,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 5585 "fe/idl.tab.cpp" +#line 5570 "fe/idl.tab.cpp" break; case 237: /* simple_type_spec: scoped_name */ @@ -5604,7 +5593,7 @@ yyparse () (yyval.dcval) = d; } -#line 5612 "fe/idl.tab.cpp" +#line 5597 "fe/idl.tab.cpp" break; case 256: /* at_least_one_declarator: declarator declarators */ @@ -5615,7 +5604,7 @@ yyparse () (yyvsp[0].dlval)), 1); } -#line 5623 "fe/idl.tab.cpp" +#line 5608 "fe/idl.tab.cpp" break; case 257: /* $@63: %empty */ @@ -5623,7 +5612,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5631 "fe/idl.tab.cpp" +#line 5616 "fe/idl.tab.cpp" break; case 258: /* declarators: declarators ',' $@63 declarator */ @@ -5647,7 +5636,7 @@ yyparse () (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5655 "fe/idl.tab.cpp" +#line 5640 "fe/idl.tab.cpp" break; case 259: /* declarators: %empty */ @@ -5655,7 +5644,7 @@ yyparse () { (yyval.dlval) = 0; } -#line 5663 "fe/idl.tab.cpp" +#line 5648 "fe/idl.tab.cpp" break; case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ @@ -5666,7 +5655,7 @@ yyparse () (yyvsp[0].dlval)), 1); } -#line 5674 "fe/idl.tab.cpp" +#line 5659 "fe/idl.tab.cpp" break; case 263: /* $@64: %empty */ @@ -5674,7 +5663,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5682 "fe/idl.tab.cpp" +#line 5667 "fe/idl.tab.cpp" break; case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ @@ -5698,7 +5687,7 @@ yyparse () (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5706 "fe/idl.tab.cpp" +#line 5691 "fe/idl.tab.cpp" break; case 265: /* simple_declarators: %empty */ @@ -5706,7 +5695,7 @@ yyparse () { (yyval.dlval) = 0; } -#line 5714 "fe/idl.tab.cpp" +#line 5699 "fe/idl.tab.cpp" break; case 266: /* simple_declarator: defining_id */ @@ -5723,7 +5712,7 @@ yyparse () 0), 1); } -#line 5731 "fe/idl.tab.cpp" +#line 5716 "fe/idl.tab.cpp" break; case 267: /* complex_declarator: array_declarator */ @@ -5742,7 +5731,7 @@ yyparse () (yyvsp[0].dcval)), 1); } -#line 5750 "fe/idl.tab.cpp" +#line 5735 "fe/idl.tab.cpp" break; case 270: /* signed_int: IDL_LONG */ @@ -5750,7 +5739,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_long; } -#line 5758 "fe/idl.tab.cpp" +#line 5743 "fe/idl.tab.cpp" break; case 271: /* signed_int: IDL_LONG IDL_LONG */ @@ -5758,7 +5747,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5766 "fe/idl.tab.cpp" +#line 5751 "fe/idl.tab.cpp" break; case 272: /* signed_int: IDL_SHORT */ @@ -5766,7 +5755,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_short; } -#line 5774 "fe/idl.tab.cpp" +#line 5759 "fe/idl.tab.cpp" break; case 273: /* signed_int: IDL_INT8 */ @@ -5774,7 +5763,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_int8; } -#line 5782 "fe/idl.tab.cpp" +#line 5767 "fe/idl.tab.cpp" break; case 274: /* signed_int: IDL_INT16 */ @@ -5782,7 +5771,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_short; } -#line 5790 "fe/idl.tab.cpp" +#line 5775 "fe/idl.tab.cpp" break; case 275: /* signed_int: IDL_INT32 */ @@ -5790,7 +5779,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_long; } -#line 5798 "fe/idl.tab.cpp" +#line 5783 "fe/idl.tab.cpp" break; case 276: /* signed_int: IDL_INT64 */ @@ -5798,7 +5787,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5806 "fe/idl.tab.cpp" +#line 5791 "fe/idl.tab.cpp" break; case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ @@ -5806,7 +5795,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5814 "fe/idl.tab.cpp" +#line 5799 "fe/idl.tab.cpp" break; case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ @@ -5814,7 +5803,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5822 "fe/idl.tab.cpp" +#line 5807 "fe/idl.tab.cpp" break; case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ @@ -5822,7 +5811,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5830 "fe/idl.tab.cpp" +#line 5815 "fe/idl.tab.cpp" break; case 280: /* unsigned_int: IDL_UINT8 */ @@ -5830,7 +5819,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5838 "fe/idl.tab.cpp" +#line 5823 "fe/idl.tab.cpp" break; case 281: /* unsigned_int: IDL_UINT16 */ @@ -5838,7 +5827,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5846 "fe/idl.tab.cpp" +#line 5831 "fe/idl.tab.cpp" break; case 282: /* unsigned_int: IDL_UINT32 */ @@ -5846,7 +5835,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5854 "fe/idl.tab.cpp" +#line 5839 "fe/idl.tab.cpp" break; case 283: /* unsigned_int: IDL_UINT64 */ @@ -5854,7 +5843,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5862 "fe/idl.tab.cpp" +#line 5847 "fe/idl.tab.cpp" break; case 284: /* floating_pt_type: IDL_DOUBLE */ @@ -5862,7 +5851,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_double; } -#line 5870 "fe/idl.tab.cpp" +#line 5855 "fe/idl.tab.cpp" break; case 285: /* floating_pt_type: IDL_FLOAT */ @@ -5870,7 +5859,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_float; } -#line 5878 "fe/idl.tab.cpp" +#line 5863 "fe/idl.tab.cpp" break; case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ @@ -5878,7 +5867,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5886 "fe/idl.tab.cpp" +#line 5871 "fe/idl.tab.cpp" break; case 287: /* fixed_type: IDL_FIXED */ @@ -5886,7 +5875,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5894 "fe/idl.tab.cpp" +#line 5879 "fe/idl.tab.cpp" break; case 288: /* char_type: IDL_CHAR */ @@ -5894,7 +5883,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_char; } -#line 5902 "fe/idl.tab.cpp" +#line 5887 "fe/idl.tab.cpp" break; case 289: /* char_type: IDL_WCHAR */ @@ -5902,7 +5891,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5910 "fe/idl.tab.cpp" +#line 5895 "fe/idl.tab.cpp" break; case 290: /* octet_type: IDL_OCTET */ @@ -5910,7 +5899,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_octet; } -#line 5918 "fe/idl.tab.cpp" +#line 5903 "fe/idl.tab.cpp" break; case 291: /* boolean_type: IDL_BOOLEAN */ @@ -5918,7 +5907,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_bool; } -#line 5926 "fe/idl.tab.cpp" +#line 5911 "fe/idl.tab.cpp" break; case 292: /* any_type: IDL_ANY */ @@ -5926,7 +5915,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_any; } -#line 5934 "fe/idl.tab.cpp" +#line 5919 "fe/idl.tab.cpp" break; case 293: /* object_type: IDL_OBJECT */ @@ -5934,7 +5923,7 @@ yyparse () { (yyval.etval) = AST_Expression::EV_object; } -#line 5942 "fe/idl.tab.cpp" +#line 5927 "fe/idl.tab.cpp" break; case 294: /* $@65: %empty */ @@ -5942,7 +5931,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5950 "fe/idl.tab.cpp" +#line 5935 "fe/idl.tab.cpp" break; case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ @@ -5951,7 +5940,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5959 "fe/idl.tab.cpp" +#line 5944 "fe/idl.tab.cpp" break; case 296: /* $@66: %empty */ @@ -5986,7 +5975,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5994 "fe/idl.tab.cpp" +#line 5979 "fe/idl.tab.cpp" break; case 297: /* $@67: %empty */ @@ -5994,7 +5983,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 6002 "fe/idl.tab.cpp" +#line 5987 "fe/idl.tab.cpp" break; case 298: /* $@68: %empty */ @@ -6002,7 +5991,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); } -#line 6010 "fe/idl.tab.cpp" +#line 5995 "fe/idl.tab.cpp" break; case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ @@ -6018,7 +6007,7 @@ yyparse () ); idl_global->scopes ().pop (); } -#line 6026 "fe/idl.tab.cpp" +#line 6011 "fe/idl.tab.cpp" break; case 303: /* member: annotations_maybe member_i */ @@ -6036,7 +6025,7 @@ yyparse () delete annotations; delete members; } -#line 6044 "fe/idl.tab.cpp" +#line 6029 "fe/idl.tab.cpp" break; case 304: /* $@69: %empty */ @@ -6044,7 +6033,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6052 "fe/idl.tab.cpp" +#line 6037 "fe/idl.tab.cpp" break; case 305: /* $@70: %empty */ @@ -6052,7 +6041,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6060 "fe/idl.tab.cpp" +#line 6045 "fe/idl.tab.cpp" break; case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ @@ -6110,7 +6099,7 @@ yyparse () (yyval.decls_val) = members; } -#line 6118 "fe/idl.tab.cpp" +#line 6103 "fe/idl.tab.cpp" break; case 307: /* $@71: %empty */ @@ -6118,7 +6107,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6126 "fe/idl.tab.cpp" +#line 6111 "fe/idl.tab.cpp" break; case 308: /* member_i: error $@71 ';' */ @@ -6127,7 +6116,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6135 "fe/idl.tab.cpp" +#line 6120 "fe/idl.tab.cpp" break; case 309: /* $@72: %empty */ @@ -6135,7 +6124,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6143 "fe/idl.tab.cpp" +#line 6128 "fe/idl.tab.cpp" break; case 310: /* union_decl: IDL_UNION $@72 defining_id */ @@ -6144,7 +6133,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6152 "fe/idl.tab.cpp" +#line 6137 "fe/idl.tab.cpp" break; case 311: /* $@73: %empty */ @@ -6152,7 +6141,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6160 "fe/idl.tab.cpp" +#line 6145 "fe/idl.tab.cpp" break; case 312: /* $@74: %empty */ @@ -6189,7 +6178,7 @@ yyparse () * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6197 "fe/idl.tab.cpp" +#line 6182 "fe/idl.tab.cpp" break; case 313: /* $@75: %empty */ @@ -6197,7 +6186,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6205 "fe/idl.tab.cpp" +#line 6190 "fe/idl.tab.cpp" break; case 314: /* $@76: %empty */ @@ -6260,7 +6249,7 @@ yyparse () delete disc_annotations; } -#line 6268 "fe/idl.tab.cpp" +#line 6253 "fe/idl.tab.cpp" break; case 315: /* $@77: %empty */ @@ -6268,7 +6257,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6276 "fe/idl.tab.cpp" +#line 6261 "fe/idl.tab.cpp" break; case 316: /* $@78: %empty */ @@ -6276,7 +6265,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6284 "fe/idl.tab.cpp" +#line 6269 "fe/idl.tab.cpp" break; case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ @@ -6296,7 +6285,7 @@ yyparse () idl_global->scopes ().pop (); } } -#line 6304 "fe/idl.tab.cpp" +#line 6289 "fe/idl.tab.cpp" break; case 318: /* switch_type_spec: integer_type */ @@ -6307,7 +6296,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6315 "fe/idl.tab.cpp" +#line 6300 "fe/idl.tab.cpp" break; case 319: /* switch_type_spec: char_type */ @@ -6324,7 +6313,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6332 "fe/idl.tab.cpp" +#line 6317 "fe/idl.tab.cpp" break; case 320: /* switch_type_spec: octet_type */ @@ -6337,7 +6326,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6345 "fe/idl.tab.cpp" +#line 6330 "fe/idl.tab.cpp" break; case 321: /* switch_type_spec: boolean_type */ @@ -6348,7 +6337,7 @@ yyparse () (yyvsp[0].etval) ); } -#line 6356 "fe/idl.tab.cpp" +#line 6341 "fe/idl.tab.cpp" break; case 323: /* switch_type_spec: scoped_name */ @@ -6459,7 +6448,7 @@ yyparse () delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6467 "fe/idl.tab.cpp" +#line 6452 "fe/idl.tab.cpp" break; case 327: /* $@79: %empty */ @@ -6467,7 +6456,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6475 "fe/idl.tab.cpp" +#line 6460 "fe/idl.tab.cpp" break; case 328: /* $@80: %empty */ @@ -6475,7 +6464,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6483 "fe/idl.tab.cpp" +#line 6468 "fe/idl.tab.cpp" break; case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ @@ -6511,7 +6500,7 @@ yyparse () delete annotations; } -#line 6519 "fe/idl.tab.cpp" +#line 6504 "fe/idl.tab.cpp" break; case 330: /* $@81: %empty */ @@ -6519,7 +6508,7 @@ yyparse () { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6527 "fe/idl.tab.cpp" +#line 6512 "fe/idl.tab.cpp" break; case 331: /* case_branch: error $@81 ';' */ @@ -6528,7 +6517,7 @@ yyparse () idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6536 "fe/idl.tab.cpp" +#line 6521 "fe/idl.tab.cpp" break; case 332: /* at_least_one_case_label: case_label case_labels */ @@ -6539,7 +6528,7 @@ yyparse () (yyvsp[0].llval)), 1); } -#line 6547 "fe/idl.tab.cpp" +#line 6532 "fe/idl.tab.cpp" break; case 333: /* case_labels: case_labels case_label */ @@ -6561,7 +6550,7 @@ yyparse () (yyval.llval) = (yyvsp[-1].llval); } } -#line 6569 "fe/idl.tab.cpp" +#line 6554 "fe/idl.tab.cpp" break; case 334: /* case_labels: %empty */ @@ -6569,7 +6558,7 @@ yyparse () { (yyval.llval) = 0; } -#line 6577 "fe/idl.tab.cpp" +#line 6562 "fe/idl.tab.cpp" break; case 335: /* $@82: %empty */ @@ -6577,7 +6566,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6585 "fe/idl.tab.cpp" +#line 6570 "fe/idl.tab.cpp" break; case 336: /* case_label: IDL_DEFAULT $@82 ':' */ @@ -6590,7 +6579,7 @@ yyparse () 0 ); } -#line 6598 "fe/idl.tab.cpp" +#line 6583 "fe/idl.tab.cpp" break; case 337: /* $@83: %empty */ @@ -6598,7 +6587,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6606 "fe/idl.tab.cpp" +#line 6591 "fe/idl.tab.cpp" break; case 338: /* $@84: %empty */ @@ -6606,7 +6595,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6614 "fe/idl.tab.cpp" +#line 6599 "fe/idl.tab.cpp" break; case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ @@ -6619,7 +6608,7 @@ yyparse () (yyvsp[-2].exval) ); } -#line 6627 "fe/idl.tab.cpp" +#line 6612 "fe/idl.tab.cpp" break; case 340: /* $@85: %empty */ @@ -6627,7 +6616,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6635 "fe/idl.tab.cpp" +#line 6620 "fe/idl.tab.cpp" break; case 341: /* element_spec: type_spec $@85 declarator */ @@ -6674,7 +6663,7 @@ yyparse () (yyvsp[0].deval) = 0; } } -#line 6682 "fe/idl.tab.cpp" +#line 6667 "fe/idl.tab.cpp" break; case 342: /* struct_forward_type: struct_decl */ @@ -6700,7 +6689,7 @@ yyparse () (yyval.dcval) = d; } -#line 6708 "fe/idl.tab.cpp" +#line 6693 "fe/idl.tab.cpp" break; case 343: /* union_forward_type: union_decl */ @@ -6724,7 +6713,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6732 "fe/idl.tab.cpp" +#line 6717 "fe/idl.tab.cpp" break; case 344: /* $@86: %empty */ @@ -6732,7 +6721,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6740 "fe/idl.tab.cpp" +#line 6725 "fe/idl.tab.cpp" break; case 345: /* $@87: %empty */ @@ -6767,7 +6756,7 @@ yyparse () delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6775 "fe/idl.tab.cpp" +#line 6760 "fe/idl.tab.cpp" break; case 346: /* $@88: %empty */ @@ -6775,7 +6764,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6783 "fe/idl.tab.cpp" +#line 6768 "fe/idl.tab.cpp" break; case 347: /* $@89: %empty */ @@ -6783,7 +6772,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6791 "fe/idl.tab.cpp" +#line 6776 "fe/idl.tab.cpp" break; case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ @@ -6806,7 +6795,7 @@ yyparse () idl_global->scopes ().pop (); } } -#line 6814 "fe/idl.tab.cpp" +#line 6799 "fe/idl.tab.cpp" break; case 350: /* $@90: %empty */ @@ -6814,7 +6803,7 @@ yyparse () { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6822 "fe/idl.tab.cpp" +#line 6807 "fe/idl.tab.cpp" break; case 353: /* enumerator: annotations_maybe IDENTIFIER */ @@ -6853,86 +6842,11 @@ yyparse () delete annotations; } -#line 6861 "fe/idl.tab.cpp" +#line 6846 "fe/idl.tab.cpp" break; - case 354: /* $@91: %empty */ + case 354: /* map_type_spec: map_head '>' */ #line 3901 "fe/idl.ypp" - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); - } -#line 6869 "fe/idl.tab.cpp" - break; - - case 355: /* $@92: %empty */ -#line 3905 "fe/idl.ypp" - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); - } -#line 6877 "fe/idl.tab.cpp" - break; - - case 356: /* map_type_spec: map_head ',' $@91 positive_int_expr $@92 '>' */ -#line 3909 "fe/idl.ypp" - { - AST_Map *map = 0; - Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-5].decl_annotations_pair_val_pair); - Decl_Annotations_Pair *key_type = type_pair->first; - Decl_Annotations_Pair *val_type = type_pair->second; - - /* - * Remove map marker from scopes stack. - */ - if (idl_global->scopes ().top () == 0) - { - idl_global->scopes ().pop (); - } - - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - /* - * Create a node representing a map. - */ - if (key_type && val_type) - { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); - - if (ktp == 0 || vtp == 0) - { - ; // Error will be caught in FE_Declarator. - } - else - { - Identifier id ("map"); - UTL_ScopedName sn (&id, 0); - - map = - idl_global->gen ()->create_map ( - (yyvsp[-2].exval), - ktp, - vtp, - &sn, - s->is_local (), - s->is_abstract () - ); - map->key_type_annotations (*key_type->annotations); - map->value_type_annotations (*val_type->annotations); - - idl_global->err ()->anonymous_type_diagnostic (); - } - } - - delete key_type->annotations; - delete val_type->annotations; - delete type_pair; - (yyval.dcval) = map; - } -#line 6936 "fe/idl.tab.cpp" - break; - - case 357: /* map_type_spec: map_head '>' */ -#line 3965 "fe/idl.ypp" { AST_Map *map = 0; Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-1].decl_annotations_pair_val_pair); @@ -6991,11 +6905,11 @@ yyparse () delete type_pair; (yyval.dcval) = map; } -#line 6999 "fe/idl.tab.cpp" +#line 6909 "fe/idl.tab.cpp" break; - case 358: /* $@93: %empty */ -#line 4027 "fe/idl.ypp" + case 355: /* $@91: %empty */ +#line 3963 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); @@ -7004,19 +6918,19 @@ yyparse () */ idl_global->scopes ().push (0); } -#line 7012 "fe/idl.tab.cpp" +#line 6922 "fe/idl.tab.cpp" break; - case 359: /* $@94: %empty */ -#line 4037 "fe/idl.ypp" + case 356: /* $@92: %empty */ +#line 3973 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); } -#line 7020 "fe/idl.tab.cpp" +#line 6930 "fe/idl.tab.cpp" break; - case 360: /* map_head: IDL_MAP $@93 '<' annotations_maybe simple_type_spec $@94 ',' annotations_maybe simple_type_spec */ -#line 4042 "fe/idl.ypp" + case 357: /* map_head: IDL_MAP $@91 '<' annotations_maybe simple_type_spec $@92 ',' annotations_maybe simple_type_spec */ +#line 3978 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); Decl_Annotations_Pair *key = new Decl_Annotations_Pair; @@ -7032,27 +6946,27 @@ yyparse () pairs->second = value; (yyval.decl_annotations_pair_val_pair) = pairs; } -#line 7040 "fe/idl.tab.cpp" +#line 6950 "fe/idl.tab.cpp" break; - case 361: /* $@95: %empty */ -#line 4062 "fe/idl.ypp" + case 358: /* $@93: %empty */ +#line 3998 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 7048 "fe/idl.tab.cpp" +#line 6958 "fe/idl.tab.cpp" break; - case 362: /* $@96: %empty */ -#line 4066 "fe/idl.ypp" + case 359: /* $@94: %empty */ +#line 4002 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 7056 "fe/idl.tab.cpp" +#line 6966 "fe/idl.tab.cpp" break; - case 363: /* sequence_type_spec: seq_head ',' $@95 positive_int_expr $@96 '>' */ -#line 4070 "fe/idl.ypp" + case 360: /* sequence_type_spec: seq_head ',' $@93 positive_int_expr $@94 '>' */ +#line 4006 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7133,11 +7047,11 @@ yyparse () ev = 0; (yyval.dcval) = seq; } -#line 7141 "fe/idl.tab.cpp" +#line 7051 "fe/idl.tab.cpp" break; - case 364: /* sequence_type_spec: seq_head '>' */ -#line 4152 "fe/idl.ypp" + case 361: /* sequence_type_spec: seq_head '>' */ +#line 4088 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7199,11 +7113,11 @@ yyparse () delete type_annotations; (yyval.dcval) = seq; } -#line 7207 "fe/idl.tab.cpp" +#line 7117 "fe/idl.tab.cpp" break; - case 365: /* $@97: %empty */ -#line 4217 "fe/idl.ypp" + case 362: /* $@95: %empty */ +#line 4153 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7212,19 +7126,19 @@ yyparse () */ idl_global->scopes ().push (0); } -#line 7220 "fe/idl.tab.cpp" +#line 7130 "fe/idl.tab.cpp" break; - case 366: /* $@98: %empty */ -#line 4226 "fe/idl.ypp" + case 363: /* $@96: %empty */ +#line 4162 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7228 "fe/idl.tab.cpp" +#line 7138 "fe/idl.tab.cpp" break; - case 367: /* seq_head: IDL_SEQUENCE $@97 '<' $@98 annotations_maybe simple_type_spec */ -#line 4230 "fe/idl.ypp" + case 364: /* seq_head: IDL_SEQUENCE $@95 '<' $@96 annotations_maybe simple_type_spec */ +#line 4166 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7232,36 +7146,36 @@ yyparse () seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7240 "fe/idl.tab.cpp" +#line 7150 "fe/idl.tab.cpp" break; - case 368: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4241 "fe/idl.ypp" + case 365: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4177 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7249 "fe/idl.tab.cpp" +#line 7159 "fe/idl.tab.cpp" break; - case 369: /* $@99: %empty */ -#line 4250 "fe/idl.ypp" + case 366: /* $@97: %empty */ +#line 4186 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7257 "fe/idl.tab.cpp" +#line 7167 "fe/idl.tab.cpp" break; - case 370: /* $@100: %empty */ -#line 4254 "fe/idl.ypp" + case 367: /* $@98: %empty */ +#line 4190 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7265 "fe/idl.tab.cpp" +#line 7175 "fe/idl.tab.cpp" break; - case 371: /* string_type_spec: string_head '<' $@99 positive_int_expr $@100 '>' */ -#line 4258 "fe/idl.ypp" + case 368: /* string_type_spec: string_head '<' $@97 positive_int_expr $@98 '>' */ +#line 4194 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7300,11 +7214,11 @@ yyparse () delete ev; ev = 0; } -#line 7308 "fe/idl.tab.cpp" +#line 7218 "fe/idl.tab.cpp" break; - case 372: /* string_type_spec: string_head */ -#line 4297 "fe/idl.ypp" + case 369: /* string_type_spec: string_head */ +#line 4233 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7327,35 +7241,35 @@ yyparse () (yyval.dcval) = tao_string_decl; } -#line 7335 "fe/idl.tab.cpp" +#line 7245 "fe/idl.tab.cpp" break; - case 373: /* string_head: IDL_STRING */ -#line 4323 "fe/idl.ypp" + case 370: /* string_head: IDL_STRING */ +#line 4259 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7343 "fe/idl.tab.cpp" +#line 7253 "fe/idl.tab.cpp" break; - case 374: /* $@101: %empty */ -#line 4331 "fe/idl.ypp" + case 371: /* $@99: %empty */ +#line 4267 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7351 "fe/idl.tab.cpp" +#line 7261 "fe/idl.tab.cpp" break; - case 375: /* $@102: %empty */ -#line 4335 "fe/idl.ypp" + case 372: /* $@100: %empty */ +#line 4271 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7359 "fe/idl.tab.cpp" +#line 7269 "fe/idl.tab.cpp" break; - case 376: /* wstring_type_spec: wstring_head '<' $@101 positive_int_expr $@102 '>' */ -#line 4339 "fe/idl.ypp" + case 373: /* wstring_type_spec: wstring_head '<' $@99 positive_int_expr $@100 '>' */ +#line 4275 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7394,11 +7308,11 @@ yyparse () delete ev; ev = 0; } -#line 7402 "fe/idl.tab.cpp" +#line 7312 "fe/idl.tab.cpp" break; - case 377: /* wstring_type_spec: wstring_head */ -#line 4378 "fe/idl.ypp" + case 374: /* wstring_type_spec: wstring_head */ +#line 4314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7421,27 +7335,27 @@ yyparse () (yyval.dcval) = string; } -#line 7429 "fe/idl.tab.cpp" +#line 7339 "fe/idl.tab.cpp" break; - case 378: /* wstring_head: IDL_WSTRING */ -#line 4404 "fe/idl.ypp" + case 375: /* wstring_head: IDL_WSTRING */ +#line 4340 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7437 "fe/idl.tab.cpp" +#line 7347 "fe/idl.tab.cpp" break; - case 379: /* $@103: %empty */ -#line 4411 "fe/idl.ypp" + case 376: /* $@101: %empty */ +#line 4347 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7445 "fe/idl.tab.cpp" +#line 7355 "fe/idl.tab.cpp" break; - case 380: /* array_declarator: defining_id $@103 annotations_maybe at_least_one_array_dim */ -#line 4415 "fe/idl.ypp" + case 377: /* array_declarator: defining_id $@101 annotations_maybe at_least_one_array_dim */ +#line 4351 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7477,22 +7391,22 @@ yyparse () (yyval.dcval) = array; } -#line 7485 "fe/idl.tab.cpp" +#line 7395 "fe/idl.tab.cpp" break; - case 381: /* at_least_one_array_dim: array_dim array_dims */ -#line 4454 "fe/idl.ypp" + case 378: /* at_least_one_array_dim: array_dim array_dims */ +#line 4390 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7496 "fe/idl.tab.cpp" +#line 7406 "fe/idl.tab.cpp" break; - case 382: /* array_dims: array_dims array_dim */ -#line 4464 "fe/idl.ypp" + case 379: /* array_dims: array_dims array_dim */ +#line 4400 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7510,35 +7424,35 @@ yyparse () (yyval.elval) = (yyvsp[-1].elval); } } -#line 7518 "fe/idl.tab.cpp" +#line 7428 "fe/idl.tab.cpp" break; - case 383: /* array_dims: %empty */ -#line 4482 "fe/idl.ypp" + case 380: /* array_dims: %empty */ +#line 4418 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7526 "fe/idl.tab.cpp" +#line 7436 "fe/idl.tab.cpp" break; - case 384: /* $@104: %empty */ -#line 4489 "fe/idl.ypp" + case 381: /* $@102: %empty */ +#line 4425 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7534 "fe/idl.tab.cpp" +#line 7444 "fe/idl.tab.cpp" break; - case 385: /* $@105: %empty */ -#line 4493 "fe/idl.ypp" + case 382: /* $@103: %empty */ +#line 4429 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7542 "fe/idl.tab.cpp" +#line 7452 "fe/idl.tab.cpp" break; - case 386: /* array_dim: '[' $@104 positive_int_expr $@105 ']' */ -#line 4497 "fe/idl.ypp" + case 383: /* array_dim: '[' $@102 positive_int_expr $@103 ']' */ +#line 4433 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7592,43 +7506,43 @@ yyparse () delete ev; ev = 0; } -#line 7600 "fe/idl.tab.cpp" +#line 7510 "fe/idl.tab.cpp" break; - case 389: /* $@106: %empty */ -#line 4559 "fe/idl.ypp" + case 386: /* $@104: %empty */ +#line 4495 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7608 "fe/idl.tab.cpp" +#line 7518 "fe/idl.tab.cpp" break; - case 390: /* $@107: %empty */ -#line 4563 "fe/idl.ypp" + case 387: /* $@105: %empty */ +#line 4499 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7616 "fe/idl.tab.cpp" +#line 7526 "fe/idl.tab.cpp" break; - case 391: /* $@108: %empty */ -#line 4567 "fe/idl.ypp" + case 388: /* $@106: %empty */ +#line 4503 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7624 "fe/idl.tab.cpp" +#line 7534 "fe/idl.tab.cpp" break; - case 392: /* $@109: %empty */ -#line 4571 "fe/idl.ypp" + case 389: /* $@107: %empty */ +#line 4507 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7632 "fe/idl.tab.cpp" +#line 7542 "fe/idl.tab.cpp" break; - case 393: /* attribute_readonly: IDL_READONLY $@106 IDL_ATTRIBUTE $@107 param_type_spec $@108 at_least_one_simple_declarator $@109 opt_raises */ -#line 4575 "fe/idl.ypp" + case 390: /* attribute_readonly: IDL_READONLY $@104 IDL_ATTRIBUTE $@105 param_type_spec $@106 at_least_one_simple_declarator $@107 opt_raises */ +#line 4511 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7680,43 +7594,43 @@ yyparse () (yyval.dcval) = a; } -#line 7688 "fe/idl.tab.cpp" +#line 7598 "fe/idl.tab.cpp" break; - case 394: /* $@110: %empty */ -#line 4630 "fe/idl.ypp" + case 391: /* $@108: %empty */ +#line 4566 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7696 "fe/idl.tab.cpp" +#line 7606 "fe/idl.tab.cpp" break; - case 395: /* $@111: %empty */ -#line 4634 "fe/idl.ypp" + case 392: /* $@109: %empty */ +#line 4570 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7704 "fe/idl.tab.cpp" +#line 7614 "fe/idl.tab.cpp" break; - case 396: /* $@112: %empty */ -#line 4638 "fe/idl.ypp" + case 393: /* $@110: %empty */ +#line 4574 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7712 "fe/idl.tab.cpp" +#line 7622 "fe/idl.tab.cpp" break; - case 397: /* $@113: %empty */ -#line 4642 "fe/idl.ypp" + case 394: /* $@111: %empty */ +#line 4578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7720 "fe/idl.tab.cpp" +#line 7630 "fe/idl.tab.cpp" break; - case 398: /* attribute_readwrite: IDL_ATTRIBUTE $@110 param_type_spec $@111 at_least_one_simple_declarator $@112 opt_getraises $@113 opt_setraises */ -#line 4646 "fe/idl.ypp" + case 395: /* attribute_readwrite: IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_getraises $@111 opt_setraises */ +#line 4582 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7777,19 +7691,19 @@ yyparse () (yyval.dcval) = a; } -#line 7785 "fe/idl.tab.cpp" +#line 7695 "fe/idl.tab.cpp" break; - case 399: /* $@114: %empty */ -#line 4710 "fe/idl.ypp" + case 396: /* $@112: %empty */ +#line 4646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7793 "fe/idl.tab.cpp" +#line 7703 "fe/idl.tab.cpp" break; - case 400: /* @115: %empty */ -#line 4714 "fe/idl.ypp" + case 397: /* @113: %empty */ +#line 4650 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7821,27 +7735,27 @@ yyparse () (yyval.dcval) = exception; } -#line 7829 "fe/idl.tab.cpp" +#line 7739 "fe/idl.tab.cpp" break; - case 401: /* $@116: %empty */ -#line 4746 "fe/idl.ypp" + case 398: /* $@114: %empty */ +#line 4682 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7837 "fe/idl.tab.cpp" +#line 7747 "fe/idl.tab.cpp" break; - case 402: /* $@117: %empty */ -#line 4750 "fe/idl.ypp" + case 399: /* $@115: %empty */ +#line 4686 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7845 "fe/idl.tab.cpp" +#line 7755 "fe/idl.tab.cpp" break; - case 403: /* exception: IDL_EXCEPTION $@114 defining_id @115 '{' $@116 members $@117 '}' */ -#line 4754 "fe/idl.ypp" + case 400: /* exception: IDL_EXCEPTION $@112 defining_id @113 '{' $@114 members $@115 '}' */ +#line 4690 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7851,19 +7765,19 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7859 "fe/idl.tab.cpp" +#line 7769 "fe/idl.tab.cpp" break; - case 404: /* $@118: %empty */ -#line 4767 "fe/idl.ypp" + case 401: /* $@116: %empty */ +#line 4703 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7867 "fe/idl.tab.cpp" +#line 7777 "fe/idl.tab.cpp" break; - case 405: /* $@119: %empty */ -#line 4771 "fe/idl.ypp" + case 402: /* $@117: %empty */ +#line 4707 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7924,27 +7838,27 @@ yyparse () */ idl_global->scopes ().push (op); } -#line 7932 "fe/idl.tab.cpp" +#line 7842 "fe/idl.tab.cpp" break; - case 406: /* $@120: %empty */ -#line 4832 "fe/idl.ypp" + case 403: /* $@118: %empty */ +#line 4768 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7940 "fe/idl.tab.cpp" +#line 7850 "fe/idl.tab.cpp" break; - case 407: /* $@121: %empty */ -#line 4836 "fe/idl.ypp" + case 404: /* $@119: %empty */ +#line 4772 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7948 "fe/idl.tab.cpp" +#line 7858 "fe/idl.tab.cpp" break; - case 408: /* operation: opt_op_attribute op_type_spec $@118 IDENTIFIER $@119 parameter_list $@120 opt_raises $@121 opt_context */ -#line 4840 "fe/idl.ypp" + case 405: /* operation: opt_op_attribute op_type_spec $@116 IDENTIFIER $@117 parameter_list $@118 opt_raises $@119 opt_context */ +#line 4776 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7975,57 +7889,57 @@ yyparse () (yyval.dcval) = o; } -#line 7983 "fe/idl.tab.cpp" +#line 7893 "fe/idl.tab.cpp" break; - case 409: /* opt_op_attribute: IDL_ONEWAY */ -#line 4874 "fe/idl.ypp" + case 406: /* opt_op_attribute: IDL_ONEWAY */ +#line 4810 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7992 "fe/idl.tab.cpp" +#line 7902 "fe/idl.tab.cpp" break; - case 410: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4879 "fe/idl.ypp" + case 407: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4815 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 8001 "fe/idl.tab.cpp" +#line 7911 "fe/idl.tab.cpp" break; - case 411: /* opt_op_attribute: %empty */ -#line 4884 "fe/idl.ypp" + case 408: /* opt_op_attribute: %empty */ +#line 4820 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 8009 "fe/idl.tab.cpp" +#line 7919 "fe/idl.tab.cpp" break; - case 413: /* op_type_spec: IDL_VOID */ -#line 4892 "fe/idl.ypp" + case 410: /* op_type_spec: IDL_VOID */ +#line 4828 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 8020 "fe/idl.tab.cpp" +#line 7930 "fe/idl.tab.cpp" break; - case 414: /* $@122: %empty */ -#line 4902 "fe/idl.ypp" + case 411: /* $@120: %empty */ +#line 4838 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 8029 "fe/idl.tab.cpp" +#line 7939 "fe/idl.tab.cpp" break; - case 415: /* @123: %empty */ -#line 4907 "fe/idl.ypp" + case 412: /* @121: %empty */ +#line 4843 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -8068,19 +7982,19 @@ yyparse () (yyval.dcval) = factory; } -#line 8076 "fe/idl.tab.cpp" +#line 7986 "fe/idl.tab.cpp" break; - case 416: /* $@124: %empty */ -#line 4950 "fe/idl.ypp" + case 413: /* $@122: %empty */ +#line 4886 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 8084 "fe/idl.tab.cpp" +#line 7994 "fe/idl.tab.cpp" break; - case 417: /* init_decl: IDL_FACTORY $@122 IDENTIFIER @123 init_parameter_list $@124 opt_raises */ -#line 4954 "fe/idl.ypp" + case 414: /* init_decl: IDL_FACTORY $@120 IDENTIFIER @121 init_parameter_list $@122 opt_raises */ +#line 4890 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -8095,67 +8009,67 @@ yyparse () (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8103 "fe/idl.tab.cpp" +#line 8013 "fe/idl.tab.cpp" break; - case 418: /* $@125: %empty */ -#line 4972 "fe/idl.ypp" + case 415: /* $@123: %empty */ +#line 4908 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8111 "fe/idl.tab.cpp" +#line 8021 "fe/idl.tab.cpp" break; - case 419: /* init_parameter_list: '(' $@125 ')' */ -#line 4976 "fe/idl.ypp" + case 416: /* init_parameter_list: '(' $@123 ')' */ +#line 4912 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8119 "fe/idl.tab.cpp" +#line 8029 "fe/idl.tab.cpp" break; - case 420: /* $@126: %empty */ -#line 4980 "fe/idl.ypp" + case 417: /* $@124: %empty */ +#line 4916 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8127 "fe/idl.tab.cpp" +#line 8037 "fe/idl.tab.cpp" break; - case 421: /* init_parameter_list: '(' $@126 at_least_one_in_parameter ')' */ -#line 4985 "fe/idl.ypp" + case 418: /* init_parameter_list: '(' $@124 at_least_one_in_parameter ')' */ +#line 4921 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8135 "fe/idl.tab.cpp" +#line 8045 "fe/idl.tab.cpp" break; - case 423: /* $@127: %empty */ -#line 4995 "fe/idl.ypp" + case 420: /* $@125: %empty */ +#line 4931 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8143 "fe/idl.tab.cpp" +#line 8053 "fe/idl.tab.cpp" break; - case 426: /* $@128: %empty */ -#line 5004 "fe/idl.ypp" + case 423: /* $@126: %empty */ +#line 4940 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8151 "fe/idl.tab.cpp" +#line 8061 "fe/idl.tab.cpp" break; - case 427: /* $@129: %empty */ -#line 5008 "fe/idl.ypp" + case 424: /* $@127: %empty */ +#line 4944 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8159 "fe/idl.tab.cpp" +#line 8069 "fe/idl.tab.cpp" break; - case 428: /* in_parameter: IDL_IN $@128 param_type_spec $@129 declarator */ -#line 5012 "fe/idl.ypp" + case 425: /* in_parameter: IDL_IN $@126 param_type_spec $@127 declarator */ +#line 4948 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8187,67 +8101,67 @@ yyparse () delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8195 "fe/idl.tab.cpp" +#line 8105 "fe/idl.tab.cpp" break; - case 429: /* $@130: %empty */ -#line 5047 "fe/idl.ypp" + case 426: /* $@128: %empty */ +#line 4983 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8203 "fe/idl.tab.cpp" +#line 8113 "fe/idl.tab.cpp" break; - case 430: /* parameter_list: '(' $@130 ')' */ -#line 5051 "fe/idl.ypp" + case 427: /* parameter_list: '(' $@128 ')' */ +#line 4987 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8211 "fe/idl.tab.cpp" +#line 8121 "fe/idl.tab.cpp" break; - case 431: /* $@131: %empty */ -#line 5055 "fe/idl.ypp" + case 428: /* $@129: %empty */ +#line 4991 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8219 "fe/idl.tab.cpp" +#line 8129 "fe/idl.tab.cpp" break; - case 432: /* parameter_list: '(' $@131 at_least_one_parameter ')' */ -#line 5060 "fe/idl.ypp" + case 429: /* parameter_list: '(' $@129 at_least_one_parameter ')' */ +#line 4996 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8227 "fe/idl.tab.cpp" +#line 8137 "fe/idl.tab.cpp" break; - case 434: /* $@132: %empty */ -#line 5070 "fe/idl.ypp" + case 431: /* $@130: %empty */ +#line 5006 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8235 "fe/idl.tab.cpp" +#line 8145 "fe/idl.tab.cpp" break; - case 437: /* $@133: %empty */ -#line 5079 "fe/idl.ypp" + case 434: /* $@131: %empty */ +#line 5015 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8243 "fe/idl.tab.cpp" +#line 8153 "fe/idl.tab.cpp" break; - case 438: /* $@134: %empty */ -#line 5083 "fe/idl.ypp" + case 435: /* $@132: %empty */ +#line 5019 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8251 "fe/idl.tab.cpp" +#line 8161 "fe/idl.tab.cpp" break; - case 439: /* parameter: direction $@133 param_type_spec $@134 declarator */ -#line 5087 "fe/idl.ypp" + case 436: /* parameter: direction $@131 param_type_spec $@132 declarator */ +#line 5023 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8286,22 +8200,22 @@ yyparse () delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8294 "fe/idl.tab.cpp" +#line 8204 "fe/idl.tab.cpp" break; - case 440: /* param_type_spec: base_type_spec */ -#line 5129 "fe/idl.ypp" + case 437: /* param_type_spec: base_type_spec */ +#line 5065 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8305 "fe/idl.tab.cpp" +#line 8215 "fe/idl.tab.cpp" break; - case 443: /* param_type_spec: scoped_name */ -#line 5138 "fe/idl.ypp" + case 440: /* param_type_spec: scoped_name */ +#line 5074 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8453,186 +8367,186 @@ yyparse () (yyval.dcval) = d; } -#line 8461 "fe/idl.tab.cpp" +#line 8371 "fe/idl.tab.cpp" break; - case 444: /* direction: IDL_IN */ -#line 5293 "fe/idl.ypp" + case 441: /* direction: IDL_IN */ +#line 5229 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8469 "fe/idl.tab.cpp" +#line 8379 "fe/idl.tab.cpp" break; - case 445: /* direction: IDL_OUT */ -#line 5297 "fe/idl.ypp" + case 442: /* direction: IDL_OUT */ +#line 5233 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8477 "fe/idl.tab.cpp" +#line 8387 "fe/idl.tab.cpp" break; - case 446: /* direction: IDL_INOUT */ -#line 5301 "fe/idl.ypp" + case 443: /* direction: IDL_INOUT */ +#line 5237 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8485 "fe/idl.tab.cpp" +#line 8395 "fe/idl.tab.cpp" break; - case 447: /* $@135: %empty */ -#line 5308 "fe/idl.ypp" + case 444: /* $@133: %empty */ +#line 5244 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8493 "fe/idl.tab.cpp" +#line 8403 "fe/idl.tab.cpp" break; - case 448: /* $@136: %empty */ -#line 5312 "fe/idl.ypp" + case 445: /* $@134: %empty */ +#line 5248 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8501 "fe/idl.tab.cpp" +#line 8411 "fe/idl.tab.cpp" break; - case 449: /* opt_raises: IDL_RAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5317 "fe/idl.ypp" + case 446: /* opt_raises: IDL_RAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ +#line 5253 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8510 "fe/idl.tab.cpp" +#line 8420 "fe/idl.tab.cpp" break; - case 450: /* opt_raises: %empty */ -#line 5322 "fe/idl.ypp" + case 447: /* opt_raises: %empty */ +#line 5258 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8518 "fe/idl.tab.cpp" +#line 8428 "fe/idl.tab.cpp" break; - case 451: /* $@137: %empty */ -#line 5329 "fe/idl.ypp" + case 448: /* $@135: %empty */ +#line 5265 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8526 "fe/idl.tab.cpp" +#line 8436 "fe/idl.tab.cpp" break; - case 452: /* $@138: %empty */ -#line 5333 "fe/idl.ypp" + case 449: /* $@136: %empty */ +#line 5269 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8534 "fe/idl.tab.cpp" +#line 8444 "fe/idl.tab.cpp" break; - case 453: /* opt_getraises: IDL_GETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ -#line 5338 "fe/idl.ypp" + case 450: /* opt_getraises: IDL_GETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ +#line 5274 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8543 "fe/idl.tab.cpp" +#line 8453 "fe/idl.tab.cpp" break; - case 454: /* opt_getraises: %empty */ -#line 5343 "fe/idl.ypp" + case 451: /* opt_getraises: %empty */ +#line 5279 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8551 "fe/idl.tab.cpp" +#line 8461 "fe/idl.tab.cpp" break; - case 455: /* $@139: %empty */ -#line 5350 "fe/idl.ypp" + case 452: /* $@137: %empty */ +#line 5286 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8559 "fe/idl.tab.cpp" +#line 8469 "fe/idl.tab.cpp" break; - case 456: /* $@140: %empty */ -#line 5354 "fe/idl.ypp" + case 453: /* $@138: %empty */ +#line 5290 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8567 "fe/idl.tab.cpp" +#line 8477 "fe/idl.tab.cpp" break; - case 457: /* opt_setraises: IDL_SETRAISES $@139 '(' $@140 at_least_one_scoped_name ')' */ -#line 5359 "fe/idl.ypp" + case 454: /* opt_setraises: IDL_SETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ +#line 5295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8576 "fe/idl.tab.cpp" +#line 8486 "fe/idl.tab.cpp" break; - case 458: /* opt_setraises: %empty */ -#line 5364 "fe/idl.ypp" + case 455: /* opt_setraises: %empty */ +#line 5300 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8584 "fe/idl.tab.cpp" +#line 8494 "fe/idl.tab.cpp" break; - case 459: /* $@141: %empty */ -#line 5371 "fe/idl.ypp" + case 456: /* $@139: %empty */ +#line 5307 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8592 "fe/idl.tab.cpp" +#line 8502 "fe/idl.tab.cpp" break; - case 460: /* $@142: %empty */ -#line 5375 "fe/idl.ypp" + case 457: /* $@140: %empty */ +#line 5311 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8600 "fe/idl.tab.cpp" +#line 8510 "fe/idl.tab.cpp" break; - case 461: /* opt_context: IDL_CONTEXT $@141 '(' $@142 at_least_one_string_literal ')' */ -#line 5380 "fe/idl.ypp" + case 458: /* opt_context: IDL_CONTEXT $@139 '(' $@140 at_least_one_string_literal ')' */ +#line 5316 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8609 "fe/idl.tab.cpp" +#line 8519 "fe/idl.tab.cpp" break; - case 462: /* opt_context: %empty */ -#line 5385 "fe/idl.ypp" + case 459: /* opt_context: %empty */ +#line 5321 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8617 "fe/idl.tab.cpp" +#line 8527 "fe/idl.tab.cpp" break; - case 463: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5392 "fe/idl.ypp" + case 460: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5328 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8628 "fe/idl.tab.cpp" +#line 8538 "fe/idl.tab.cpp" break; - case 464: /* $@143: %empty */ -#line 5403 "fe/idl.ypp" + case 461: /* $@141: %empty */ +#line 5339 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8636 "fe/idl.tab.cpp" +#line 8546 "fe/idl.tab.cpp" break; - case 465: /* string_literals: string_literals ',' $@143 IDL_STRING_LITERAL */ -#line 5407 "fe/idl.ypp" + case 462: /* string_literals: string_literals ',' $@141 IDL_STRING_LITERAL */ +#line 5343 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8650,19 +8564,19 @@ yyparse () (yyval.slval) = (yyvsp[-3].slval); } } -#line 8658 "fe/idl.tab.cpp" +#line 8568 "fe/idl.tab.cpp" break; - case 466: /* string_literals: %empty */ -#line 5425 "fe/idl.ypp" + case 463: /* string_literals: %empty */ +#line 5361 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8666 "fe/idl.tab.cpp" +#line 8576 "fe/idl.tab.cpp" break; - case 467: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5432 "fe/idl.ypp" + case 464: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5368 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8689,11 +8603,11 @@ yyparse () (yyval.dcval) = 0; } -#line 8697 "fe/idl.tab.cpp" +#line 8607 "fe/idl.tab.cpp" break; - case 468: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5462 "fe/idl.ypp" + case 465: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5398 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8729,11 +8643,11 @@ yyparse () (yyval.dcval) = 0; } -#line 8737 "fe/idl.tab.cpp" +#line 8647 "fe/idl.tab.cpp" break; - case 471: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5507 "fe/idl.ypp" + case 468: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5443 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8759,11 +8673,11 @@ yyparse () (yyval.dcval) = 0; } -#line 8767 "fe/idl.tab.cpp" +#line 8677 "fe/idl.tab.cpp" break; - case 472: /* @144: %empty */ -#line 5536 "fe/idl.ypp" + case 469: /* @142: %empty */ +#line 5472 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8805,27 +8719,27 @@ yyparse () (yyval.dcval) = component; } -#line 8813 "fe/idl.tab.cpp" +#line 8723 "fe/idl.tab.cpp" break; - case 473: /* $@145: %empty */ -#line 5578 "fe/idl.ypp" + case 470: /* $@143: %empty */ +#line 5514 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8821 "fe/idl.tab.cpp" +#line 8731 "fe/idl.tab.cpp" break; - case 474: /* $@146: %empty */ -#line 5582 "fe/idl.ypp" + case 471: /* $@144: %empty */ +#line 5518 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8829 "fe/idl.tab.cpp" +#line 8739 "fe/idl.tab.cpp" break; - case 475: /* component_decl: component_header @144 '{' $@145 component_exports $@146 '}' */ -#line 5586 "fe/idl.ypp" + case 472: /* component_decl: component_header @142 '{' $@143 component_exports $@144 '}' */ +#line 5522 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8836,27 +8750,27 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8844 "fe/idl.tab.cpp" +#line 8754 "fe/idl.tab.cpp" break; - case 476: /* $@147: %empty */ -#line 5601 "fe/idl.ypp" + case 473: /* $@145: %empty */ +#line 5537 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8852 "fe/idl.tab.cpp" +#line 8762 "fe/idl.tab.cpp" break; - case 477: /* $@148: %empty */ -#line 5605 "fe/idl.ypp" + case 474: /* $@146: %empty */ +#line 5541 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8860 "fe/idl.tab.cpp" +#line 8770 "fe/idl.tab.cpp" break; - case 478: /* component_header: IDL_COMPONENT defining_id $@147 component_inheritance_spec $@148 supports_spec */ -#line 5609 "fe/idl.ypp" + case 475: /* component_header: IDL_COMPONENT defining_id $@145 component_inheritance_spec $@146 supports_spec */ +#line 5545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8890,35 +8804,35 @@ yyparse () (yyvsp[-2].idlist) = 0; } } -#line 8898 "fe/idl.tab.cpp" +#line 8808 "fe/idl.tab.cpp" break; - case 479: /* $@149: %empty */ -#line 5646 "fe/idl.ypp" + case 476: /* $@147: %empty */ +#line 5582 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8906 "fe/idl.tab.cpp" +#line 8816 "fe/idl.tab.cpp" break; - case 480: /* component_inheritance_spec: ':' $@149 scoped_name */ -#line 5650 "fe/idl.ypp" + case 477: /* component_inheritance_spec: ':' $@147 scoped_name */ +#line 5586 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8914 "fe/idl.tab.cpp" +#line 8824 "fe/idl.tab.cpp" break; - case 481: /* component_inheritance_spec: %empty */ -#line 5654 "fe/idl.ypp" + case 478: /* component_inheritance_spec: %empty */ +#line 5590 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8922 "fe/idl.tab.cpp" +#line 8832 "fe/idl.tab.cpp" break; - case 482: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5661 "fe/idl.ypp" + case 479: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5597 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8933,130 +8847,130 @@ yyparse () } delete annotations; } -#line 8941 "fe/idl.tab.cpp" +#line 8851 "fe/idl.tab.cpp" break; - case 485: /* $@150: %empty */ -#line 5681 "fe/idl.ypp" + case 482: /* $@148: %empty */ +#line 5617 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8949 "fe/idl.tab.cpp" +#line 8859 "fe/idl.tab.cpp" break; - case 486: /* component_export: provides_decl $@150 ';' */ -#line 5685 "fe/idl.ypp" + case 483: /* component_export: provides_decl $@148 ';' */ +#line 5621 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8958 "fe/idl.tab.cpp" +#line 8868 "fe/idl.tab.cpp" break; - case 487: /* $@151: %empty */ -#line 5690 "fe/idl.ypp" + case 484: /* $@149: %empty */ +#line 5626 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8966 "fe/idl.tab.cpp" +#line 8876 "fe/idl.tab.cpp" break; - case 488: /* component_export: uses_decl $@151 ';' */ -#line 5694 "fe/idl.ypp" + case 485: /* component_export: uses_decl $@149 ';' */ +#line 5630 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8975 "fe/idl.tab.cpp" +#line 8885 "fe/idl.tab.cpp" break; - case 489: /* $@152: %empty */ -#line 5699 "fe/idl.ypp" + case 486: /* $@150: %empty */ +#line 5635 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8983 "fe/idl.tab.cpp" +#line 8893 "fe/idl.tab.cpp" break; - case 490: /* component_export: emits_decl $@152 ';' */ -#line 5703 "fe/idl.ypp" + case 487: /* component_export: emits_decl $@150 ';' */ +#line 5639 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8992 "fe/idl.tab.cpp" +#line 8902 "fe/idl.tab.cpp" break; - case 491: /* $@153: %empty */ -#line 5708 "fe/idl.ypp" + case 488: /* $@151: %empty */ +#line 5644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 9000 "fe/idl.tab.cpp" +#line 8910 "fe/idl.tab.cpp" break; - case 492: /* component_export: publishes_decl $@153 ';' */ -#line 5712 "fe/idl.ypp" + case 489: /* component_export: publishes_decl $@151 ';' */ +#line 5648 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9009 "fe/idl.tab.cpp" +#line 8919 "fe/idl.tab.cpp" break; - case 493: /* $@154: %empty */ -#line 5717 "fe/idl.ypp" + case 490: /* $@152: %empty */ +#line 5653 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 9017 "fe/idl.tab.cpp" +#line 8927 "fe/idl.tab.cpp" break; - case 494: /* component_export: consumes_decl $@154 ';' */ -#line 5721 "fe/idl.ypp" + case 491: /* component_export: consumes_decl $@152 ';' */ +#line 5657 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9026 "fe/idl.tab.cpp" +#line 8936 "fe/idl.tab.cpp" break; - case 495: /* $@155: %empty */ -#line 5726 "fe/idl.ypp" + case 492: /* $@153: %empty */ +#line 5662 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 9034 "fe/idl.tab.cpp" +#line 8944 "fe/idl.tab.cpp" break; - case 496: /* component_export: attribute $@155 ';' */ -#line 5730 "fe/idl.ypp" + case 493: /* component_export: attribute $@153 ';' */ +#line 5666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9043 "fe/idl.tab.cpp" +#line 8953 "fe/idl.tab.cpp" break; - case 497: /* $@156: %empty */ -#line 5735 "fe/idl.ypp" + case 494: /* $@154: %empty */ +#line 5671 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 9051 "fe/idl.tab.cpp" +#line 8961 "fe/idl.tab.cpp" break; - case 498: /* component_export: extended_port_decl $@156 ';' */ -#line 5739 "fe/idl.ypp" + case 495: /* component_export: extended_port_decl $@154 ';' */ +#line 5675 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 9060 "fe/idl.tab.cpp" +#line 8970 "fe/idl.tab.cpp" break; - case 499: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5746 "fe/idl.ypp" + case 496: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5682 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9146,21 +9060,21 @@ yyparse () (yyval.dcval) = dynamic_cast (provides); } -#line 9154 "fe/idl.tab.cpp" +#line 9064 "fe/idl.tab.cpp" break; - case 500: /* interface_type: scoped_name */ -#line 5839 "fe/idl.ypp" + case 497: /* interface_type: scoped_name */ +#line 5775 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9164 "fe/idl.tab.cpp" +#line 9074 "fe/idl.tab.cpp" break; - case 501: /* interface_type: IDL_OBJECT */ -#line 5845 "fe/idl.ypp" + case 498: /* interface_type: IDL_OBJECT */ +#line 5781 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9183,11 +9097,11 @@ yyparse () conc_name), 1); } -#line 9191 "fe/idl.tab.cpp" +#line 9101 "fe/idl.tab.cpp" break; - case 502: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5870 "fe/idl.ypp" + case 499: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5806 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9291,37 +9205,37 @@ yyparse () (yyval.dcval) = uses; } -#line 9299 "fe/idl.tab.cpp" +#line 9209 "fe/idl.tab.cpp" break; - case 503: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5977 "fe/idl.ypp" + case 500: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5913 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9309 "fe/idl.tab.cpp" +#line 9219 "fe/idl.tab.cpp" break; - case 504: /* opt_multiple: IDL_MULTIPLE */ -#line 5986 "fe/idl.ypp" + case 501: /* opt_multiple: IDL_MULTIPLE */ +#line 5922 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9317 "fe/idl.tab.cpp" +#line 9227 "fe/idl.tab.cpp" break; - case 505: /* opt_multiple: %empty */ -#line 5990 "fe/idl.ypp" + case 502: /* opt_multiple: %empty */ +#line 5926 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9325 "fe/idl.tab.cpp" +#line 9235 "fe/idl.tab.cpp" break; - case 506: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5997 "fe/idl.ypp" + case 503: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5933 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9393,11 +9307,11 @@ yyparse () (yyval.dcval) = e; } -#line 9401 "fe/idl.tab.cpp" +#line 9311 "fe/idl.tab.cpp" break; - case 507: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6072 "fe/idl.ypp" + case 504: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 6008 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9466,11 +9380,11 @@ yyparse () (yyval.dcval) = p; } -#line 9474 "fe/idl.tab.cpp" +#line 9384 "fe/idl.tab.cpp" break; - case 508: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6144 "fe/idl.ypp" + case 505: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6080 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9542,11 +9456,11 @@ yyparse () (yyval.dcval) = c; } -#line 9550 "fe/idl.tab.cpp" +#line 9460 "fe/idl.tab.cpp" break; - case 509: /* $@157: %empty */ -#line 6219 "fe/idl.ypp" + case 506: /* $@155: %empty */ +#line 6155 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9583,11 +9497,11 @@ yyparse () */ idl_global->scopes ().push (h); } -#line 9591 "fe/idl.tab.cpp" +#line 9501 "fe/idl.tab.cpp" break; - case 510: /* home_decl: home_header $@157 home_body */ -#line 6256 "fe/idl.ypp" + case 507: /* home_decl: home_header $@155 home_body */ +#line 6192 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9596,59 +9510,59 @@ yyparse () (yyval.dcval) = 0; } -#line 9604 "fe/idl.tab.cpp" +#line 9514 "fe/idl.tab.cpp" break; - case 511: /* $@158: %empty */ -#line 6268 "fe/idl.ypp" + case 508: /* $@156: %empty */ +#line 6204 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9612 "fe/idl.tab.cpp" +#line 9522 "fe/idl.tab.cpp" break; - case 512: /* $@159: %empty */ -#line 6272 "fe/idl.ypp" + case 509: /* $@157: %empty */ +#line 6208 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9620 "fe/idl.tab.cpp" +#line 9530 "fe/idl.tab.cpp" break; - case 513: /* $@160: %empty */ -#line 6276 "fe/idl.ypp" + case 510: /* $@158: %empty */ +#line 6212 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9628 "fe/idl.tab.cpp" +#line 9538 "fe/idl.tab.cpp" break; - case 514: /* $@161: %empty */ -#line 6280 "fe/idl.ypp" + case 511: /* $@159: %empty */ +#line 6216 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9636 "fe/idl.tab.cpp" +#line 9546 "fe/idl.tab.cpp" break; - case 515: /* $@162: %empty */ -#line 6284 "fe/idl.ypp" + case 512: /* $@160: %empty */ +#line 6220 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9644 "fe/idl.tab.cpp" +#line 9554 "fe/idl.tab.cpp" break; - case 516: /* $@163: %empty */ -#line 6288 "fe/idl.ypp" + case 513: /* $@161: %empty */ +#line 6224 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9652 "fe/idl.tab.cpp" +#line 9562 "fe/idl.tab.cpp" break; - case 517: /* home_header: IDL_HOME $@158 defining_id $@159 home_inheritance_spec $@160 supports_spec $@161 IDL_MANAGES $@162 scoped_name $@163 primary_key_spec */ -#line 6292 "fe/idl.ypp" + case 514: /* home_header: IDL_HOME $@156 defining_id $@157 home_inheritance_spec $@158 supports_spec $@159 IDL_MANAGES $@160 scoped_name $@161 primary_key_spec */ +#line 6228 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9694,107 +9608,107 @@ yyparse () (yyvsp[-6].nlval) = 0; } } -#line 9702 "fe/idl.tab.cpp" +#line 9612 "fe/idl.tab.cpp" break; - case 518: /* $@164: %empty */ -#line 6341 "fe/idl.ypp" + case 515: /* $@162: %empty */ +#line 6277 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9710 "fe/idl.tab.cpp" +#line 9620 "fe/idl.tab.cpp" break; - case 519: /* home_inheritance_spec: ':' $@164 scoped_name */ -#line 6345 "fe/idl.ypp" + case 516: /* home_inheritance_spec: ':' $@162 scoped_name */ +#line 6281 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9718 "fe/idl.tab.cpp" +#line 9628 "fe/idl.tab.cpp" break; - case 520: /* home_inheritance_spec: %empty */ -#line 6349 "fe/idl.ypp" + case 517: /* home_inheritance_spec: %empty */ +#line 6285 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9726 "fe/idl.tab.cpp" +#line 9636 "fe/idl.tab.cpp" break; - case 521: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6357 "fe/idl.ypp" + case 518: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6293 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9734 "fe/idl.tab.cpp" +#line 9644 "fe/idl.tab.cpp" break; - case 522: /* primary_key_spec: %empty */ -#line 6361 "fe/idl.ypp" + case 519: /* primary_key_spec: %empty */ +#line 6297 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9742 "fe/idl.tab.cpp" +#line 9652 "fe/idl.tab.cpp" break; - case 523: /* $@165: %empty */ -#line 6368 "fe/idl.ypp" + case 520: /* $@163: %empty */ +#line 6304 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9750 "fe/idl.tab.cpp" +#line 9660 "fe/idl.tab.cpp" break; - case 524: /* $@166: %empty */ -#line 6372 "fe/idl.ypp" + case 521: /* $@164: %empty */ +#line 6308 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9758 "fe/idl.tab.cpp" +#line 9668 "fe/idl.tab.cpp" break; - case 525: /* home_body: '{' $@165 home_exports $@166 '}' */ -#line 6376 "fe/idl.ypp" + case 522: /* home_body: '{' $@163 home_exports $@164 '}' */ +#line 6312 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9766 "fe/idl.tab.cpp" +#line 9676 "fe/idl.tab.cpp" break; - case 529: /* $@167: %empty */ -#line 6389 "fe/idl.ypp" + case 526: /* $@165: %empty */ +#line 6325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9774 "fe/idl.tab.cpp" +#line 9684 "fe/idl.tab.cpp" break; - case 530: /* home_export: factory_decl $@167 ';' */ -#line 6393 "fe/idl.ypp" + case 527: /* home_export: factory_decl $@165 ';' */ +#line 6329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9782 "fe/idl.tab.cpp" +#line 9692 "fe/idl.tab.cpp" break; - case 531: /* $@168: %empty */ -#line 6397 "fe/idl.ypp" + case 528: /* $@166: %empty */ +#line 6333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9790 "fe/idl.tab.cpp" +#line 9700 "fe/idl.tab.cpp" break; - case 532: /* home_export: finder_decl $@168 ';' */ -#line 6401 "fe/idl.ypp" + case 529: /* home_export: finder_decl $@166 ';' */ +#line 6337 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9798 "fe/idl.tab.cpp" +#line 9708 "fe/idl.tab.cpp" break; - case 533: /* $@169: %empty */ -#line 6409 "fe/idl.ypp" + case 530: /* $@167: %empty */ +#line 6345 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9817,19 +9731,19 @@ yyparse () */ idl_global->scopes ().push (f); } -#line 9825 "fe/idl.tab.cpp" +#line 9735 "fe/idl.tab.cpp" break; - case 534: /* $@170: %empty */ -#line 6432 "fe/idl.ypp" + case 531: /* $@168: %empty */ +#line 6368 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9833 "fe/idl.tab.cpp" +#line 9743 "fe/idl.tab.cpp" break; - case 535: /* factory_decl: IDL_FACTORY defining_id $@169 init_parameter_list $@170 opt_raises */ -#line 6436 "fe/idl.ypp" + case 532: /* factory_decl: IDL_FACTORY defining_id $@167 init_parameter_list $@168 opt_raises */ +#line 6372 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9847,11 +9761,11 @@ yyparse () */ idl_global->scopes ().pop (); } -#line 9855 "fe/idl.tab.cpp" +#line 9765 "fe/idl.tab.cpp" break; - case 536: /* $@171: %empty */ -#line 6458 "fe/idl.ypp" + case 533: /* $@169: %empty */ +#line 6394 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9878,19 +9792,19 @@ yyparse () */ idl_global->scopes ().push (f); } -#line 9886 "fe/idl.tab.cpp" +#line 9796 "fe/idl.tab.cpp" break; - case 537: /* $@172: %empty */ -#line 6485 "fe/idl.ypp" + case 534: /* $@170: %empty */ +#line 6421 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9894 "fe/idl.tab.cpp" +#line 9804 "fe/idl.tab.cpp" break; - case 538: /* finder_decl: IDL_FINDER defining_id $@171 init_parameter_list $@172 opt_raises */ -#line 6489 "fe/idl.ypp" + case 535: /* finder_decl: IDL_FINDER defining_id $@169 init_parameter_list $@170 opt_raises */ +#line 6425 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9908,11 +9822,11 @@ yyparse () */ idl_global->scopes ().pop (); } -#line 9916 "fe/idl.tab.cpp" +#line 9826 "fe/idl.tab.cpp" break; - case 544: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6522 "fe/idl.ypp" + case 541: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6458 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9937,11 +9851,11 @@ yyparse () (yyval.dcval) = 0; } -#line 9945 "fe/idl.tab.cpp" +#line 9855 "fe/idl.tab.cpp" break; - case 545: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6552 "fe/idl.ypp" + case 542: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6488 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9966,11 +9880,11 @@ yyparse () (yyval.dcval) = 0; } -#line 9974 "fe/idl.tab.cpp" +#line 9884 "fe/idl.tab.cpp" break; - case 546: /* $@173: %empty */ -#line 6581 "fe/idl.ypp" + case 543: /* $@171: %empty */ +#line 6517 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -10014,27 +9928,27 @@ yyparse () delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 10022 "fe/idl.tab.cpp" +#line 9932 "fe/idl.tab.cpp" break; - case 547: /* $@174: %empty */ -#line 6625 "fe/idl.ypp" + case 544: /* $@172: %empty */ +#line 6561 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10030 "fe/idl.tab.cpp" +#line 9940 "fe/idl.tab.cpp" break; - case 548: /* $@175: %empty */ -#line 6629 "fe/idl.ypp" + case 545: /* $@173: %empty */ +#line 6565 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10038 "fe/idl.tab.cpp" +#line 9948 "fe/idl.tab.cpp" break; - case 549: /* event_abs_decl: event_abs_header event_rest_of_header $@173 '{' $@174 exports $@175 '}' */ -#line 6633 "fe/idl.ypp" + case 546: /* event_abs_decl: event_abs_header event_rest_of_header $@171 '{' $@172 exports $@173 '}' */ +#line 6569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10045,19 +9959,19 @@ yyparse () (yyval.dcval) = 0; } -#line 10053 "fe/idl.tab.cpp" +#line 9963 "fe/idl.tab.cpp" break; - case 550: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6649 "fe/idl.ypp" + case 547: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6585 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10061 "fe/idl.tab.cpp" +#line 9971 "fe/idl.tab.cpp" break; - case 551: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6658 "fe/idl.ypp" + case 548: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6594 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -10070,29 +9984,29 @@ yyparse () ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 10078 "fe/idl.tab.cpp" +#line 9988 "fe/idl.tab.cpp" break; - case 552: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6675 "fe/idl.ypp" + case 549: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6611 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 10088 "fe/idl.tab.cpp" +#line 9998 "fe/idl.tab.cpp" break; - case 553: /* $@176: %empty */ -#line 6684 "fe/idl.ypp" + case 550: /* $@174: %empty */ +#line 6620 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10096 "fe/idl.tab.cpp" +#line 10006 "fe/idl.tab.cpp" break; - case 554: /* event_rest_of_header: inheritance_spec $@176 supports_spec */ -#line 6688 "fe/idl.ypp" + case 551: /* event_rest_of_header: inheritance_spec $@174 supports_spec */ +#line 6624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10121,11 +10035,11 @@ yyparse () (yyvsp[-2].nlval) = 0; } } -#line 10129 "fe/idl.tab.cpp" +#line 10039 "fe/idl.tab.cpp" break; - case 555: /* @177: %empty */ -#line 6721 "fe/idl.ypp" + case 552: /* @175: %empty */ +#line 6657 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10176,27 +10090,27 @@ yyparse () (yyval.dcval) = eventtype; } -#line 10184 "fe/idl.tab.cpp" +#line 10094 "fe/idl.tab.cpp" break; - case 556: /* $@178: %empty */ -#line 6772 "fe/idl.ypp" + case 553: /* $@176: %empty */ +#line 6708 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10192 "fe/idl.tab.cpp" +#line 10102 "fe/idl.tab.cpp" break; - case 557: /* $@179: %empty */ -#line 6776 "fe/idl.ypp" + case 554: /* $@177: %empty */ +#line 6712 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10200 "fe/idl.tab.cpp" +#line 10110 "fe/idl.tab.cpp" break; - case 558: /* event_decl: event_header event_rest_of_header @177 '{' $@178 value_elements $@179 '}' */ -#line 6780 "fe/idl.ypp" + case 555: /* event_decl: event_header event_rest_of_header @175 '{' $@176 value_elements $@177 '}' */ +#line 6716 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10207,116 +10121,116 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10215 "fe/idl.tab.cpp" +#line 10125 "fe/idl.tab.cpp" break; - case 559: /* event_header: event_custom_header */ -#line 6794 "fe/idl.ypp" + case 556: /* event_header: event_custom_header */ +#line 6730 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10223 "fe/idl.tab.cpp" +#line 10133 "fe/idl.tab.cpp" break; - case 560: /* event_header: event_plain_header */ -#line 6798 "fe/idl.ypp" + case 557: /* event_header: event_plain_header */ +#line 6734 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10231 "fe/idl.tab.cpp" +#line 10141 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_TYPENAME */ -#line 6805 "fe/idl.ypp" + case 558: /* formal_parameter_type: IDL_TYPENAME */ +#line 6741 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10239 "fe/idl.tab.cpp" +#line 10149 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_STRUCT */ -#line 6809 "fe/idl.ypp" + case 559: /* formal_parameter_type: IDL_STRUCT */ +#line 6745 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10247 "fe/idl.tab.cpp" +#line 10157 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_UNION */ -#line 6813 "fe/idl.ypp" + case 560: /* formal_parameter_type: IDL_UNION */ +#line 6749 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10255 "fe/idl.tab.cpp" +#line 10165 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6817 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6753 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10263 "fe/idl.tab.cpp" +#line 10173 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6821 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6757 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10271 "fe/idl.tab.cpp" +#line 10181 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_MAP */ -#line 6825 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_MAP */ +#line 6761 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_map; } -#line 10279 "fe/idl.tab.cpp" +#line 10189 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_INTERFACE */ -#line 6829 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_INTERFACE */ +#line 6765 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10287 "fe/idl.tab.cpp" +#line 10197 "fe/idl.tab.cpp" break; - case 568: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6833 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6769 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10295 "fe/idl.tab.cpp" +#line 10205 "fe/idl.tab.cpp" break; - case 569: /* formal_parameter_type: IDL_ENUM */ -#line 6837 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_ENUM */ +#line 6773 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10303 "fe/idl.tab.cpp" +#line 10213 "fe/idl.tab.cpp" break; - case 570: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6841 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6777 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10311 "fe/idl.tab.cpp" +#line 10221 "fe/idl.tab.cpp" break; - case 571: /* formal_parameter_type: IDL_CONST const_type */ -#line 6845 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_CONST const_type */ +#line 6781 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10320 "fe/idl.tab.cpp" +#line 10230 "fe/idl.tab.cpp" break; - case 572: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6853 "fe/idl.ypp" + case 569: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6789 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10344,11 +10258,11 @@ yyparse () (yyval.plval) = (yyvsp[0].plval); } -#line 10352 "fe/idl.tab.cpp" +#line 10262 "fe/idl.tab.cpp" break; - case 573: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6884 "fe/idl.ypp" + case 570: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6820 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10361,20 +10275,21 @@ yyparse () delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10369 "fe/idl.tab.cpp" +#line 10279 "fe/idl.tab.cpp" break; - case 574: /* formal_parameters: %empty */ -#line 6897 "fe/idl.ypp" + case 571: /* formal_parameters: %empty */ +#line 6833 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10377 "fe/idl.tab.cpp" +#line 10287 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6904 "fe/idl.ypp" + case 572: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6840 "fe/idl.ypp" { + ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, 1); @@ -10397,11 +10312,11 @@ yyparse () tao_enum_constant_decl = 0; } } -#line 10406 "fe/idl.tab.cpp" +#line 10316 "fe/idl.tab.cpp" break; - case 576: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6929 "fe/idl.ypp" + case 573: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6865 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10416,19 +10331,19 @@ yyparse () ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10425 "fe/idl.tab.cpp" +#line 10335 "fe/idl.tab.cpp" break; - case 577: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6947 "fe/idl.ypp" + case 574: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6883 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10433 "fe/idl.tab.cpp" +#line 10343 "fe/idl.tab.cpp" break; - case 578: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6954 "fe/idl.ypp" + case 575: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6890 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10443,37 +10358,37 @@ yyparse () (yyval.slval) = (yyvsp[-2].slval); } } -#line 10452 "fe/idl.tab.cpp" +#line 10362 "fe/idl.tab.cpp" break; - case 579: /* formal_parameter_names: %empty */ -#line 6969 "fe/idl.ypp" + case 576: /* formal_parameter_names: %empty */ +#line 6905 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10460 "fe/idl.tab.cpp" +#line 10370 "fe/idl.tab.cpp" break; - case 580: /* formal_parameter_name: IDENTIFIER */ -#line 6976 "fe/idl.ypp" + case 577: /* formal_parameter_name: IDENTIFIER */ +#line 6912 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10470 "fe/idl.tab.cpp" +#line 10380 "fe/idl.tab.cpp" break; - case 581: /* $@180: %empty */ -#line 6985 "fe/idl.ypp" + case 578: /* $@178: %empty */ +#line 6921 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10478 "fe/idl.tab.cpp" +#line 10388 "fe/idl.tab.cpp" break; - case 582: /* @181: %empty */ -#line 6989 "fe/idl.ypp" + case 579: /* @179: %empty */ +#line 6925 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10492,27 +10407,27 @@ yyparse () // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10501 "fe/idl.tab.cpp" +#line 10411 "fe/idl.tab.cpp" break; - case 583: /* $@182: %empty */ -#line 7008 "fe/idl.ypp" + case 580: /* $@180: %empty */ +#line 6944 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10509 "fe/idl.tab.cpp" +#line 10419 "fe/idl.tab.cpp" break; - case 584: /* $@183: %empty */ -#line 7016 "fe/idl.ypp" + case 581: /* $@181: %empty */ +#line 6952 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10517 "fe/idl.tab.cpp" +#line 10427 "fe/idl.tab.cpp" break; - case 585: /* porttype_decl: IDL_PORTTYPE $@180 IDENTIFIER @181 '{' $@182 at_least_one_port_export $@183 '}' */ -#line 7020 "fe/idl.ypp" + case 582: /* porttype_decl: IDL_PORTTYPE $@178 IDENTIFIER @179 '{' $@180 at_least_one_port_export $@181 '}' */ +#line 6956 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10521,11 +10436,11 @@ yyparse () (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10530 "fe/idl.tab.cpp" +#line 10440 "fe/idl.tab.cpp" break; - case 586: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 7032 "fe/idl.ypp" + case 583: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6968 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10540,27 +10455,27 @@ yyparse () } delete annotations; } -#line 10549 "fe/idl.tab.cpp" +#line 10459 "fe/idl.tab.cpp" break; - case 592: /* $@184: %empty */ -#line 7058 "fe/idl.ypp" + case 589: /* $@182: %empty */ +#line 6994 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10557 "fe/idl.tab.cpp" +#line 10467 "fe/idl.tab.cpp" break; - case 593: /* port_export: attribute $@184 ';' */ -#line 7062 "fe/idl.ypp" + case 590: /* port_export: attribute $@182 ';' */ +#line 6998 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10565 "fe/idl.tab.cpp" +#line 10475 "fe/idl.tab.cpp" break; - case 594: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 7069 "fe/idl.ypp" + case 591: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 7005 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10627,11 +10542,11 @@ yyparse () (yyval.dcval) = ep; } -#line 10636 "fe/idl.tab.cpp" +#line 10546 "fe/idl.tab.cpp" break; - case 595: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7136 "fe/idl.ypp" + case 592: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7072 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10676,11 +10591,11 @@ yyparse () (yyval.dcval) = mp; } -#line 10685 "fe/idl.tab.cpp" +#line 10595 "fe/idl.tab.cpp" break; - case 596: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7184 "fe/idl.ypp" + case 593: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7120 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10693,11 +10608,11 @@ yyparse () (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10702 "fe/idl.tab.cpp" +#line 10612 "fe/idl.tab.cpp" break; - case 597: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7200 "fe/idl.ypp" + case 594: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7136 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10710,19 +10625,19 @@ yyparse () (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10719 "fe/idl.tab.cpp" +#line 10629 "fe/idl.tab.cpp" break; - case 598: /* actual_parameters: %empty */ -#line 7213 "fe/idl.ypp" + case 595: /* actual_parameters: %empty */ +#line 7149 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10727 "fe/idl.tab.cpp" +#line 10637 "fe/idl.tab.cpp" break; - case 599: /* actual_parameter: expression */ -#line 7220 "fe/idl.ypp" + case 596: /* actual_parameter: expression */ +#line 7156 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10778,35 +10693,35 @@ yyparse () 0); } } -#line 10787 "fe/idl.tab.cpp" +#line 10697 "fe/idl.tab.cpp" break; - case 600: /* connector_decl: connector_header connector_body */ -#line 7279 "fe/idl.ypp" + case 597: /* connector_decl: connector_header connector_body */ +#line 7215 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10795 "fe/idl.tab.cpp" +#line 10705 "fe/idl.tab.cpp" break; - case 601: /* $@185: %empty */ -#line 7286 "fe/idl.ypp" + case 598: /* $@183: %empty */ +#line 7222 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10803 "fe/idl.tab.cpp" +#line 10713 "fe/idl.tab.cpp" break; - case 602: /* $@186: %empty */ -#line 7290 "fe/idl.ypp" + case 599: /* $@184: %empty */ +#line 7226 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10811 "fe/idl.tab.cpp" +#line 10721 "fe/idl.tab.cpp" break; - case 603: /* connector_header: IDL_CONNECTOR $@185 annotations_maybe IDENTIFIER $@186 component_inheritance_spec */ -#line 7294 "fe/idl.ypp" + case 600: /* connector_header: IDL_CONNECTOR $@183 annotations_maybe IDENTIFIER $@184 component_inheritance_spec */ +#line 7230 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10860,102 +10775,102 @@ yyparse () delete (yyvsp[-3].annotations_val); } -#line 10869 "fe/idl.tab.cpp" +#line 10779 "fe/idl.tab.cpp" break; - case 604: /* $@187: %empty */ -#line 7351 "fe/idl.ypp" + case 601: /* $@185: %empty */ +#line 7287 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10877 "fe/idl.tab.cpp" +#line 10787 "fe/idl.tab.cpp" break; - case 605: /* $@188: %empty */ -#line 7355 "fe/idl.ypp" + case 602: /* $@186: %empty */ +#line 7291 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10885 "fe/idl.tab.cpp" +#line 10795 "fe/idl.tab.cpp" break; - case 606: /* connector_body: '{' $@187 connector_exports $@188 '}' */ -#line 7359 "fe/idl.ypp" + case 603: /* connector_body: '{' $@185 connector_exports $@186 '}' */ +#line 7295 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10896 "fe/idl.tab.cpp" +#line 10806 "fe/idl.tab.cpp" break; - case 609: /* $@189: %empty */ -#line 7374 "fe/idl.ypp" + case 606: /* $@187: %empty */ +#line 7310 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10904 "fe/idl.tab.cpp" +#line 10814 "fe/idl.tab.cpp" break; - case 610: /* connector_export: provides_decl $@189 ';' */ -#line 7378 "fe/idl.ypp" + case 607: /* connector_export: provides_decl $@187 ';' */ +#line 7314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10912 "fe/idl.tab.cpp" +#line 10822 "fe/idl.tab.cpp" break; - case 611: /* $@190: %empty */ -#line 7382 "fe/idl.ypp" + case 608: /* $@188: %empty */ +#line 7318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10920 "fe/idl.tab.cpp" +#line 10830 "fe/idl.tab.cpp" break; - case 612: /* connector_export: uses_decl $@190 ';' */ -#line 7386 "fe/idl.ypp" + case 609: /* connector_export: uses_decl $@188 ';' */ +#line 7322 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10928 "fe/idl.tab.cpp" +#line 10838 "fe/idl.tab.cpp" break; - case 613: /* $@191: %empty */ -#line 7390 "fe/idl.ypp" + case 610: /* $@189: %empty */ +#line 7326 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10936 "fe/idl.tab.cpp" +#line 10846 "fe/idl.tab.cpp" break; - case 614: /* connector_export: attribute $@191 ';' */ -#line 7394 "fe/idl.ypp" + case 611: /* connector_export: attribute $@189 ';' */ +#line 7330 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10944 "fe/idl.tab.cpp" +#line 10854 "fe/idl.tab.cpp" break; - case 615: /* $@192: %empty */ -#line 7398 "fe/idl.ypp" + case 612: /* $@190: %empty */ +#line 7334 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10952 "fe/idl.tab.cpp" +#line 10862 "fe/idl.tab.cpp" break; - case 616: /* connector_export: extended_port_decl $@192 ';' */ -#line 7402 "fe/idl.ypp" + case 613: /* connector_export: extended_port_decl $@190 ';' */ +#line 7338 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10960 "fe/idl.tab.cpp" +#line 10870 "fe/idl.tab.cpp" break; -#line 10964 "fe/idl.tab.cpp" +#line 10874 "fe/idl.tab.cpp" default: break; } @@ -11148,7 +11063,7 @@ yyparse () return yyresult; } -#line 7407 "fe/idl.ypp" +#line 7343 "fe/idl.ypp" /* programs */ @@ -11156,7 +11071,7 @@ yyparse () * ??? */ int -tao_yywrap () +tao_yywrap (void) { return 1; } diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 075070c72215c..ff2d5b6677310 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -3897,70 +3897,6 @@ enumerator : map_type_spec : map_head - ',' - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapCommaSeen); - } - positive_int_expr - { - idl_global->set_parse_state (IDL_GlobalData::PS_MapExprSeen); - } - '>' - { - AST_Map *map = 0; - Decl_Annotations_Pair_Pair* type_pair = $1; - Decl_Annotations_Pair *key_type = type_pair->first; - Decl_Annotations_Pair *val_type = type_pair->second; - - /* - * Remove map marker from scopes stack. - */ - if (idl_global->scopes ().top () == 0) - { - idl_global->scopes ().pop (); - } - - UTL_Scope *s = idl_global->scopes ().top_non_null (); - - /* - * Create a node representing a map. - */ - if (key_type && val_type) - { - AST_Type *ktp = dynamic_cast (key_type->decl); - AST_Type *vtp = dynamic_cast (val_type->decl); - - if (ktp == 0 || vtp == 0) - { - ; // Error will be caught in FE_Declarator. - } - else - { - Identifier id ("map"); - UTL_ScopedName sn (&id, 0); - - map = - idl_global->gen ()->create_map ( - $4, - ktp, - vtp, - &sn, - s->is_local (), - s->is_abstract () - ); - map->key_type_annotations (*key_type->annotations); - map->value_type_annotations (*val_type->annotations); - - idl_global->err ()->anonymous_type_diagnostic (); - } - } - - delete key_type->annotations; - delete val_type->annotations; - delete type_pair; - $$ = map; - } - | map_head '>' { AST_Map *map = 0; diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index 7d35044add77b..cc314f7deb11c 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -543,10 +543,10 @@ YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); void yy_delete_buffer ( YY_BUFFER_STATE b ); void yy_flush_buffer ( YY_BUFFER_STATE b ); void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); -void yypop_buffer_state (); +void yypop_buffer_state ( void ); -static void yyensure_buffer_stack (); -static void yy_load_buffer_state (); +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) @@ -591,9 +591,9 @@ int yylineno = 1; extern char yytext[]; -static yy_state_type yy_get_previous_state (); +static yy_state_type yy_get_previous_state ( void ); static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); -static int yy_get_next_buffer (); +static int yy_get_next_buffer ( void ); static void yynoreturn yy_fatal_error ( const char* msg ); /* Done after the current pattern has been matched and before the @@ -1468,34 +1468,34 @@ static AST_Decl * idl_find_node (const char *); #define YY_EXTRA_TYPE void * #endif -static int yy_init_globals (); +static int yy_init_globals ( void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int yylex_destroy (); +int yylex_destroy ( void ); -int yyget_debug (); +int yyget_debug ( void ); void yyset_debug ( int debug_flag ); -YY_EXTRA_TYPE yyget_extra (); +YY_EXTRA_TYPE yyget_extra ( void ); void yyset_extra ( YY_EXTRA_TYPE user_defined ); -FILE *yyget_in (); +FILE *yyget_in ( void ); void yyset_in ( FILE * _in_str ); -FILE *yyget_out (); +FILE *yyget_out ( void ); void yyset_out ( FILE * _out_str ); - int yyget_leng (); + int yyget_leng ( void ); -char *yyget_text (); +char *yyget_text ( void ); -int yyget_lineno (); +int yyget_lineno ( void ); void yyset_lineno ( int _line_number ); @@ -1505,9 +1505,9 @@ void yyset_lineno ( int _line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap (); +extern "C" int yywrap ( void ); #else -extern int yywrap (); +extern int yywrap ( void ); #endif #endif @@ -1527,9 +1527,9 @@ static int yy_flex_strlen ( const char * ); #ifndef YY_NO_INPUT #ifdef __cplusplus -static int yyinput (); +static int yyinput ( void ); #else -static int input (); +static int input ( void ); #endif #endif @@ -1614,9 +1614,9 @@ static int input (); #ifndef YY_DECL #define YY_DECL_IS_OURS 1 -extern int yylex (); +extern int yylex (void); -#define YY_DECL int yylex () +#define YY_DECL int yylex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after yytext and yyleng @@ -2729,7 +2729,7 @@ ECHO; * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ -static int yy_get_next_buffer () +static int yy_get_next_buffer (void) { char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = (yytext_ptr); @@ -2783,6 +2783,7 @@ static int yy_get_next_buffer () YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); + } if ( num_to_read > YY_READ_BUF_SIZE ) @@ -2836,7 +2837,7 @@ static int yy_get_next_buffer () /* yy_get_previous_state - get the state just before the EOB char was reached */ - static yy_state_type yy_get_previous_state () + static yy_state_type yy_get_previous_state (void) { yy_state_type yy_current_state; char *yy_cp; @@ -2930,9 +2931,9 @@ static int yy_get_next_buffer () #ifndef YY_NO_INPUT #ifdef __cplusplus - static int yyinput () + static int yyinput (void) #else - static int input () + static int input (void) #endif { @@ -3011,6 +3012,7 @@ static int yy_get_next_buffer () */ void yyrestart (FILE * input_file ) { + if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = @@ -3027,6 +3029,7 @@ static int yy_get_next_buffer () */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { + /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); @@ -3055,7 +3058,7 @@ static int yy_get_next_buffer () (yy_did_buffer_switch_on_eof) = 1; } -static void yy_load_buffer_state () +static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; @@ -3099,6 +3102,7 @@ static void yy_load_buffer_state () */ void yy_delete_buffer (YY_BUFFER_STATE b ) { + if ( ! b ) return; @@ -3202,7 +3206,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) * The next element becomes the new top. * */ -void yypop_buffer_state () +void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; @@ -3221,11 +3225,12 @@ void yypop_buffer_state () /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ -static void yyensure_buffer_stack () +static void yyensure_buffer_stack (void) { yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { + /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. @@ -3245,6 +3250,7 @@ static void yyensure_buffer_stack () } if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + /* Increase the buffer to prepare for a possible push. */ yy_size_t grow_size = 8 /* arbitrary grow size */; @@ -3307,6 +3313,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) */ YY_BUFFER_STATE yy_scan_string (const char * yystr ) { + return yy_scan_bytes( yystr, (int) strlen(yystr) ); } @@ -3379,15 +3386,16 @@ static void yynoreturn yy_fatal_error (const char* msg ) /** Get the current line number. * */ -int yyget_lineno () +int yyget_lineno (void) { + return yylineno; } /** Get the input stream. * */ -FILE *yyget_in () +FILE *yyget_in (void) { return yyin; } @@ -3395,7 +3403,7 @@ FILE *yyget_in () /** Get the output stream. * */ -FILE *yyget_out () +FILE *yyget_out (void) { return yyout; } @@ -3403,7 +3411,7 @@ FILE *yyget_out () /** Get the length of the current token. * */ -int yyget_leng () +int yyget_leng (void) { return yyleng; } @@ -3412,7 +3420,7 @@ int yyget_leng () * */ -char *yyget_text () +char *yyget_text (void) { return yytext; } @@ -3423,6 +3431,7 @@ char *yyget_text () */ void yyset_lineno (int _line_number ) { + yylineno = _line_number; } @@ -3442,7 +3451,7 @@ void yyset_out (FILE * _out_str ) yyout = _out_str ; } -int yyget_debug () +int yyget_debug (void) { return yy_flex_debug; } @@ -3452,7 +3461,7 @@ void yyset_debug (int _bdebug ) yy_flex_debug = _bdebug ; } -static int yy_init_globals () +static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from yylex_destroy(), so don't allocate here. @@ -3486,8 +3495,9 @@ static int yy_init_globals () } /* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy () +int yylex_destroy (void) { + /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer( YY_CURRENT_BUFFER ); @@ -3516,6 +3526,7 @@ int yylex_destroy () #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, const char * s2, int n ) { + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; @@ -3540,6 +3551,7 @@ void *yyalloc (yy_size_t size ) void *yyrealloc (void * ptr, yy_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter From c9d754ccaa75380ef98b5932715028511989d687 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:04:25 -0400 Subject: [PATCH 087/445] fixed cdr op --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 32 +++++++++++++++++---- TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp | 27 +++++++---------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 19ff452f936fb..810688c04fbde 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -24,9 +24,16 @@ be_visitor_map_cdr_op_ch::be_visitor_map_cdr_op_ch ( int be_visitor_map_cdr_op_ch::visit_map (be_map *node) { + if (node->cli_hdr_cdr_op_gen() + || node->imported() + || node->is_local()) + { + return 0; + } + be_type *key_type = dynamic_cast (node->key_type ()); - // If our base type is an anonymous sequence, generate code for it here. + // If our base type is an anonymous map, generate code for it here. if (key_type->node_type () == AST_Decl::NT_map) { if (key_type->accept (this) != 0) @@ -57,6 +64,10 @@ be_visitor_map_cdr_op_ch::visit_map (be_map *node) be_type *bt = dynamic_cast (node); be_typedef *tdef = dynamic_cast (bt); + TAO_INSERT_COMMENT(os); + + // If we're an anonymous map, we must protect against + // being declared more than once. if (tdef == nullptr) { *os << "\n\n#if !defined _TAO_CDR_OP_" @@ -64,20 +75,29 @@ be_visitor_map_cdr_op_ch::visit_map (be_map *node) << "\n#define _TAO_CDR_OP_" << node->flat_name () << "_H_"; } + *os << be_global->core_versioning_begin(); + *os << be_nl_2 << be_global->stub_export_macro () << " ::CORBA::Boolean" << " operator<< (" << be_idt << be_idt_nl << "TAO_OutputCDR &strm," << be_nl - << "const std::map<" << key_type->name() << ", " << value_type->name() << ">"; - - *os << " &_tao_map);" << be_uidt << be_uidt_nl; + << "const " << node->name() + << " &_tao_map);" + << be_uidt << be_uidt_nl; *os << be_global->stub_export_macro () << " ::CORBA::Boolean" << " operator>> (" << be_idt << be_idt_nl << "TAO_InputCDR &strm," << be_nl - << "std::map<" << key_type->name() << ", " << value_type->name() << ">"; + << node->name() + << " &_tao_map);" + << be_uidt << be_uidt; + + if (be_global->gen_ostream_operators()) + { + node->gen_ostream_operator(os, false); + } - *os << " &_tao_map);" << be_uidt << be_uidt; + *os << be_nl << be_global->core_versioning_end() << be_nl; if (tdef == nullptr) { diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp index f7ec5b7de43f2..4856711f04c3e 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_cs.cpp @@ -39,10 +39,6 @@ be_visitor_map_cdr_op_cs::visit_map (be_map *node) TAO_OutStream *os = this->ctx_->stream (); - be_type *key_type = dynamic_cast (node->key_type ()); - - be_type *value_type = dynamic_cast (node->value_type ()); - TAO_INSERT_COMMENT (os); *os << "#if !defined _TAO_CDR_OP_" @@ -57,25 +53,22 @@ be_visitor_map_cdr_op_cs::visit_map (be_map *node) *os << "::CORBA::Boolean operator<< (" << be_idt_nl << "TAO_OutputCDR &," << be_nl - << "const std::map<" << key_type->full_name () - << ", " << value_type->full_name() - << "> &)" + << "const " + << node->name() << "&)" << be_uidt_nl << "{" << be_idt_nl << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl << "return false;" << be_uidt_nl << "}" << be_nl_2; - *os << "::CORBA::Boolean operator>> (" << be_idt_nl - << "TAO_InputCDR &," << be_nl - << "std::map<" << key_type->full_name () - << ", " << value_type->full_name() - << "> &)" - << be_uidt_nl - << "{" << be_idt_nl - << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl - << "return false;" << be_uidt_nl - << "}" << be_nl_2; + *os << "::CORBA::Boolean operator>> ("<< be_idt_nl + << "TAO_InputCDR &," << be_nl + << node->name() << "&)" + << be_uidt_nl + << "{" << be_idt_nl + << "throw ::CORBA::NO_IMPLEMENT ();" << be_nl + << "return false;" << be_uidt_nl + << "}" << be_nl_2; if (be_global->gen_ostream_operators ()) { From e2715553dabbf4808d49c681879a56456636b05b Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:16:08 -0400 Subject: [PATCH 088/445] remove bounded maps --- TAO/tests/IDLv4/maps/test.idl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index ee062d099b059..f47c3cc6c6afe 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -19,16 +19,16 @@ struct DataStruct { // Bounded maps are not actually bounded as std::map doesn't support that map intIntMap; - map intIntMapBounded; + // map intIntMapBounded; map stringStructsMap; - map stringStructsMapBounded; + // map stringStructsMapBounded; map stringSequenceMap; - map stringSequenceMapBounded; + // map stringSequenceMapBounded; map stringMapMap; - map stringMapMapBounded; + // map stringMapMapBounded; map mapStringMap; }; From 7ccbd1cede35ef5a7355fd2caa3332417e52e381 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:17:09 -0400 Subject: [PATCH 089/445] proper map key/val type code gen --- TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp | 277 ++++++++++++++++++ TAO/TAO_IDL/be/be_visitor_map/map.h | 1 + TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 8 +- TAO/TAO_IDL/be_include/be_codegen.h | 1 + TAO/TAO_IDL/be_include/be_visitor_map.h | 1 + .../be_include/be_visitor_map/buffer_type.h | 64 ++++ 6 files changed, 348 insertions(+), 4 deletions(-) create mode 100644 TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp create mode 100644 TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h diff --git a/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp new file mode 100644 index 0000000000000..8a52e617c0eb6 --- /dev/null +++ b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp @@ -0,0 +1,277 @@ +//============================================================================= +/** + * @file buffer_type.cpp + * + * Visitor generating code for the internal buffer type of the Map node + * + * @author Tyler Mayoff + */ +//============================================================================= + +#include "map.h" + +// **************************************************************** +// We have to generate the buffer type in the constructor +// **************************************************************** + +be_visitor_map_buffer_type::be_visitor_map_buffer_type ( + be_visitor_context *ctx + ) + : be_visitor_decl(ctx) +{ +} + +be_visitor_map_buffer_type::~be_visitor_map_buffer_type () +{ +} + +int +be_visitor_map_buffer_type::visit_node (be_type *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + be_type *bt = nullptr; + + if (this->ctx_->alias ()) + { + bt = this->ctx_->alias (); + } + else + { + bt = node; + } + + if (this->ctx_->state () == TAO_CodeGen::TAO_MAP_BUFFER_TYPE_CH) + { + *os << bt->nested_type_name (this->ctx_->scope ()->decl ()); + } + else + { + *os << bt->name (); + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_predefined_type (be_predefined_type *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + AST_PredefinedType::PredefinedType pt = node->pt (); + + *os << "::"; + + if (pt == AST_PredefinedType::PT_pseudo + || pt == AST_PredefinedType::PT_object + || pt == AST_PredefinedType::PT_abstract) + { + *os << node->name () << "_ptr"; + } + else if (pt == AST_PredefinedType::PT_value) + { + *os << node->name () << " *"; + } + else + { + *os << node->name (); + } + + return 0; +} + + +int +be_visitor_map_buffer_type::visit_sequence (be_sequence *node) +{ + return this->visit_node(node); +} + +int +be_visitor_map_buffer_type::visit_interface (be_interface *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), + "_ptr"); + } + else + { + *os << node->name () << "_ptr"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_interface_fwd (be_interface_fwd *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), "_ptr"); + } + else + { + *os << node->name () << "_ptr"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_component (be_component *node) +{ + return this->visit_interface (node); +} + +int +be_visitor_map_buffer_type::visit_component_fwd (be_component_fwd *node) +{ + return this->visit_interface_fwd (node); +} + +int +be_visitor_map_buffer_type::visit_valuebox (be_valuebox *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_valuetype (be_valuetype *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_valuetype_fwd (be_valuetype_fwd *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (this->ctx_->state () == TAO_CodeGen::TAO_SEQUENCE_BUFFER_TYPE_CH) + { + *os << node->nested_type_name (this->ctx_->scope ()->decl (), " *"); + } + else + { + *os << node->name () << " *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_eventtype (be_eventtype *node) +{ + return this->visit_valuetype (node); +} + +int +be_visitor_map_buffer_type::visit_eventtype_fwd (be_eventtype_fwd *node) +{ + return this->visit_valuetype_fwd (node); +} + +int +be_visitor_map_buffer_type::visit_string (be_string *node) +{ + TAO_OutStream *os = this->ctx_->stream (); + + if (node->width () == (long) sizeof (char)) + { + *os << "::CORBA::Char *"; + } + else + { + *os << "::CORBA::WChar *"; + } + + return 0; +} + +int +be_visitor_map_buffer_type::visit_structure (be_structure *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_structure_fwd (be_structure_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_union (be_union *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_union_fwd (be_union_fwd *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_enum (be_enum *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_exception (be_exception *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_array (be_array *node) +{ + return this->visit_node (node); +} + +int +be_visitor_map_buffer_type::visit_typedef (be_typedef *node) +{ + this->ctx_->alias (node); + + if (node->primitive_base_type ()->accept (this) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "be_visitor_map_buffer_type::" + "visit_typedef - " + "accept on primitive type failed\n"), + -1); + } + + this->ctx_->alias (nullptr); + return 0; +} + +int be_visitor_map_buffer_type::visit_map (be_map *node) { + return this->visit_node(node); +} diff --git a/TAO/TAO_IDL/be/be_visitor_map/map.h b/TAO/TAO_IDL/be/be_visitor_map/map.h index 93c040f7e8c0f..77e00dadf700b 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map.h +++ b/TAO/TAO_IDL/be/be_visitor_map/map.h @@ -35,6 +35,7 @@ #include "be_valuetype_fwd.h" #include "be_eventtype.h" #include "be_eventtype_fwd.h" +#include "be_sequence.h" #include "be_helper.h" #include "be_extern.h" #include "ast_root.h" diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index a927059423d67..4e26d69774b53 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -58,8 +58,8 @@ int be_visitor_map_ch::visit_map (be_map *node) if (kt->accept (&bt_visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_sequence_ch::") - ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") ACE_TEXT ("buffer type visit failed\n")), -1); } @@ -69,8 +69,8 @@ int be_visitor_map_ch::visit_map (be_map *node) if (vt->accept (&bt_visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_sequence_ch::") - ACE_TEXT ("visit_sequence - ") + ACE_TEXT ("be_visitor_map_ch::") + ACE_TEXT ("visit_map - ") ACE_TEXT ("buffer type visit failed\n")), -1); } diff --git a/TAO/TAO_IDL/be_include/be_codegen.h b/TAO/TAO_IDL/be_include/be_codegen.h index bcbb638e7eb4f..462657a06d538 100644 --- a/TAO/TAO_IDL/be_include/be_codegen.h +++ b/TAO/TAO_IDL/be_include/be_codegen.h @@ -142,6 +142,7 @@ class TAO_IDL_BE_Export TAO_CodeGen // For sequence buffer types. TAO_SEQUENCE_BUFFER_TYPE_CH, + TAO_MAP_BUFFER_TYPE_CH, // Emitting code for the public members of the union. TAO_UNION_PUBLIC_CH, diff --git a/TAO/TAO_IDL/be_include/be_visitor_map.h b/TAO/TAO_IDL/be_include/be_visitor_map.h index 5e0a40123fd7b..bc255bfcc982d 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_map.h +++ b/TAO/TAO_IDL/be_include/be_visitor_map.h @@ -8,6 +8,7 @@ #include "be_visitor_decl.h" #include "be_visitor_map/map_ch.h" #include "be_visitor_map/map_cs.h" +#include "be_visitor_map/buffer_type.h" #include "be_visitor_map/cdr_op_ch.h" #include "be_visitor_map/cdr_op_cs.h" diff --git a/TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h b/TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h new file mode 100644 index 0000000000000..da7ff7df83358 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_map/buffer_type.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- */ + +//============================================================================= +/** + * @file buffer_type.h + * + * Concrete visitor for the Map class + * This one provides code generation for the buffer type of the Map + * node. + * + * @author Tyler Mayoff + */ +//============================================================================= + + +#ifndef _BE_VISITOR_MAP_BUFFER_TYPE_H_ +#define _BE_VISITOR_MAP_BUFFER_TYPE_H_ + +/** + * @class be_visitor_map_buffer_type + * + * @brief be_visitor_map_buffer_type + * + * This is a concrete visitor to generate the buffer type + * for a map instantiation. + */ +class be_visitor_map_buffer_type : public be_visitor_decl +{ +public: + /// Constructor + be_visitor_map_buffer_type (be_visitor_context *ctx); + + /// destructor + ~be_visitor_map_buffer_type (); + + // = Visitor methods. + virtual int visit_predefined_type (be_predefined_type *node); + virtual int visit_interface (be_interface *node); + virtual int visit_interface_fwd (be_interface_fwd *node); + virtual int visit_component (be_component *node); + virtual int visit_component_fwd (be_component_fwd *node); + virtual int visit_valuebox (be_valuebox *node); + virtual int visit_valuetype (be_valuetype *node); + virtual int visit_valuetype_fwd (be_valuetype_fwd *node); + virtual int visit_eventtype (be_eventtype *node); + virtual int visit_eventtype_fwd (be_eventtype_fwd *node); + virtual int visit_structure (be_structure *node); + virtual int visit_structure_fwd (be_structure_fwd *node); + virtual int visit_enum (be_enum *node); + virtual int visit_exception (be_exception *node); + virtual int visit_union (be_union *node); + virtual int visit_union_fwd (be_union_fwd *node); + virtual int visit_array (be_array *node); + virtual int visit_string (be_string *node); + virtual int visit_map (be_map *node); + virtual int visit_sequence (be_sequence *node); + virtual int visit_typedef (be_typedef *node); + +protected: + /// helper that does the common job + int visit_node (be_type *); +}; + +#endif /* _BE_VISITOR_MAP_BUFFER_TYPE_H_ */ From 735ad0551cc5e2c310f00b31af1616a3f11ad194 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:21:01 -0400 Subject: [PATCH 090/445] fixed warnings --- TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp index 8a52e617c0eb6..cc6ffa339357e 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/buffer_type.cpp @@ -202,11 +202,11 @@ be_visitor_map_buffer_type::visit_string (be_string *node) if (node->width () == (long) sizeof (char)) { - *os << "::CORBA::Char *"; + *os << "const ::CORBA::Char *"; } else { - *os << "::CORBA::WChar *"; + *os << "const ::CORBA::WChar *"; } return 0; From 8a1a7ba025df350b2d1d56cd40342185a262cc41 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:23:32 -0400 Subject: [PATCH 091/445] added map to node_type_to_string --- TAO/TAO_IDL/ast/ast_decl.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TAO/TAO_IDL/ast/ast_decl.cpp b/TAO/TAO_IDL/ast/ast_decl.cpp index 2c5ee1816c412..7c45a62d0d844 100644 --- a/TAO/TAO_IDL/ast/ast_decl.cpp +++ b/TAO/TAO_IDL/ast/ast_decl.cpp @@ -801,6 +801,9 @@ AST_Decl::node_type_to_string (NodeType nt) case NT_sequence: return "sequence"; + case NT_map: + return "map"; + case NT_typedef: return "typedef"; From 17cee1b74361558ce88c9b7c63b2a256fcb103d1 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:25:36 -0400 Subject: [PATCH 092/445] whitespace --- TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp index 810688c04fbde..c8f3bfc015c85 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/cdr_op_ch.cpp @@ -81,7 +81,7 @@ be_visitor_map_cdr_op_ch::visit_map (be_map *node) << be_global->stub_export_macro () << " ::CORBA::Boolean" << " operator<< (" << be_idt << be_idt_nl << "TAO_OutputCDR &strm," << be_nl - << "const " << node->name() + << "const " << node->name() << " &_tao_map);" << be_uidt << be_uidt_nl; From 73bdce4f0ac19643766958e1f1cedc58f87d6e02 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 22 Oct 2022 14:30:21 -0400 Subject: [PATCH 093/445] switched typedef to using --- TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp index 4e26d69774b53..f552c5d7db3fd 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_ch.cpp @@ -45,7 +45,7 @@ int be_visitor_map_ch::visit_map (be_map *node) *os << be_nl_2; - *os << "typedef std::map<"; + *os << "using " << node->local_name () << " = std::map<"; be_type* kt = node->key_type(); be_type* vt = node->value_type(); @@ -75,7 +75,7 @@ int be_visitor_map_ch::visit_map (be_map *node) -1); } - *os << "> " << node->local_name () << ";"; + *os << ">;"; os->gen_endif (); node->cli_hdr_gen (true); From 65a391a415e559663c43077b90b70de225b1d7ea Mon Sep 17 00:00:00 2001 From: Erik Sohns Date: Sat, 7 Jan 2023 16:43:24 +0100 Subject: [PATCH 094/445] support accessing the underlying queue (e.g. for iteration) --- ACE/ace/Message_Queue_T.cpp | 7 +++++++ ACE/ace/Message_Queue_T.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/ACE/ace/Message_Queue_T.cpp b/ACE/ace/Message_Queue_T.cpp index 76ff7aa38fa0b..007aeda506737 100644 --- a/ACE/ace/Message_Queue_T.cpp +++ b/ACE/ace/Message_Queue_T.cpp @@ -691,6 +691,13 @@ ACE_Message_Queue_Ex::set_time_pol this->queue_.set_time_policy (rhs); } +template +ACE_Message_Queue & +ACE_Message_Queue_Ex::queue () const +{ + return this->queue_; +} + template ACE_Message_Queue_Iterator::ACE_Message_Queue_Iterator (ACE_Message_Queue &q) : queue_ (q) diff --git a/ACE/ace/Message_Queue_T.h b/ACE/ace/Message_Queue_T.h index 4b4a7bea10ab7..0ff0f56077edf 100644 --- a/ACE/ace/Message_Queue_T.h +++ b/ACE/ace/Message_Queue_T.h @@ -1385,6 +1385,8 @@ class ACE_Message_Queue_Ex /// Dump the state of an object. virtual void dump () const; + ACE_Message_Queue &queue () const; + /// Declare the dynamic allocation hooks. ACE_ALLOC_HOOK_DECLARE; From e4bf4867d9a36e7b155cd9358c97811ce599f16c Mon Sep 17 00:00:00 2001 From: Erik Sohns Date: Sat, 7 Jan 2023 19:52:20 +0100 Subject: [PATCH 095/445] removed constness --- ACE/ace/Message_Queue_T.cpp | 2 +- ACE/ace/Message_Queue_T.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/ace/Message_Queue_T.cpp b/ACE/ace/Message_Queue_T.cpp index 007aeda506737..6ff89561fa5d8 100644 --- a/ACE/ace/Message_Queue_T.cpp +++ b/ACE/ace/Message_Queue_T.cpp @@ -693,7 +693,7 @@ ACE_Message_Queue_Ex::set_time_pol template ACE_Message_Queue & -ACE_Message_Queue_Ex::queue () const +ACE_Message_Queue_Ex::queue () { return this->queue_; } diff --git a/ACE/ace/Message_Queue_T.h b/ACE/ace/Message_Queue_T.h index 0ff0f56077edf..f52361004fcff 100644 --- a/ACE/ace/Message_Queue_T.h +++ b/ACE/ace/Message_Queue_T.h @@ -1385,7 +1385,7 @@ class ACE_Message_Queue_Ex /// Dump the state of an object. virtual void dump () const; - ACE_Message_Queue &queue () const; + ACE_Message_Queue &queue (); /// Declare the dynamic allocation hooks. ACE_ALLOC_HOOK_DECLARE; From a905022c2d552261e6d60c497140b5ff7669dd4d Mon Sep 17 00:00:00 2001 From: Erik Sohns Date: Mon, 9 Jan 2023 18:02:05 +0100 Subject: [PATCH 096/445] added API comments and unit test case as requested --- ACE/ace/Message_Queue_T.h | 3 + ACE/tests/Message_Queue_Test_Ex.cpp | 98 +++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) diff --git a/ACE/ace/Message_Queue_T.h b/ACE/ace/Message_Queue_T.h index f52361004fcff..5c9473fdb7823 100644 --- a/ACE/ace/Message_Queue_T.h +++ b/ACE/ace/Message_Queue_T.h @@ -1385,6 +1385,9 @@ class ACE_Message_Queue_Ex /// Dump the state of an object. virtual void dump () const; + /// Support access to the underlying . Note that + /// manipulating the lower level queue directly may be hazardous (, but + /// necessary in some scenarios); be sure to lock the queue first. ACE_Message_Queue &queue (); /// Declare the dynamic allocation hooks. diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index 853eebb8504be..3c01eb12adc3f 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -709,6 +709,98 @@ int queue_priority_test (ACE_Message_Queue_Ex& q) return status; } +class Queue_Ex_Iterator_No_Lock + : public ACE_Message_Queue_Iterator +{ + typedef ACE_Message_Queue_Iterator inherited; + + public: + typedef ACE_Message_Queue_Ex MESSAGE_QUEUE_EX_T; + + Queue_Ex_Iterator_No_Lock (MESSAGE_QUEUE_EX_T& queue_in) + : inherited (queue_in.queue ()) + {} + virtual ~Queue_Ex_Iterator_No_Lock () {} + + int next (User_Class*& message_inout) + { + if (inherited::curr_) + { + message_inout = reinterpret_cast (inherited::curr_->base ()); + return 1; + } // end IF + + return 0; + } + int done (void) const { return (!inherited::curr_ ? 1 : 0); } + int advance (void) + { + if (inherited::curr_) + inherited::curr_ = inherited::curr_->next (); + + return (inherited::curr_ ? 1 : 0); + } +}; + +int queue_iterator_test (ACE_Message_Queue_Ex& q) +{ + int status = 0; + if (!q.is_empty ()) + ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Iterator test queue not empty\n")), 1); + + // Set up a few objects with names for how they should come out of the queue. + ACE_Auto_Basic_Ptr b1, b2, b3, b4; + b1.reset (new User_Class ("first")); + b2.reset (new User_Class ("second")); + b3.reset (new User_Class ("third")); + b4.reset (new User_Class ("fourth")); + if (-1 == q.enqueue_tail (b1.get (), 0)) + ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b1")), 1); + if (-1 == q.enqueue_tail (b2.get (), 0)) + ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b2")), 1); + if (-1 == q.enqueue_tail (b3.get (), 0)) + ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b3")), 1); + if (-1 == q.enqueue_tail (b4.get (), 0)) + ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b4")), 1); + + User_Class* b = 0; + int counter = 0; + { ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, aGuard, q.lock (), 1); + for (Queue_Ex_Iterator_No_Lock iterator (q); + iterator.next (b); + iterator.advance ()) + { ACE_ASSERT (b); + ++counter; + if (counter == 1) + { + if (ACE_OS::strcmp (b->message (), "first") != 0) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("First message was %C\n"), b->message ())); + ++status; + } + } + else if (counter == 4) + { + if (ACE_OS::strcmp (b->message (), "fourth") != 0) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Fourth message was %C\n"), b->message ())); + ++status; + } + } + + b = NULL; + } // end FOR + } // end lock scope + + // clean up + while (!q.is_empty ()) + q.dequeue_head (b, 0); + + if (status == 0) + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Iterator test: OK\n"))); + return status; +} + int run_main (int argc, ACE_TCHAR *argv[]) { @@ -745,6 +837,12 @@ run_main (int argc, ACE_TCHAR *argv[]) ++status; } + // Check iterator operations. + if (0 != queue_iterator_test (q1)) + { + ++status; + } + ACE_NEW_RETURN (timer, ACE_High_Res_Timer, -1); From 22be043fb46aff505eea86e66fe19bf5249f1ad3 Mon Sep 17 00:00:00 2001 From: Erik Sohns Date: Mon, 9 Jan 2023 19:12:43 +0100 Subject: [PATCH 097/445] address some static code analysis issues --- ACE/tests/Message_Queue_Test_Ex.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index 3c01eb12adc3f..edf1bc688306e 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -717,7 +717,7 @@ class Queue_Ex_Iterator_No_Lock public: typedef ACE_Message_Queue_Ex MESSAGE_QUEUE_EX_T; - Queue_Ex_Iterator_No_Lock (MESSAGE_QUEUE_EX_T& queue_in) + explicit Queue_Ex_Iterator_No_Lock (MESSAGE_QUEUE_EX_T& queue_in) : inherited (queue_in.queue ()) {} virtual ~Queue_Ex_Iterator_No_Lock () {} @@ -764,8 +764,8 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b4")), 1); User_Class* b = 0; - int counter = 0; { ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, aGuard, q.lock (), 1); + int counter = 0; for (Queue_Ex_Iterator_No_Lock iterator (q); iterator.next (b); iterator.advance ()) @@ -788,7 +788,7 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) } } - b = NULL; + b = 0; } // end FOR } // end lock scope From 8b6ad82dc91f728cea2c9e86a17e5969a3338fcc Mon Sep 17 00:00:00 2001 From: Erik Sohns Date: Mon, 9 Jan 2023 19:38:43 +0100 Subject: [PATCH 098/445] 0 --> NULL --> nullptr --- ACE/tests/Message_Queue_Test_Ex.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index edf1bc688306e..db10902e9dbc8 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -763,7 +763,7 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) if (-1 == q.enqueue_tail (b4.get (), 0)) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b4")), 1); - User_Class* b = 0; + User_Class* b = nullptr; { ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, aGuard, q.lock (), 1); int counter = 0; for (Queue_Ex_Iterator_No_Lock iterator (q); @@ -788,7 +788,7 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) } } - b = 0; + b = nullptr; } // end FOR } // end lock scope From c3e71f69e85deb48d5f3cdba355679da4deffdb3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 10:51:23 +0100 Subject: [PATCH 099/445] good_bit is a bool and removed some uncessary c-style casts --- ACE/ace/CDR_Size.inl | 48 +++++++------- ACE/ace/CDR_Stream.inl | 64 +++++++++---------- TAO/tao/GIOP_Message_Generator_Parser_10.cpp | 4 +- TAO/tao/GIOP_Message_Generator_Parser_12.cpp | 2 +- TAO/tao/Object.cpp | 8 +-- TAO/tao/Principal.cpp | 4 +- TAO/tao/Profile.cpp | 4 +- TAO/tao/Stub.cpp | 2 +- TAO/tao/Tagged_Profile.cpp | 6 +- TAO/tao/Valuetype/AbstractBase.cpp | 2 +- TAO/tao/Valuetype/ValueBase.cpp | 8 +-- .../Char_IBM1047_ISO8859_Translator.cpp | 4 +- TAO/utils/catior/Catior_i.cpp | 12 ++-- 13 files changed, 80 insertions(+), 88 deletions(-) diff --git a/ACE/ace/CDR_Size.inl b/ACE/ace/CDR_Size.inl index 5d5edca3247ff..29cc5ac9a7693 100644 --- a/ACE/ace/CDR_Size.inl +++ b/ACE/ace/CDR_Size.inl @@ -43,7 +43,7 @@ ACE_SizeCDR::write_octet (ACE_CDR::Octet x) ACE_INLINE ACE_CDR::Boolean ACE_SizeCDR::write_boolean (ACE_CDR::Boolean x) { - return (ACE_CDR::Boolean) this->write_octet (x ? (ACE_CDR::Octet) 1 : (ACE_CDR::Octet) 0); + return this->write_octet (x ? (ACE_CDR::Octet) 1 : (ACE_CDR::Octet) 0); } ACE_INLINE ACE_CDR::Boolean @@ -184,7 +184,7 @@ ACE_SizeCDR::write_wchar_array (const ACE_CDR::WChar* x, if (ACE_OutputCDR::wchar_maxbytes () == 0) { errno = EACCES; - return (ACE_CDR::Boolean) (this->good_bit_ = false); + return (this->good_bit_ = false); } if (ACE_OutputCDR::wchar_maxbytes () == sizeof (ACE_CDR::WChar)) return this->write_array (x, @@ -305,98 +305,98 @@ ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::Char x) { ss.write_char (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::Short x) { ss.write_short (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::UShort x) { ss.write_ushort (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::Long x) { ss.write_long (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::ULong x) { ss.write_ulong (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::LongLong x) { ss.write_longlong (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::ULongLong x) { ss.write_ulonglong (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::LongDouble x) { ss.write_longdouble (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::Float x) { ss.write_float (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_CDR::Double x) { ss.write_double (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const ACE_CDR::Fixed &x) { ss.write_fixed (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const ACE_CDR::Char *x) { ss.write_string (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const ACE_CDR::WChar *x) { ss.write_wstring (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const std::string& x) { ss.write_string (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } #if !defined(ACE_LACKS_STD_WSTRING) @@ -404,7 +404,7 @@ ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const std::wstring& x) { ss.write_wstring (x); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } #endif @@ -413,28 +413,28 @@ ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_OutputCDR::from_boolean x) { ss.write_boolean (x.val_); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_OutputCDR::from_char x) { ss.write_char (x.val_); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_OutputCDR::from_wchar x) { ss.write_wchar (x.val_); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, ACE_OutputCDR::from_octet x) { ss.write_octet (x.val_); - return (ACE_CDR::Boolean) ss.good_bit (); + return ss.good_bit (); } ACE_INLINE ACE_CDR::Boolean @@ -448,8 +448,7 @@ operator<< (ACE_SizeCDR &ss, ACE_OutputCDR::from_string x) } ss.write_string (len, x.val_); - return - (ACE_CDR::Boolean) (ss.good_bit () && (!x.bound_ || len <= x.bound_)); + return (ss.good_bit () && (!x.bound_ || len <= x.bound_)); } ACE_INLINE ACE_CDR::Boolean @@ -463,8 +462,7 @@ operator<< (ACE_SizeCDR &ss, ACE_OutputCDR::from_wstring x) } ss.write_wstring (len, x.val_); - return - (ACE_CDR::Boolean) (ss.good_bit () && (!x.bound_ || len <= x.bound_)); + return (ss.good_bit () && (!x.bound_ || len <= x.bound_)); } diff --git a/ACE/ace/CDR_Stream.inl b/ACE/ace/CDR_Stream.inl index 5f0a55da6809a..4d68cdb8b086d 100644 --- a/ACE/ace/CDR_Stream.inl +++ b/ACE/ace/CDR_Stream.inl @@ -413,7 +413,7 @@ ACE_OutputCDR::write_wchar_array (const ACE_CDR::WChar* x, if (ACE_OutputCDR::wchar_maxbytes_ == 0) { errno = EACCES; - return (ACE_CDR::Boolean) (this->good_bit_ = false); + return (this->good_bit_ = false); } if (ACE_OutputCDR::wchar_maxbytes_ == sizeof (ACE_CDR::WChar)) @@ -742,7 +742,7 @@ ACE_InputCDR::read_boolean (ACE_CDR::Boolean& x) ACE_CDR::Octet tmp = 0; (void) this->read_octet (tmp); x = tmp ? true : false; - return (ACE_CDR::Boolean) this->good_bit_; + return this->good_bit_; } ACE_INLINE ACE_CDR::Boolean @@ -1271,114 +1271,110 @@ ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::Char x) { os.write_char (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::Short x) { os.write_short (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::UShort x) { os.write_ushort (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::Long x) { os.write_long (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::ULong x) { os.write_ulong (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::LongLong x) { os.write_longlong (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::ULongLong x) { os.write_ulonglong (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::LongDouble x) { os.write_longdouble (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::Float x) { os.write_float (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_CDR::Double x) { os.write_double (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const ACE_CDR::Fixed &x) { os.write_fixed (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const ACE_CDR::Char *x) { os.write_string (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const ACE_CDR::WChar *x) { os.write_wstring (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_std_string x) { - ACE_CDR::ULong const len = - static_cast (x.val_.size ()); + ACE_CDR::ULong const len = static_cast (x.val_.size ()); os.write_string (len, x.val_.c_str ()); - return - (ACE_CDR::Boolean) (os.good_bit () && (!x.bound_ || len <= x.bound_)); + return (os.good_bit () && (!x.bound_ || len <= x.bound_)); } #if !defined(ACE_LACKS_STD_WSTRING) ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_std_wstring x) { - ACE_CDR::ULong const len = - static_cast (x.val_.size ()); + ACE_CDR::ULong const len = static_cast (x.val_.size ()); os.write_wstring (len, x.val_.c_str ()); - return - (ACE_CDR::Boolean) (os.good_bit () && (!x.bound_ || len <= x.bound_)); + return (os.good_bit () && (!x.bound_ || len <= x.bound_)); } #endif @@ -1386,7 +1382,7 @@ ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const std::string& x) { os.write_string (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } #if !defined(ACE_LACKS_STD_WSTRING) @@ -1394,7 +1390,7 @@ ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const std::wstring& x) { os.write_wstring (x); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } #endif @@ -1403,28 +1399,28 @@ ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_boolean x) { (void) os.write_boolean (x.val_); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_char x) { os.write_char (x.val_); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_wchar x) { os.write_wchar (x.val_); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_octet x) { os.write_octet (x.val_); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean @@ -1438,8 +1434,7 @@ operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_string x) } os.write_string (len, x.val_); - return - (ACE_CDR::Boolean) (os.good_bit () && (!x.bound_ || len <= x.bound_)); + return (ACE_(os.good_bit () && (!x.bound_ || len <= x.bound_)); } ACE_INLINE ACE_CDR::Boolean @@ -1453,22 +1448,21 @@ operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_wstring x) } os.write_wstring (len, x.val_); - return - (ACE_CDR::Boolean) (os.good_bit () && (!x.bound_ || len <= x.bound_)); + return (os.good_bit () && (!x.bound_ || len <= x.bound_)); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_uint8 x) { os.write_uint8 (x.val_); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_int8 x) { os.write_int8 (x.val_); - return (ACE_CDR::Boolean) os.good_bit (); + return os.good_bit (); } // **************************************************************** diff --git a/TAO/tao/GIOP_Message_Generator_Parser_10.cpp b/TAO/tao/GIOP_Message_Generator_Parser_10.cpp index d5bb7996fa876..de75c05f61d56 100644 --- a/TAO/tao/GIOP_Message_Generator_Parser_10.cpp +++ b/TAO/tao/GIOP_Message_Generator_Parser_10.cpp @@ -333,7 +333,7 @@ TAO_GIOP_Message_Generator_Parser_10::parse_request_header ( if (!(input >> service_info)) return -1; - CORBA::Boolean hdr_status = (CORBA::Boolean) input.good_bit (); + CORBA::Boolean hdr_status = input.good_bit (); CORBA::ULong req_id = 0; @@ -392,7 +392,7 @@ TAO_GIOP_Message_Generator_Parser_10::parse_request_header ( CORBA::OctetSeq oct_seq; input >> oct_seq; request.requesting_principal (oct_seq); - hdr_status = (CORBA::Boolean) input.good_bit (); + hdr_status = input.good_bit (); } return hdr_status ? 0 : -1; diff --git a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp index 6396db7a269b0..7cbadbbc658f0 100644 --- a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp +++ b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp @@ -225,7 +225,7 @@ TAO_GIOP_Message_Generator_Parser_12::parse_request_header ( // Get the input CDR in the request class TAO_InputCDR & input = *request.incoming (); - CORBA::Boolean hdr_status = (CORBA::Boolean) input.good_bit (); + CORBA::Boolean hdr_status = input.good_bit (); CORBA::ULong req_id = 0; // Get the rest of the request header ... diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp index f1be9002e7dce..1fdb4a980ec74 100644 --- a/TAO/tao/Object.cpp +++ b/TAO/tao/Object.cpp @@ -136,7 +136,7 @@ CORBA::Object::marshal (const CORBA::Object_ptr x, TAO_OutputCDR &cdr) cdr.write_ulong (1); cdr.write_char ('\0'); cdr.write_ulong (0); - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } return x->marshal (cdr); @@ -707,7 +707,7 @@ operator<< (TAO_OutputCDR& cdr, const CORBA::Object* x) cdr.write_ulong (1); cdr.write_char ('\0'); cdr.write_ulong (0); - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } if (!x->is_evaluated ()) @@ -873,7 +873,7 @@ operator>> (TAO_InputCDR& cdr, CORBA::Object*& x) if (profile_count == 0) { x = CORBA::Object::_nil (); - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } // get a profile container to store all profiles in the IOR. @@ -981,7 +981,7 @@ operator>> (TAO_InputCDR& cdr, CORBA::Object*& x) } } - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } #if defined (GEN_OSTREAM_OPS) diff --git a/TAO/tao/Principal.cpp b/TAO/tao/Principal.cpp index a8710e3b28345..7b5f1c318cbcf 100644 --- a/TAO/tao/Principal.cpp +++ b/TAO/tao/Principal.cpp @@ -34,7 +34,7 @@ operator<< (TAO_OutputCDR & cdr, CORBA::Principal * x) cdr.write_ulong (0); } - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } CORBA::Boolean @@ -54,7 +54,7 @@ operator>> (TAO_InputCDR & cdr, CORBA::Principal *& x) cdr.read_octet_array (x->id.get_buffer (), length); } - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Profile.cpp b/TAO/tao/Profile.cpp index 9bc48cb6352fb..6465f4ef0a2f2 100644 --- a/TAO/tao/Profile.cpp +++ b/TAO/tao/Profile.cpp @@ -889,7 +889,7 @@ operator<< (TAO_OutputCDR& cdr, const TAO_opaque& x) cdr.write_octet_array (x.get_buffer (), length); } - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } CORBA::Boolean @@ -917,7 +917,7 @@ operator>>(TAO_InputCDR& cdr, TAO_opaque& x) cdr.read_octet_array (x.get_buffer (), length); } - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp index c132daaeef99c..4517c74742820 100644 --- a/TAO/tao/Stub.cpp +++ b/TAO/tao/Stub.cpp @@ -569,7 +569,7 @@ TAO_Stub::marshal (TAO_OutputCDR &cdr) // release ACE_Lock } - return (CORBA::Boolean) cdr.good_bit (); + return cdr.good_bit (); } TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Tagged_Profile.cpp b/TAO/tao/Tagged_Profile.cpp index e1fc756e51768..2731ea66fb469 100644 --- a/TAO/tao/Tagged_Profile.cpp +++ b/TAO/tao/Tagged_Profile.cpp @@ -87,7 +87,7 @@ TAO_Tagged_Profile::unmarshall_object_key (TAO_InputCDR &input) CORBA::Boolean TAO_Tagged_Profile::unmarshall_object_key_i (TAO_InputCDR &input) { - CORBA::Boolean hdr_status = (CORBA::Boolean) input.good_bit (); + CORBA::Boolean hdr_status = input.good_bit (); CORBA::Long key_length = 0; hdr_status = hdr_status && input.read_long (key_length); @@ -110,7 +110,7 @@ TAO_Tagged_Profile::unmarshall_object_key_i (TAO_InputCDR &input) CORBA::Boolean TAO_Tagged_Profile::unmarshall_iop_profile_i (TAO_InputCDR &input) { - CORBA::Boolean hdr_status = (CORBA::Boolean) input.good_bit (); + CORBA::Boolean hdr_status = input.good_bit (); // Extract into the IOP::Tagged profile. hdr_status &= input >> this->profile_; @@ -121,7 +121,7 @@ TAO_Tagged_Profile::unmarshall_iop_profile_i (TAO_InputCDR &input) CORBA::Boolean TAO_Tagged_Profile::unmarshall_ref_addr_i (TAO_InputCDR &input) { - CORBA::Boolean hdr_status = (CORBA::Boolean) input.good_bit (); + CORBA::Boolean hdr_status = input.good_bit (); /* * The GIOP::IORAddressingInfo is defined as follows diff --git a/TAO/tao/Valuetype/AbstractBase.cpp b/TAO/tao/Valuetype/AbstractBase.cpp index c6785f74a25d4..f9bddb40e1167 100644 --- a/TAO/tao/Valuetype/AbstractBase.cpp +++ b/TAO/tao/Valuetype/AbstractBase.cpp @@ -197,7 +197,7 @@ operator<< (TAO_OutputCDR &strm, const CORBA::AbstractBase_ptr abs) } } - return (CORBA::Boolean) strm.good_bit (); + return strm.good_bit (); } } else diff --git a/TAO/tao/Valuetype/ValueBase.cpp b/TAO/tao/Valuetype/ValueBase.cpp index 3a92ae576d760..2fa3079f778e0 100644 --- a/TAO/tao/Valuetype/ValueBase.cpp +++ b/TAO/tao/Valuetype/ValueBase.cpp @@ -1251,7 +1251,7 @@ CORBA::ValueBase::_tao_read_codebase_url (TAO_InputCDR& strm, if (!strm.read_ulong (length)) { - return 0; + return false; } VERIFY_MAP (TAO_InputCDR, codebase_url_map, Codebase_URL_Map); @@ -1276,11 +1276,11 @@ CORBA::ValueBase::_tao_read_codebase_url (TAO_InputCDR& strm, if (!url_stream.good_bit ()) { - return 0; + return false; } if (! url_stream.read_string (codebase_url)) - return 0; + return false; // It's possible the codebase url is read again from an indirection stream, // so make sure the codebase url is the same. @@ -1316,7 +1316,7 @@ CORBA::ValueBase::_tao_read_codebase_url (TAO_InputCDR& strm, strm.skip_bytes (length); - return 1; + return true; } void diff --git a/TAO/tests/CodeSets/libs/IBM1047_ISO8859/Char_IBM1047_ISO8859_Translator.cpp b/TAO/tests/CodeSets/libs/IBM1047_ISO8859/Char_IBM1047_ISO8859_Translator.cpp index 7ad4be97e15bb..d8ada0b832e1e 100644 --- a/TAO/tests/CodeSets/libs/IBM1047_ISO8859/Char_IBM1047_ISO8859_Translator.cpp +++ b/TAO/tests/CodeSets/libs/IBM1047_ISO8859/Char_IBM1047_ISO8859_Translator.cpp @@ -122,11 +122,11 @@ IBM1047_ISO8859::write_char_array (ACE_OutputCDR& out, buf[i] = (unsigned char)from_IBM1047[(unsigned char)buf[i]]; } - return 1; + return true; } this->good_bit(out, 0); - return 0; + return false; } // **************************************************************** diff --git a/TAO/utils/catior/Catior_i.cpp b/TAO/utils/catior/Catior_i.cpp index c0489e7329dbf..b41f6c75319ac 100644 --- a/TAO/utils/catior/Catior_i.cpp +++ b/TAO/utils/catior/Catior_i.cpp @@ -1036,7 +1036,7 @@ Catior_i::_find_info (CORBA::ULong id) void Catior_i::displayHex (TAO_InputCDR & str) { - if (str.good_bit () == 0) + if (!str.good_bit ()) return; TAO_InputCDR clone_str (str); @@ -1258,7 +1258,7 @@ Catior_i::cat_profile_helper (TAO_InputCDR& stream, // buffer, and skip the encapsulation. TAO_InputCDR str (stream, encap_len); - if (str.good_bit () == 0 || stream.skip_bytes (encap_len) == 0) + if (!str.good_bit () || stream.skip_bytes (encap_len) == 0) return false; static const size_t bufsize = 512; @@ -1346,7 +1346,7 @@ Catior_i::cat_coiop_profile (TAO_InputCDR& stream) // buffer, and skip the encapsulation. TAO_InputCDR str (stream, encap_len); - if (str.good_bit () == 0 || stream.skip_bytes (encap_len) == 0) + if (!str.good_bit () || stream.skip_bytes (encap_len) == 0) return false; static const size_t bufsize = 512; @@ -1436,7 +1436,7 @@ Catior_i::cat_uiop_profile (TAO_InputCDR& stream) // buffer, and skip the encapsulation. TAO_InputCDR str (stream, encap_len); - if (str.good_bit () == 0 || stream.skip_bytes (encap_len) == 0) + if (!str.good_bit () || stream.skip_bytes (encap_len) == 0) return false; static const size_t bufsize = 512; @@ -1517,7 +1517,7 @@ Catior_i::cat_sciop_profile (TAO_InputCDR& stream) // buffer, and skip the encapsulation. TAO_InputCDR str (stream, encap_len); - if (str.good_bit () == 0 || stream.skip_bytes (encap_len) == 0) + if (!str.good_bit () || stream.skip_bytes (encap_len) == 0) return false; static const size_t bufsize = 512; @@ -1623,7 +1623,7 @@ Catior_i::cat_nsk_profile_helper (TAO_InputCDR& stream, // buffer, and skip the encapsulation. TAO_InputCDR str (stream, encap_len); - if (str.good_bit () == 0 || stream.skip_bytes (encap_len) == 0) + if (!str.good_bit () || stream.skip_bytes (encap_len) == 0) return false; static const size_t bufsize = 512; From 01cb9ff254befab9c674e957a9e063b3c09bcc26 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 10:56:12 +0100 Subject: [PATCH 100/445] Fix * ACE/ace/CDR_Stream.inl: --- ACE/ace/CDR_Stream.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/CDR_Stream.inl b/ACE/ace/CDR_Stream.inl index 4d68cdb8b086d..cbfa8203fb647 100644 --- a/ACE/ace/CDR_Stream.inl +++ b/ACE/ace/CDR_Stream.inl @@ -1434,7 +1434,7 @@ operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_string x) } os.write_string (len, x.val_); - return (ACE_(os.good_bit () && (!x.bound_ || len <= x.bound_)); + return (os.good_bit () && (!x.bound_ || len <= x.bound_)); } ACE_INLINE ACE_CDR::Boolean From 9d3475584970e20117a7a99d3a75fecb521a0da9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 14:38:17 +0100 Subject: [PATCH 101/445] Further cleanup not used macros * ACE/ace/IOStream.h: * ACE/ace/OS_NS_Thread.cpp: * ACE/ace/OS_NS_Thread.inl: * ACE/ace/Profile_Timer.cpp: * ACE/ace/README: * ACE/ace/os_include/os_netdb.h: * ACE/ace/os_include/sys/os_loadavg.h: * ACE/ace/os_include/sys/os_pstat.h: --- ACE/ace/IOStream.h | 14 ----- ACE/ace/OS_NS_Thread.cpp | 10 ---- ACE/ace/OS_NS_Thread.inl | 7 --- ACE/ace/Profile_Timer.cpp | 4 -- ACE/ace/README | 86 +---------------------------- ACE/ace/os_include/os_netdb.h | 31 +++++------ ACE/ace/os_include/sys/os_loadavg.h | 4 -- ACE/ace/os_include/sys/os_pstat.h | 5 -- 8 files changed, 14 insertions(+), 147 deletions(-) diff --git a/ACE/ace/IOStream.h b/ACE/ace/IOStream.h index 38ebe09059365..6acbb0687ad7a 100644 --- a/ACE/ace/IOStream.h +++ b/ACE/ace/IOStream.h @@ -373,19 +373,6 @@ typedef ostream& (*__omanip_)(ostream&); // These are necessary in case somebody wants to derive from us and // override one of these with a custom approach. -# if defined (ACE_LACKS_CHAR_RIGHT_SHIFTS) -#define GET_FUNC_SET0(MT,CODE,CODE2) \ - GET_PROT(MT,short &,CODE) \ - GET_PROT(MT,u_short &,CODE) \ - GET_PROT(MT,int &,CODE) \ - GET_PROT(MT,u_int &,CODE) \ - GET_PROT(MT,long &,CODE) \ - GET_PROT(MT,u_long &,CODE) \ - GET_PROT(MT,float &,CODE) \ - GET_PROT(MT,double &,CODE) \ - inline virtual MT& operator>>(__omanip_ func) CODE2 \ - inline virtual MT& operator>>(__manip_ func) CODE2 -# else #define GET_FUNC_SET0(MT,CODE,CODE2) \ GET_PROT(MT,short &,CODE) \ GET_PROT(MT,u_short &,CODE) \ @@ -401,7 +388,6 @@ typedef ostream& (*__omanip_)(ostream&); GET_PROT(MT,u_char *,CODE) \ inline virtual MT& operator>>(__omanip_ func) CODE2 \ inline virtual MT& operator>>(__manip_ func) CODE2 -# endif #define PUT_FUNC_SET0(MT,CODE,CODE2) \ PUT_PROT(MT,short,CODE) \ diff --git a/ACE/ace/OS_NS_Thread.cpp b/ACE/ace/OS_NS_Thread.cpp index d4e3c82b253db..5114aab6be83f 100644 --- a/ACE/ace/OS_NS_Thread.cpp +++ b/ACE/ace/OS_NS_Thread.cpp @@ -2552,16 +2552,6 @@ ACE_OS::event_init (ACE_event_t *event, if (type == USYNC_PROCESS) { const char *name_p = name; -# if defined (ACE_SHM_OPEN_REQUIRES_ONE_SLASH) - char adj_name[MAXPATHLEN]; - if (name[0] != '/') - { - adj_name[0] = '/'; - ACE_OS::strsncpy (&adj_name[1], name, MAXPATHLEN-1); - name_p = adj_name; - } -# endif /* ACE_SHM_OPEN_REQUIRES_ONE_SLASH */ - bool owner = false; // Let's see if the shared memory entity already exists. ACE_HANDLE fd = ACE_OS::shm_open (ACE_TEXT_CHAR_TO_TCHAR (name_p), diff --git a/ACE/ace/OS_NS_Thread.inl b/ACE/ace/OS_NS_Thread.inl index a33b50b076f26..b962281ed7e9c 100644 --- a/ACE/ace/OS_NS_Thread.inl +++ b/ACE/ace/OS_NS_Thread.inl @@ -2095,10 +2095,6 @@ ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv) if (expired) error = ETIME; - -# if defined (ACE_LACKS_COND_TIMEDWAIT_RESET) - tv = tv.now (); -# endif /* ACE_LACKS_COND_TIMEDWAIT_RESET */ } if (result != -2) @@ -2173,9 +2169,6 @@ ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv) if (result == 0) { -# if defined (ACE_LACKS_COND_TIMEDWAIT_RESET) - tv = tv.now (); -# endif /* ACE_LACKS_COND_TIMEDWAIT_RESET */ --s->count_; } diff --git a/ACE/ace/Profile_Timer.cpp b/ACE/ace/Profile_Timer.cpp index 838e7860b8ae3..dbfe197d690c0 100644 --- a/ACE/ace/Profile_Timer.cpp +++ b/ACE/ace/Profile_Timer.cpp @@ -64,7 +64,6 @@ void ACE_Profile_Timer::elapsed_rusage (ACE_Profile_Timer::Rusage &usage) { ACE_TRACE ("ACE_Profile_Timer::elapsed_rusage"); -# if !defined (ACE_HAS_LIMITED_RUSAGE_T) // integral shared memory size usage.ru_ixrss = this->end_usage_.ru_ixrss - this->last_usage_.ru_ixrss; @@ -110,9 +109,6 @@ ACE_Profile_Timer::elapsed_rusage (ACE_Profile_Timer::Rusage &usage) this->subtract (usage.ru_stime, this->end_usage_.ru_stime, this->last_usage_.ru_stime); -# else - ACE_UNUSED_ARG(usage); -# endif /* ACE_HAS_LIMITED_RUSAGE_T */ } void diff --git a/ACE/ace/README b/ACE/ace/README index 99d94841674b6..4111fd9d38c0d 100644 --- a/ACE/ace/README +++ b/ACE/ace/README @@ -175,10 +175,6 @@ ACE_SCANDIR_CMP_USES_VOIDPTR The OS's scandir() comparator function ACE_SCANDIR_CMP_USES_CONST_VOIDPTR The OS's scandir() comparator function is int (*compare)(const void*, const void*). -ACE_HAS_STDARG_THR_DEST Platform has void (*)(...) - prototype for - pthread_key_create() - destructor (e.g., LynxOS). ACE_HAS_WIN32_STRUCTURED_EXCEPTIONS Platform/compiler supports Win32 structural exceptions ACE_HAS_4_4BSD_SENDMSG_RECVMSG Platform has BSD 4.4 @@ -197,20 +193,6 @@ ACE_HAS_BIG_FD_SET Compiler/platform has typedef ACE_HAS_BROKEN_ACCEPT_ADDR Platform can't correctly deal with a NULL addr to accept() (e.g, VxWorks < 6.9). -ACE_HAS_BROKEN_DGRAM_SENDV Platform sendv() does not work - properly with datagrams, - i.e. it fails when the iovec - size is IOV_MAX. -ACE_HAS_BROKEN_MAP_FAILED Platform doesn't cast MAP_FAILED - to a void *. -ACE_HAS_BROKEN_MSG_H Platform headers don't support - prototypes -ACE_HAS_BROKEN_MMAP_H HP/UX does not wrap the - mmap(2) header files with - extern "C". -ACE_HAS_BROKEN_NESTED_TEMPLATES MSVC has trouble with defining - STL containers for nested - structs and classes ACE_HAS_BYTESEX_H Platform has . ACE_HAS_CANCEL_IO Platform supports the Win32 CancelIO() function (WinNT 4.0 @@ -286,8 +268,6 @@ ACE_HAS_NONSTATIC_OBJECT_MANAGER Causes the ACE_Object_Manager a static (global) instance. ACE_HAS_THR_KEYDELETE Platform supports thr_keydelete (e.g,. UNIXWARE) -ACE_HAS_LIMITED_RUSAGE_T The rusage_t structure has - only two fields. ACE_HAS_LINUX_NPTL Linux platform (with kernel >= 2.6.x) with GLibc including new NPTL (Native POSIX Thread Library). @@ -427,7 +407,7 @@ ACE_HAS_SIGINFO_T Platform supports SVR4 extended signals ACE_HAS_SIGSUSPEND Platform supports sigsuspend() ACE_HAS_SIGISMEMBER_BUG Platform has bug with - sigismember() (HP/UX 11). + sigismember() ACE_HAS_SIGNAL_OBJECT_AND_WAIT Platform supports the Win32 SignalObjectAndWait() function (WinNT 4.0 and beyond). @@ -465,39 +445,21 @@ ACE_HAS_STRNLEN Platform supports strnlen(3). ACE_HAS_STREAMS Platform supports STREAMS ACE_HAS_STREAM_PIPES Platform supports STREAM pipes ACE_HAS_STRICT Use the STRICT compilation mode on Win32. -ACE_HAS_STRUCT_NETDB_DATA Compiler/platform has strange - hostent API for socket *_r() - calls ACE_HAS_SVR4_DYNAMIC_LINKING Compiler/platform supports SVR4 dynamic linking semantics ACE_HAS_SVR4_GETTIMEOFDAY Compiler/platform supports SVR4 gettimeofday() prototype ACE_HAS_SVR4_SIGNAL_T Compiler/platform supports SVR4 signal typedef -ACE_HAS_SYSCALL_GETRUSAGE HP/UX has an undefined syscall - for GETRUSAGE... -ACE_HAS_SYSENT_H Platform provides - header ACE_HAS_SYSV_IPC Platform supports System V IPC (most versions of UNIX, but not Win32) ACE_HAS_SYS_FILIO_H Platform provides header -ACE_HAS_SYS_LOADAVG_H Compiler/platform contains the - file. -ACE_HAS_SYS_PSTAT_H Compiler/platform contains the - file. ACE_HAS_SYS_SOCKIO_H Compiler/platform provides the sockio.h file ACE_HAS_SYS_SYSCALL_H Compiler/platform contains the file. -ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA Compiler's template - instantiation mechanism - supports the use of "#pragma - instantiate". Edison Design - Group compilers, e.g., SGI C++ - and Green Hills 1.8.8 and - later, support this. ACE_HAS_TEMPLATE_TYPEDEFS Compiler implements templates that support typedefs inside of classes used as formal @@ -547,9 +509,6 @@ ACE_HAS_UALARM Platform supports ualarm() ACE_HAS_UCONTEXT_T Platform supports ucontext_t (which is used in the extended signal API). -ACE_HAS_UNION_WAIT The wait() system call takes a - (union wait *) rather than int - * ACE_HAS_VALGRIND Running with valgrind ACE_HAS_VERBOSE_NOTSUP Prints out console message in ACE_NOTSUP. Useful for @@ -653,9 +612,6 @@ ACE_LACKS_OPENDIR Platform lacks opendir and the opendir emulation must be used ACE_LACKS_READDIR Platform lacks readdir and the readdir emulation must be used -ACE_LACKS_COND_TIMEDWAIT_RESET pthread_cond_timedwait does - *not* reset the time argument - when the lock is acquired. ACE_LACKS_CONST_TIMESPEC_PTR Platform forgot const in cond_timewait (e.g., HP/UX). ACE_LACKS_COND_T Platform lacks condition @@ -731,8 +687,6 @@ ACE_LACKS_NETDB_REENTRANT_FUNCTIONS Platform does not support getservbyname_r). ACE_LACKS_NEW_H OS doesn't have, or we don't want to use, new.h. -ACE_LACKS_NULL_PTHREAD_STATUS OS requires non-null status pointer - for ::pthread_join (). ACE_LACKS_PERFECT_MULTICAST_FILTERING Platform lacks IGMPv3 "perfect" filtering of multicast dgrams at the socket level. If == 1, ACE_SOCK_Dgram_Mcast will bind @@ -751,8 +705,6 @@ ACE_LACKS_PTHREAD_THR_SIGSETMASK Platform lacks ACE_LACKS_PUTENV_PROTOTYPE Platform/compiler lacks the putenv() prototype (e.g., LynxOS) -ACE_LACKS_PWD_REENTRANT_FUNCTIONS Platform lacks getpwnam_r() - methods (e.g., SGI 6.2). ACE_LACKS_QSORT Compiler/platform lacks the standard C library qsort() function @@ -842,12 +794,6 @@ ACE_LACKS_TIMESPEC_T Platform does not define struct timespec. ACE_LACKS_TRUNCATE Platform doesn't have truncate() (e.g., vxworks) -ACE_LACKS_CHAR_RIGHT_SHIFTS Compiler does not have any istream - operator>> for chars, u_chars, or - signed chars. -ACE_LACKS_CHAR_STAR_RIGHT_SHIFTS Compiler does not have - operator>> (istream &, u_char *) or - operator>> (istream &, signed char *) ACE_LACKS_UCONTEXT_H Platform lacks the ucontext.h file ACE_LACKS_UMASK Platform lacks umask function @@ -859,9 +805,6 @@ ACE_LACKS_UNIX_DOMAIN_SOCKETS ACE platform has no UNIX domain sockets ACE_LACKS_UNIX_SIGNALS Platform lacks full signal support (e.g., Win32). -ACE_LACKS_UNSIGNEDLONGLONG_T Compiler/platform does not - support the unsigned long - long datatype. ACE_LACKS_UTSNAME_T Platform lacks struct utsname (e.g., Win32 and VxWorks) ACE_LACKS_UNAME Platform lacks uname calls @@ -887,10 +830,6 @@ ACE_NO_WIN32_LEAN_AND_MEAN If this is set, then ACE does not code that uses non-lean Win32 facilities such as COM. -ACE_SHM_OPEN_REQUIRES_ONE_SLASH The path specified on shm_open() must - have a leading, single slash and not - have any other slashes. - ACE_WSTRING_HAS_USHORT_SUPPORT If a platform has wchar_t as a separate type, then ACE_WString doesn't have a @@ -1187,16 +1126,6 @@ ACE_HAS_POLL: #include /**/ #endif /* ACE_HAS_POLL */ -ACE_USE_POLL_IMPLEMENTATION: ------------------- - - Used in: - ace/OS.h - - Notes: - Use the poll() event demultiplexor rather than select(). - - ACE_HAS_SVR4_SIGNAL_T: ---------------------- @@ -1291,19 +1220,6 @@ ACE_HAS_TIUSER_H: in conjunction with t_bind, t_accept, etc.. transport layer. -ACE_USE_POLL_IMPLEMENTATION: ----------------------------- - - Used in: - libsrc/Reactor/Reactor.i - include/Event_Handler.h - ace/OS.h - include/Reactor.h - - Notes: - in the reactor, use poll instead of select. In general, - good thing to have set. - ACE_USES_GPROF: ---------------------------- Used in: diff --git a/ACE/ace/os_include/os_netdb.h b/ACE/ace/os_include/os_netdb.h index de509b4cbc7fb..189f29b9dbb5e 100644 --- a/ACE/ace/os_include/os_netdb.h +++ b/ACE/ace/os_include/os_netdb.h @@ -127,24 +127,19 @@ struct servent { # define EAI_OVERFLOW -12 /* Error result from getaddrinfo(): buffer overflow */ #endif -#if defined (ACE_HAS_STRUCT_NETDB_DATA) - typedef char ACE_HOSTENT_DATA[sizeof(struct hostent_data)]; - typedef char ACE_SERVENT_DATA[sizeof(struct servent_data)]; - typedef char ACE_PROTOENT_DATA[sizeof(struct protoent_data)]; -#else -# if !defined ACE_HOSTENT_DATA_SIZE -# define ACE_HOSTENT_DATA_SIZE (4*1024) -# endif /*ACE_HOSTENT_DATA_SIZE */ -# if !defined ACE_SERVENT_DATA_SIZE -# define ACE_SERVENT_DATA_SIZE (4*1024) -# endif /*ACE_SERVENT_DATA_SIZE */ -# if !defined ACE_PROTOENT_DATA_SIZE -# define ACE_PROTOENT_DATA_SIZE (2*1024) -# endif /*ACE_PROTOENT_DATA_SIZE */ - typedef char ACE_HOSTENT_DATA[ACE_HOSTENT_DATA_SIZE]; - typedef char ACE_SERVENT_DATA[ACE_SERVENT_DATA_SIZE]; - typedef char ACE_PROTOENT_DATA[ACE_PROTOENT_DATA_SIZE]; -#endif /* ACE_HAS_STRUCT_NETDB_DATA */ +#if !defined ACE_HOSTENT_DATA_SIZE +# define ACE_HOSTENT_DATA_SIZE (4*1024) +#endif /*ACE_HOSTENT_DATA_SIZE */ +#if !defined ACE_SERVENT_DATA_SIZE +# define ACE_SERVENT_DATA_SIZE (4*1024) +#endif /*ACE_SERVENT_DATA_SIZE */ +#if !defined ACE_PROTOENT_DATA_SIZE +# define ACE_PROTOENT_DATA_SIZE (2*1024) +#endif /*ACE_PROTOENT_DATA_SIZE */ + +typedef char ACE_HOSTENT_DATA[ACE_HOSTENT_DATA_SIZE]; +typedef char ACE_SERVENT_DATA[ACE_SERVENT_DATA_SIZE]; +typedef char ACE_PROTOENT_DATA[ACE_PROTOENT_DATA_SIZE]; # if !defined(MAXHOSTNAMELEN) # define MAXHOSTNAMELEN HOST_NAME_MAX diff --git a/ACE/ace/os_include/sys/os_loadavg.h b/ACE/ace/os_include/sys/os_loadavg.h index 6437d7d92354a..fba115f979e05 100644 --- a/ACE/ace/os_include/sys/os_loadavg.h +++ b/ACE/ace/os_include/sys/os_loadavg.h @@ -21,9 +21,5 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_HAS_SYS_LOADAVG_H) -# include /**/ -#endif /* ACE_HAS_SYS_LOADAVG_H */ - #include /**/ "ace/post.h" #endif /* ACE_OS_INCLUDE_SYS_OS_LOADAVG_H */ diff --git a/ACE/ace/os_include/sys/os_pstat.h b/ACE/ace/os_include/sys/os_pstat.h index 377e83b2e1c94..1774c39970de9 100644 --- a/ACE/ace/os_include/sys/os_pstat.h +++ b/ACE/ace/os_include/sys/os_pstat.h @@ -21,10 +21,5 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_HAS_SYS_PSTAT_H) -# include /**/ -# include /**/ -#endif /* ACE_HAS_SYS_PSTAT_H */ - #include /**/ "ace/post.h" #endif /* ACE_OS_INCLUDE_SYS_OS_PSTAT_H */ From 281078a59a44ca971675b90616f5e35a998bf077 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 14:41:51 +0100 Subject: [PATCH 102/445] Removed os_include headers which don't include any file anymore --- ACE/ace/os_include/sys/os_loadavg.h | 25 ------------------------- ACE/ace/os_include/sys/os_pstat.h | 25 ------------------------- 2 files changed, 50 deletions(-) delete mode 100644 ACE/ace/os_include/sys/os_loadavg.h delete mode 100644 ACE/ace/os_include/sys/os_pstat.h diff --git a/ACE/ace/os_include/sys/os_loadavg.h b/ACE/ace/os_include/sys/os_loadavg.h deleted file mode 100644 index fba115f979e05..0000000000000 --- a/ACE/ace/os_include/sys/os_loadavg.h +++ /dev/null @@ -1,25 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file os_loadavg.h - * - * loadavg functions - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef ACE_OS_INCLUDE_SYS_OS_LOADAVG_H -#define ACE_OS_INCLUDE_SYS_OS_LOADAVG_H - -#include /**/ "ace/pre.h" - -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "ace/post.h" -#endif /* ACE_OS_INCLUDE_SYS_OS_LOADAVG_H */ diff --git a/ACE/ace/os_include/sys/os_pstat.h b/ACE/ace/os_include/sys/os_pstat.h deleted file mode 100644 index 1774c39970de9..0000000000000 --- a/ACE/ace/os_include/sys/os_pstat.h +++ /dev/null @@ -1,25 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file os_pstat.h - * - * pstat functions - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef ACE_OS_INCLUDE_SYS_OS_PSTAT_H -#define ACE_OS_INCLUDE_SYS_OS_PSTAT_H - -#include /**/ "ace/pre.h" - -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "ace/post.h" -#endif /* ACE_OS_INCLUDE_SYS_OS_PSTAT_H */ From 1eb5c6564e45cce7980f6bbac7b4b073b806788c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 14:48:42 +0100 Subject: [PATCH 103/445] Removed include * ACE/ace/OS_NS_unistd.cpp: --- ACE/ace/OS_NS_unistd.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/ACE/ace/OS_NS_unistd.cpp b/ACE/ace/OS_NS_unistd.cpp index 49b5736f97017..be45618f36c2d 100644 --- a/ACE/ace/OS_NS_unistd.cpp +++ b/ACE/ace/OS_NS_unistd.cpp @@ -11,7 +11,6 @@ #include "ace/OS_Memory.h" #include "ace/OS_NS_Thread.h" #include "ace/Object_Manager_Base.h" -#include "ace/os_include/sys/os_pstat.h" #if defined (ACE_HAS_SYSCTL) # include "ace/os_include/sys/os_sysctl.h" #endif /* ACE_HAS_SYSCTL */ From 6198126ce20cc418252f461621c81d19ee2b36e4 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 15:44:33 +0100 Subject: [PATCH 104/445] Removed pharlap support --- ACE/NEWS | 2 +- ACE/ace/ACE.cpp | 7 +- ACE/ace/Configuration.cpp | 4 +- ACE/ace/Configuration.h | 4 +- ACE/ace/Lib_Find.cpp | 4 +- ACE/ace/Log_Msg.cpp | 12 +-- ACE/ace/Msg_WFMO_Reactor.cpp | 4 +- ACE/ace/Msg_WFMO_Reactor.h | 4 +- ACE/ace/Msg_WFMO_Reactor.inl | 4 +- ACE/ace/NT_Service.cpp | 4 +- ACE/ace/NT_Service.h | 4 +- ACE/ace/OS_NS_Thread.cpp | 29 +----- ACE/ace/OS_NS_Thread.inl | 11 --- ACE/ace/OS_NS_dlfcn.inl | 8 -- ACE/ace/OS_NS_netdb.cpp | 34 ------- ACE/ace/OS_NS_stdio.inl | 21 +---- ACE/ace/OS_NS_sys_mman.inl | 17 ++-- ACE/ace/OS_NS_sys_socket.inl | 7 -- ACE/ace/OS_NS_sys_utsname.cpp | 14 --- ACE/ace/OS_NS_unistd.cpp | 8 +- ACE/ace/OS_NS_unistd.inl | 56 +----------- ACE/ace/Pagefile_Memory_Pool.cpp | 10 +-- ACE/ace/Pagefile_Memory_Pool.h | 4 +- ACE/ace/Pagefile_Memory_Pool.inl | 4 +- ACE/ace/README | 8 -- ACE/ace/Recursive_Thread_Mutex.cpp | 4 +- ACE/ace/Registry.cpp | 4 +- ACE/ace/Registry.h | 5 +- ACE/ace/SPIPE_Connector.cpp | 6 +- ACE/ace/Sock_Connect.cpp | 87 +----------------- ACE/ace/WFMO_Reactor.cpp | 25 ------ ACE/ace/config-macros.h | 2 +- ACE/ace/config-pharlap.h | 89 ------------------- ACE/ace/config-win32-common.h | 21 ++--- ACE/ace/os_include/netinet/os_in.h | 6 +- ACE/apps/gperf/src/Options.h | 6 -- .../tests/HTBP/Reactor_Tests/test_config.h | 16 +--- ACE/tests/Conn_Test.cpp | 8 -- ACE/tests/Log_Msg_Test.cpp | 2 +- ACE/tests/Test_Output.cpp | 12 +-- ACE/tests/Thread_Pool_Reactor_Resume_Test.cpp | 2 +- ACE/tests/Thread_Pool_Reactor_Test.cpp | 2 +- ACE/tests/test_config.h | 5 -- TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp | 11 +-- .../tests/HTIOP/BiDirectional/Test_Output.cpp | 11 +-- TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp | 11 +-- TAO/orbsvcs/tests/HTIOP/test_config.h | 5 -- TAO/tao/Strategies/advanced_resource.cpp | 4 +- 48 files changed, 73 insertions(+), 555 deletions(-) delete mode 100644 ACE/ace/config-pharlap.h diff --git a/ACE/NEWS b/ACE/NEWS index 42f1f292f2a50..991e25e40b532 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -2,7 +2,7 @@ USER VISIBLE CHANGES BETWEEN ACE-7.0.11 and ACE-7.1.0 ===================================================== . Removed support for Windows CE, OpenVMS, HPUX, AIX, RTEMS, - and Solaris + Pharlap, and Solaris USER VISIBLE CHANGES BETWEEN ACE-7.0.10 and ACE-7.0.11 ====================================================== diff --git a/ACE/ace/ACE.cpp b/ACE/ace/ACE.cpp index 06b0289b89a85..88e75e8a9e486 100644 --- a/ACE/ace/ACE.cpp +++ b/ACE/ace/ACE.cpp @@ -215,10 +215,7 @@ ACE::select (int width, int ACE::terminate_process (pid_t pid) { -#if defined (ACE_HAS_PHARLAP) - ACE_UNUSED_ARG (pid); - ACE_NOTSUP_RETURN (-1); -#elif defined (ACE_WIN32) +#if defined (ACE_WIN32) // Create a handle for the given process id. ACE_HANDLE process_handle = ::OpenProcess (PROCESS_TERMINATE, @@ -239,7 +236,7 @@ ACE::terminate_process (pid_t pid) } #else return ACE_OS::kill (pid, 9); -#endif /* ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ } int diff --git a/ACE/ace/Configuration.cpp b/ACE/ace/Configuration.cpp index 56cb81fd8ea81..a902e263c4a2d 100644 --- a/ACE/ace/Configuration.cpp +++ b/ACE/ace/Configuration.cpp @@ -401,7 +401,7 @@ ACE_Configuration::operator!= (const ACE_Configuration& rhs) const ////////////////////////////////////////////////////////////////////////////// -#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_REGISTRY) +#if defined (ACE_WIN32) static constexpr int ACE_DEFAULT_BUFSIZE = 256; @@ -1020,7 +1020,7 @@ ACE_Configuration_Win32Registry::resolve_key (HKEY hKey, return result; } -#endif /* ACE_WIN32 && !ACE_LACKS_WIN32_REGISTRY */ +#endif /* ACE_WIN32 */ /////////////////////////////////////////////////////////////// diff --git a/ACE/ace/Configuration.h b/ACE/ace/Configuration.h index b9cb18204d98c..436ee3bf0ad92 100644 --- a/ACE/ace/Configuration.h +++ b/ACE/ace/Configuration.h @@ -407,7 +407,7 @@ class ACE_Export ACE_Configuration ACE_Configuration_Section_Key root_; }; -#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_REGISTRY) +#if defined (ACE_WIN32) /** * @class ACE_Section_Key_Win32 @@ -534,7 +534,7 @@ class ACE_Export ACE_Configuration_Win32Registry : public ACE_Configuration const u_long security_access_; }; -#endif /* ACE_WIN32 && !ACE_LACKS_WIN32_REGISTRY */ +#endif /* ACE_WIN32 */ // ACE_Allocator version diff --git a/ACE/ace/Lib_Find.cpp b/ACE/ace/Lib_Find.cpp index 085ed0b938e45..ca7decd224b22 100644 --- a/ACE/ace/Lib_Find.cpp +++ b/ACE/ace/Lib_Find.cpp @@ -25,14 +25,14 @@ ACE::ldfind (const ACE_TCHAR* filename, { ACE_TRACE ("ACE::ldfind"); -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) ACE_TCHAR expanded_filename[MAXPATHLEN]; if (ACE_TEXT_ExpandEnvironmentStrings (filename, expanded_filename, sizeof expanded_filename / sizeof (ACE_TCHAR))) filename = expanded_filename; -#endif /* ACE_WIN32 && !ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ ACE_TCHAR tempcopy[MAXPATHLEN + 1]; ACE_TCHAR searchpathname[MAXPATHLEN + 1]; diff --git a/ACE/ace/Log_Msg.cpp b/ACE/ace/Log_Msg.cpp index dd7e904b36eae..570711e99dc11 100644 --- a/ACE/ace/Log_Msg.cpp +++ b/ACE/ace/Log_Msg.cpp @@ -80,7 +80,7 @@ class ACE_Msg_Log_Cleanup: public ACE_Cleanup_Adapter }; #endif /* ACE_MT_SAFE */ -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) # define ACE_LOG_MSG_SYSLOG_BACKEND ACE_Log_Msg_NT_Event_Log #elif defined (ACE_ANDROID) # define ACE_LOG_MSG_SYSLOG_BACKEND ACE_Log_Msg_Android_Logcat @@ -1313,10 +1313,6 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str, { errno = ACE::map_errno (this->errnum ()); ACE_TCHAR *lpMsgBuf = 0; - - // PharLap can't do FormatMessage, so try for socket - // error. -# if !defined (ACE_HAS_PHARLAP) ACE_TEXT_FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_MAX_WIDTH_MASK | FORMAT_MESSAGE_FROM_SYSTEM, @@ -1328,7 +1324,6 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str, (ACE_TCHAR *) &lpMsgBuf, 0, 0); -# endif /* ACE_HAS_PHARLAP */ // If we don't get a valid response from // , we'll assume this is a @@ -1521,10 +1516,6 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str, { errno = ACE::map_errno (this->errnum ()); ACE_TCHAR *lpMsgBuf = 0; - - // PharLap can't do FormatMessage, so try for socket - // error. -# if !defined (ACE_HAS_PHARLAP) ACE_TEXT_FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_MAX_WIDTH_MASK | FORMAT_MESSAGE_FROM_SYSTEM, @@ -1536,7 +1527,6 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str, (ACE_TCHAR *) &lpMsgBuf, 0, 0); -# endif /* ACE_HAS_PHARLAP */ // If we don't get a valid response from // , we'll assume this is a diff --git a/ACE/ace/Msg_WFMO_Reactor.cpp b/ACE/ace/Msg_WFMO_Reactor.cpp index 57682de44f34e..af05fb8929ca9 100644 --- a/ACE/ace/Msg_WFMO_Reactor.cpp +++ b/ACE/ace/Msg_WFMO_Reactor.cpp @@ -1,6 +1,6 @@ #include "ace/Msg_WFMO_Reactor.h" -#if defined (ACE_WIN32) && !defined (ACE_LACKS_MSG_WFMO) +#if defined (ACE_WIN32) #if !defined (__ACE_INLINE__) #include "ace/Msg_WFMO_Reactor.inl" @@ -78,4 +78,4 @@ ACE_Msg_WFMO_Reactor::poll_remaining_handles (DWORD slot) ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 && !ACE_LACKS_MSG_WFMO */ +#endif /* ACE_WIN32 */ diff --git a/ACE/ace/Msg_WFMO_Reactor.h b/ACE/ace/Msg_WFMO_Reactor.h index 3381da09d5d0b..835edb595134d 100644 --- a/ACE/ace/Msg_WFMO_Reactor.h +++ b/ACE/ace/Msg_WFMO_Reactor.h @@ -20,7 +20,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_WIN32) && !defined (ACE_LACKS_MSG_WFMO) +#if defined (ACE_WIN32) #include "ace/WFMO_Reactor.h" @@ -111,7 +111,7 @@ ACE_END_VERSIONED_NAMESPACE_DECL #include "ace/Msg_WFMO_Reactor.inl" #endif /* __ACE_INLINE__ */ -#endif /* ACE_WIN32 && !ACE_LACKS_MSG_WFMO */ +#endif /* ACE_WIN32 */ #include /**/ "ace/post.h" #endif /* ACE_MSG_WFMO_REACTOR_H */ diff --git a/ACE/ace/Msg_WFMO_Reactor.inl b/ACE/ace/Msg_WFMO_Reactor.inl index ee73e6118123e..cf6a280996c58 100644 --- a/ACE/ace/Msg_WFMO_Reactor.inl +++ b/ACE/ace/Msg_WFMO_Reactor.inl @@ -1,5 +1,5 @@ // -*- C++ -*- -#if defined (ACE_WIN32) && !defined (ACE_LACKS_MSG_WFMO) +#if defined (ACE_WIN32) ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -29,4 +29,4 @@ ACE_Msg_WFMO_Reactor::alertable_handle_events (ACE_Time_Value *how_long) ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 && !ACE_LACKS_MSG_WFMO */ +#endif /* ACE_WIN32 */ diff --git a/ACE/ace/NT_Service.cpp b/ACE/ace/NT_Service.cpp index cdc6ecc5bc8e6..66c8432ce10ad 100644 --- a/ACE/ace/NT_Service.cpp +++ b/ACE/ace/NT_Service.cpp @@ -1,5 +1,5 @@ #include "ace/config-all.h" -#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_SERVICES) +#if defined (ACE_WIN32) #include "ace/NT_Service.h" @@ -610,4 +610,4 @@ ACE_NT_Service::wait_for_service_state (DWORD desired_state, ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 && !ACE_LACKS_WIN32_SERVICES */ +#endif /* ACE_WIN32 */ diff --git a/ACE/ace/NT_Service.h b/ACE/ace/NT_Service.h index 5c9f282884fd3..f931d0fbd55d4 100644 --- a/ACE/ace/NT_Service.h +++ b/ACE/ace/NT_Service.h @@ -19,7 +19,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_SERVICES) +#if defined (ACE_WIN32) #include "ace/ACE.h" #include "ace/OS_Log_Msg_Attributes.h" @@ -429,7 +429,7 @@ extern VOID WINAPI ace_nt_svc_main_##SVCNAME (DWORD dwArgc, \ #include "ace/NT_Service.inl" #endif /* __ACE_INLINE__ */ -#endif /* ACE_WIN32 && !ACE_LACKS_WIN32_SERVICES */ +#endif /* ACE_WIN32 */ #include /**/ "ace/post.h" diff --git a/ACE/ace/OS_NS_Thread.cpp b/ACE/ace/OS_NS_Thread.cpp index d4e3c82b253db..e3e9532c5b307 100644 --- a/ACE/ace/OS_NS_Thread.cpp +++ b/ACE/ace/OS_NS_Thread.cpp @@ -3176,34 +3176,12 @@ ACE_OS::sched_params (const ACE_Sched_Params &sched_params, } #elif defined (ACE_WIN32) - // PharLap ETS can act on the current thread - it can set the - // quantum also, unlike Win32. All this only works on the RT - // version. -# if defined (ACE_HAS_PHARLAP_RT) - if (id != ACE_SELF) - ACE_NOTSUP_RETURN (-1); - -# if !defined (ACE_PHARLAP_LABVIEW_RT) - if (sched_params.quantum() != ACE_Time_Value::zero) - EtsSetTimeSlice (sched_params.quantum().msec()); -# endif -# else - if (sched_params.quantum () != ACE_Time_Value::zero) - { - // I don't know of a way to set the quantum on Win32. - errno = EINVAL; - return -1; - } -# endif /* ACE_HAS_PHARLAP_RT */ - if (sched_params.scope () == ACE_SCOPE_THREAD) { // Setting the REALTIME_PRIORITY_CLASS on Windows is almost always // a VERY BAD THING. This include guard will allow people // to easily disable this feature in ACE. - // It won't work at all for Pharlap since there's no SetPriorityClass. -#if !defined (ACE_HAS_PHARLAP) && \ - !defined (ACE_DISABLE_WIN32_INCREASE_PRIORITY) +#if !defined (ACE_DISABLE_WIN32_INCREASE_PRIORITY) // Set the priority class of this process to the REALTIME process class // _if_ the policy is ACE_SCHED_FIFO. Otherwise, set to NORMAL. if (!::SetPriorityClass (::GetCurrentProcess (), @@ -3223,9 +3201,6 @@ ACE_OS::sched_params (const ACE_Sched_Params &sched_params, } else if (sched_params.scope () == ACE_SCOPE_PROCESS) { -# if defined (ACE_HAS_PHARLAP_RT) - ACE_NOTSUP_RETURN (-1); -# else HANDLE hProcess = ::OpenProcess (PROCESS_SET_INFORMATION, FALSE, @@ -3253,8 +3228,6 @@ ACE_OS::sched_params (const ACE_Sched_Params &sched_params, } ::CloseHandle (hProcess); return 0; -#endif /* ACE_HAS_PHARLAP_RT */ - } else { diff --git a/ACE/ace/OS_NS_Thread.inl b/ACE/ace/OS_NS_Thread.inl index a33b50b076f26..45520ab7e4626 100644 --- a/ACE/ace/OS_NS_Thread.inl +++ b/ACE/ace/OS_NS_Thread.inl @@ -2495,22 +2495,11 @@ ACE_OS::thr_getprio (ACE_hthread_t ht_id, int &priority, int &policy) # elif defined (ACE_HAS_WTHREADS) ACE_Errno_Guard error (errno); priority = ::GetThreadPriority (ht_id); - -# if defined (ACE_HAS_PHARLAP) -# if defined (ACE_PHARLAP_LABVIEW_RT) - policy = ACE_SCHED_FIFO; -# else - DWORD timeslice = ::EtsGetTimeSlice (); - policy = timeslice == 0 ? ACE_SCHED_OTHER : ACE_SCHED_FIFO; -# endif /* ACE_PHARLAP_LABVIEW_RT */ -# else DWORD const priority_class = ::GetPriorityClass (::GetCurrentProcess ()); if (priority_class == 0 && (error = ::GetLastError ()) != NO_ERROR) ACE_FAIL_RETURN (-1); policy = (priority_class == REALTIME_PRIORITY_CLASS) ? ACE_SCHED_FIFO : ACE_SCHED_OTHER; -# endif /* ACE_HAS_PHARLAP */ - return 0; # elif defined (ACE_HAS_VXTHREADS) return ::taskPriorityGet (ht_id, &priority); diff --git a/ACE/ace/OS_NS_dlfcn.inl b/ACE/ace/OS_NS_dlfcn.inl index b9928e2936ab6..058f4cb2ba9f6 100644 --- a/ACE/ace/OS_NS_dlfcn.inl +++ b/ACE/ace/OS_NS_dlfcn.inl @@ -8,10 +8,6 @@ #include "ace/os_include/os_fcntl.h" #include "ace/os_include/os_string.h" -#if defined (ACE_WIN32) && defined (ACE_HAS_PHARLAP) -# include "ace/OS_NS_stdio.h" -#endif - #if defined (ACE_USES_ASM_SYMBOL_IN_DLSYM) # include "ace/OS_Memory.h" # include "ace/OS_NS_string.h" @@ -69,9 +65,6 @@ ACE_OS::dlerror () //FUZZ: enable check_for_lack_ACE_OS # elif defined (ACE_WIN32) static ACE_TCHAR buf[128]; -# if defined (ACE_HAS_PHARLAP) - ACE_OS::sprintf (buf, "error code %d", GetLastError()); -# else ACE_TEXT_FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, 0, ::GetLastError (), @@ -79,7 +72,6 @@ ACE_OS::dlerror () buf, sizeof buf / sizeof buf[0], 0); -# endif /* ACE_HAS_PHARLAP */ return buf; # else ACE_NOTSUP_RETURN (0); diff --git a/ACE/ace/OS_NS_netdb.cpp b/ACE/ace/OS_NS_netdb.cpp index 6ede903602652..49f658e5c5e97 100644 --- a/ACE/ace/OS_NS_netdb.cpp +++ b/ACE/ace/OS_NS_netdb.cpp @@ -5,10 +5,6 @@ # include "ace/OS_NS_netdb.inl" #endif /* ACE_HAS_INLINED_OSCALLS */ -#if defined (ACE_WIN32) && defined (ACE_HAS_PHARLAP) -# include "ace/OS_NS_stdio.h" -#endif - #include "ace/os_include/net/os_if.h" #include "ace/Global_Macros.h" #include "ace/OS_NS_arpa_inet.h" @@ -44,7 +40,6 @@ ACE_OS::getmacaddress (struct macaddr_node_t *node) ACE_OS_TRACE ("ACE_OS::getmacaddress"); #if defined (ACE_WIN32) -# if !defined (ACE_HAS_PHARLAP) /** Define a structure for use with the netbios routine */ struct ADAPTERSTAT { @@ -96,35 +91,6 @@ ACE_OS::getmacaddress (struct macaddr_node_t *node) } } return 0; -# else -# if defined (ACE_HAS_PHARLAP_RT) - DEVHANDLE ip_dev = (DEVHANDLE)0; - EK_TCPIPCFG *devp = 0; - size_t i; - ACE_TCHAR dev_name[16]; - - for (i = 0; i < 10; i++) - { - // Ethernet. - ACE_OS::snprintf (dev_name, 16, "ether%d", i); - ip_dev = EtsTCPGetDeviceHandle (dev_name); - if (ip_dev != 0) - break; - } - if (ip_dev == 0) - return -1; - devp = EtsTCPGetDeviceCfg (ip_dev); - if (devp == 0) - return -1; - ACE_OS::memcpy (node->node, - &devp->EthernetAddress[0], - 6); - return 0; -# else - ACE_UNUSED_ARG (node); - ACE_NOTSUP_RETURN (-1); -# endif /* ACE_HAS_PHARLAP_RT */ -# endif /* ACE_HAS_PHARLAP */ #elif defined (ACE_LINUX) && !defined (ACE_LACKS_NETWORKING) // It's easiest to know the first MAC-using interface. Use the BSD diff --git a/ACE/ace/OS_NS_stdio.inl b/ACE/ace/OS_NS_stdio.inl index 6066165912e23..f3268c7ac1d8a 100644 --- a/ACE/ace/OS_NS_stdio.inl +++ b/ACE/ace/OS_NS_stdio.inl @@ -39,7 +39,6 @@ ACE_OS::flock_adjust_params (ACE_OS::ace_flock_t *lock, case SEEK_CUR: { LARGE_INTEGER offset; -# if !defined (ACE_LACKS_WIN32_SETFILEPOINTEREX) LARGE_INTEGER distance; distance.QuadPart = 0; if (!::SetFilePointerEx (lock->handle_, @@ -50,18 +49,6 @@ ACE_OS::flock_adjust_params (ACE_OS::ace_flock_t *lock, ACE_OS::set_errno_to_last_error (); return; } -# else - offset.LowPart = ::SetFilePointer (lock->handle_, - 0, - &offset.HighPart, - FILE_CURRENT); - if (offset.LowPart == INVALID_SET_FILE_POINTER && - ::GetLastError() != NO_ERROR) - { - ACE_OS::set_errno_to_last_error (); - return; - } -# endif /* ACE_LACKS_WIN32_SETFILEPOINTEREX */ # if defined (_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 start += offset.QuadPart; @@ -364,10 +351,6 @@ ACE_OS::cuserid (char *user, size_t maxlen) ::remCurIdGet (user, 0); return user; } -#elif defined (ACE_HAS_PHARLAP) - ACE_UNUSED_ARG (user); - ACE_UNUSED_ARG (maxlen); - ACE_NOTSUP_RETURN (0); #elif defined (ACE_WIN32) BOOL const result = GetUserNameA (user, (u_long *) &maxlen); if (result == FALSE) @@ -841,7 +824,7 @@ ACE_OS::rename (const char *old_name, ACE_UNUSED_ARG (new_name); ACE_UNUSED_ARG (flags); ACE_NOTSUP_RETURN (-1); -# elif defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_MOVEFILEEX) +# elif defined (ACE_WIN32) // NT4 (and up) provides a way to rename/move a file with similar semantics // to what's usually done on UNIX - if there's an existing file with // it is removed before the file is renamed/moved. The @@ -870,7 +853,7 @@ ACE_OS::rename (const wchar_t *old_name, ACE_UNUSED_ARG (new_name); ACE_UNUSED_ARG (flags); ACE_NOTSUP_RETURN (-1); -# elif defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_MOVEFILEEX) +# elif defined (ACE_WIN32) // NT4 (and up) provides a way to rename/move a file with similar semantics // to what's usually done on UNIX - if there's an existing file with // it is removed before the file is renamed/moved. The diff --git a/ACE/ace/OS_NS_sys_mman.inl b/ACE/ace/OS_NS_sys_mman.inl index 5ff514997b554..87cffd62937b8 100644 --- a/ACE/ace/OS_NS_sys_mman.inl +++ b/ACE/ace/OS_NS_sys_mman.inl @@ -40,11 +40,11 @@ ACE_OS::mmap (void *addr, const ACE_TCHAR *file_mapping_name) { ACE_OS_TRACE ("ACE_OS::mmap"); -#if !defined (ACE_WIN32) || defined (ACE_HAS_PHARLAP) +#if !defined (ACE_WIN32) ACE_UNUSED_ARG (file_mapping_name); -#endif /* !defined (ACE_WIN32) || defined (ACE_HAS_PHARLAP) */ +#endif /* !defined (ACE_WIN32) */ -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) if (!ACE_BIT_ENABLED (flags, MAP_FIXED)) addr = 0; else if (addr == 0) // can not map to address 0 @@ -149,7 +149,7 @@ ACE_OS::mmap (void *addr, ACE_UNUSED_ARG (file_mapping); ACE_UNUSED_ARG (sa); ACE_NOTSUP_RETURN (MAP_FAILED); -#endif /* ACE_WIN32 && !ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ } // Implements simple read/write control for pages. Affects a page if @@ -161,7 +161,7 @@ ACE_INLINE int ACE_OS::mprotect (void *addr, size_t len, int prot) { ACE_OS_TRACE ("ACE_OS::mprotect"); -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) DWORD dummy; // Sigh! return ::VirtualProtect(addr, len, prot, &dummy) ? 0 : -1; #elif !defined (ACE_LACKS_MPROTECT) @@ -171,16 +171,15 @@ ACE_OS::mprotect (void *addr, size_t len, int prot) ACE_UNUSED_ARG (len); ACE_UNUSED_ARG (prot); ACE_NOTSUP_RETURN (-1); -#endif /* ACE_WIN32 && !ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ } ACE_INLINE int ACE_OS::msync (void *addr, size_t len, int sync) { ACE_OS_TRACE ("ACE_OS::msync"); -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) ACE_UNUSED_ARG (sync); - ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::FlushViewOfFile (addr, len), ace_result_), int, -1); #elif !defined (ACE_LACKS_MSYNC) return ::msync ((ACE_MMAP_TYPE) addr, len, sync); @@ -189,7 +188,7 @@ ACE_OS::msync (void *addr, size_t len, int sync) ACE_UNUSED_ARG (len); ACE_UNUSED_ARG (sync); ACE_NOTSUP_RETURN (-1); -#endif /* ACE_WIN32 && !ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ } ACE_INLINE int diff --git a/ACE/ace/OS_NS_sys_socket.inl b/ACE/ace/OS_NS_sys_socket.inl index 3cbce8dc5783e..3b53035a77771 100644 --- a/ACE/ace/OS_NS_sys_socket.inl +++ b/ACE/ace/OS_NS_sys_socket.inl @@ -400,13 +400,6 @@ ACE_OS::recvfrom (ACE_HANDLE handle, } else { -# if defined (ACE_HAS_PHARLAP) - // Pharlap ETS (at least to v13) returns a legit address but doesn't - // include the sin_zero[8] bytes in the count. Correct for this here. - if (addrlen != 0 && addr != 0 && - *addrlen == 8 && addr->sa_family == AF_INET) - *addrlen = sizeof(sockaddr_in); -# endif /* ACE_HAS_PHARLAP */ return result; } #else /* non Win32 */ diff --git a/ACE/ace/OS_NS_sys_utsname.cpp b/ACE/ace/OS_NS_sys_utsname.cpp index 604947b5825e0..8d4da8dbddd84 100644 --- a/ACE/ace/OS_NS_sys_utsname.cpp +++ b/ACE/ace/OS_NS_sys_utsname.cpp @@ -41,21 +41,7 @@ ACE_OS::uname (ACE_utsname *name) # endif SYSTEM_INFO sinfo; -# if defined (ACE_HAS_PHARLAP) - // PharLap doesn't do GetSystemInfo. What's really wanted is the - // CPU architecture, so we can get that with EtsGetSystemInfo. Fill - // in what's wanted in the SYSTEM_INFO structure, and carry on. Note - // that the CPU type values in EK_KERNELINFO have the same values - // are the ones defined for SYSTEM_INFO. - EK_KERNELINFO ets_kern; - EK_SYSTEMINFO ets_sys; - EtsGetSystemInfo (&ets_kern, &ets_sys); - sinfo.wProcessorLevel = static_cast (ets_kern.CpuType); - sinfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL; - sinfo.dwProcessorType = ets_kern.CpuType * 100 + 86; -# else ::GetSystemInfo(&sinfo); -# endif /* ACE_HAS_PHARLAP */ const char* unknown = "???"; diff --git a/ACE/ace/OS_NS_unistd.cpp b/ACE/ace/OS_NS_unistd.cpp index 49b5736f97017..d151b885fb986 100644 --- a/ACE/ace/OS_NS_unistd.cpp +++ b/ACE/ace/OS_NS_unistd.cpp @@ -380,9 +380,7 @@ ACE_OS::num_processors () { ACE_OS_TRACE ("ACE_OS::num_processors"); -#if defined (ACE_HAS_PHARLAP) - return 1; -#elif defined (ACE_WIN32) +#if defined (ACE_WIN32) SYSTEM_INFO sys_info; ::GetSystemInfo (&sys_info); return sys_info.dwNumberOfProcessors; @@ -408,9 +406,7 @@ ACE_OS::num_processors_online () { ACE_OS_TRACE ("ACE_OS::num_processors_online"); -#if defined (ACE_HAS_PHARLAP) - return 1; -#elif defined (ACE_WIN32) +#if defined (ACE_WIN32) SYSTEM_INFO sys_info; ::GetSystemInfo (&sys_info); long active_processors = 0; diff --git a/ACE/ace/OS_NS_unistd.inl b/ACE/ace/OS_NS_unistd.inl index 8c5d2834ade55..cc99a4cb98270 100644 --- a/ACE/ace/OS_NS_unistd.inl +++ b/ACE/ace/OS_NS_unistd.inl @@ -79,7 +79,7 @@ ACE_INLINE long ACE_OS::getpagesize () { ACE_OS_TRACE ("ACE_OS::getpagesize"); -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) SYSTEM_INFO sys_info; ::GetSystemInfo (&sys_info); return (long) sys_info.dwPageSize; @@ -356,16 +356,9 @@ ACE_OS::ftruncate (ACE_HANDLE handle, ACE_OFF_T offset) { ACE_OS_TRACE ("ACE_OS::ftruncate"); #if defined (ACE_WIN32) -# if !defined (ACE_LACKS_WIN32_SETFILEPOINTEREX) LARGE_INTEGER loff; loff.QuadPart = offset; if (::SetFilePointerEx (handle, loff, 0, FILE_BEGIN)) -# else - if (::SetFilePointer (handle, - offset, - 0, - FILE_BEGIN) != INVALID_SET_FILE_POINTER) -# endif ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::SetEndOfFile (handle), ace_result_), int, -1); else ACE_FAIL_RETURN (-1); @@ -512,19 +505,7 @@ ACE_INLINE int ACE_OS::hostname (char name[], size_t maxnamelen) { ACE_OS_TRACE ("ACE_OS::hostname"); -#if defined (ACE_HAS_PHARLAP) - // PharLap only can do net stuff with the RT version. -# if defined (ACE_HAS_PHARLAP_RT) - // @@This is not at all reliable... requires ethernet and BOOTP to be used. - // A more reliable way is to go thru the devices w/ EtsTCPGetDeviceCfg until - // a legit IP address is found, then get its name w/ gethostbyaddr. - ACE_SOCKCALL_RETURN (gethostname (name, maxnamelen), int, SOCKET_ERROR); -# else - ACE_UNUSED_ARG (name); - ACE_UNUSED_ARG (maxnamelen); - ACE_NOTSUP_RETURN (-1); -# endif /* ACE_HAS_PHARLAP_RT */ -#elif defined (ACE_VXWORKS) +#if defined (ACE_VXWORKS) return ::gethostname (name, maxnamelen); #elif defined (ACE_WIN32) if (::gethostname (name, ACE_Utils::truncate_cast (maxnamelen)) == 0) @@ -548,7 +529,7 @@ ACE_OS::hostname (char name[], size_t maxnamelen) return -1; #elif defined (ACE_LACKS_GETHOSTNAME) ACE_NOTSUP_RETURN (-1); -#else /* ACE_HAS_PHARLAP */ +#else /* ACE_VXWORKS */ ACE_utsname host_info; if (ACE_OS::uname (&host_info) == -1) @@ -558,7 +539,7 @@ ACE_OS::hostname (char name[], size_t maxnamelen) ACE_OS::strsncpy (name, host_info.nodename, maxnamelen); return 0; } -#endif /* ACE_HAS_PHARLAP */ +#endif /* ACE_VXWORKS */ } #if defined (ACE_HAS_WCHAR) @@ -687,7 +668,6 @@ ACE_OS::llseek (ACE_HANDLE handle, ACE_LOFF_T offset, int whence) return ::lseek64 (handle, offset, whence); #elif defined (ACE_HAS_LLSEEK) # if defined (ACE_WIN32) -# ifndef ACE_LACKS_WIN32_SETFILEPOINTEREX LARGE_INTEGER distance, new_file_pointer; distance.QuadPart = offset; @@ -696,22 +676,6 @@ ACE_OS::llseek (ACE_HANDLE handle, ACE_LOFF_T offset, int whence) (::SetFilePointerEx (handle, distance, &new_file_pointer, whence) ? new_file_pointer.QuadPart : static_cast (-1)); -# else - LARGE_INTEGER l_offset; - l_offset.QuadPart = offset; - LONG low_offset = l_offset.LowPart; - LONG high_offset = l_offset.HighPart; - - l_offset.LowPart = ::SetFilePointer (handle, - low_offset, - &high_offset, - whence); - if (l_offset.LowPart == INVALID_SET_FILE_POINTER && - GetLastError () != NO_ERROR) - return static_cast (-1); - l_offset.HighPart = high_offset; - return l_offset.QuadPart; -# endif /* ACE_LACKS_WIN32_SETFILEPOINTEREX */ # else return ::llseek (handle, offset, whence); # endif /* WIN32 */ @@ -1071,29 +1035,17 @@ ACE_OS::truncate (const ACE_TCHAR *filename, O_WRONLY, ACE_DEFAULT_FILE_PERMS); -# if !defined (ACE_LACKS_WIN32_SETFILEPOINTEREX) LARGE_INTEGER loffset; loffset.QuadPart = offset; -#else - LONG low_offset = ACE_LOW_PART(offset); - LONG high_offset = ACE_HIGH_PART(offset); -#endif if (handle == ACE_INVALID_HANDLE) ACE_FAIL_RETURN (-1); -# if !defined (ACE_LACKS_WIN32_SETFILEPOINTEREX) - else if (::SetFilePointerEx (handle, - loffset, - 0, - FILE_BEGIN)) -# else else if (::SetFilePointer (handle, low_offset, &high_offset, FILE_BEGIN) != INVALID_SET_FILE_POINTER || GetLastError () == NO_ERROR) -# endif /* ACE_LACKS_WIN32_SETFILEPOINTEREX */ { BOOL result = ::SetEndOfFile (handle); ::CloseHandle (handle); diff --git a/ACE/ace/Pagefile_Memory_Pool.cpp b/ACE/ace/Pagefile_Memory_Pool.cpp index 8af6e554b6695..f5523223c685c 100644 --- a/ACE/ace/Pagefile_Memory_Pool.cpp +++ b/ACE/ace/Pagefile_Memory_Pool.cpp @@ -19,7 +19,7 @@ #include "ace/Based_Pointer_Repository.h" #endif /* ACE_HAS_POSITION_INDEPENDENT_POINTERS == 1 */ -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) #define ACE_MAP_FILE(_hnd, _access, _offHigh, _offLow, _nBytes, _baseAdd) \ MapViewOfFileEx (_hnd, _access, _offHigh, _offLow, _nBytes, _baseAdd) @@ -217,7 +217,6 @@ ACE_Pagefile_Memory_Pool::map (int &first_time, // Create file mapping, if not yet done if (object_handle_ == 0) { -#if !defined (ACE_LACKS_WIN32_SECURITY_DESCRIPTORS) // Allow access by all users. SECURITY_ATTRIBUTES sa; SECURITY_DESCRIPTOR sd; @@ -230,7 +229,6 @@ ACE_Pagefile_Memory_Pool::map (int &first_time, sa.nLength = sizeof (SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = &sd; sa.bInheritHandle = FALSE; -#endif /* ACE_LACKS_WIN32_SECURITY_DESCRIPTORS */ // Get an object handle to the named reserved memory object. DWORD size_high; @@ -245,11 +243,7 @@ ACE_Pagefile_Memory_Pool::map (int &first_time, object_handle_ = ACE_TEXT_CreateFileMapping (INVALID_HANDLE_VALUE, -#if !defined (ACE_LACKS_WIN32_SECURITY_DESCRIPTORS) &sa, -#else - 0, -#endif /* !ACE_LACKS_WIN32_SECURITY_DESCRIPTORS */ PAGE_READWRITE | SEC_RESERVE, size_high, size_low, @@ -369,4 +363,4 @@ ACE_Pagefile_Memory_Pool::map (int &first_time, ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 && !ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ diff --git a/ACE/ace/Pagefile_Memory_Pool.h b/ACE/ace/Pagefile_Memory_Pool.h index 254a5a7ad8a33..4e8d4af8315b4 100644 --- a/ACE/ace/Pagefile_Memory_Pool.h +++ b/ACE/ace/Pagefile_Memory_Pool.h @@ -20,7 +20,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) #include "ace/ACE.h" #include "ace/os_include/sys/os_mman.h" @@ -190,7 +190,7 @@ class ACE_Export ACE_Pagefile_Memory_Pool ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 && !ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ #if defined (__ACE_INLINE__) #include "ace/Pagefile_Memory_Pool.inl" diff --git a/ACE/ace/Pagefile_Memory_Pool.inl b/ACE/ace/Pagefile_Memory_Pool.inl index e6b2919d873f3..46734e75ba72a 100644 --- a/ACE/ace/Pagefile_Memory_Pool.inl +++ b/ACE/ace/Pagefile_Memory_Pool.inl @@ -1,5 +1,5 @@ // -*- C++ -*- -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -48,4 +48,4 @@ ACE_Pagefile_Memory_Pool::base_addr () const ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 &7 !ACE_HAS_PHARLAP */ +#endif /* ACE_WIN32 */ diff --git a/ACE/ace/README b/ACE/ace/README index 99d94841674b6..62d633530c589 100644 --- a/ACE/ace/README +++ b/ACE/ace/README @@ -712,10 +712,6 @@ ACE_LACKS_MPROTECT The platform doesn't have LYNX)) ACE_LACKS_MSG_ACCRIGHTS Platform defines ACE_HAS_MSG, but lacks msg_accrights{,len}. -ACE_LACKS_MSG_WFMO Platform lacks - MsgWaitForMultipleObjects - (only needs to be defined when - ACE_WIN32 is also defined). ACE_LACKS_MSYNC Platform lacks msync() (e.g., Linux) ACE_LACKS_MUTEXATTR_PSHARED Platform lacks @@ -868,10 +864,6 @@ ACE_LACKS_UNAME Platform lacks uname calls ACE_LACKS_WAIT The platform lacks wait ACE_LACKS_WIN32_GETPROCESSTIMES The Windows platform doesn't have GetProcessTimes(). -ACE_LACKS_WIN32_MOVEFILEEX The Windows platform doesn't have - MoveFileEx(). -ACE_LACKS_WIN32_SECURITY_DESCRIPTORS The Windows platform doesn't have - security descriptor support. ACE_LACKS_WRITEV Platform doesn't define writev, so use our own ACE_NEEDS_HUGE_THREAD_STACKSIZE Required by platforms with diff --git a/ACE/ace/Recursive_Thread_Mutex.cpp b/ACE/ace/Recursive_Thread_Mutex.cpp index 1f7b2dc812988..d75cf7d83547d 100644 --- a/ACE/ace/Recursive_Thread_Mutex.cpp +++ b/ACE/ace/Recursive_Thread_Mutex.cpp @@ -79,7 +79,7 @@ int ACE_Recursive_Thread_Mutex::get_nesting_level () { // ACE_TRACE ("ACE_Recursive_Thread_Mutex::get_nesting_level"); -#if defined (ACE_HAS_VXTHREADS) || defined (ACE_HAS_PHARLAP) +#if defined (ACE_HAS_VXTHREADS) ACE_NOTSUP_RETURN (-1); #elif defined (ACE_HAS_RECURSIVE_MUTEXES) # if defined (ACE_WIN32) @@ -99,7 +99,7 @@ ACE_Recursive_Thread_Mutex::get_nesting_level () nesting_level = this->lock_.nesting_level_; ACE_OS::mutex_unlock (&this->lock_.nesting_mutex_); return nesting_level; -#endif /* ACE_HAS_VXTHREADS || ACE_HAS_PHARLAP */ +#endif /* ACE_HAS_VXTHREADS */ } void diff --git a/ACE/ace/Registry.cpp b/ACE/ace/Registry.cpp index ddd8e77923eca..cc98d8033955a 100644 --- a/ACE/ace/Registry.cpp +++ b/ACE/ace/Registry.cpp @@ -1,6 +1,6 @@ #include "ace/Registry.h" -#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_REGISTRY) +#if defined (ACE_WIN32) # include "ace/os_include/os_netdb.h" # include "ace/OS_NS_unistd.h" @@ -1113,4 +1113,4 @@ ACE_Predefined_Naming_Contexts::is_local_host (const ACE_TCHAR *machine_name) ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 && !ACE_LACKS_WIN32_REGISTRY */ +#endif /* ACE_WIN32 */ diff --git a/ACE/ace/Registry.h b/ACE/ace/Registry.h index 8d5e613116e16..f58f1a9808fa1 100644 --- a/ACE/ace/Registry.h +++ b/ACE/ace/Registry.h @@ -19,8 +19,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_REGISTRY) -// This only works on registry-capable Win32 platforms. +#if defined (ACE_WIN32) #include "ace/Containers.h" #include "ace/SString.h" @@ -553,6 +552,6 @@ class ACE_Export ACE_Predefined_Naming_Contexts ACE_END_VERSIONED_NAMESPACE_DECL -#endif /* ACE_WIN32 && !ACE_LACKS_WIN32_REGISTRY */ +#endif /* ACE_WIN32 */ #include /**/ "ace/post.h" #endif /* ACE_REGISTRY_H */ diff --git a/ACE/ace/SPIPE_Connector.cpp b/ACE/ace/SPIPE_Connector.cpp index c507b47ee9276..2822fa82b5344 100644 --- a/ACE/ace/SPIPE_Connector.cpp +++ b/ACE/ace/SPIPE_Connector.cpp @@ -67,7 +67,7 @@ ACE_SPIPE_Connector::connect (ACE_SPIPE_Stream &new_io, ACE_HANDLE handle; ACE_UNUSED_ARG (pipe_mode); -#if defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) // We need to allow for more than one attempt to connect, // calculate the absolute time at which we give up. ACE_Time_Value absolute_time; @@ -143,11 +143,11 @@ ACE_SPIPE_Connector::connect (ACE_SPIPE_Stream &new_io, } } } -#else /* ACE_WIN32 && !ACE_HAS_PHARLAP */ +#else /* ACE_WIN32 */ handle = ACE::handle_timed_open (timeout, remote_sap.get_path_name (), flags, perms, sa); -#endif /* !ACE_WIN32 || ACE_HAS_PHARLAP */ +#endif /* !ACE_WIN32 */ new_io.set_handle (handle); new_io.remote_addr_ = remote_sap; // class copy. diff --git a/ACE/ace/Sock_Connect.cpp b/ACE/ace/Sock_Connect.cpp index 37e8ea1a3391a..6d7fd6b1282e7 100644 --- a/ACE/ace/Sock_Connect.cpp +++ b/ACE/ace/Sock_Connect.cpp @@ -30,7 +30,7 @@ const struct in6_addr in6addr_linklocal_allnodes = IN6ADDR_LINKLOCAL_ALLNODES_IN const struct in6_addr in6addr_linklocal_allrouters = IN6ADDR_LINKLOCAL_ALLROUTERS_INIT; #endif /* ACE_VXWORKS <= 0x670 && __RTP__ && ACE_HAS_IPV6 */ -#if defined (ACE_WIN32) && defined (ACE_HAS_PHARLAP) +#if defined (ACE_WIN32) # include "ace/OS_NS_stdio.h" #endif @@ -438,89 +438,6 @@ static int get_ip_interfaces_win32 (size_t &count, ACE_INET_Addr *&addrs) { -# if defined (ACE_HAS_PHARLAP) - // PharLap ETS has its own kernel routines to rummage through the device - // configs and extract the interface info, but only for Pharlap RT. -# if !defined (ACE_HAS_PHARLAP_RT) - ACE_NOTSUP_RETURN (-1); -# endif /* ACE_HAS_PHARLAP_RT */ - - // Locate all of the IP devices in the system, saving a DEVHANDLE - // for each. Then allocate the ACE_INET_Addrs needed and fetch all - // the IP addresses. To locate the devices, try the available - // device name roots and increment the device number until the - // kernel says there are no more of that type. - const size_t ACE_MAX_ETS_DEVICES = 64; // Arbitrary, but should be enough. - DEVHANDLE ip_dev[ACE_MAX_ETS_DEVICES]; - EK_TCPIPCFG *devp = 0; - size_t i, j; - ACE_TCHAR dev_name[16]; - - count = 0; - for (i = 0; count < ACE_MAX_ETS_DEVICES; i++, ++count) - { - // Ethernet. - ACE_OS::sprintf (dev_name, - "ether%d", - i); - ip_dev[count] = EtsTCPGetDeviceHandle (dev_name); - if (ip_dev[count] == 0) - break; - } - for (i = 0; count < ACE_MAX_ETS_DEVICES; i++, ++count) - { - // SLIP. - ACE_OS::sprintf (dev_name, - "sl%d", - i); - ip_dev[count] = EtsTCPGetDeviceHandle (dev_name); - if (ip_dev[count] == 0) - break; - } - for (i = 0; count < ACE_MAX_ETS_DEVICES; i++, ++count) - { - // PPP. - ACE_OS::sprintf (dev_name, - "ppp%d", - i); - ip_dev[count] = EtsTCPGetDeviceHandle (dev_name); - if (ip_dev[count] == 0) - break; - } - - if (count > 0) - ACE_NEW_RETURN (addrs, - ACE_INET_Addr[count], - -1); - else - addrs = 0; - - for (i = 0, j = 0; i < count; i++) - { - devp = EtsTCPGetDeviceCfg (ip_dev[i]); - if (devp != 0) - { - addrs[j].set (0, - devp->nwIPAddress, - 0); // Already in net order. - ++j; - } - // There's no call to close the DEVHANDLE. - } - - count = j; - if (count == 0 && addrs != 0) - { - delete [] addrs; - addrs = 0; - } - - return 0; - - -# else - // All non-CE, non-Pharlap Windows. Must support Winsock2. - int i, n_interfaces, status; INTERFACE_INFO info[64]; @@ -637,8 +554,6 @@ get_ip_interfaces_win32 (size_t &count, } return 0; - -# endif /* ACE_HAS_PHARLAP */ } #elif defined (ACE_HAS_GETIFADDRS) diff --git a/ACE/ace/WFMO_Reactor.cpp b/ACE/ace/WFMO_Reactor.cpp index f5cd8859ebb58..cf935f9dd45b5 100644 --- a/ACE/ace/WFMO_Reactor.cpp +++ b/ACE/ace/WFMO_Reactor.cpp @@ -1763,18 +1763,6 @@ ACE_WFMO_Reactor::ok_to_wait (ACE_Time_Value *max_wait_time, DWORD result = 0; while (1) { -# if defined (ACE_HAS_PHARLAP) - // PharLap doesn't implement WaitForMultipleObjectsEx, and doesn't - // do async I/O, so it's not needed in this case anyway. - result = ::WaitForMultipleObjects (sizeof this->atomic_wait_array_ / sizeof (ACE_HANDLE), - this->atomic_wait_array_, - TRUE, - timeout); - - if (result != WAIT_IO_COMPLETION) - break; - -# else result = ::WaitForMultipleObjectsEx (sizeof this->atomic_wait_array_ / sizeof (ACE_HANDLE), this->atomic_wait_array_, TRUE, @@ -1783,8 +1771,6 @@ ACE_WFMO_Reactor::ok_to_wait (ACE_Time_Value *max_wait_time, if (result != WAIT_IO_COMPLETION) break; - -# endif /* ACE_HAS_PHARLAP */ } switch (result) @@ -1811,22 +1797,11 @@ ACE_WFMO_Reactor::wait_for_multiple_events (int timeout, // Wait for any of handles_ to be active, or until timeout expires. // If is enabled allow asynchronous completion of // ReadFile and WriteFile operations. - -#if defined (ACE_HAS_PHARLAP) - // PharLap doesn't do async I/O and doesn't implement - // WaitForMultipleObjectsEx, so use WaitForMultipleObjects. - ACE_UNUSED_ARG (alertable); - return ::WaitForMultipleObjects (this->handler_rep_.max_handlep1 (), - this->handler_rep_.handles (), - FALSE, - timeout); -#else return ::WaitForMultipleObjectsEx (this->handler_rep_.max_handlep1 (), this->handler_rep_.handles (), FALSE, timeout, alertable); -#endif /* ACE_HAS_PHARLAP */ } DWORD diff --git a/ACE/ace/config-macros.h b/ACE/ace/config-macros.h index 144e0283d98b0..ac57a80e0b3eb 100644 --- a/ACE/ace/config-macros.h +++ b/ACE/ace/config-macros.h @@ -101,7 +101,7 @@ # if !defined (ACE_HAS_PROCESS_SPAWN) # if !defined (ACE_LACKS_FORK) || \ - (defined (ACE_WIN32) && !defined (ACE_HAS_PHARLAP)) + (defined (ACE_WIN32)) # define ACE_HAS_PROCESS_SPAWN 1 # endif # endif /* ACE_HAS_PROCESS_SPAWN */ diff --git a/ACE/ace/config-pharlap.h b/ACE/ace/config-pharlap.h deleted file mode 100644 index dbc933bc574db..0000000000000 --- a/ACE/ace/config-pharlap.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- C++ -*- */ -// This configuration file is for use with the PharLap Realtime ETS Kernel. -// It has been tested with PharLap TNT Embedded ToolSuite version 9.1. - -#ifndef ACE_CONFIG_PHARLAP_H -#define ACE_CONFIG_PHARLAP_H -#include /**/ "ace/pre.h" - -#define ACE_HAS_PHARLAP -// Some features are only available with the Realtime edition of ETS. -// Assume that if using ACE, the realtime version is also being used, but -// allow it to be turned off as well. -#ifndef ACE_HAS_PHARLAP_RT -# define ACE_HAS_PHARLAP_RT -#else -# if (ACE_HAS_PHARLAP_RT == 0) -# undef ACE_HAS_PHARLAP_RT -# endif -#endif - -// Fortunately, PharLap ETS offers much of the Win32 API. But it's still on -// Winsock 1.1 -#define ACE_HAS_WINSOCK2 0 -#define ACE_HAS_WINSOCK1 1 - -// The TSS implementation doesn't pass muster on the TSS_Test, but it works -// well with ACE's TSS emulation. -#define ACE_HAS_TSS_EMULATION - -#define ACE_LACKS_MMAP -#define ACE_LACKS_MPROTECT -#define ACE_LACKS_MSYNC -#define ACE_LACKS_TCP_NODELAY -#define ACE_LACKS_MSG_WFMO -#define ACE_LACKS_WIN32_MOVEFILEEX -#define ACE_LACKS_WIN32_REGISTRY -#define ACE_LACKS_WIN32_SECURITY_DESCRIPTORS -#define ACE_LACKS_WIN32_SERVICES -#define ACE_LACKS_WIN32_SETFILEPOINTEREX - -// There's no host table, by default. So using "localhost" won't work. -// If your system does have the ability to use "localhost" and you want to, -// define it before including this file. -#if !defined (ACE_LOCALHOST) -# define ACE_LOCALHOST "127.0.0.1" -#endif /* ACE_LOCALHOST */ - -// The normal Windows default stack size doesn't hold for ETS. Set what you -// want explicitly. -#if !defined (ACE_DEFAULT_THREAD_STACKSIZE) -# define ACE_DEFAULT_THREAD_STACKSIZE (1024*1024) -#endif /* ACE_DEFAULT_THREAD_STACKSIZE */ - -// Don't know how to get the page size at execution time. This is most likely -// the correct value. -#define ACE_PAGE_SIZE 4096 - -#if defined (ACE_HAS_PHARLAP_RT) -# define ACE_HAS_IP_MULTICAST - // ETS winsock doesn't define IP level socket options -//# define IP_TOS 8 -#endif /* ACE_HAS_PHARLAP_RT */ - -// Let the config-win32.h file do its thing -#undef ACE_CONFIG_H -#include "ace/config-win32.h" -// Now remove things that desktop/server Windows has but Pharlap ETS doesn't. -#undef ACE_HAS_INTERLOCKED_EXCHANGEADD -#undef ACE_HAS_WCHAR - -// PharLap's exports apparantly define LockFile, but it's documented as -// unsupported. LockFileEx is not present. -#define ACE_LACKS_FILELOCKS - -#include /**/ -#if defined (ACE_HAS_PHARLAP_RT) -# include /**/ -#define ACE_LACKS_IP_ADD_MEMBERSHIP -#endif /* ACE_HAS_PHARLAP_RT */ - -// Although IN_CLASSD is defined in both winsock.h and winsock2.h, it ends -// up undefined for Pharlap ETS builds. If this is the case, set things up -// so nothing looks like class D. -#if !defined (IN_CLASSD) -# define IN_CLASSD(i) (0) -#endif - -#include /**/ "ace/post.h" -#endif /* ACE_CONFIG_PHARLAP_H */ diff --git a/ACE/ace/config-win32-common.h b/ACE/ace/config-win32-common.h index f22fbb0f063b6..7e433c02da6dc 100644 --- a/ACE/ace/config-win32-common.h +++ b/ACE/ace/config-win32-common.h @@ -460,7 +460,7 @@ // PharLap ETS has its own winsock lib, so don't grab the one // supplied with the OS. -# if defined (_MSC_VER) && !defined (ACE_HAS_PHARLAP) +# if defined (_MSC_VER) # pragma comment(lib, "wsock32.lib") # endif /* _MSC_VER */ @@ -490,17 +490,14 @@ #define ACE_HAS_INTERLOCKED_EXCHANGEADD -#if !defined (ACE_HAS_PHARLAP) - -# if _WIN32_WINNT >= 0x400 -# define ACE_HAS_SIGNAL_OBJECT_AND_WAIT -# endif +#if _WIN32_WINNT >= 0x400 +# define ACE_HAS_SIGNAL_OBJECT_AND_WAIT +#endif // If CancelIO is undefined get the updated sp2-sdk from MS -# define ACE_HAS_CANCEL_IO -# define ACE_HAS_WIN32_OVERLAPPED_IO -# define ACE_HAS_WIN32_NAMED_PIPES -#endif /* !ACE_HAS_PHARLAP */ +#define ACE_HAS_CANCEL_IO +#define ACE_HAS_WIN32_OVERLAPPED_IO +#define ACE_HAS_WIN32_NAMED_PIPES #if !defined (ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION) # define ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION EXCEPTION_CONTINUE_SEARCH @@ -544,9 +541,7 @@ # define ACE_DISABLES_THREAD_LIBRARY_CALLS 0 #endif /* ACE_DISABLES_THREAD_LIBRARY_CALLS */ -#if !defined (ACE_HAS_PHARLAP) -# define ACE_HAS_LOG_MSG_NT_EVENT_LOG -#endif /* !ACE_HAS_PHARLAP */ +#define ACE_HAS_LOG_MSG_NT_EVENT_LOG #define ACE_HAS_LLSEEK diff --git a/ACE/ace/os_include/netinet/os_in.h b/ACE/ace/os_include/netinet/os_in.h index f71e757532b05..a9bca3fe2f8e1 100644 --- a/ACE/ace/os_include/netinet/os_in.h +++ b/ACE/ace/os_include/netinet/os_in.h @@ -41,11 +41,9 @@ extern "C" #endif /* !ACE_LACKS_NETINET_IN_H */ -# if defined (ACE_HAS_PHARLAP_RT) -# define ACE_IPPROTO_TCP SOL_SOCKET -# elif !defined (ACE_IPPROTO_TCP) +# if !defined (ACE_IPPROTO_TCP) # define ACE_IPPROTO_TCP IPPROTO_TCP -# endif /* ACE_HAS_PHARLAP_RT */ +# endif /* !ACE_IPPROTO_TCP */ # if !defined (ACE_HAS_IP_MULTICAST) && defined (ACE_LACKS_IP_ADD_MEMBERSHIP) // Even if ACE_HAS_IP_MULTICAST is not defined, if IP_ADD_MEMBERSHIP diff --git a/ACE/apps/gperf/src/Options.h b/ACE/apps/gperf/src/Options.h index 1bfac29b593b1..e679193cea00d 100644 --- a/ACE/apps/gperf/src/Options.h +++ b/ACE/apps/gperf/src/Options.h @@ -71,12 +71,6 @@ enum Option_Type // g++ doesn't seem to do the right thing with them at the // moment... ;-( -// PharLap ETS defines EOS as well... so if building for ETS, clear out -// their EOS. -#if defined (ACE_HAS_PHARLAP) && defined (EOS) -# undef EOS -#endif /* ACE_HAS_PHARLAP && EOS */ - enum { MAX_KEY_POS = 128 - 1, /**< Max size of each word's key set. */ diff --git a/ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h b/ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h index b14823f17b0de..9ab9456110ebd 100644 --- a/ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h +++ b/ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h @@ -49,12 +49,7 @@ #define ACE_LOG_FILE_EXT_NAME ACE_TEXT (".log") -#if defined (ACE_HAS_PHARLAP) -const size_t ACE_MAX_CLIENTS = 4; -#else const size_t ACE_MAX_CLIENTS = 30; -#endif /* ACE_HAS_PHARLAP */ - const size_t ACE_NS_MAX_ENTRIES = 1000; const size_t ACE_DEFAULT_USECS = 1000; const size_t ACE_MAX_TIMERS = 4; @@ -170,7 +165,7 @@ inline ACE_Test_Output::~ACE_Test_Output () ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM); ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR); -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) && !defined (ACE_HAS_PHARLAP) +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) delete this->output_file_; #endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */ } @@ -184,13 +179,6 @@ ACE_Test_Output::output_file () inline int ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) { -#if defined (ACE_HAS_PHARLAP) - // For PharLap, just send it all to the host console for now - redirect - // to a file there for saving/analysis. - EtsSelectConsole(ETS_CO_HOST); - ACE_LOG_MSG->msg_ostream (&cout); - -#else ACE_TCHAR temp[MAXPATHLEN]; // Ignore the error value since the directory may already exist. const ACE_TCHAR *test_dir {}; @@ -243,8 +231,6 @@ ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) # endif /* ACE_LACKS_IOSTREAM_TOTALLY */ ACE_LOG_MSG->msg_ostream (this->output_file ()); -#endif /* ACE_HAS_PHARLAP */ - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER ); ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); diff --git a/ACE/tests/Conn_Test.cpp b/ACE/tests/Conn_Test.cpp index c44c607df256b..b44f9547a9c91 100644 --- a/ACE/tests/Conn_Test.cpp +++ b/ACE/tests/Conn_Test.cpp @@ -81,16 +81,8 @@ using CACHED_CONNECT_STRATEGY = ACE_Cached_Connect_Strategy // Default number of clients/servers. -#if defined (ACE_HAS_PHARLAP) -// PharLap is, by default, resource contrained. Test for something that works -// on the default configuration. -static int n_servers = 2; -static int n_clients = 4; -#else static int n_servers = 5; static int n_clients = 5; -#endif /* ACE_HAS_PHARLAP */ - static int n_client_iterations = 3; Svc_Handler::Svc_Handler (ACE_Thread_Manager *) diff --git a/ACE/tests/Log_Msg_Test.cpp b/ACE/tests/Log_Msg_Test.cpp index 96262570a46e5..045152faec2d5 100644 --- a/ACE/tests/Log_Msg_Test.cpp +++ b/ACE/tests/Log_Msg_Test.cpp @@ -506,7 +506,7 @@ test_ostream () 1); } -#if !defined (ACE_VXWORKS) && !defined (ACE_HAS_PHARLAP) || (defined(ACE_VXWORKS) && (ACE_VXWORKS > 0x690)) +#if !defined (ACE_VXWORKS) || (defined(ACE_VXWORKS) && (ACE_VXWORKS > 0x690)) # define TEST_CAN_UNLINK_IN_ADVANCE #endif diff --git a/ACE/tests/Test_Output.cpp b/ACE/tests/Test_Output.cpp index a886cfed6a349..664b2e5ed9002 100644 --- a/ACE/tests/Test_Output.cpp +++ b/ACE/tests/Test_Output.cpp @@ -52,8 +52,7 @@ ACE_Test_Output::~ACE_Test_Output () ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM); ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR); -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) && \ - (!defined (ACE_HAS_PHARLAP) || defined (ACE_PHARLAP_TESTLOG_TO_FILE)) +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) delete this->output_file_; #endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */ } @@ -74,13 +73,6 @@ ACE_Test_Output::output_file () int ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) { -#if defined (ACE_HAS_PHARLAP) && !defined (ACE_PHARLAP_TESTLOG_TO_FILE) - // For PharLap, just send it all to the host console for now - redirect - // to a file there for saving/analysis. - EtsSelectConsole(ETS_CO_HOST); - ACE_LOG_MSG->msg_ostream (&cout); - -#else ACE_TCHAR temp[MAXPATHLEN + 1] = { 0 }; // Ignore the error value since the directory may already exist. const ACE_TCHAR *test_dir = 0; @@ -151,8 +143,6 @@ ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) # endif /* ACE_LACKS_IOSTREAM_TOTALLY */ ACE_LOG_MSG->msg_ostream (this->output_file_, 0); -#endif /* ACE_HAS_PHARLAP && !ACE_PHARLAP_TESTLOG_TO_FILE */ - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER ); ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); diff --git a/ACE/tests/Thread_Pool_Reactor_Resume_Test.cpp b/ACE/tests/Thread_Pool_Reactor_Resume_Test.cpp index edfbcf035a7fc..04eb3fc6ec79f 100644 --- a/ACE/tests/Thread_Pool_Reactor_Resume_Test.cpp +++ b/ACE/tests/Thread_Pool_Reactor_Resume_Test.cpp @@ -56,7 +56,7 @@ static size_t svr_thrno = ACE_MAX_THREADS; // Default network parameters (MAX_BINDS and system buffers) are too small // for full test on some platforms; add platforms that can't handle too many // connection simultaneously here. -#if defined (ACE_VXWORKS) || defined (ACE_HAS_PHARLAP) +#if defined (ACE_VXWORKS) #define ACE_LOAD_FACTOR /2 #else #define ACE_LOAD_FACTOR diff --git a/ACE/tests/Thread_Pool_Reactor_Test.cpp b/ACE/tests/Thread_Pool_Reactor_Test.cpp index aa654361fba34..e792840294d00 100644 --- a/ACE/tests/Thread_Pool_Reactor_Test.cpp +++ b/ACE/tests/Thread_Pool_Reactor_Test.cpp @@ -58,7 +58,7 @@ static size_t svr_thrno = ACE_MAX_THREADS; // Default network parameters (MAX_BINDS and system buffers) are too small // for full test on some platforms; add platforms that can't handle too many // connection simultaneously here. -#if defined (ACE_VXWORKS) || defined (ACE_HAS_PHARLAP) +#if defined (ACE_VXWORKS) #define ACE_LOAD_FACTOR /2 #else #define ACE_LOAD_FACTOR diff --git a/ACE/tests/test_config.h b/ACE/tests/test_config.h index beb395d7b6e33..bcd4ecd0c3f4e 100644 --- a/ACE/tests/test_config.h +++ b/ACE/tests/test_config.h @@ -57,12 +57,7 @@ # define ACE_LOG_FILE_EXT_NAME ACE_TEXT (".log") #endif /* ACE_LOG_FILE_EXT_NAME */ -#if defined (ACE_HAS_PHARLAP) -size_t const ACE_MAX_CLIENTS = 4; -#else size_t const ACE_MAX_CLIENTS = 30; -#endif /* ACE_HAS_PHARLAP */ - size_t const ACE_NS_MAX_ENTRIES = 1000; size_t const ACE_DEFAULT_USECS = 1000; size_t const ACE_MAX_TIMERS = 4; diff --git a/TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp b/TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp index 2f3c009efb149..f98ee2e1359f8 100644 --- a/TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp +++ b/TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp @@ -52,7 +52,7 @@ ACE_Test_Output::~ACE_Test_Output () ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM); ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR); -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) && !defined (ACE_HAS_PHARLAP) +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) delete this->output_file_; #endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */ } @@ -66,13 +66,6 @@ ACE_Test_Output::output_file () int ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) { -#if defined (ACE_HAS_PHARLAP) - // For PharLap, just send it all to the host console for now - redirect - // to a file there for saving/analysis. - EtsSelectConsole(ETS_CO_HOST); - ACE_LOG_MSG->msg_ostream (&cout); - -#else ACE_TCHAR temp[MAXPATHLEN]; // Ignore the error value since the directory may already exist. const ACE_TCHAR *test_dir {}; @@ -139,8 +132,6 @@ ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) # endif /* ACE_LACKS_IOSTREAM_TOTALLY */ ACE_LOG_MSG->msg_ostream (this->output_file ()); -#endif /* ACE_HAS_PHARLAP */ - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER); ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); diff --git a/TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp b/TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp index 2f3c009efb149..f98ee2e1359f8 100644 --- a/TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp +++ b/TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp @@ -52,7 +52,7 @@ ACE_Test_Output::~ACE_Test_Output () ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM); ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR); -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) && !defined (ACE_HAS_PHARLAP) +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) delete this->output_file_; #endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */ } @@ -66,13 +66,6 @@ ACE_Test_Output::output_file () int ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) { -#if defined (ACE_HAS_PHARLAP) - // For PharLap, just send it all to the host console for now - redirect - // to a file there for saving/analysis. - EtsSelectConsole(ETS_CO_HOST); - ACE_LOG_MSG->msg_ostream (&cout); - -#else ACE_TCHAR temp[MAXPATHLEN]; // Ignore the error value since the directory may already exist. const ACE_TCHAR *test_dir {}; @@ -139,8 +132,6 @@ ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) # endif /* ACE_LACKS_IOSTREAM_TOTALLY */ ACE_LOG_MSG->msg_ostream (this->output_file ()); -#endif /* ACE_HAS_PHARLAP */ - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER); ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); diff --git a/TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp b/TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp index 2f3c009efb149..f98ee2e1359f8 100644 --- a/TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp +++ b/TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp @@ -52,7 +52,7 @@ ACE_Test_Output::~ACE_Test_Output () ACE_LOG_MSG->clr_flags (ACE_Log_Msg::OSTREAM); ACE_LOG_MSG->set_flags (ACE_Log_Msg::STDERR); -#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) && !defined (ACE_HAS_PHARLAP) +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) delete this->output_file_; #endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */ } @@ -66,13 +66,6 @@ ACE_Test_Output::output_file () int ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) { -#if defined (ACE_HAS_PHARLAP) - // For PharLap, just send it all to the host console for now - redirect - // to a file there for saving/analysis. - EtsSelectConsole(ETS_CO_HOST); - ACE_LOG_MSG->msg_ostream (&cout); - -#else ACE_TCHAR temp[MAXPATHLEN]; // Ignore the error value since the directory may already exist. const ACE_TCHAR *test_dir {}; @@ -139,8 +132,6 @@ ACE_Test_Output::set_output (const ACE_TCHAR *filename, int append) # endif /* ACE_LACKS_IOSTREAM_TOTALLY */ ACE_LOG_MSG->msg_ostream (this->output_file ()); -#endif /* ACE_HAS_PHARLAP */ - ACE_LOG_MSG->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER); ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); diff --git a/TAO/orbsvcs/tests/HTIOP/test_config.h b/TAO/orbsvcs/tests/HTIOP/test_config.h index e08ad3c0a5276..6c3b35dfd0937 100644 --- a/TAO/orbsvcs/tests/HTIOP/test_config.h +++ b/TAO/orbsvcs/tests/HTIOP/test_config.h @@ -51,12 +51,7 @@ #define ACE_LOG_FILE_EXT_NAME ACE_TEXT (".log") -#if defined (ACE_HAS_PHARLAP) -size_t const ACE_MAX_CLIENTS = 4; -#else size_t const ACE_MAX_CLIENTS = 30; -#endif /* ACE_HAS_PHARLAP */ - size_t const ACE_NS_MAX_ENTRIES = 1000; size_t const ACE_DEFAULT_USECS = 1000; size_t const ACE_MAX_TIMERS = 4; diff --git a/TAO/tao/Strategies/advanced_resource.cpp b/TAO/tao/Strategies/advanced_resource.cpp index 7a4f1bca0944b..ba09fe8cc9378 100644 --- a/TAO/tao/Strategies/advanced_resource.cpp +++ b/TAO/tao/Strategies/advanced_resource.cpp @@ -452,9 +452,7 @@ TAO_Advanced_Resource_Factory::allocate_reactor_impl () const #endif /* ACE_WIN32 */ break; -#if defined(ACE_WIN32) \ - && !defined (ACE_LACKS_MSG_WFMO) \ - && !defined (ACE_HAS_PHARLAP) +#if defined(ACE_WIN32) && !defined (ACE_LACKS_MSG_WFMO) case TAO_REACTOR_MSGWFMO: ACE_NEW_RETURN (impl, ACE_Msg_WFMO_Reactor (0, tmq.get ()), 0); break; From 7f4365e65442e6c9d482fa64f808303f1546fe68 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 15:52:25 +0100 Subject: [PATCH 105/445] Fixed cleanup mistake * ACE/ace/OS_NS_unistd.inl: --- ACE/ace/OS_NS_unistd.inl | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/ACE/ace/OS_NS_unistd.inl b/ACE/ace/OS_NS_unistd.inl index cc99a4cb98270..455192e4ee00e 100644 --- a/ACE/ace/OS_NS_unistd.inl +++ b/ACE/ace/OS_NS_unistd.inl @@ -1031,21 +1031,16 @@ ACE_OS::truncate (const ACE_TCHAR *filename, { ACE_OS_TRACE ("ACE_OS::truncate"); #if defined (ACE_WIN32) - ACE_HANDLE handle = ACE_OS::open (filename, - O_WRONLY, - ACE_DEFAULT_FILE_PERMS); + ACE_HANDLE handle = ACE_OS::open (filename, O_WRONLY, ACE_DEFAULT_FILE_PERMS); LARGE_INTEGER loffset; loffset.QuadPart = offset; if (handle == ACE_INVALID_HANDLE) - ACE_FAIL_RETURN (-1); - - else if (::SetFilePointer (handle, - low_offset, - &high_offset, - FILE_BEGIN) != INVALID_SET_FILE_POINTER - || GetLastError () == NO_ERROR) + { + ACE_FAIL_RETURN (-1); + } + else if (::SetFilePointerEx (handle, loffset, 0, FILE_BEGIN)) { BOOL result = ::SetEndOfFile (handle); ::CloseHandle (handle); From c67f33599590cf2e229da6a141fef90d0af6f034 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 15:57:28 +0100 Subject: [PATCH 106/445] Remove includes * TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp: --- .../orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp index 05a518b049cdc..f4f43bb2f1656 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp @@ -4,8 +4,6 @@ #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_unistd.h" #include "ace/os_include/os_netdb.h" -#include "ace/os_include/sys/os_pstat.h" -#include "ace/os_include/sys/os_loadavg.h" #if defined(__NetBSD__) || defined (__APPLE__) #include #endif From d90c1cb3964f254cb5e9a0de2d7f620b79750e16 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 16:01:29 +0100 Subject: [PATCH 107/445] Removed left over sun file --- ACE/ace/config-suncc-common.h | 42 ----------------------------------- 1 file changed, 42 deletions(-) delete mode 100644 ACE/ace/config-suncc-common.h diff --git a/ACE/ace/config-suncc-common.h b/ACE/ace/config-suncc-common.h deleted file mode 100644 index 75fafb245d4c7..0000000000000 --- a/ACE/ace/config-suncc-common.h +++ /dev/null @@ -1,42 +0,0 @@ -// -*- C++ -*- -#ifndef ACE_SUNCC_COMMON_H -#define ACE_SUNCC_COMMON_H -#include /**/ "ace/pre.h" - -# define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS -# define ACE_HAS_THR_C_DEST 1 -# define ACE_LACKS_SWAB -#if defined (ACE_HAS_CUSTOM_EXPORT_MACROS) && ACE_HAS_CUSTOM_EXPORT_MACROS == 0 -# undef ACE_HAS_CUSTOM_EXPORT_MACROS -#else -# ifndef ACE_HAS_CUSTOM_EXPORT_MACROS -# define ACE_HAS_CUSTOM_EXPORT_MACROS -# endif /* !ACE_HAS_CUSTOM_EXPORT_MACROS */ -# define ACE_Proper_Export_Flag __attribute__ ((visibility("default"))) -# define ACE_Proper_Import_Flag -# define ACE_EXPORT_SINGLETON_DECLARATION(T) template class ACE_Proper_Export_Flag T -# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class ACE_Proper_Export_Flag SINGLETON_TYPE ; -# define ACE_IMPORT_SINGLETON_DECLARATION(T) __extension__ extern template class T -# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) __extension__ extern template class SINGLETON_TYPE; -#endif /* ACE_HAS_CUSTOM_EXPORT_MACROS == 0 */ - -#if (defined (i386) || defined (__i386__)) && !defined (ACE_SIZEOF_LONG_DOUBLE) -# define ACE_SIZEOF_LONG_DOUBLE 12 -#endif /* i386 */ - -#if defined (i386) || defined (__i386__) - // If running an Intel, assume that it's a Pentium so that - // ACE_OS::gethrtime () can use the RDTSC instruction. If running a - // 486 or lower, be sure to comment this out. (If not running an - // Intel CPU, this #define will not be seen because of the i386 - // protection, so it can be ignored.) -# define ACE_HAS_PENTIUM -#endif /* i386 */ - -#if !defined (ACE_LACKS_PRAGMA_ONCE) - // We define it with a -D with make depend. -# define ACE_LACKS_PRAGMA_ONCE -#endif /* ! ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "ace/post.h" -#endif /* ACE_SUNCC_COMMON_H */ From 007bcf039e9226a746bffbc0dcffa892c091adbe Mon Sep 17 00:00:00 2001 From: John McCabe Date: Wed, 1 Feb 2023 16:51:54 +0000 Subject: [PATCH 108/445] Align one endif with its associated if --- ACE/ace/config-g++-common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/config-g++-common.h b/ACE/ace/config-g++-common.h index 9ab8924500766..b4c8068873469 100644 --- a/ACE/ace/config-g++-common.h +++ b/ACE/ace/config-g++-common.h @@ -31,7 +31,7 @@ # define ACE_FALLTHROUGH [[gnu::fallthrough]] # else # define ACE_FALLTHROUGH -# endif +# endif # endif #endif From ec19b2725b53eba54c4ba434d371ae569832f762 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 1 Feb 2023 18:15:12 +0100 Subject: [PATCH 109/445] Removed include * TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp: --- TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp index d991ba3551434..eb483d25b8330 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp @@ -6,7 +6,6 @@ #include "ace/OS_NS_string.h" #include "ace/OS_NS_unistd.h" #include "ace/os_include/os_netdb.h" -#include "ace/os_include/sys/os_loadavg.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL From 716ee59f4081486404adae50f46172a39518e619 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 3 Feb 2023 19:49:42 +0100 Subject: [PATCH 110/445] Make destructor default * TAO/tao/SystemException.cpp: * TAO/tao/SystemException.h: --- TAO/tao/SystemException.cpp | 4 ---- TAO/tao/SystemException.h | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/TAO/tao/SystemException.cpp b/TAO/tao/SystemException.cpp index c4df7669a0d06..9fb0157a11f43 100644 --- a/TAO/tao/SystemException.cpp +++ b/TAO/tao/SystemException.cpp @@ -86,10 +86,6 @@ CORBA::SystemException::SystemException (const CORBA::SystemException &src) { } -CORBA::SystemException::~SystemException () -{ -} - CORBA::SystemException & CORBA::SystemException::operator= (const CORBA::SystemException &src) { diff --git a/TAO/tao/SystemException.h b/TAO/tao/SystemException.h index 1aeb7636e071b..5f5fae29c2633 100644 --- a/TAO/tao/SystemException.h +++ b/TAO/tao/SystemException.h @@ -92,7 +92,7 @@ namespace CORBA SystemException (const SystemException & src); /// Destructor. - virtual ~SystemException (); + virtual ~SystemException () = default; /// Get the minor status. ULong minor () const; From 89a05c65fd627673f0bcc260b990257dcf30150c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 3 Feb 2023 19:49:52 +0100 Subject: [PATCH 111/445] Use nullptr * ACE/ace/Time_Policy.h: * ACE/ace/Time_Policy.inl: --- ACE/ace/Time_Policy.h | 2 +- ACE/ace/Time_Policy.inl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/ace/Time_Policy.h b/ACE/ace/Time_Policy.h index b50d0594a4de8..41a42eb1c39e0 100644 --- a/ACE/ace/Time_Policy.h +++ b/ACE/ace/Time_Policy.h @@ -108,7 +108,7 @@ class ACE_Dynamic_Time_Policy_Base; // forward decl class ACE_Export ACE_Delegating_Time_Policy { public: - ACE_Delegating_Time_Policy (ACE_Dynamic_Time_Policy_Base const * delegate = 0); + ACE_Delegating_Time_Policy (ACE_Dynamic_Time_Policy_Base const * delegate = nullptr); /// Return the current time according to this policy ACE_Time_Value_T operator()() const; diff --git a/ACE/ace/Time_Policy.inl b/ACE/ace/Time_Policy.inl index f057ed3a0f714..52fe49f1f27c9 100644 --- a/ACE/ace/Time_Policy.inl +++ b/ACE/ace/Time_Policy.inl @@ -76,7 +76,7 @@ ACE_Delegating_Time_Policy::set_gettimeofday (ACE_Time_Value (*)()) ACE_INLINE void ACE_Delegating_Time_Policy::set_delegate (ACE_Dynamic_Time_Policy_Base const * delegate) { - if (delegate != 0) + if (delegate) { this->delegate_ = delegate; } From 322d0a3e30d2e608108e0d7caf6bdcddbd728081 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 11:42:23 +0100 Subject: [PATCH 112/445] Major cleanup in PortableServer library --- .../Active_Policy_Strategies.cpp | 320 ++++++++++-------- .../PortableServer/Active_Policy_Strategies.h | 54 +-- .../Active_Policy_Strategies.inl | 16 +- .../Default_Servant_Dispatcher.h | 6 +- TAO/tao/PortableServer/IdAssignmentPolicy.h | 4 +- .../PortableServer/IdAssignmentStrategy.cpp | 10 - TAO/tao/PortableServer/IdAssignmentStrategy.h | 10 +- .../IdAssignmentStrategyFactory.h | 47 --- .../IdAssignmentStrategyFactoryImpl.cpp | 64 ---- .../IdAssignmentStrategyFactoryImpl.h | 49 --- .../IdAssignmentStrategySystem.cpp | 13 - .../IdAssignmentStrategySystem.h | 15 +- .../IdAssignmentStrategyUser.cpp | 13 - .../PortableServer/IdAssignmentStrategyUser.h | 15 +- TAO/tao/PortableServer/IdUniquenessPolicy.cpp | 2 +- TAO/tao/PortableServer/IdUniquenessPolicy.h | 4 +- .../PortableServer/IdUniquenessStrategy.cpp | 23 ++ TAO/tao/PortableServer/IdUniquenessStrategy.h | 20 +- .../IdUniquenessStrategyFactory.h | 48 --- .../IdUniquenessStrategyFactoryImpl.cpp | 93 ----- .../IdUniquenessStrategyFactoryImpl.h | 48 --- .../IdUniquenessStrategyMultiple.cpp | 20 -- .../IdUniquenessStrategyMultiple.h | 23 +- .../IdUniquenessStrategyUnique.cpp | 27 +- .../IdUniquenessStrategyUnique.h | 27 +- .../IdUniquenessStrategyUniqueFactoryImpl.cpp | 59 ---- .../IdUniquenessStrategyUniqueFactoryImpl.h | 48 --- .../ImplicitActivationStrategy.cpp | 23 -- .../ImplicitActivationStrategy.h | 8 +- .../ImplicitActivationStrategyExplicit.cpp | 13 - .../ImplicitActivationStrategyExplicit.h | 14 +- .../ImplicitActivationStrategyFactory.h | 47 --- .../ImplicitActivationStrategyFactoryImpl.cpp | 67 ---- .../ImplicitActivationStrategyFactoryImpl.h | 49 --- .../ImplicitActivationStrategyImplicit.cpp | 13 - .../ImplicitActivationStrategyImplicit.h | 13 +- TAO/tao/PortableServer/LifespanStrategy.cpp | 7 +- TAO/tao/PortableServer/LifespanStrategy.h | 13 +- .../PortableServer/LifespanStrategyFactory.h | 48 --- .../LifespanStrategyFactoryImpl.cpp | 90 ----- .../LifespanStrategyFactoryImpl.h | 50 --- .../LifespanStrategyPersistent.cpp | 6 - .../LifespanStrategyPersistent.h | 23 +- .../LifespanStrategyPersistentFactoryImpl.cpp | 58 ---- .../LifespanStrategyPersistentFactoryImpl.h | 50 --- .../LifespanStrategyTransient.cpp | 6 - .../LifespanStrategyTransient.h | 25 +- .../LifespanStrategyTransientFactoryImpl.cpp | 59 ---- .../LifespanStrategyTransientFactoryImpl.h | 51 --- TAO/tao/PortableServer/Object_Adapter.cpp | 19 +- TAO/tao/PortableServer/Object_Adapter.h | 4 +- TAO/tao/PortableServer/Object_Adapter.inl | 4 +- TAO/tao/PortableServer/Policy_Strategy.h | 47 --- TAO/tao/PortableServer/PortableServer.cpp | 141 +------- TAO/tao/PortableServer/Regular_POA.cpp | 4 - TAO/tao/PortableServer/Regular_POA.h | 10 +- .../RequestProcessingStrategy.cpp | 22 +- .../RequestProcessingStrategy.h | 22 +- .../RequestProcessingStrategyAOMOnly.cpp | 15 +- .../RequestProcessingStrategyAOMOnly.h | 47 ++- ...stProcessingStrategyAOMOnlyFactoryImpl.cpp | 61 ---- ...uestProcessingStrategyAOMOnlyFactoryImpl.h | 51 --- ...equestProcessingStrategyDefaultServant.cpp | 35 +- .../RequestProcessingStrategyDefaultServant.h | 46 ++- ...uestProcessingStrategyDefaultServantFI.cpp | 68 ---- ...equestProcessingStrategyDefaultServantFI.h | 54 --- .../RequestProcessingStrategyFactory.h | 50 --- .../RequestProcessingStrategyFactoryImpl.cpp | 141 -------- .../RequestProcessingStrategyFactoryImpl.h | 50 --- ...uestProcessingStrategyServantActivator.cpp | 13 +- ...equestProcessingStrategyServantActivator.h | 28 +- ...stProcessingStrategyServantActivatorFI.cpp | 80 ----- ...uestProcessingStrategyServantActivatorFI.h | 54 --- ...equestProcessingStrategyServantLocator.cpp | 13 +- .../RequestProcessingStrategyServantLocator.h | 26 +- ...uestProcessingStrategyServantLocatorFI.cpp | 81 ----- ...equestProcessingStrategyServantLocatorFI.h | 54 --- ...equestProcessingStrategyServantManager.cpp | 10 - .../RequestProcessingStrategyServantManager.h | 19 +- TAO/tao/PortableServer/Root_POA.cpp | 12 +- TAO/tao/PortableServer/Root_POA.h | 4 +- .../ServantRetentionStrategy.cpp | 23 ++ .../PortableServer/ServantRetentionStrategy.h | 13 +- .../ServantRetentionStrategyFactory.h | 47 --- .../ServantRetentionStrategyFactoryImpl.cpp | 95 ------ .../ServantRetentionStrategyFactoryImpl.h | 48 --- .../ServantRetentionStrategyNonRetain.cpp | 12 +- .../ServantRetentionStrategyNonRetain.h | 75 ++-- ...tRetentionStrategyNonRetainFactoryImpl.cpp | 65 ---- ...antRetentionStrategyNonRetainFactoryImpl.h | 52 --- .../ServantRetentionStrategyRetain.cpp | 20 +- .../ServantRetentionStrategyRetain.h | 78 ++--- ...vantRetentionStrategyRetainFactoryImpl.cpp | 60 ---- ...ervantRetentionStrategyRetainFactoryImpl.h | 49 --- TAO/tao/PortableServer/Servant_Location.h | 16 +- TAO/tao/PortableServer/Servant_Upcall.cpp | 2 +- TAO/tao/PortableServer/ThreadStrategy.cpp | 21 -- TAO/tao/PortableServer/ThreadStrategy.h | 13 +- .../PortableServer/ThreadStrategyFactory.h | 49 --- .../ThreadStrategyFactoryImpl.cpp | 95 ------ .../ThreadStrategyFactoryImpl.h | 48 --- .../ThreadStrategyORBControl.cpp | 18 - .../PortableServer/ThreadStrategyORBControl.h | 12 +- .../PortableServer/ThreadStrategySingle.cpp | 19 -- TAO/tao/PortableServer/ThreadStrategySingle.h | 8 +- .../ThreadStrategySingleFactoryImpl.cpp | 64 ---- .../ThreadStrategySingleFactoryImpl.h | 52 --- 107 files changed, 561 insertions(+), 3589 deletions(-) delete mode 100644 TAO/tao/PortableServer/IdAssignmentStrategyFactory.h delete mode 100644 TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.h create mode 100644 TAO/tao/PortableServer/IdUniquenessStrategy.cpp delete mode 100644 TAO/tao/PortableServer/IdUniquenessStrategyFactory.h delete mode 100644 TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/ImplicitActivationStrategy.cpp delete mode 100644 TAO/tao/PortableServer/ImplicitActivationStrategyFactory.h delete mode 100644 TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/LifespanStrategyFactory.h delete mode 100644 TAO/tao/PortableServer/LifespanStrategyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/LifespanStrategyFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/Policy_Strategy.h delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.cpp delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyFactory.h delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.cpp delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.cpp delete mode 100644 TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h create mode 100644 TAO/tao/PortableServer/ServantRetentionStrategy.cpp delete mode 100644 TAO/tao/PortableServer/ServantRetentionStrategyFactory.h delete mode 100644 TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/ThreadStrategy.cpp delete mode 100644 TAO/tao/PortableServer/ThreadStrategyFactory.h delete mode 100644 TAO/tao/PortableServer/ThreadStrategyFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/ThreadStrategyFactoryImpl.h delete mode 100644 TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.cpp delete mode 100644 TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.h diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.cpp b/TAO/tao/PortableServer/Active_Policy_Strategies.cpp index cbb9434cf714f..b457efcdc4f25 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.cpp +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.cpp @@ -2,31 +2,22 @@ #include "tao/PortableServer/Active_Policy_Strategies.h" #include "tao/PortableServer/POA_Cached_Policies.h" -#include "tao/PortableServer/ThreadStrategy.h" -#include "tao/PortableServer/ThreadStrategyFactory.h" -#include "tao/PortableServer/RequestProcessingStrategy.h" -#include "tao/PortableServer/RequestProcessingStrategyFactory.h" -#include "tao/PortableServer/IdAssignmentStrategy.h" -#include "tao/PortableServer/IdAssignmentStrategyFactory.h" -#include "tao/PortableServer/LifespanStrategy.h" -#include "tao/PortableServer/LifespanStrategyFactory.h" -#include "tao/PortableServer/IdUniquenessStrategy.h" -#include "tao/PortableServer/IdUniquenessStrategyFactory.h" -#include "tao/PortableServer/ImplicitActivationStrategy.h" -#include "tao/PortableServer/ImplicitActivationStrategyFactory.h" -#include "tao/PortableServer/ServantRetentionStrategy.h" -#include "tao/PortableServer/ServantRetentionStrategyFactory.h" - -#include "tao/PortableServer/IdAssignmentPolicyC.h" -#include "tao/PortableServer/IdUniquenessPolicyC.h" -#include "tao/PortableServer/ImplicitActivationPolicyC.h" -#include "tao/PortableServer/LifespanPolicyC.h" -#include "tao/PortableServer/RequestProcessingPolicyC.h" -#include "tao/PortableServer/ServantRetentionPolicyC.h" -#include "tao/PortableServer/ThreadPolicyC.h" -#include "tao/PortableServer/ServantRetentionPolicyC.h" - -#include "ace/Dynamic_Service.h" +#include "tao/PortableServer/ThreadStrategySingle.h" +#include "tao/PortableServer/ThreadStrategyORBControl.h" +#include "tao/PortableServer/IdAssignmentStrategySystem.h" +#include "tao/PortableServer/IdAssignmentStrategyUser.h" +#include "tao/PortableServer/IdUniquenessStrategyMultiple.h" +#include "tao/PortableServer/IdUniquenessStrategyUnique.h" +#include "tao/PortableServer/ImplicitActivationStrategyExplicit.h" +#include "tao/PortableServer/ImplicitActivationStrategyImplicit.h" +#include "tao/PortableServer/LifespanStrategyPersistent.h" +#include "tao/PortableServer/LifespanStrategyTransient.h" +#include "tao/PortableServer/RequestProcessingStrategyAOMOnly.h" +#include "tao/PortableServer/RequestProcessingStrategyDefaultServant.h" +#include "tao/PortableServer/RequestProcessingStrategyServantLocator.h" +#include "tao/PortableServer/RequestProcessingStrategyServantActivator.h" +#include "tao/PortableServer/ServantRetentionStrategyNonRetain.h" +#include "tao/PortableServer/ServantRetentionStrategyRetain.h" #if !defined (__ACE_INLINE__) # include "tao/PortableServer/Active_Policy_Strategies.inl" @@ -38,91 +29,19 @@ namespace TAO { namespace Portable_Server { - Active_Policy_Strategies::Active_Policy_Strategies () - : thread_strategy_ (0), - request_processing_strategy_ (0), - id_assignment_strategy_ (0), - lifespan_strategy_ (0), - id_uniqueness_strategy_ (0), - implicit_activation_strategy_ (0), - servant_retention_strategy_ (0), - thread_strategy_factory_ (0), - servant_retention_strategy_factory_ (0), - request_processing_strategy_factory_ (0), - lifespan_strategy_factory_ (0), - implicit_activation_strategy_factory_ (0), - id_uniqueness_strategy_factory_ (0), - id_assignment_strategy_factory_ (0) - { - } - void Active_Policy_Strategies::update (Cached_Policies &policies, ::TAO_Root_POA *poa) { - this->thread_strategy_factory_ = - ACE_Dynamic_Service::instance ("ThreadStrategyFactory"); - - if (this->thread_strategy_factory_ != 0) - this->thread_strategy_ = - this->thread_strategy_factory_->create (policies.thread()); + this->create (policies.thread()); + this->create (policies.id_assignment()); + this->create (policies.id_uniqueness()); + this->create (policies.servant_retention()); + this->create (policies.lifespan()); + this->create (policies.implicit_activation()); + this->create (policies.request_processing(), policies.servant_retention()); /**/ - - this->id_assignment_strategy_factory_ = - ACE_Dynamic_Service::instance ("IdAssignmentStrategyFactory"); - - if (this->id_assignment_strategy_factory_ != 0) - this->id_assignment_strategy_ = - this->id_assignment_strategy_factory_->create (policies.id_assignment()); - - /**/ - - this->id_uniqueness_strategy_factory_ = - ACE_Dynamic_Service::instance ("IdUniquenessStrategyFactory"); - - if (this->id_uniqueness_strategy_factory_ != 0) - this->id_uniqueness_strategy_ = - this->id_uniqueness_strategy_factory_->create (policies.id_uniqueness()); - - /**/ - - this->servant_retention_strategy_factory_ = - ACE_Dynamic_Service::instance ("ServantRetentionStrategyFactory"); - - if (this->servant_retention_strategy_factory_ != 0) - this->servant_retention_strategy_ = - this->servant_retention_strategy_factory_->create (policies.servant_retention()); - - /**/ - - this->request_processing_strategy_factory_ = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyFactory"); - - if (this->request_processing_strategy_factory_ != 0) - this->request_processing_strategy_ = - this->request_processing_strategy_factory_->create (policies.request_processing(), policies.servant_retention()); - - /**/ - - this->lifespan_strategy_factory_ = - ACE_Dynamic_Service::instance ("LifespanStrategyFactory"); - - if (this->lifespan_strategy_factory_ != 0) - this->lifespan_strategy_ = - this->lifespan_strategy_factory_->create (policies.lifespan()); - - /**/ - - this->implicit_activation_strategy_factory_ = - ACE_Dynamic_Service::instance ("ImplicitActivationStrategyFactory"); - - if (this->implicit_activation_strategy_factory_ != 0) - this->implicit_activation_strategy_ = - this->implicit_activation_strategy_factory_->create (policies.implicit_activation()); - - /**/ - if (this->lifespan_strategy_ != 0) { this->lifespan_strategy_->strategy_init (poa); @@ -130,7 +49,7 @@ namespace TAO if (this->request_processing_strategy_ != 0) { - this->request_processing_strategy_->strategy_init (poa, policies.servant_retention()); + this->request_processing_strategy_->strategy_init (poa); } if (this->id_uniqueness_strategy_ != 0) @@ -138,78 +57,189 @@ namespace TAO this->id_uniqueness_strategy_->strategy_init (poa); } - if (this->implicit_activation_strategy_ != 0) + if (this->servant_retention_strategy_ != 0) { - this->implicit_activation_strategy_->strategy_init (poa); + this->servant_retention_strategy_->strategy_init (poa); } + } + + void + Active_Policy_Strategies::cleanup () + { + this->lifespan_strategy_->strategy_cleanup (); + this->lifespan_strategy_.reset (nullptr); + this->request_processing_strategy_->strategy_cleanup (); + this->request_processing_strategy_.reset (nullptr); + this->id_uniqueness_strategy_->strategy_cleanup (); + this->id_uniqueness_strategy_.reset (nullptr); + this->implicit_activation_strategy_.reset (nullptr); + this->thread_strategy_.reset (nullptr); + this->servant_retention_strategy_->strategy_cleanup (); + this->servant_retention_strategy_.reset (nullptr); + this->id_assignment_strategy_.reset (nullptr); + } - if (this->thread_strategy_ != 0) + void + Active_Policy_Strategies::create (::PortableServer::ThreadPolicyValue value) + { + switch (value) + { + case ::PortableServer::SINGLE_THREAD_MODEL : { - this->thread_strategy_->strategy_init (poa); +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) + this->thread_strategy_.reset (new ThreadStrategySingle ()); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + break; } - - if (this->servant_retention_strategy_ != 0) + case ::PortableServer::ORB_CTRL_MODEL : { - this->servant_retention_strategy_->strategy_init (poa); + this->thread_strategy_.reset (new ThreadStrategyORBControl ()); + break; } + } + } - if (this->id_assignment_strategy_ != 0) + void + Active_Policy_Strategies::create (::PortableServer::IdAssignmentPolicyValue value) + { + switch (value) + { + case ::PortableServer::SYSTEM_ID : + { + this->id_assignment_strategy_.reset (new IdAssignmentStrategySystem ()); + break; + } + case ::PortableServer::USER_ID : { - this->id_assignment_strategy_->strategy_init (poa); +#if !defined (CORBA_E_MICRO) + this->id_assignment_strategy_.reset (new IdAssignmentStrategyUser ()); +#endif /* CORBA_E_MICRO */ + break; } + } } void - Active_Policy_Strategies::cleanup () + Active_Policy_Strategies::create (::PortableServer::IdUniquenessPolicyValue value) { - if (this->lifespan_strategy_ != 0) + switch (value) + { + case ::PortableServer::MULTIPLE_ID : { - this->lifespan_strategy_factory_->destroy (lifespan_strategy_); - - this->lifespan_strategy_ = 0; +#if !defined (CORBA_E_MICRO) + this->id_uniqueness_strategy_.reset (new IdUniquenessStrategyMultiple ()); +#endif /* CORBA_E_MICRO */ + break; } - - if (this->request_processing_strategy_ != 0) + case ::PortableServer::UNIQUE_ID : { - this->request_processing_strategy_factory_->destroy (request_processing_strategy_); - - this->request_processing_strategy_ = 0; + this->id_uniqueness_strategy_.reset (new IdUniquenessStrategyUnique ()); + break; } + } + } - if (this->id_uniqueness_strategy_ != 0) + void + Active_Policy_Strategies::create (::PortableServer::ServantRetentionPolicyValue value) + { + switch (value) + { + case ::PortableServer::RETAIN : { - this->id_uniqueness_strategy_factory_->destroy (id_uniqueness_strategy_); - - this->id_uniqueness_strategy_ = 0; + this->servant_retention_strategy_.reset (new ServantRetentionStrategyRetain ()); + break; } - - if (this->implicit_activation_strategy_ != 0) + case ::PortableServer::NON_RETAIN : { - this->implicit_activation_strategy_factory_->destroy (implicit_activation_strategy_); - - this->implicit_activation_strategy_ = 0; +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) + this->servant_retention_strategy_.reset (new ServantRetentionStrategyNonRetain ()); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + break; } + } + } - if (this->thread_strategy_ != 0) + void + Active_Policy_Strategies::create (::PortableServer::LifespanPolicyValue value) + { + switch (value) + { + case ::PortableServer::PERSISTENT : { - this->thread_strategy_factory_->destroy (thread_strategy_); - - this->thread_strategy_ = 0; +#if !defined (CORBA_E_MICRO) + this->lifespan_strategy_.reset (new LifespanStrategyPersistent ()); +#endif /* CORBA_E_MICRO */ + break; } - - if (this->servant_retention_strategy_ != 0) + case ::PortableServer::TRANSIENT : { - this->servant_retention_strategy_factory_->destroy (servant_retention_strategy_); - - this->servant_retention_strategy_ = 0; + this->lifespan_strategy_.reset (new LifespanStrategyTransient ()); + break; } + } + } - if (this->id_assignment_strategy_ != 0) + void + Active_Policy_Strategies::create (::PortableServer::ImplicitActivationPolicyValue value) + { + switch (value) + { + case ::PortableServer::IMPLICIT_ACTIVATION : + { +#if !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) + this->implicit_activation_strategy_.reset (new ImplicitActivationStrategyImplicit ()); +#endif /* CORBA_E_MICRO */ + break; + } + case ::PortableServer::NO_IMPLICIT_ACTIVATION : { - this->id_assignment_strategy_factory_->destroy (id_assignment_strategy_); + this->implicit_activation_strategy_.reset (new ImplicitActivationStrategyExplicit ()); + break; + } + } + } - this->id_assignment_strategy_ = 0; + void + Active_Policy_Strategies::create ( + ::PortableServer::RequestProcessingPolicyValue value, + ::PortableServer::ServantRetentionPolicyValue srvalue) + { + switch (value) + { + case ::PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY : + { + this->request_processing_strategy_.reset (new RequestProcessingStrategyAOMOnly ()); + break; + } + case ::PortableServer::USE_DEFAULT_SERVANT : + { +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + this->request_processing_strategy_.reset (new RequestProcessingStrategyDefaultServant ()); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + break; + } + case ::PortableServer::USE_SERVANT_MANAGER : + { + switch (srvalue) + { + case ::PortableServer::RETAIN : + { +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + this->request_processing_strategy_.reset (new RequestProcessingStrategyServantActivator ()); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + break; + } + case ::PortableServer::NON_RETAIN : + { +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + this->request_processing_strategy_.reset (new RequestProcessingStrategyServantLocator ()); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + break; + } + } + break; } + } } } } diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.h b/TAO/tao/PortableServer/Active_Policy_Strategies.h index b683ed244eb44..f05fbba535c4d 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.h +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.h @@ -14,11 +14,20 @@ #include /**/ "ace/pre.h" #include "tao/orbconf.h" +#include #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/PortableServer/ThreadPolicyC.h" +#include "tao/PortableServer/IdAssignmentPolicyC.h" +#include "tao/PortableServer/IdUniquenessPolicyC.h" +#include "tao/PortableServer/ServantRetentionPolicyC.h" +#include "tao/PortableServer/LifespanPolicyC.h" +#include "tao/PortableServer/ImplicitActivationPolicyC.h" +#include "tao/PortableServer/RequestProcessingPolicyC.h" + TAO_BEGIN_VERSIONED_NAMESPACE_DECL class TAO_Root_POA; @@ -36,24 +45,15 @@ namespace TAO class ImplicitActivationStrategy; class ServantRetentionStrategy; - class ThreadStrategyFactory; - class ServantRetentionStrategyFactory; - class RequestProcessingStrategyFactory; - class LifespanStrategyFactory; - class ImplicitActivationStrategyFactory; - class IdUniquenessStrategyFactory; - class IdAssignmentStrategyFactory; - /** * This class stores the active policy strategies used for a certain POA. */ class Active_Policy_Strategies { public: - Active_Policy_Strategies (); + Active_Policy_Strategies () = default; - void update (Cached_Policies &policies, - TAO_Root_POA* poa); + void update (Cached_Policies &policies, TAO_Root_POA* poa); void cleanup (); @@ -72,21 +72,22 @@ namespace TAO ServantRetentionStrategy *servant_retention_strategy () const; private: - ThreadStrategy *thread_strategy_; - RequestProcessingStrategy *request_processing_strategy_; - IdAssignmentStrategy *id_assignment_strategy_; - LifespanStrategy *lifespan_strategy_; - IdUniquenessStrategy *id_uniqueness_strategy_; - ImplicitActivationStrategy *implicit_activation_strategy_; - ServantRetentionStrategy *servant_retention_strategy_; - - ThreadStrategyFactory *thread_strategy_factory_; - ServantRetentionStrategyFactory *servant_retention_strategy_factory_; - RequestProcessingStrategyFactory *request_processing_strategy_factory_; - LifespanStrategyFactory *lifespan_strategy_factory_; - ImplicitActivationStrategyFactory *implicit_activation_strategy_factory_; - IdUniquenessStrategyFactory *id_uniqueness_strategy_factory_; - IdAssignmentStrategyFactory *id_assignment_strategy_factory_; + void create (::PortableServer::ThreadPolicyValue value); + void create (::PortableServer::IdAssignmentPolicyValue value); + void create (::PortableServer::IdUniquenessPolicyValue value); + void create (::PortableServer::ServantRetentionPolicyValue value); + void create (::PortableServer::LifespanPolicyValue value); + void create (::PortableServer::ImplicitActivationPolicyValue value); + void create (::PortableServer::RequestProcessingPolicyValue value, ::PortableServer::ServantRetentionPolicyValue srvalue); + + private: + std::unique_ptr thread_strategy_ {}; + std::unique_ptr id_assignment_strategy_ {}; + std::unique_ptr id_uniqueness_strategy_ {}; + std::unique_ptr servant_retention_strategy_ {}; + std::unique_ptr lifespan_strategy_ {}; + std::unique_ptr implicit_activation_strategy_ {}; + std::unique_ptr request_processing_strategy_ {}; }; /** @@ -96,6 +97,7 @@ namespace TAO class Active_Policy_Strategies_Cleanup_Guard { public: + Active_Policy_Strategies_Cleanup_Guard () = delete; Active_Policy_Strategies_Cleanup_Guard (Active_Policy_Strategies *p); ~Active_Policy_Strategies_Cleanup_Guard (); diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.inl b/TAO/tao/PortableServer/Active_Policy_Strategies.inl index b28b53ea4a54d..0f1e51fb0eb42 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.inl +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.inl @@ -9,49 +9,49 @@ namespace TAO ThreadStrategy* Active_Policy_Strategies::thread_strategy () const { - return this->thread_strategy_; + return this->thread_strategy_.get (); } ACE_INLINE RequestProcessingStrategy* Active_Policy_Strategies::request_processing_strategy () const { - return this->request_processing_strategy_; + return this->request_processing_strategy_.get (); } ACE_INLINE IdAssignmentStrategy * Active_Policy_Strategies::id_assignment_strategy () const { - return this->id_assignment_strategy_; + return this->id_assignment_strategy_. get (); } ACE_INLINE IdUniquenessStrategy * Active_Policy_Strategies::id_uniqueness_strategy () const { - return this->id_uniqueness_strategy_; + return this->id_uniqueness_strategy_.get (); } ACE_INLINE LifespanStrategy* Active_Policy_Strategies::lifespan_strategy () const { - return this->lifespan_strategy_; + return this->lifespan_strategy_. get(); } ACE_INLINE ImplicitActivationStrategy* Active_Policy_Strategies::implicit_activation_strategy () const { - return this->implicit_activation_strategy_; + return this->implicit_activation_strategy_.get (); } ACE_INLINE ServantRetentionStrategy* Active_Policy_Strategies::servant_retention_strategy () const { - return this->servant_retention_strategy_; + return this->servant_retention_strategy_.get (); } ACE_INLINE @@ -76,7 +76,7 @@ namespace TAO Active_Policy_Strategies_Cleanup_Guard::_retn () { Active_Policy_Strategies *temp = this->ptr_; - this->ptr_ = 0; + this->ptr_ = nullptr; return temp; } } diff --git a/TAO/tao/PortableServer/Default_Servant_Dispatcher.h b/TAO/tao/PortableServer/Default_Servant_Dispatcher.h index a77043c28d2ee..d4d6a333a86b3 100644 --- a/TAO/tao/PortableServer/Default_Servant_Dispatcher.h +++ b/TAO/tao/PortableServer/Default_Servant_Dispatcher.h @@ -8,8 +8,8 @@ */ //============================================================================= -#ifndef TAO_DEFAULT_SERVANT_DISPATCHER_H -#define TAO_DEFAULT_SERVANT_DISPATCHER_H +#ifndef Default_Servant_DISPATCHER_H +#define Default_Servant_DISPATCHER_H #include /**/ "ace/pre.h" #include "tao/PortableServer/portableserver_export.h" @@ -68,4 +68,4 @@ class TAO_PortableServer_Export TAO_Default_Servant_Dispatcher TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" -#endif /* TAO_DEFAULT_SERVANT_DISPATCHER_H */ +#endif /* Default_Servant_DISPATCHER_H */ diff --git a/TAO/tao/PortableServer/IdAssignmentPolicy.h b/TAO/tao/PortableServer/IdAssignmentPolicy.h index 82686e026dcd8..bef8f68e0b570 100644 --- a/TAO/tao/PortableServer/IdAssignmentPolicy.h +++ b/TAO/tao/PortableServer/IdAssignmentPolicy.h @@ -52,10 +52,10 @@ namespace TAO CORBA::PolicyType policy_type (); /// Return the cached policy type for this policy. - virtual TAO_Cached_Policy_Type _tao_cached_type () const; + TAO_Cached_Policy_Type _tao_cached_type () const override; /// Returns the scope at which this policy can be applied. See orbconf.h. - virtual TAO_Policy_Scope _tao_scope () const; + TAO_Policy_Scope _tao_scope () const override; private: ::PortableServer::IdAssignmentPolicyValue value_; diff --git a/TAO/tao/PortableServer/IdAssignmentStrategy.cpp b/TAO/tao/PortableServer/IdAssignmentStrategy.cpp index 100a129d2089d..bd03e9693d6a9 100644 --- a/TAO/tao/PortableServer/IdAssignmentStrategy.cpp +++ b/TAO/tao/PortableServer/IdAssignmentStrategy.cpp @@ -6,16 +6,6 @@ namespace TAO { namespace Portable_Server { - void - IdAssignmentStrategy::strategy_init (TAO_Root_POA * /*poa*/) - { - } - - void - IdAssignmentStrategy::strategy_cleanup() - { - } - char IdAssignmentStrategy::key_type_length () const { diff --git a/TAO/tao/PortableServer/IdAssignmentStrategy.h b/TAO/tao/PortableServer/IdAssignmentStrategy.h index dca18216db154..5f4e1ce6e5f53 100644 --- a/TAO/tao/PortableServer/IdAssignmentStrategy.h +++ b/TAO/tao/PortableServer/IdAssignmentStrategy.h @@ -12,14 +12,12 @@ #define TAO_ID_ASSIGNMENT_STRATEGY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/Policy_Strategy.h" +#include "tao/Basic_Types.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/Basic_Types.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO @@ -27,12 +25,10 @@ namespace TAO namespace Portable_Server { class IdAssignmentStrategy - : public Policy_Strategy { public: - virtual void strategy_init(TAO_Root_POA *poa); - - virtual void strategy_cleanup(); + IdAssignmentStrategy () = default; + virtual ~IdAssignmentStrategy () = default; /** * Returns the key type the says which specific policy we have diff --git a/TAO/tao/PortableServer/IdAssignmentStrategyFactory.h b/TAO/tao/PortableServer/IdAssignmentStrategyFactory.h deleted file mode 100644 index ceab91a8dc7ef..0000000000000 --- a/TAO/tao/PortableServer/IdAssignmentStrategyFactory.h +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IdAssignmentStrategyFactory.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_IDASSIGNMENTSTRATEGYFACTORY_H -#define TAO_PORTABLESERVER_IDASSIGNMENTSTRATEGYFACTORY_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/StrategyFactory.h" -#include "tao/PortableServer/IdAssignmentPolicyC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class IdAssignmentStrategy; - - class TAO_PortableServer_Export IdAssignmentStrategyFactory - : public StrategyFactory - { - public: - /// Create a new servant retention strategy - virtual IdAssignmentStrategy* create (::PortableServer::IdAssignmentPolicyValue value) = 0; - - virtual void destroy (IdAssignmentStrategy *strategy) = 0; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_IDASSIGNMENTSTRATEGYFACTORY_H */ diff --git a/TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.cpp b/TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.cpp deleted file mode 100644 index e2d04886b1086..0000000000000 --- a/TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "tao/PortableServer/IdAssignmentStrategyFactoryImpl.h" -#include "tao/PortableServer/IdAssignmentStrategy.h" -#include "ace/Dynamic_Service.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - IdAssignmentStrategy * - IdAssignmentStrategyFactoryImpl::create ( - ::PortableServer::IdAssignmentPolicyValue value) - { - IdAssignmentStrategy *strategy = 0; - const char *strategy_name = 0; - - switch (value) - { - case ::PortableServer::SYSTEM_ID : - { - strategy_name = "IdAssignmentStrategySystem"; - break; - } - case ::PortableServer::USER_ID : - { - strategy_name = "IdAssignmentStrategyUser"; - break; - } - } - - strategy = - ACE_Dynamic_Service ::instance (strategy_name); - - if (strategy == 0) - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) ERROR, Unable to get %C\n"), - strategy_name)); - - return strategy; - } - - void - IdAssignmentStrategyFactoryImpl::destroy (IdAssignmentStrategy *) - { - // Noop because both types are singletons - } - - } -} - -ACE_STATIC_SVC_DEFINE ( - IdAssignmentStrategyFactoryImpl, - ACE_TEXT ("IdAssignmentStrategyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (IdAssignmentStrategyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - IdAssignmentStrategyFactoryImpl, - TAO::Portable_Server::IdAssignmentStrategyFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.h b/TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.h deleted file mode 100644 index d0f6422420242..0000000000000 --- a/TAO/tao/PortableServer/IdAssignmentStrategyFactoryImpl.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IdAssignmentStrategyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_IDASSIGNMENTSTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_IDASSIGNMENTSTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/IdAssignmentStrategyFactory.h" -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export IdAssignmentStrategyFactoryImpl - : public IdAssignmentStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual IdAssignmentStrategy* create (::PortableServer::IdAssignmentPolicyValue value); - - virtual void destroy (IdAssignmentStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, IdAssignmentStrategyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, IdAssignmentStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PORTABLESERVER_IDASSIGNMENTSTRATEGYFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/IdAssignmentStrategySystem.cpp b/TAO/tao/PortableServer/IdAssignmentStrategySystem.cpp index 30d87e69e9fa2..49c84bd15b345 100644 --- a/TAO/tao/PortableServer/IdAssignmentStrategySystem.cpp +++ b/TAO/tao/PortableServer/IdAssignmentStrategySystem.cpp @@ -21,18 +21,5 @@ namespace TAO } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - IdAssignmentStrategySystem, - TAO::Portable_Server::IdAssignmentStrategySystem) - -ACE_STATIC_SVC_DEFINE ( - IdAssignmentStrategySystem, - ACE_TEXT ("IdAssignmentStrategySystem"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (IdAssignmentStrategySystem), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/IdAssignmentStrategySystem.h b/TAO/tao/PortableServer/IdAssignmentStrategySystem.h index 7ee2acb36f43c..8b05e5b8eca46 100644 --- a/TAO/tao/PortableServer/IdAssignmentStrategySystem.h +++ b/TAO/tao/PortableServer/IdAssignmentStrategySystem.h @@ -12,35 +12,28 @@ #define TAO_IDASSIGNMENTSTRATEGYSYSTEM_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/IdAssignmentStrategy.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/IdAssignmentStrategy.h" -#include "ace/Service_Config.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO { namespace Portable_Server { - class IdAssignmentStrategySystem - : public IdAssignmentStrategy + class IdAssignmentStrategySystem : public IdAssignmentStrategy { public: - virtual char id_assignment_key_type () const; + char id_assignment_key_type () const override; - virtual bool has_system_id () const; + bool has_system_id () const override; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, IdAssignmentStrategySystem) -ACE_FACTORY_DECLARE (TAO_PortableServer, IdAssignmentStrategySystem) - TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" diff --git a/TAO/tao/PortableServer/IdAssignmentStrategyUser.cpp b/TAO/tao/PortableServer/IdAssignmentStrategyUser.cpp index 622dbd3f4ef1f..1b6f8064d428e 100644 --- a/TAO/tao/PortableServer/IdAssignmentStrategyUser.cpp +++ b/TAO/tao/PortableServer/IdAssignmentStrategyUser.cpp @@ -20,17 +20,4 @@ namespace TAO } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - IdAssignmentStrategyUser, - TAO::Portable_Server::IdAssignmentStrategyUser) - -ACE_STATIC_SVC_DEFINE ( - IdAssignmentStrategyUser, - ACE_TEXT ("IdAssignmentStrategyUser"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (IdAssignmentStrategyUser), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/IdAssignmentStrategyUser.h b/TAO/tao/PortableServer/IdAssignmentStrategyUser.h index c64be097bce53..49898a8b5819e 100644 --- a/TAO/tao/PortableServer/IdAssignmentStrategyUser.h +++ b/TAO/tao/PortableServer/IdAssignmentStrategyUser.h @@ -12,35 +12,28 @@ #define TAO_IDASSIGNMENTSTRATEGYUSER_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/IdAssignmentStrategy.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/IdAssignmentStrategy.h" -#include "ace/Service_Config.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO { namespace Portable_Server { - class IdAssignmentStrategyUser - : public IdAssignmentStrategy + class IdAssignmentStrategyUser : public IdAssignmentStrategy { public: - virtual char id_assignment_key_type () const; + char id_assignment_key_type () const override; - virtual bool has_system_id () const; + bool has_system_id () const override; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, IdAssignmentStrategyUser) -ACE_FACTORY_DECLARE (TAO_PortableServer, IdAssignmentStrategyUser) - TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" diff --git a/TAO/tao/PortableServer/IdUniquenessPolicy.cpp b/TAO/tao/PortableServer/IdUniquenessPolicy.cpp index ce0297809b52c..97a312289aaed 100644 --- a/TAO/tao/PortableServer/IdUniquenessPolicy.cpp +++ b/TAO/tao/PortableServer/IdUniquenessPolicy.cpp @@ -21,7 +21,7 @@ namespace TAO CORBA::Policy_ptr IdUniquenessPolicy::copy () { - IdUniquenessPolicy *copy = 0; + IdUniquenessPolicy *copy = nullptr; ACE_NEW_THROW_EX (copy, IdUniquenessPolicy (this->value_), CORBA::NO_MEMORY ()); diff --git a/TAO/tao/PortableServer/IdUniquenessPolicy.h b/TAO/tao/PortableServer/IdUniquenessPolicy.h index 3ecbf3b3492fe..3cf26325ac5fb 100644 --- a/TAO/tao/PortableServer/IdUniquenessPolicy.h +++ b/TAO/tao/PortableServer/IdUniquenessPolicy.h @@ -52,10 +52,10 @@ namespace TAO CORBA::PolicyType policy_type (); /// Return the cached policy type for this policy. - virtual TAO_Cached_Policy_Type _tao_cached_type () const; + TAO_Cached_Policy_Type _tao_cached_type () const override; /// Returns the scope at which this policy can be applied. See orbconf.h. - virtual TAO_Policy_Scope _tao_scope () const; + TAO_Policy_Scope _tao_scope () const override; private: ::PortableServer::IdUniquenessPolicyValue value_; diff --git a/TAO/tao/PortableServer/IdUniquenessStrategy.cpp b/TAO/tao/PortableServer/IdUniquenessStrategy.cpp new file mode 100644 index 0000000000000..caa7602057b01 --- /dev/null +++ b/TAO/tao/PortableServer/IdUniquenessStrategy.cpp @@ -0,0 +1,23 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file IdUniquenessStrategy.cpp + */ +//============================================================================= + +#include "tao/PortableServer/IdUniquenessStrategy.h" + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + namespace Portable_Server + { + IdUniquenessStrategy::IdUniquenessStrategy () + { + } + } /* namespace Portable_Server */ +} /* namespace TAO */ + +TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/IdUniquenessStrategy.h b/TAO/tao/PortableServer/IdUniquenessStrategy.h index b3372d943430d..7098f64e59e61 100644 --- a/TAO/tao/PortableServer/IdUniquenessStrategy.h +++ b/TAO/tao/PortableServer/IdUniquenessStrategy.h @@ -12,14 +12,12 @@ #define TAO_ID_UNIQUENESS_STRATEGY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/IdUniquenessPolicyC.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/Policy_Strategy.h" -#include "tao/PortableServer/IdUniquenessPolicyC.h" #include "tao/PortableServer/PS_ForwardC.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -28,22 +26,24 @@ namespace TAO { namespace Portable_Server { - class TAO_PortableServer_Export IdUniquenessStrategy - : public Policy_Strategy + class IdUniquenessStrategy { public: + IdUniquenessStrategy (); + virtual ~IdUniquenessStrategy () = default; + + virtual void strategy_init (TAO_Root_POA *poa); + + virtual void strategy_cleanup (); + /* * Validate if the servant may be activated * @retval true This servant may be activated * @retval false This servant may not be activated */ - virtual bool is_servant_activation_allowed ( - PortableServer::Servant s, - bool &w) = 0; + virtual bool is_servant_activation_allowed (PortableServer::Servant s, bool &w) = 0; virtual bool allow_multiple_activations () const = 0; - - virtual ::PortableServer::IdUniquenessPolicyValue type() const = 0; }; } } diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyFactory.h b/TAO/tao/PortableServer/IdUniquenessStrategyFactory.h deleted file mode 100644 index c01c47fee418c..0000000000000 --- a/TAO/tao/PortableServer/IdUniquenessStrategyFactory.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IdUniquenessStrategyFactory.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYFACTORY_H -#define TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYFACTORY_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/StrategyFactory.h" -#include "tao/PortableServer/IdUniquenessPolicyC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class IdUniquenessStrategy; - - class TAO_PortableServer_Export IdUniquenessStrategyFactory - : public StrategyFactory - { - public: - /// Create a new servant retention strategy - virtual IdUniquenessStrategy* create (::PortableServer::IdUniquenessPolicyValue value) = 0; - - /// Cleanup the given strategy instance - virtual void destroy (IdUniquenessStrategy *strategy) = 0; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYFACTORY_H */ diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.cpp b/TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.cpp deleted file mode 100644 index f215d512ae136..0000000000000 --- a/TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.cpp +++ /dev/null @@ -1,93 +0,0 @@ -#include "tao/PortableServer/IdUniquenessStrategyFactoryImpl.h" -#include "tao/PortableServer/IdUniquenessStrategy.h" -#include "ace/Dynamic_Service.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - IdUniquenessStrategy* - IdUniquenessStrategyFactoryImpl::create ( - ::PortableServer::IdUniquenessPolicyValue value) - { - IdUniquenessStrategy* strategy = 0; - switch (value) - { - case ::PortableServer::MULTIPLE_ID : - { - strategy = - ACE_Dynamic_Service::instance ("IdUniquenessStrategyMultiple"); - - if (strategy == 0) - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) %p\n"), - ACE_TEXT ("ERROR, Unable to get ") - ACE_TEXT ("IdUniquenessStrategyMultiple"))); - - break; - } - case ::PortableServer::UNIQUE_ID : - { - IdUniquenessStrategyFactory *strategy_factory = - ACE_Dynamic_Service::instance ("IdUniquenessStrategyUniqueFactory"); - - if (strategy_factory != 0) - strategy = strategy_factory->create (value); - else - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) %p\n"), - ACE_TEXT ("ERROR, Unable to get ") - ACE_TEXT ("IdUniquenessStrategyUniqueFactory"))); - - break; - } - } - - return strategy; - } - - void - IdUniquenessStrategyFactoryImpl::destroy ( - IdUniquenessStrategy *strategy) - { - switch (strategy->type ()) - { - case ::PortableServer::MULTIPLE_ID : - { - // Noop - break; - } - case ::PortableServer::UNIQUE_ID : - { - IdUniquenessStrategyFactory *strategy_factory = - ACE_Dynamic_Service::instance ("IdUniquenessStrategyUniqueFactory"); - - if (strategy_factory != 0) - { - strategy_factory->destroy (strategy); - } - break; - } - } - } - - } -} - -ACE_STATIC_SVC_DEFINE ( - IdUniquenessStrategyFactoryImpl, - ACE_TEXT ("IdUniquenessStrategyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (IdUniquenessStrategyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - IdUniquenessStrategyFactoryImpl, - TAO::Portable_Server::IdUniquenessStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.h b/TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.h deleted file mode 100644 index 8c869ab0ab928..0000000000000 --- a/TAO/tao/PortableServer/IdUniquenessStrategyFactoryImpl.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IdUniquenessStrategyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/IdUniquenessStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export IdUniquenessStrategyFactoryImpl - : public IdUniquenessStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual IdUniquenessStrategy* create (::PortableServer::IdUniquenessPolicyValue value); - - virtual void destroy (IdUniquenessStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE (IdUniquenessStrategyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, IdUniquenessStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.cpp b/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.cpp index 170d4a18643f3..cfcdd9fb67207 100644 --- a/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.cpp +++ b/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.cpp @@ -32,27 +32,7 @@ namespace TAO { return true; } - - ::PortableServer::IdUniquenessPolicyValue - IdUniquenessStrategyMultiple::type () const - { - return ::PortableServer::MULTIPLE_ID; - } - } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - IdUniquenessStrategyMultiple, - TAO::Portable_Server::IdUniquenessStrategyMultiple) - -ACE_STATIC_SVC_DEFINE ( - IdUniquenessStrategyMultiple, - ACE_TEXT ("IdUniquenessStrategyMultiple"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (IdUniquenessStrategyMultiple), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.h b/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.h index 15e212c64abee..15831b56c3185 100644 --- a/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.h +++ b/TAO/tao/PortableServer/IdUniquenessStrategyMultiple.h @@ -12,43 +12,32 @@ #define TAO_ID_UNIQUENESSSTRATEGY_MULITPLE_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/IdUniquenessStrategy.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/IdUniquenessStrategy.h" -#include "ace/Service_Config.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO { namespace Portable_Server { - class TAO_PortableServer_Export IdUniquenessStrategyMultiple - : public IdUniquenessStrategy + class IdUniquenessStrategyMultiple : public IdUniquenessStrategy { public: - virtual void strategy_init (TAO_Root_POA *poa); + void strategy_init (TAO_Root_POA *poa) override; - virtual void strategy_cleanup (); + void strategy_cleanup () override; - virtual bool is_servant_activation_allowed ( - PortableServer::Servant servant, - bool &w); + bool is_servant_activation_allowed (PortableServer::Servant servant, bool &w) override; - virtual bool allow_multiple_activations () const; - - virtual ::PortableServer::IdUniquenessPolicyValue type() const; + bool allow_multiple_activations () const override; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, IdUniquenessStrategyMultiple) -ACE_FACTORY_DECLARE (TAO_PortableServer, IdUniquenessStrategyMultiple) - TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyUnique.cpp b/TAO/tao/PortableServer/IdUniquenessStrategyUnique.cpp index c805fabf79ddc..eb8905982187c 100644 --- a/TAO/tao/PortableServer/IdUniquenessStrategyUnique.cpp +++ b/TAO/tao/PortableServer/IdUniquenessStrategyUnique.cpp @@ -7,11 +7,6 @@ namespace TAO { namespace Portable_Server { - IdUniquenessStrategyUnique::IdUniquenessStrategyUnique () : - poa_ (0) - { - } - void IdUniquenessStrategyUnique::strategy_init ( TAO_Root_POA *poa) @@ -22,7 +17,7 @@ namespace TAO void IdUniquenessStrategyUnique::strategy_cleanup () { - poa_ = 0; + poa_ = nullptr; } bool @@ -44,28 +39,8 @@ namespace TAO { return false; } - - ::PortableServer::IdUniquenessPolicyValue - IdUniquenessStrategyUnique::type() const - { - return ::PortableServer::UNIQUE_ID; - } - } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - IdUniquenessStrategyUnique, - TAO::Portable_Server::IdUniquenessStrategyUnique) - -ACE_STATIC_SVC_DEFINE ( - IdUniquenessStrategyUnique, - ACE_TEXT ("IdUniquenessStrategyUnique"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (IdUniquenessStrategyUnique), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyUnique.h b/TAO/tao/PortableServer/IdUniquenessStrategyUnique.h index 26450fc1f6fe0..37223597713ea 100644 --- a/TAO/tao/PortableServer/IdUniquenessStrategyUnique.h +++ b/TAO/tao/PortableServer/IdUniquenessStrategyUnique.h @@ -12,48 +12,37 @@ #define TAO_ID_UNIQUENESSSTRATEGYUNIQUE_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/IdUniquenessStrategy.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/IdUniquenessStrategy.h" -#include "ace/Service_Config.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO { namespace Portable_Server { - class TAO_PortableServer_Export IdUniquenessStrategyUnique - : public IdUniquenessStrategy + class IdUniquenessStrategyUnique : public IdUniquenessStrategy { public: - IdUniquenessStrategyUnique (); + IdUniquenessStrategyUnique () = default; - virtual void strategy_init (TAO_Root_POA *poa); + void strategy_init (TAO_Root_POA *poa) override; - virtual void strategy_cleanup (); + void strategy_cleanup () override; - virtual bool is_servant_activation_allowed ( - PortableServer::Servant servant, - bool &wait_occurred_restart_call); + bool is_servant_activation_allowed (PortableServer::Servant servant, bool &wait_occurred_restart_call) override; - virtual bool allow_multiple_activations () const; - - virtual ::PortableServer::IdUniquenessPolicyValue type() const; + bool allow_multiple_activations () const override; private: - TAO_Root_POA* poa_; + TAO_Root_POA* poa_ {}; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, IdUniquenessStrategyUnique) -ACE_FACTORY_DECLARE (TAO_PortableServer, IdUniquenessStrategyUnique) - TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp b/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp deleted file mode 100644 index 71383493628fb..0000000000000 --- a/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h" -#include "tao/PortableServer/IdUniquenessStrategyUnique.h" -#include "ace/Dynamic_Service.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - IdUniquenessStrategy* - IdUniquenessStrategyUniqueFactoryImpl::create ( - ::PortableServer::IdUniquenessPolicyValue value) - { - IdUniquenessStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::UNIQUE_ID : - { - ACE_NEW_RETURN (strategy, IdUniquenessStrategyUnique, 0); - break; - } - case ::PortableServer::MULTIPLE_ID : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in IdUniquenessStrategyUniqueFactoryImpl")); - break; - } - } - - return strategy; - } - - void - IdUniquenessStrategyUniqueFactoryImpl::destroy ( - IdUniquenessStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - - } -} - -ACE_STATIC_SVC_DEFINE ( - IdUniquenessStrategyUniqueFactoryImpl, - ACE_TEXT ("IdUniquenessStrategyUniqueFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (IdUniquenessStrategyUniqueFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - IdUniquenessStrategyUniqueFactoryImpl, - TAO::Portable_Server::IdUniquenessStrategyUniqueFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h b/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h deleted file mode 100644 index f5dfc25b016ec..0000000000000 --- a/TAO/tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IdUniquenessStrategyUniqueFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYUNIQUEFACTORYIMPL_H -#define TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYUNIQUEFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/IdUniquenessStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export IdUniquenessStrategyUniqueFactoryImpl - : public IdUniquenessStrategyFactory - { - public: - /// Create a new strategy - virtual IdUniquenessStrategy* create (::PortableServer::IdUniquenessPolicyValue value); - - virtual void destroy (IdUniquenessStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, IdUniquenessStrategyUniqueFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, IdUniquenessStrategyUniqueFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_IDUNIQUENESSSTRATEGYUNIQUEFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategy.cpp b/TAO/tao/PortableServer/ImplicitActivationStrategy.cpp deleted file mode 100644 index 3bc68da0d7e76..0000000000000 --- a/TAO/tao/PortableServer/ImplicitActivationStrategy.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// -*- C++ -*- -#include "tao/PortableServer/ImplicitActivationStrategy.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - void - ImplicitActivationStrategy::strategy_init (TAO_Root_POA * /*poa*/) - { - // dependent on type create the correct strategy. - } - - void - ImplicitActivationStrategy::strategy_cleanup () - { - } - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategy.h b/TAO/tao/PortableServer/ImplicitActivationStrategy.h index 491df8cf70269..f1491cf66645f 100644 --- a/TAO/tao/PortableServer/ImplicitActivationStrategy.h +++ b/TAO/tao/PortableServer/ImplicitActivationStrategy.h @@ -12,7 +12,7 @@ #define TAO_ACTIVATION_STRATEGY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/Policy_Strategy.h" +#include "tao/orbconf.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once @@ -25,12 +25,10 @@ namespace TAO namespace Portable_Server { class ImplicitActivationStrategy - : public Policy_Strategy { public: - virtual void strategy_init(TAO_Root_POA *poa); - - virtual void strategy_cleanup(); + ImplicitActivationStrategy () = default; + virtual ~ImplicitActivationStrategy () = default; virtual bool allow_implicit_activation () const = 0; }; diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.cpp b/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.cpp index 98c308606d853..97762e51cb7a8 100644 --- a/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.cpp +++ b/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.cpp @@ -15,17 +15,4 @@ namespace TAO } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ImplicitActivationStrategyExplicit, - TAO::Portable_Server::ImplicitActivationStrategyExplicit) - -ACE_STATIC_SVC_DEFINE ( - ImplicitActivationStrategyExplicit, - ACE_TEXT ("ImplicitActivationStrategyExplicit"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ImplicitActivationStrategyExplicit), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.h b/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.h index 05846df574a03..03a2663f6b3a7 100644 --- a/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.h +++ b/TAO/tao/PortableServer/ImplicitActivationStrategyExplicit.h @@ -12,35 +12,27 @@ #define TAO_IMPLICITACTIVATIONSTRATEGYEXPLICIT_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/ImplicitActivationStrategy.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/ImplicitActivationStrategy.h" -#include "ace/Service_Config.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO { namespace Portable_Server { - class ImplicitActivationStrategyExplicit : - public ImplicitActivationStrategy + class ImplicitActivationStrategyExplicit : public ImplicitActivationStrategy { public: - virtual bool allow_implicit_activation () const; + bool allow_implicit_activation () const override; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ImplicitActivationStrategyExplicit) -ACE_FACTORY_DECLARE (TAO_PortableServer, ImplicitActivationStrategyExplicit) - TAO_END_VERSIONED_NAMESPACE_DECL - #include /**/ "ace/post.h" #endif /* TAO_IMPLICITACTIVATIONSTRATEGYEXPLICIT_H */ diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategyFactory.h b/TAO/tao/PortableServer/ImplicitActivationStrategyFactory.h deleted file mode 100644 index f2d8514ef571e..0000000000000 --- a/TAO/tao/PortableServer/ImplicitActivationStrategyFactory.h +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ImplicitActivationStrategyFactory.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_IMPLICITACTIVATIONSTRATEGYFACTORY_H -#define TAO_PORTABLESERVER_IMPLICITACTIVATIONSTRATEGYFACTORY_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/StrategyFactory.h" -#include "tao/PortableServer/ImplicitActivationPolicyC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class ImplicitActivationStrategy; - - class TAO_PortableServer_Export ImplicitActivationStrategyFactory - : public StrategyFactory - { - public: - /// Create a new servant retention strategy - virtual ImplicitActivationStrategy* create (::PortableServer::ImplicitActivationPolicyValue value) = 0; - - virtual void destroy (ImplicitActivationStrategy *strategy) = 0; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_IMPLICITACTIVATIONSTRATEGYFACTORY_H */ diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.cpp b/TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.cpp deleted file mode 100644 index d9035f5bcaee5..0000000000000 --- a/TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- -#include "tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h" -#include "ace/Dynamic_Service.h" -#include "tao/PortableServer/ImplicitActivationStrategyImplicit.h" -#include "tao/PortableServer/ImplicitActivationStrategyExplicit.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - ImplicitActivationStrategy* - ImplicitActivationStrategyFactoryImpl::create ( - ::PortableServer::ImplicitActivationPolicyValue value) - { - ImplicitActivationStrategy* strategy = 0; - const char * strategy_name = 0; - - switch (value) - { - case ::PortableServer::IMPLICIT_ACTIVATION : - { - strategy_name = "ImplicitActivationStrategyImplicit"; - break; - } - case ::PortableServer::NO_IMPLICIT_ACTIVATION : - { - strategy_name = "ImplicitActivationStrategyExplicit"; - break; - } - } - - strategy = - ACE_Dynamic_Service::instance (strategy_name); - - if (strategy == 0) - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) ERROR, Unable to get %C\n"), - strategy_name)); - - return strategy; - } - - void - ImplicitActivationStrategyFactoryImpl::destroy ( - ImplicitActivationStrategy * /*strategy*/) - { - // Noop because both types are singletons - } - } -} - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ImplicitActivationStrategyFactoryImpl, - TAO_VERSIONED_NAMESPACE_NAME::TAO::Portable_Server::ImplicitActivationStrategyFactoryImpl) - -ACE_STATIC_SVC_DEFINE ( - ImplicitActivationStrategyFactoryImpl, - ACE_TEXT ("ImplicitActivationStrategyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ImplicitActivationStrategyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h b/TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h deleted file mode 100644 index 3ee40e3d8ba56..0000000000000 --- a/TAO/tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ImplicitActivationStrategyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_IMPLICITACTIVATIONSTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_IMPLICITACTIVATIONSTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/ImplicitActivationStrategyFactory.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class ImplicitActivationStrategyFactoryImpl - : public ImplicitActivationStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual ImplicitActivationStrategy* create (::PortableServer::ImplicitActivationPolicyValue value); - - virtual void destroy (ImplicitActivationStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ImplicitActivationStrategyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, ImplicitActivationStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_IMPLICITACTIVATIONSTRATEGYFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.cpp b/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.cpp index 989dd133b88ba..5ff61d8362ba5 100644 --- a/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.cpp +++ b/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.cpp @@ -16,19 +16,6 @@ namespace TAO } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ImplicitActivationStrategyImplicit, - TAO::Portable_Server::ImplicitActivationStrategyImplicit) - -ACE_STATIC_SVC_DEFINE ( - ImplicitActivationStrategyImplicit, - ACE_TEXT ("ImplicitActivationStrategyImplicit"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ImplicitActivationStrategyImplicit), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - TAO_END_VERSIONED_NAMESPACE_DECL #endif diff --git a/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.h b/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.h index 68d0a99713097..daa7ba096a99e 100644 --- a/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.h +++ b/TAO/tao/PortableServer/ImplicitActivationStrategyImplicit.h @@ -12,15 +12,12 @@ #define TAO_IMPLICITACTIVATIONSTRATEGYIMPLICIT_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/ImplicitActivationStrategy.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/ImplicitActivationStrategy.h" -#include "ace/Service_Config.h" - #if !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -29,18 +26,14 @@ namespace TAO { namespace Portable_Server { - class TAO_PortableServer_Export ImplicitActivationStrategyImplicit - : public ImplicitActivationStrategy + class ImplicitActivationStrategyImplicit : public ImplicitActivationStrategy { public: - virtual bool allow_implicit_activation () const; + bool allow_implicit_activation () const override; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ImplicitActivationStrategyImplicit) -ACE_FACTORY_DECLARE (TAO_PortableServer, ImplicitActivationStrategyImplicit) - TAO_END_VERSIONED_NAMESPACE_DECL #endif diff --git a/TAO/tao/PortableServer/LifespanStrategy.cpp b/TAO/tao/PortableServer/LifespanStrategy.cpp index e331e653adb0b..6ea71982149d2 100644 --- a/TAO/tao/PortableServer/LifespanStrategy.cpp +++ b/TAO/tao/PortableServer/LifespanStrategy.cpp @@ -14,11 +14,6 @@ namespace TAO { namespace Portable_Server { - LifespanStrategy::LifespanStrategy () : - poa_ (0) - { - } - void LifespanStrategy::strategy_init (TAO_Root_POA *poa) { @@ -28,7 +23,7 @@ namespace TAO void LifespanStrategy::strategy_cleanup () { - poa_ = 0; + poa_ = nullptr; } CORBA::ULong diff --git a/TAO/tao/PortableServer/LifespanStrategy.h b/TAO/tao/PortableServer/LifespanStrategy.h index 01a9a150dbd8b..ac034037f9fe9 100644 --- a/TAO/tao/PortableServer/LifespanStrategy.h +++ b/TAO/tao/PortableServer/LifespanStrategy.h @@ -12,17 +12,18 @@ #define TAO_PORTABLESERVER_LIFESPANPOLICY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/Policy_Strategy.h" +#include "tao/PortableServer/LifespanPolicyC.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/LifespanPolicyC.h" #include "tao/Object_KeyC.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL +class TAO_Root_POA; + namespace TAO { namespace Portable_Server @@ -30,10 +31,10 @@ namespace TAO class Temporary_Creation_Time; class LifespanStrategy - : public Policy_Strategy { public: - LifespanStrategy (); + LifespanStrategy () = default; + virtual ~LifespanStrategy () = default; virtual void strategy_init (TAO_Root_POA *poa); @@ -70,8 +71,6 @@ namespace TAO /// Check the state of the POA. virtual void check_state () = 0; - virtual ::PortableServer::LifespanPolicyValue type () const = 0; - virtual bool use_imr () const = 0; virtual CORBA::Object_ptr imr_key_to_object ( @@ -79,7 +78,7 @@ namespace TAO const char *type_id) const = 0; protected: - TAO_Root_POA *poa_; + TAO_Root_POA *poa_ {}; }; } /* namespace Portable_Server */ } /* namespace TAO */ diff --git a/TAO/tao/PortableServer/LifespanStrategyFactory.h b/TAO/tao/PortableServer/LifespanStrategyFactory.h deleted file mode 100644 index e60df4872d1b8..0000000000000 --- a/TAO/tao/PortableServer/LifespanStrategyFactory.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LifespanStrategyFactory.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_LIFEPSPANSTRATEGYFACTORY_H -#define TAO_PORTABLESERVER_LIFEPSPANSTRATEGYFACTORY_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/StrategyFactory.h" -#include "tao/PortableServer/LifespanPolicyC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class LifespanStrategy; - - class TAO_PortableServer_Export LifespanStrategyFactory - : public StrategyFactory - { - public: - /// Create a new servant retention strategy - virtual LifespanStrategy* create (::PortableServer::LifespanPolicyValue value) = 0; - - /// Cleanup the given strategy instance - virtual void destroy (LifespanStrategy *strategy) = 0; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_LIFEPSPANSTRATEGYFACTORY_H */ diff --git a/TAO/tao/PortableServer/LifespanStrategyFactoryImpl.cpp b/TAO/tao/PortableServer/LifespanStrategyFactoryImpl.cpp deleted file mode 100644 index f66cdebd8b373..0000000000000 --- a/TAO/tao/PortableServer/LifespanStrategyFactoryImpl.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "tao/PortableServer/LifespanStrategyFactoryImpl.h" -#include "tao/PortableServer/LifespanStrategy.h" -#include "ace/Dynamic_Service.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - LifespanStrategy* - LifespanStrategyFactoryImpl::create ( - ::PortableServer::LifespanPolicyValue value) - { - LifespanStrategy *strategy = 0; - const char *strategy_name = 0; - - switch (value) - { - case ::PortableServer::PERSISTENT : - { - strategy_name = "LifespanStrategyPersistentFactory"; - break; - } - case ::PortableServer::TRANSIENT : - { - strategy_name = "LifespanStrategyTransientFactory"; - break; - } - } - - LifespanStrategyFactory *strategy_factory = - ACE_Dynamic_Service::instance (strategy_name); - - if (strategy_factory != 0) - strategy = strategy_factory->create (value); - else - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) ERROR, Unable to get %C\n"), - strategy_name)); - - - return strategy; - } - - void - LifespanStrategyFactoryImpl::destroy (LifespanStrategy *strategy) - { - switch (strategy->type ()) - { - case ::PortableServer::PERSISTENT : - { - LifespanStrategyFactory *strategy_factory = - ACE_Dynamic_Service::instance ("LifespanStrategyPersistentFactory"); - - if (strategy_factory != 0) - { - strategy_factory->destroy (strategy); - } - break; - } - case ::PortableServer::TRANSIENT : - { - LifespanStrategyFactory *strategy_factory = - ACE_Dynamic_Service::instance ("LifespanStrategyTransientFactory"); - - if (strategy_factory != 0) - { - strategy_factory->destroy (strategy); - } - break; - } - } - } - } -} - -ACE_STATIC_SVC_DEFINE ( - LifespanStrategyFactoryImpl, - ACE_TEXT ("LifespanStrategyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (LifespanStrategyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - LifespanStrategyFactoryImpl, - TAO::Portable_Server::LifespanStrategyFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/LifespanStrategyFactoryImpl.h b/TAO/tao/PortableServer/LifespanStrategyFactoryImpl.h deleted file mode 100644 index b076007cd7a26..0000000000000 --- a/TAO/tao/PortableServer/LifespanStrategyFactoryImpl.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LifespanStrategyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_LIFEPSPANSTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_LIFEPSPANSTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/LifespanStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export LifespanStrategyFactoryImpl - : public LifespanStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual LifespanStrategy* create (::PortableServer::LifespanPolicyValue value); - - /// Cleanup the given strategy instance - virtual void destroy (LifespanStrategy *strategy); - }; - } -} -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, LifespanStrategyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, LifespanStrategyFactoryImpl) - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_LIFEPSPANSTRATEGYFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp b/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp index 62f681a6f1876..32bb04a343cc9 100644 --- a/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp +++ b/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp @@ -127,12 +127,6 @@ namespace TAO this->poa_->tao_poa_manager().check_state (); } - ::PortableServer::LifespanPolicyValue - LifespanStrategyPersistent::type() const - { - return ::PortableServer::PERSISTENT; - } - bool LifespanStrategyPersistent::use_imr () const { diff --git a/TAO/tao/PortableServer/LifespanStrategyPersistent.h b/TAO/tao/PortableServer/LifespanStrategyPersistent.h index 03d2075f81d5b..9b964c2b18440 100644 --- a/TAO/tao/PortableServer/LifespanStrategyPersistent.h +++ b/TAO/tao/PortableServer/LifespanStrategyPersistent.h @@ -34,33 +34,30 @@ namespace TAO public: LifespanStrategyPersistent (); - virtual void strategy_init(TAO_Root_POA *poa); + void strategy_init(TAO_Root_POA *poa) override; - virtual void notify_startup (); + void notify_startup () override; - virtual void notify_shutdown (); + void notify_shutdown () override; char key_type () const; - virtual CORBA::Boolean is_persistent () const; + CORBA::Boolean is_persistent () const override; CORBA::ULong key_length () const; - virtual void create_key (CORBA::Octet *buffer, CORBA::ULong& starting_at); + void create_key (CORBA::Octet *buffer, CORBA::ULong& starting_at) override; - virtual bool + bool validate (CORBA::Boolean is_persistent, - const TAO::Portable_Server::Temporary_Creation_Time& creation_time) const; + const TAO::Portable_Server::Temporary_Creation_Time& creation_time) const override; /// Check the state of the POA. - virtual void check_state (); + void check_state () override; - virtual ::PortableServer::LifespanPolicyValue type() const; + bool use_imr () const override; - virtual bool use_imr () const; - - virtual CORBA::Object_ptr imr_key_to_object(const TAO::ObjectKey &key, - const char *type_id) const; + CORBA::Object_ptr imr_key_to_object(const TAO::ObjectKey &key, const char *type_id) const override; private: bool use_imr_; diff --git a/TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.cpp b/TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.cpp deleted file mode 100644 index cd56cf99c5815..0000000000000 --- a/TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// -*- C++ -*- -#include "tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h" -#include "ace/Dynamic_Service.h" -#include "tao/PortableServer/LifespanStrategyPersistent.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - LifespanStrategy* - LifespanStrategyPersistentFactoryImpl::create ( - ::PortableServer::LifespanPolicyValue value) - { - LifespanStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::PERSISTENT : - { - ACE_NEW_RETURN (strategy, LifespanStrategyPersistent, 0); - break; - } - case ::PortableServer::TRANSIENT : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in LifespanStrategyPersistentFactoryImpl")); - break; - } - } - - return strategy; - } - - void - LifespanStrategyPersistentFactoryImpl::destroy (LifespanStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - LifespanStrategyPersistentFactoryImpl, - ACE_TEXT ("LifespanStrategyPersistentFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (LifespanStrategyPersistentFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - LifespanStrategyPersistentFactoryImpl, - TAO::Portable_Server::LifespanStrategyPersistentFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h b/TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h deleted file mode 100644 index 77fbcaa3466f3..0000000000000 --- a/TAO/tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LifespanStrategyPersistentFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_LIFEPSPANSTRATEGYPERSISTENTFACTORYIMPL_H -#define TAO_PORTABLESERVER_LIFEPSPANSTRATEGYPERSISTENTFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/LifespanStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export LifespanStrategyPersistentFactoryImpl - : public LifespanStrategyFactory - { - public: - /// Create a new strategy - virtual LifespanStrategy* create (::PortableServer::LifespanPolicyValue value); - - /// Cleanup the given strategy instance - virtual void destroy (LifespanStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, LifespanStrategyPersistentFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, LifespanStrategyPersistentFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_LIFEPSPANSTRATEGYPERSISTENTFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/LifespanStrategyTransient.cpp b/TAO/tao/PortableServer/LifespanStrategyTransient.cpp index 268ea7b35464c..eb6ed65faeb6d 100644 --- a/TAO/tao/PortableServer/LifespanStrategyTransient.cpp +++ b/TAO/tao/PortableServer/LifespanStrategyTransient.cpp @@ -108,12 +108,6 @@ namespace TAO { return CORBA::Object::_nil(); } - - ::PortableServer::LifespanPolicyValue - LifespanStrategyTransient::type () const - { - return ::PortableServer::TRANSIENT; - } } /* namespace Portable_Server */ } /* namespace TAO */ diff --git a/TAO/tao/PortableServer/LifespanStrategyTransient.h b/TAO/tao/PortableServer/LifespanStrategyTransient.h index 161994e964ab6..5a3c7d988d533 100644 --- a/TAO/tao/PortableServer/LifespanStrategyTransient.h +++ b/TAO/tao/PortableServer/LifespanStrategyTransient.h @@ -27,40 +27,35 @@ namespace TAO { namespace Portable_Server { - class LifespanStrategyTransient - : public LifespanStrategy + class LifespanStrategyTransient : public LifespanStrategy { public: LifespanStrategyTransient (); - virtual void notify_startup (); + void notify_startup () override; - virtual void notify_shutdown (); + void notify_shutdown () override; char key_type () const; - virtual CORBA::Boolean is_persistent () const; + CORBA::Boolean is_persistent () const override; CORBA::ULong key_length () const; - virtual void create_key (CORBA::Octet *buffer, CORBA::ULong& starting_at); + void create_key (CORBA::Octet *buffer, CORBA::ULong& starting_at) override; - virtual bool validate (CORBA::Boolean is_persistent, - const TAO::Portable_Server::Temporary_Creation_Time& creation_time) const; + const TAO::Portable_Server::Temporary_Creation_Time& creation_time) const override; /// Check the state of the POA. - virtual void check_state (); + void check_state () override; - virtual ::PortableServer::LifespanPolicyValue type() const; + bool use_imr () const override; - virtual bool use_imr () const; - - virtual CORBA::Object_ptr imr_key_to_object (const TAO::ObjectKey &key, - const char *type_id) const; + CORBA::Object_ptr imr_key_to_object (const TAO::ObjectKey &key, const char *type_id) const override; private: - TAO::Portable_Server::Creation_Time creation_time_; + TAO::Portable_Server::Creation_Time const creation_time_; }; } /* namespace Portable_Server */ } /* namespace TAO */ diff --git a/TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.cpp b/TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.cpp deleted file mode 100644 index 05b6c6b1e17cd..0000000000000 --- a/TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- -#include "tao/PortableServer/LifespanStrategyTransientFactoryImpl.h" -#include "ace/Dynamic_Service.h" -#include "tao/PortableServer/LifespanStrategyTransient.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - LifespanStrategy* - LifespanStrategyTransientFactoryImpl::create ( - ::PortableServer::LifespanPolicyValue value) - { - LifespanStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::PERSISTENT : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in LifespanStrategyTransientFactoryImpl")); - break; - } - case ::PortableServer::TRANSIENT : - { - ACE_NEW_RETURN (strategy, LifespanStrategyTransient, 0); - break; - } - } - - return strategy; - } - - void - LifespanStrategyTransientFactoryImpl::destroy (LifespanStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - LifespanStrategyTransientFactoryImpl, - ACE_TEXT ("LifespanStrategyTransientFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (LifespanStrategyTransientFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - LifespanStrategyTransientFactoryImpl, - TAO::Portable_Server::LifespanStrategyTransientFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.h b/TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.h deleted file mode 100644 index 1d90c3f23f533..0000000000000 --- a/TAO/tao/PortableServer/LifespanStrategyTransientFactoryImpl.h +++ /dev/null @@ -1,51 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LifespanStrategyTransientFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_LIFEPSPANSTRATEGYTRANSIENTFACTORYIMPL_H -#define TAO_PORTABLESERVER_LIFEPSPANSTRATEGYTRANSIENTFACTORYIMPL_H - -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/LifespanStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export LifespanStrategyTransientFactoryImpl - : public LifespanStrategyFactory - { - public: - /// Create a new strategy - virtual LifespanStrategy* create (::PortableServer::LifespanPolicyValue value); - - /// Cleanup the given strategy instance - virtual void destroy (LifespanStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, LifespanStrategyTransientFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, LifespanStrategyTransientFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PORTABLESERVER_LIFEPSPANSTRATEGYTRANSIENTFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/Object_Adapter.cpp b/TAO/tao/PortableServer/Object_Adapter.cpp index bc65cf1fbc3ef..77a78f08282a9 100644 --- a/TAO/tao/PortableServer/Object_Adapter.cpp +++ b/TAO/tao/PortableServer/Object_Adapter.cpp @@ -509,30 +509,30 @@ TAO_Object_Adapter::locate_servant_i (const TAO::ObjectKey &key) this->locate_poa (key, id, poa); PortableServer::Servant servant = 0; - TAO_SERVANT_LOCATION const servant_location = + TAO_Servant_Location const servant_location = poa->locate_servant_i (id, servant); switch (servant_location) { - case TAO_SERVANT_FOUND: + case TAO_Servant_Location::Found: // Optimistic attitude - case TAO_DEFAULT_SERVANT: - case TAO_SERVANT_MANAGER: + case TAO_Servant_Location::Default_Servant: + case TAO_Servant_Location::Servant_Manager: return 0; - case TAO_SERVANT_NOT_FOUND: + case TAO_Servant_Location::Not_Found: return -1; } return -1; } -TAO_SERVANT_LOCATION +TAO_Servant_Location TAO_Object_Adapter::find_servant_i (const TAO::ObjectKey &key, PortableServer::Servant &servant) { PortableServer::ObjectId id; - TAO_Root_POA *poa = 0; + TAO_Root_POA *poa = nullptr; this->locate_poa (key, id, poa); @@ -547,7 +547,7 @@ TAO_Object_Adapter::open () // If a POA extension hasn't changed the servant dispatcher, initialize the // default one. - if (this->servant_dispatcher_ == 0) + if (!this->servant_dispatcher_) { ACE_NEW (this->servant_dispatcher_, TAO_Default_Servant_Dispatcher); @@ -560,8 +560,7 @@ TAO_Object_Adapter::open () ::CORBA::PolicyList policy; PortableServer::POAManager_var poa_manager - = poa_manager_factory_->create_POAManager (TAO_DEFAULT_ROOTPOAMANAGER_NAME, - policy); + = poa_manager_factory_->create_POAManager (TAO_DEFAULT_ROOTPOAMANAGER_NAME, policy); #else PortableServer::POAManager_ptr poa_manager_ptr; ::CORBA::PolicyList policy_list; diff --git a/TAO/tao/PortableServer/Object_Adapter.h b/TAO/tao/PortableServer/Object_Adapter.h index c041333d4259d..4f534d8471b11 100644 --- a/TAO/tao/PortableServer/Object_Adapter.h +++ b/TAO/tao/PortableServer/Object_Adapter.h @@ -92,7 +92,7 @@ class TAO_PortableServer_Export TAO_Object_Adapter int locate_servant (const TAO::ObjectKey &key); - TAO_SERVANT_LOCATION find_servant (const TAO::ObjectKey &key, + TAO_Servant_Location find_servant (const TAO::ObjectKey &key, PortableServer::Servant &servant); int find_poa (const poa_name &system_name, @@ -165,7 +165,7 @@ class TAO_PortableServer_Export TAO_Object_Adapter protected: int locate_servant_i (const TAO::ObjectKey &key); - TAO_SERVANT_LOCATION find_servant_i (const TAO::ObjectKey &key, + TAO_Servant_Location find_servant_i (const TAO::ObjectKey &key, PortableServer::Servant &servant); void dispatch_servant_i (const TAO::ObjectKey &key, diff --git a/TAO/tao/PortableServer/Object_Adapter.inl b/TAO/tao/PortableServer/Object_Adapter.inl index 7acba18249812..7092ede9222aa 100644 --- a/TAO/tao/PortableServer/Object_Adapter.inl +++ b/TAO/tao/PortableServer/Object_Adapter.inl @@ -50,12 +50,12 @@ TAO_Object_Adapter::locate_servant (const TAO::ObjectKey &key) return this->locate_servant_i (key); } -ACE_INLINE TAO_SERVANT_LOCATION +ACE_INLINE TAO_Servant_Location TAO_Object_Adapter::find_servant (const TAO::ObjectKey &key, PortableServer::Servant &servant) { // Lock access for the duration of this transaction. - TAO_OBJECT_ADAPTER_GUARD_RETURN (TAO_SERVANT_NOT_FOUND); + TAO_OBJECT_ADAPTER_GUARD_RETURN (Not_Found); return this->find_servant_i (key, servant); } diff --git a/TAO/tao/PortableServer/Policy_Strategy.h b/TAO/tao/PortableServer/Policy_Strategy.h deleted file mode 100644 index 1acd9e719126d..0000000000000 --- a/TAO/tao/PortableServer/Policy_Strategy.h +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Policy_Strategy.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_POLICY_STRATEGY_H -#define TAO_POLICY_STRATEGY_H -#include /**/ "ace/pre.h" - -#include "tao/orbconf.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Object.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Root_POA; - -namespace TAO -{ - namespace Portable_Server - { - class Policy_Strategy - : public ACE_Service_Object - { - public: - virtual void strategy_init(TAO_Root_POA *poa) = 0; - - virtual void strategy_cleanup() = 0; - - virtual ~Policy_Strategy () {}; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_POLICY_STRATEGY_H */ diff --git a/TAO/tao/PortableServer/PortableServer.cpp b/TAO/tao/PortableServer/PortableServer.cpp index 42268bcdfeccd..8d2cd3f885cbd 100644 --- a/TAO/tao/PortableServer/PortableServer.cpp +++ b/TAO/tao/PortableServer/PortableServer.cpp @@ -1,152 +1,15 @@ #include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Object_Adapter.h" #include "tao/PortableServer/Object_Adapter_Factory.h" #include "tao/PortableServer/POA_Current_Factory.h" -#include "tao/PortableServer/ThreadStrategyFactoryImpl.h" -#include "tao/PortableServer/LifespanStrategyFactoryImpl.h" -#include "tao/PortableServer/IdAssignmentStrategyFactoryImpl.h" -#include "tao/PortableServer/IdUniquenessStrategyFactoryImpl.h" -#include "tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h" -#include "tao/PortableServer/RequestProcessingStrategyFactoryImpl.h" -#include "tao/PortableServer/ServantRetentionStrategyFactoryImpl.h" - -#include "tao/PortableServer/ThreadStrategyORBControl.h" -#include "tao/PortableServer/ThreadStrategySingle.h" -#include "tao/PortableServer/ThreadStrategySingleFactoryImpl.h" - -#include "tao/PortableServer/IdAssignmentStrategySystem.h" -#include "tao/PortableServer/IdAssignmentStrategyUser.h" - -#include "tao/PortableServer/IdUniquenessStrategyMultiple.h" -#include "tao/PortableServer/IdUniquenessStrategyUnique.h" - -#include "tao/PortableServer/ImplicitActivationStrategyExplicit.h" -#include "tao/PortableServer/ImplicitActivationStrategyImplicit.h" - -#include "tao/PortableServer/RequestProcessingStrategyAOMOnly.h" -#include "tao/PortableServer/RequestProcessingStrategyDefaultServant.h" -#include "tao/PortableServer/RequestProcessingStrategyServantManager.h" - -#include "tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h" -#include "tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h" - -#include "tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h" -#include "tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h" -#include "tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h" -#include "tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h" - -#include "tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h" - -#include "tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h" -#include "tao/PortableServer/LifespanStrategyTransientFactoryImpl.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL int TAO_POA_Initializer::init () { - ACE_Service_Config::process_directive ( - ace_svc_desc_IdAssignmentStrategySystem); - -#if !defined (CORBA_E_MICRO) - ACE_Service_Config::process_directive ( - ace_svc_desc_IdAssignmentStrategyUser); -#endif /* CORBA_E_MICRO */ - -#if !defined (CORBA_E_MICRO) - ACE_Service_Config::process_directive ( - ace_svc_desc_IdUniquenessStrategyMultiple); -#endif /* CORBA_E_MICRO */ - - ACE_Service_Config::process_directive ( - ace_svc_desc_IdUniquenessStrategyUnique); - - ACE_Service_Config::process_directive ( - ace_svc_desc_IdUniquenessStrategyUniqueFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_ImplicitActivationStrategyExplicit); - -#if !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) - ACE_Service_Config::process_directive ( - ace_svc_desc_ImplicitActivationStrategyImplicit); -#endif /* CORBA_E_MICRO */ - - // Strategy factories - - ACE_Service_Config::process_directive ( - ace_svc_desc_ThreadStrategyFactoryImpl); - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) - ACE_Service_Config::process_directive ( - ace_svc_desc_ThreadStrategySingleFactoryImpl); -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - - ACE_Service_Config::process_directive ( - ace_svc_desc_LifespanStrategyFactoryImpl); - -#if !defined (CORBA_E_MICRO) - ACE_Service_Config::process_directive ( - ace_svc_desc_LifespanStrategyPersistentFactoryImpl); -#endif /* CORBA_E_MICRO */ - - ACE_Service_Config::process_directive ( - ace_svc_desc_LifespanStrategyTransientFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_IdAssignmentStrategyFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_IdUniquenessStrategyFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_ImplicitActivationStrategyFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_RequestProcessingStrategyFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_RequestProcessingStrategyAOMOnlyFactoryImpl); - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - ACE_Service_Config::process_directive ( - ace_svc_desc_RequestProcessingStrategyDefaultServantFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_RequestProcessingStrategyServantActivatorFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_RequestProcessingStrategyServantLocatorFactoryImpl); -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - - ACE_Service_Config::process_directive ( - ace_svc_desc_ServantRetentionStrategyFactoryImpl); - - ACE_Service_Config::process_directive ( - ace_svc_desc_ServantRetentionStrategyRetainFactoryImpl); - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) - ACE_Service_Config::process_directive ( - ace_svc_desc_ServantRetentionStrategyNonRetainFactoryImpl); -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - - // Strategy implementations - - ACE_Service_Config::process_directive ( - ace_svc_desc_ThreadStrategyORBControl); - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) - ACE_Service_Config::process_directive ( - ace_svc_desc_ThreadStrategySingle); -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - - ACE_Service_Config::process_directive ( - ace_svc_desc_TAO_POA_Current_Factory); + ACE_Service_Config::process_directive (ace_svc_desc_TAO_POA_Current_Factory); - return - ACE_Service_Config::process_directive ( - ace_svc_desc_TAO_Object_Adapter_Factory); + return ACE_Service_Config::process_directive (ace_svc_desc_TAO_Object_Adapter_Factory); } TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/Regular_POA.cpp b/TAO/tao/PortableServer/Regular_POA.cpp index e47ea8010a68d..867e819de30f8 100644 --- a/TAO/tao/PortableServer/Regular_POA.cpp +++ b/TAO/tao/PortableServer/Regular_POA.cpp @@ -28,10 +28,6 @@ TAO_Regular_POA::TAO_Regular_POA (const TAO_Root_POA::String &name, { } -TAO_Regular_POA::~TAO_Regular_POA () -{ -} - void TAO_Regular_POA::remove_from_parent_i () { diff --git a/TAO/tao/PortableServer/Regular_POA.h b/TAO/tao/PortableServer/Regular_POA.h index 9da699704311c..e11f4a1d4feb6 100644 --- a/TAO/tao/PortableServer/Regular_POA.h +++ b/TAO/tao/PortableServer/Regular_POA.h @@ -47,16 +47,16 @@ class TAO_PortableServer_Export TAO_Regular_POA TAO_ORB_Core &orb_core, TAO_Object_Adapter *object_adapter); - virtual ~TAO_Regular_POA (); + ~TAO_Regular_POA () override = default; - PortableServer::POA_ptr the_parent (); + PortableServer::POA_ptr the_parent () override; protected: - virtual void remove_from_parent_i (); + void remove_from_parent_i () override; - virtual CORBA::Boolean root () const; + CORBA::Boolean root () const override; - virtual char root_key_type (); + char root_key_type () override; /// The parent of this POA, be aware that in case this pointer is nill, /// we are a parent. This can be achieved by deriving from this Regular_POA diff --git a/TAO/tao/PortableServer/RequestProcessingStrategy.cpp b/TAO/tao/PortableServer/RequestProcessingStrategy.cpp index f564757c69979..713b6a92e04fd 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategy.cpp +++ b/TAO/tao/PortableServer/RequestProcessingStrategy.cpp @@ -14,20 +14,6 @@ namespace TAO { namespace Portable_Server { - RequestProcessingStrategy::RequestProcessingStrategy () - : poa_ (0) - { - } - - void - RequestProcessingStrategy::strategy_init( - TAO_Root_POA *poa, - ::PortableServer::ServantRetentionPolicyValue sr_value) - { - poa_ = poa; - sr_value_ = sr_value; - } - void RequestProcessingStrategy::strategy_init(TAO_Root_POA *poa) { @@ -37,13 +23,7 @@ namespace TAO void RequestProcessingStrategy::strategy_cleanup() { - poa_ = 0; - } - - ::PortableServer::ServantRetentionPolicyValue - RequestProcessingStrategy::sr_type() const - { - return sr_value_; + poa_ = nullptr; } } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategy.h b/TAO/tao/PortableServer/RequestProcessingStrategy.h index 5378d1739a4fa..3a25f9182bef0 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategy.h +++ b/TAO/tao/PortableServer/RequestProcessingStrategy.h @@ -12,13 +12,12 @@ #define TAO_REQUEST_PROCESSING_STRATEGY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/Policy_Strategy.h" +#include "tao/PortableServer/PortableServer.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/PortableServer.h" #include "tao/PortableServer/Servant_Location.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -45,21 +44,16 @@ namespace TAO namespace Portable_Server { class RequestProcessingStrategy - : public Policy_Strategy { public: - RequestProcessingStrategy (); + RequestProcessingStrategy () = default; + virtual ~RequestProcessingStrategy () = default; virtual void strategy_init(TAO_Root_POA *poa); - virtual void strategy_init( - TAO_Root_POA *poa, - ::PortableServer::ServantRetentionPolicyValue); - virtual void strategy_cleanup(); #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - virtual PortableServer::ServantManager_ptr get_servant_manager () = 0; virtual void set_servant_manager ( @@ -68,10 +62,9 @@ namespace TAO virtual void set_servant (PortableServer::Servant servant) = 0; virtual PortableServer::Servant get_servant () = 0; - #endif /* TAO_HAS_MINIMUM_POA == 0 !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */ - virtual TAO_SERVANT_LOCATION locate_servant ( + virtual TAO_Servant_Location locate_servant ( const PortableServer::ObjectId &system_id, PortableServer::Servant &servant) = 0; @@ -101,13 +94,8 @@ namespace TAO const PortableServer::ObjectId &system_id, const TAO::Portable_Server::Servant_Upcall &servant_upcall) = 0; - virtual ::PortableServer::RequestProcessingPolicyValue type() const = 0; - - virtual ::PortableServer::ServantRetentionPolicyValue sr_type() const; - protected: - TAO_Root_POA* poa_; - ::PortableServer::ServantRetentionPolicyValue sr_value_; + TAO_Root_POA* poa_ {}; }; } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp index 9a77833ffe326..6d90a05f0237d 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp +++ b/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp @@ -12,12 +12,7 @@ namespace TAO { namespace Portable_Server { - RequestProcessingStrategyAOMOnly::RequestProcessingStrategyAOMOnly() - { - } - #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - PortableServer::ServantManager_ptr RequestProcessingStrategyAOMOnly::get_servant_manager () { @@ -43,10 +38,9 @@ namespace TAO { throw PortableServer::POA::WrongPolicy (); } - #endif /* TAO_HAS_MINIMUM_POA == 0 !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */ - TAO_SERVANT_LOCATION + TAO_Servant_Location RequestProcessingStrategyAOMOnly::locate_servant ( const PortableServer::ObjectId & system_id, PortableServer::Servant & servant) @@ -141,13 +135,6 @@ namespace TAO const TAO::Portable_Server::Servant_Upcall &/*servant_upcall*/) { } - - ::PortableServer::RequestProcessingPolicyValue - RequestProcessingStrategyAOMOnly::type() const - { - return ::PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY; - } - } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.h b/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.h index 28718985f5fca..011f360b87648 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.h +++ b/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnly.h @@ -32,58 +32,49 @@ namespace TAO * * Request Processing Strategy which only uses the Active Object Map (AOM) */ - class RequestProcessingStrategyAOMOnly - : public RequestProcessingStrategy + class RequestProcessingStrategyAOMOnly : public RequestProcessingStrategy { public: - RequestProcessingStrategyAOMOnly (); + RequestProcessingStrategyAOMOnly () = default; #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + PortableServer::ServantManager_ptr get_servant_manager () override; - PortableServer::ServantManager_ptr - get_servant_manager (); + void set_servant_manager (PortableServer::ServantManager_ptr imgr) override; - void set_servant_manager (PortableServer::ServantManager_ptr imgr); - - void set_servant (PortableServer::Servant servant); - - PortableServer::Servant get_servant (); + void set_servant (PortableServer::Servant servant) override; + PortableServer::Servant get_servant () override; #endif /* TAO_HAS_MINIMUM_POA == 0 !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */ - virtual - TAO_SERVANT_LOCATION + TAO_Servant_Location locate_servant (const PortableServer::ObjectId &system_id, - PortableServer::Servant &servant); + PortableServer::Servant &servant) override; - virtual PortableServer::Servant locate_servant (const char *operation, const PortableServer::ObjectId &system_id, TAO::Portable_Server::Servant_Upcall &servant_upcall, TAO::Portable_Server::POA_Current_Impl &poa_current_impl, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - virtual PortableServer::Servant system_id_to_servant ( - const PortableServer::ObjectId &system_id); + PortableServer::Servant system_id_to_servant ( + const PortableServer::ObjectId &system_id) override; - virtual PortableServer::Servant id_to_servant ( - const PortableServer::ObjectId &id); + PortableServer::Servant id_to_servant ( + const PortableServer::ObjectId &id) override; - virtual void cleanup_servant ( + void cleanup_servant ( PortableServer::Servant servant, - const PortableServer::ObjectId &user_id); + const PortableServer::ObjectId &user_id) override; - virtual void etherealize_objects (CORBA::Boolean etherealize_objects); + void etherealize_objects (CORBA::Boolean etherealize_objects) override; - virtual PortableServer::ObjectId *servant_to_id ( - PortableServer::Servant servant); + PortableServer::ObjectId *servant_to_id (PortableServer::Servant servant) override; - virtual void post_invoke_servant_cleanup( + void post_invoke_servant_cleanup( const PortableServer::ObjectId &system_id, - const TAO::Portable_Server::Servant_Upcall &servant_upcall); - - virtual ::PortableServer::RequestProcessingPolicyValue type() const; + const TAO::Portable_Server::Servant_Upcall &servant_upcall) override; }; } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp deleted file mode 100644 index 2bdb5d8ce177b..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- -#include "tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h" -#include "tao/PortableServer/RequestProcessingStrategy.h" -#include "tao/PortableServer/RequestProcessingStrategyAOMOnly.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - RequestProcessingStrategy* - RequestProcessingStrategyAOMOnlyFactoryImpl::create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue /*srvalue*/) - { - RequestProcessingStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY : - { - ACE_NEW_RETURN (strategy, RequestProcessingStrategyAOMOnly, 0); - break; - } - default : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in RequestProcessingStrategyAOMOnlyFactoryImpl")); - break; - } - } - - return strategy; - } - - void - RequestProcessingStrategyAOMOnlyFactoryImpl::destroy ( - RequestProcessingStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - RequestProcessingStrategyAOMOnlyFactoryImpl, - ACE_TEXT ("RequestProcessingStrategyAOMOnlyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (RequestProcessingStrategyAOMOnlyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - RequestProcessingStrategyAOMOnlyFactoryImpl, - TAO::Portable_Server::RequestProcessingStrategyAOMOnlyFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h b/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h deleted file mode 100644 index c3bbc2407fbe2..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h +++ /dev/null @@ -1,51 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RequestProcessingStrategyAOMOnlyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYAOMONLYFACTORYIMPL_H -#define TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYAOMONLYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/RequestProcessingStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export RequestProcessingStrategyAOMOnlyFactoryImpl - : public RequestProcessingStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual RequestProcessingStrategy* create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue); - - virtual void destroy (RequestProcessingStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, RequestProcessingStrategyAOMOnlyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, RequestProcessingStrategyAOMOnlyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYAOMONLYFACTORYIMPL_H*/ diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp index cd58b8697d95f..97997f1baf606 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp +++ b/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp @@ -18,15 +18,10 @@ namespace TAO { namespace Portable_Server { - RequestProcessingStrategyDefaultServant::RequestProcessingStrategyDefaultServant () - : default_servant_ (0) - { - } - void RequestProcessingStrategyDefaultServant::strategy_cleanup() { - this->default_servant_ = 0; + this->default_servant_ = nullptr; } PortableServer::ServantManager_ptr @@ -63,7 +58,7 @@ namespace TAO // once on the Servant argument before returning. When the POA no // longer needs the Servant, it will invoke _remove_ref on it the // same number of times. - if (servant != 0) + if (servant) { // A recursive thread lock without using a recursive thread // lock. Non_Servant_Upcall has a magic constructor and @@ -80,20 +75,20 @@ namespace TAO } } - TAO_SERVANT_LOCATION + TAO_Servant_Location RequestProcessingStrategyDefaultServant::locate_servant ( const PortableServer::ObjectId & system_id, PortableServer::Servant & servant) { - TAO_SERVANT_LOCATION location = TAO_SERVANT_NOT_FOUND; + TAO_Servant_Location location = TAO_Servant_Location::Not_Found; location = this->poa_->servant_present (system_id, servant); - if (location == TAO_SERVANT_NOT_FOUND) + if (location == TAO_Servant_Location::Not_Found) { - if (this->default_servant_.in () != 0) + if (this->default_servant_.in ()) { - location = TAO_DEFAULT_SERVANT; + location = TAO_Servant_Location::Default_Servant; } } @@ -108,13 +103,13 @@ namespace TAO TAO::Portable_Server::POA_Current_Impl &poa_current_impl, bool & /*wait_occurred_restart_call*/) { - PortableServer::Servant servant = 0; + PortableServer::Servant servant = nullptr; servant = this->poa_->find_servant (system_id, servant_upcall, poa_current_impl); - if (servant == 0) + if (!servant) { // If the POA has the USE_DEFAULT_SERVANT policy, a default servant // has been associated with the POA so the POA will invoke the @@ -122,7 +117,7 @@ namespace TAO // associated with the POA, the POA raises the OBJ_ADAPTER system // exception. PortableServer::Servant default_servant = this->default_servant_.in (); - if (default_servant == 0) + if (!default_servant) { throw ::CORBA::OBJ_ADAPTER ( CORBA::OMGVMCID | 3, @@ -144,7 +139,7 @@ namespace TAO { PortableServer::Servant servant = this->default_servant_.in (); - if (servant == 0) + if (!servant) { servant = this->poa_->find_servant (system_id); } @@ -158,7 +153,7 @@ namespace TAO { PortableServer::Servant servant = this->default_servant_.in (); - if (servant == 0) + if (!servant) { /* * If using default servant request processing strategy but @@ -239,12 +234,6 @@ namespace TAO const TAO::Portable_Server::Servant_Upcall &/*servant_upcall*/) { } - - ::PortableServer::RequestProcessingPolicyValue - RequestProcessingStrategyDefaultServant::type() const - { - return ::PortableServer::USE_DEFAULT_SERVANT; - } } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.h b/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.h index e0c9f62f970d9..5318c0482a73d 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.h +++ b/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServant.h @@ -37,52 +37,50 @@ namespace TAO : public RequestProcessingStrategy { public: - RequestProcessingStrategyDefaultServant (); + RequestProcessingStrategyDefaultServant () = default; - virtual void strategy_cleanup(); + void strategy_cleanup() override; - PortableServer::ServantManager_ptr get_servant_manager (); + PortableServer::ServantManager_ptr get_servant_manager () override; - void set_servant_manager (PortableServer::ServantManager_ptr imgr); + void set_servant_manager (PortableServer::ServantManager_ptr imgr) override; - PortableServer::Servant get_servant (); + PortableServer::Servant get_servant () override; - void set_servant (PortableServer::Servant servant); + void set_servant (PortableServer::Servant servant) override; - virtual TAO_SERVANT_LOCATION locate_servant ( + TAO_Servant_Location locate_servant ( const PortableServer::ObjectId &system_id, - PortableServer::Servant &servant); + PortableServer::Servant &servant) override; - virtual PortableServer::Servant locate_servant ( + PortableServer::Servant locate_servant ( const char *operation, const PortableServer::ObjectId &system_id, TAO::Portable_Server::Servant_Upcall &servant_upcall, TAO::Portable_Server::POA_Current_Impl &poa_current_impl, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - virtual PortableServer::Servant system_id_to_servant ( - const PortableServer::ObjectId &system_id); + PortableServer::Servant system_id_to_servant ( + const PortableServer::ObjectId &system_id) override; - virtual PortableServer::Servant id_to_servant ( - const PortableServer::ObjectId &id); + PortableServer::Servant id_to_servant ( + const PortableServer::ObjectId &id) override; - virtual void cleanup_servant ( + void cleanup_servant ( PortableServer::Servant servant, - const PortableServer::ObjectId &user_id); + const PortableServer::ObjectId &user_id) override; - virtual void etherealize_objects (CORBA::Boolean etherealize_objects); + void etherealize_objects (CORBA::Boolean etherealize_objects) override; - virtual PortableServer::ObjectId *servant_to_id ( - PortableServer::Servant servant); + PortableServer::ObjectId *servant_to_id ( + PortableServer::Servant servant) override; - virtual void post_invoke_servant_cleanup( + void post_invoke_servant_cleanup( const PortableServer::ObjectId &system_id, - const TAO::Portable_Server::Servant_Upcall &servant_upcall); - - virtual ::PortableServer::RequestProcessingPolicyValue type() const; + const TAO::Portable_Server::Servant_Upcall &servant_upcall) override; private: - PortableServer::ServantBase_var default_servant_; + PortableServer::ServantBase_var default_servant_ {}; }; } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.cpp deleted file mode 100644 index b2a2250c04a12..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include "tao/orbconf.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -#include "tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h" -#include "tao/PortableServer/RequestProcessingStrategy.h" -#include "tao/PortableServer/RequestProcessingStrategyDefaultServant.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - RequestProcessingStrategy* - RequestProcessingStrategyDefaultServantFactoryImpl::create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue /*srvalue*/) - { - RequestProcessingStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::USE_DEFAULT_SERVANT : - { - ACE_NEW_RETURN (strategy, RequestProcessingStrategyDefaultServant, 0); - break; - } - default : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in RequestProcessingStrategyDefaultServantFactoryImpl")); - break; - } - } - - return strategy; - } - - void - RequestProcessingStrategyDefaultServantFactoryImpl::destroy ( - RequestProcessingStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - RequestProcessingStrategyDefaultServantFactoryImpl, - ACE_TEXT ("RequestProcessingStrategyDefaultServantFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (RequestProcessingStrategyDefaultServantFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - RequestProcessingStrategyDefaultServantFactoryImpl, - TAO::Portable_Server::RequestProcessingStrategyDefaultServantFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h b/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h deleted file mode 100644 index 3fd7f7376095a..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RequestProcessingStrategyDefaultServantFI.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYDEFAULTSERVANTFACTORYIMPL_H -#define TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYDEFAULTSERVANTFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/RequestProcessingStrategyFactory.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export RequestProcessingStrategyDefaultServantFactoryImpl - : public RequestProcessingStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual RequestProcessingStrategy* create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue); - - virtual void destroy (RequestProcessingStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, RequestProcessingStrategyDefaultServantFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, RequestProcessingStrategyDefaultServantFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYDEFAULTSERVANTFACTORYIMPL_H*/ diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyFactory.h b/TAO/tao/PortableServer/RequestProcessingStrategyFactory.h deleted file mode 100644 index 24b9a9c876720..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyFactory.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RequestProcessingStrategyFactory.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYFACTORY_H -#define TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYFACTORY_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/StrategyFactory.h" -#include "tao/PortableServer/RequestProcessingPolicyC.h" -#include "tao/PortableServer/ServantRetentionPolicyC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class RequestProcessingStrategy; - - class TAO_PortableServer_Export RequestProcessingStrategyFactory - : public StrategyFactory - { - public: - /// Create a new servant retention strategy - virtual RequestProcessingStrategy* create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue) = 0; - - virtual void destroy (RequestProcessingStrategy *strategy) = 0; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYFACTORY_H */ diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.cpp deleted file mode 100644 index bd18a086ce73c..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.cpp +++ /dev/null @@ -1,141 +0,0 @@ -#include "tao/PortableServer/RequestProcessingStrategyFactoryImpl.h" -#include "tao/PortableServer/RequestProcessingStrategyAOMOnly.h" -#include "tao/PortableServer/RequestProcessingStrategyDefaultServant.h" -#include "tao/PortableServer/RequestProcessingStrategyServantLocator.h" -#include "tao/PortableServer/RequestProcessingStrategyServantActivator.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - RequestProcessingStrategy* - RequestProcessingStrategyFactoryImpl::create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue) - { - RequestProcessingStrategy* strategy = 0; - RequestProcessingStrategyFactory *strategy_factory = 0; - - switch (value) - { - case ::PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyAOMOnlyFactory"); - - break; - } - case ::PortableServer::USE_DEFAULT_SERVANT : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyDefaultServantFactory"); - - break; - } - case ::PortableServer::USE_SERVANT_MANAGER : - { -#if (TAO_HAS_MINIMUM_POA == 0) - switch (srvalue) - { - case ::PortableServer::RETAIN : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyServantActivatorFactory"); - - break; - } - case ::PortableServer::NON_RETAIN : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyServantLocatorFactory"); - - break; - } - } -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - break; - } - } - - if (strategy_factory != 0) - strategy = strategy_factory->create (value, srvalue); - else - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) %p\n"), - ACE_TEXT ("ERROR, Unable to get ") - ACE_TEXT ("RequestProcessingStrategyFactory"))); - - return strategy; - } - - void - RequestProcessingStrategyFactoryImpl::destroy ( - RequestProcessingStrategy *strategy) - { - RequestProcessingStrategyFactory *strategy_factory = 0; - - switch (strategy->type ()) - { - case ::PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyAOMOnlyFactory"); - - break; - } - case ::PortableServer::USE_DEFAULT_SERVANT : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyDefaultServantFactory"); - - break; - } - case ::PortableServer::USE_SERVANT_MANAGER : - { -#if (TAO_HAS_MINIMUM_POA == 0) - switch (strategy->sr_type ()) - { - case ::PortableServer::RETAIN : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyServantActivatorFactory"); - - break; - } - case ::PortableServer::NON_RETAIN : - { - strategy_factory = - ACE_Dynamic_Service::instance ("RequestProcessingStrategyServantLocatorFactory"); - break; - } - } -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - break; - } - } - - if (strategy_factory != 0) - { - strategy_factory->destroy (strategy); - } - } - } -} - -ACE_STATIC_SVC_DEFINE ( - RequestProcessingStrategyFactoryImpl, - ACE_TEXT ("RequestProcessingStrategyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (RequestProcessingStrategyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - RequestProcessingStrategyFactoryImpl, - TAO::Portable_Server::RequestProcessingStrategyFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.h b/TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.h deleted file mode 100644 index 96ee26cf1065b..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyFactoryImpl.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RequestProcessingStrategyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/RequestProcessingStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export RequestProcessingStrategyFactoryImpl - : public RequestProcessingStrategyFactory - { - public: - virtual RequestProcessingStrategy* create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue); - - virtual void destroy (RequestProcessingStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, RequestProcessingStrategyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, RequestProcessingStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.cpp index 2ba133bb3095d..e07d39daf81bc 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.cpp +++ b/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.cpp @@ -17,11 +17,6 @@ namespace TAO { namespace Portable_Server { - RequestProcessingStrategyServantActivator::RequestProcessingStrategyServantActivator () : - etherealize_objects_ (true) - { - } - void RequestProcessingStrategyServantActivator::strategy_cleanup () { @@ -61,20 +56,20 @@ namespace TAO this->validate_servant_manager (this->servant_activator_.in ()); } - TAO_SERVANT_LOCATION + TAO_Servant_Location RequestProcessingStrategyServantActivator::locate_servant ( const PortableServer::ObjectId &system_id, PortableServer::Servant &servant) { - TAO_SERVANT_LOCATION location = TAO_SERVANT_NOT_FOUND; + TAO_Servant_Location location = TAO_Servant_Location::Not_Found; location = this->poa_->servant_present (system_id, servant); - if (location == TAO_SERVANT_NOT_FOUND) + if (location == TAO_Servant_Location::Not_Found) { if (!CORBA::is_nil (this->servant_activator_.in ())) { - location = TAO_SERVANT_MANAGER; + location = TAO_Servant_Location::Servant_Manager; } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.h b/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.h index c7675ae80a07d..7d41bcf6b6f20 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.h +++ b/TAO/tao/PortableServer/RequestProcessingStrategyServantActivator.h @@ -34,34 +34,34 @@ namespace TAO : public RequestProcessingStrategyServantManager { public: - RequestProcessingStrategyServantActivator (); + RequestProcessingStrategyServantActivator () = default; - virtual void strategy_cleanup(); + void strategy_cleanup() override; - PortableServer::ServantManager_ptr get_servant_manager (); + PortableServer::ServantManager_ptr get_servant_manager () override; - void set_servant_manager (PortableServer::ServantManager_ptr imgr); + void set_servant_manager (PortableServer::ServantManager_ptr imgr) override; - virtual TAO_SERVANT_LOCATION locate_servant ( + TAO_Servant_Location locate_servant ( const PortableServer::ObjectId &system_id, - PortableServer::Servant &servant); + PortableServer::Servant &servant) override; - virtual PortableServer::Servant locate_servant ( + PortableServer::Servant locate_servant ( const char *operation, const PortableServer::ObjectId &system_id, TAO::Portable_Server::Servant_Upcall &servant_upcall, TAO::Portable_Server::POA_Current_Impl &poa_current_impl, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - virtual void cleanup_servant ( + void cleanup_servant ( PortableServer::Servant servant, - const PortableServer::ObjectId &user_id); + const PortableServer::ObjectId &user_id) override; - virtual void etherealize_objects (CORBA::Boolean etherealize_objects); + void etherealize_objects (CORBA::Boolean etherealize_objects) override; - virtual void post_invoke_servant_cleanup( + void post_invoke_servant_cleanup( const PortableServer::ObjectId &system_id, - const TAO::Portable_Server::Servant_Upcall &servant_upcall); + const TAO::Portable_Server::Servant_Upcall &servant_upcall) override; private: PortableServer::Servant incarnate_servant ( @@ -73,7 +73,7 @@ namespace TAO private: PortableServer::ServantActivator_var servant_activator_; - CORBA::Boolean etherealize_objects_; + CORBA::Boolean etherealize_objects_ { true }; }; } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.cpp deleted file mode 100644 index 9d25c652d3a6d..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.cpp +++ /dev/null @@ -1,80 +0,0 @@ -#include "tao/orbconf.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -#include "tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h" -#include "tao/PortableServer/RequestProcessingStrategy.h" -#include "tao/PortableServer/RequestProcessingStrategyServantActivator.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - RequestProcessingStrategy* - RequestProcessingStrategyServantActivatorFactoryImpl::create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue) - { - RequestProcessingStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::USE_SERVANT_MANAGER : - { - switch (srvalue) - { - case ::PortableServer::RETAIN : - { - ACE_NEW_RETURN (strategy, RequestProcessingStrategyServantActivator, 0); - break; - } - case ::PortableServer::NON_RETAIN : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in RequestProcessingStrategyServantActivatorFactoryImpl")); - break; - } - } - break; - } - default : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in RequestProcessingStrategyServantActivatorFactoryImpl")); - break; - } - } - - return strategy; - } - - void - RequestProcessingStrategyServantActivatorFactoryImpl::destroy ( - RequestProcessingStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - RequestProcessingStrategyServantActivatorFactoryImpl, - ACE_TEXT ("RequestProcessingStrategyServantActivatorFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (RequestProcessingStrategyServantActivatorFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - RequestProcessingStrategyServantActivatorFactoryImpl, - TAO::Portable_Server::RequestProcessingStrategyServantActivatorFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h b/TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h deleted file mode 100644 index b5bb15a8f9820..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RequestProcessingStrategyServantActivatorFI.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYSERVANTACTIVATORFACTORYIMPL_H -#define TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYSERVANTACTIVATORFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/RequestProcessingStrategyFactory.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export RequestProcessingStrategyServantActivatorFactoryImpl - : public RequestProcessingStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual RequestProcessingStrategy* create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue); - - virtual void destroy (RequestProcessingStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, RequestProcessingStrategyServantActivatorFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, RequestProcessingStrategyServantActivatorFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYSERVANTACTIVATORFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.cpp index 01458939b75e0..40f660c33ee53 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.cpp +++ b/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.cpp @@ -17,10 +17,6 @@ namespace TAO { namespace Portable_Server { - RequestProcessingStrategyServantLocator::RequestProcessingStrategyServantLocator () - { - } - void RequestProcessingStrategyServantLocator::strategy_cleanup() { @@ -60,19 +56,18 @@ namespace TAO this->validate_servant_manager (this->servant_locator_.in ()); } - TAO_SERVANT_LOCATION + TAO_Servant_Location RequestProcessingStrategyServantLocator::locate_servant ( const PortableServer::ObjectId &system_id, PortableServer::Servant &servant) { - TAO_SERVANT_LOCATION location = - this->poa_->servant_present (system_id, servant); + TAO_Servant_Location location = this->poa_->servant_present (system_id, servant); - if (location == TAO_SERVANT_NOT_FOUND) + if (location == TAO_Servant_Location::Not_Found) { if (!CORBA::is_nil (this->servant_locator_.in ())) { - location = TAO_SERVANT_MANAGER; + location = TAO_Servant_Location::Servant_Manager; } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.h b/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.h index 9cff43232f2bb..c6f8c3a4ff6af 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.h +++ b/TAO/tao/PortableServer/RequestProcessingStrategyServantLocator.h @@ -34,34 +34,34 @@ namespace TAO : public RequestProcessingStrategyServantManager { public: - RequestProcessingStrategyServantLocator (); + RequestProcessingStrategyServantLocator () = default; - virtual void strategy_cleanup(); + void strategy_cleanup() override; - PortableServer::ServantManager_ptr get_servant_manager (); + PortableServer::ServantManager_ptr get_servant_manager () override; - void set_servant_manager (PortableServer::ServantManager_ptr imgr); + void set_servant_manager (PortableServer::ServantManager_ptr imgr) override; - virtual TAO_SERVANT_LOCATION locate_servant ( + TAO_Servant_Location locate_servant ( const PortableServer::ObjectId &system_id, - PortableServer::Servant &servant); + PortableServer::Servant &servant) override; - virtual void post_invoke_servant_cleanup( + void post_invoke_servant_cleanup( const PortableServer::ObjectId &system_id, - const TAO::Portable_Server::Servant_Upcall &servant_upcall); + const TAO::Portable_Server::Servant_Upcall &servant_upcall) override; - virtual PortableServer::Servant locate_servant ( + PortableServer::Servant locate_servant ( const char *operation, const PortableServer::ObjectId &system_id, TAO::Portable_Server::Servant_Upcall &servant_upcall, TAO::Portable_Server::POA_Current_Impl &poa_current_impl, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - virtual void cleanup_servant ( + void cleanup_servant ( PortableServer::Servant servant, - const PortableServer::ObjectId &user_id); + const PortableServer::ObjectId &user_id) override; - virtual void etherealize_objects (CORBA::Boolean etherealize_objects); + void etherealize_objects (CORBA::Boolean etherealize_objects) override; private: PortableServer::ServantLocator_var servant_locator_; diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.cpp deleted file mode 100644 index 9da757ce48912..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.cpp +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- -#include "tao/orbconf.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -#include "tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h" -#include "tao/PortableServer/RequestProcessingStrategy.h" -#include "tao/PortableServer/RequestProcessingStrategyServantLocator.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - RequestProcessingStrategy* - RequestProcessingStrategyServantLocatorFactoryImpl::create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue) - { - RequestProcessingStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::USE_SERVANT_MANAGER : - { - switch (srvalue) - { - case ::PortableServer::RETAIN : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in RequestProcessingStrategyServantLocatorFactoryImpl")); - break; - } - case ::PortableServer::NON_RETAIN : - { - ACE_NEW_RETURN (strategy, RequestProcessingStrategyServantLocator, 0); - break; - } - } - break; - } - default : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in RequestProcessingStrategyServantLocatorFactoryImpl")); - break; - } - } - - return strategy; - } - - void - RequestProcessingStrategyServantLocatorFactoryImpl::destroy ( - RequestProcessingStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - RequestProcessingStrategyServantLocatorFactoryImpl, - ACE_TEXT ("RequestProcessingStrategyServantLocatorFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (RequestProcessingStrategyServantLocatorFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - RequestProcessingStrategyServantLocatorFactoryImpl, - TAO::Portable_Server::RequestProcessingStrategyServantLocatorFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h b/TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h deleted file mode 100644 index a114844ac8f9e..0000000000000 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RequestProcessingStrategyServantLocatorFI.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYSERVANTLOCATORFACTORYIMPL_H -#define TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYSERVANTLOCATORFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/RequestProcessingStrategyFactory.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export RequestProcessingStrategyServantLocatorFactoryImpl - : public RequestProcessingStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual RequestProcessingStrategy* create ( - ::PortableServer::RequestProcessingPolicyValue value, - ::PortableServer::ServantRetentionPolicyValue srvalue); - - virtual void destroy (RequestProcessingStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, RequestProcessingStrategyServantLocatorFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, RequestProcessingStrategyServantLocatorFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_REQUESTPROCESSINGSTRATEGYSERVANTLOCATORFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.cpp b/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.cpp index 6454c9ff55b6a..476258bcf681c 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.cpp +++ b/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.cpp @@ -14,10 +14,6 @@ namespace TAO { namespace Portable_Server { - RequestProcessingStrategyServantManager::RequestProcessingStrategyServantManager () - { - } - PortableServer::Servant RequestProcessingStrategyServantManager::get_servant () { @@ -63,12 +59,6 @@ namespace TAO { return this->poa_->user_id_to_servant_i (id); } - - ::PortableServer::RequestProcessingPolicyValue - RequestProcessingStrategyServantManager::type() const - { - return ::PortableServer::USE_SERVANT_MANAGER; - } } } diff --git a/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.h b/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.h index 420d94410725d..65438cb07f7f1 100644 --- a/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.h +++ b/TAO/tao/PortableServer/RequestProcessingStrategyServantManager.h @@ -33,25 +33,20 @@ namespace TAO : public RequestProcessingStrategy { public: - RequestProcessingStrategyServantManager (); + RequestProcessingStrategyServantManager () = default; - PortableServer::Servant get_servant (); + PortableServer::Servant get_servant () override; - void set_servant (PortableServer::Servant servant); + void set_servant (PortableServer::Servant servant) override; - void validate_servant_manager ( + virtual void validate_servant_manager ( PortableServer::ServantManager_ptr servant_manager); - virtual PortableServer::Servant system_id_to_servant ( - const PortableServer::ObjectId &system_id); + PortableServer::Servant system_id_to_servant (const PortableServer::ObjectId &system_id) override; - virtual PortableServer::Servant id_to_servant ( - const PortableServer::ObjectId &id); + PortableServer::Servant id_to_servant (const PortableServer::ObjectId &id) override; - virtual PortableServer::ObjectId *servant_to_id ( - PortableServer::Servant servant); - - virtual ::PortableServer::RequestProcessingPolicyValue type() const; + PortableServer::ObjectId *servant_to_id (PortableServer::Servant servant) override; }; } } diff --git a/TAO/tao/PortableServer/Root_POA.cpp b/TAO/tao/PortableServer/Root_POA.cpp index a2ea413e806de..049f891a4bfb7 100644 --- a/TAO/tao/PortableServer/Root_POA.cpp +++ b/TAO/tao/PortableServer/Root_POA.cpp @@ -258,11 +258,9 @@ TAO_Root_POA::TAO_Root_POA (const TAO_Root_POA::String &name, // minimum POA builds, remove this code and remove the guards // in Object_Adapter.cpp when changing the default policy for the // RootPOA. - if (ACE_OS::strcmp (this->name_.c_str (), - TAO_DEFAULT_ROOTPOA_NAME) == 0) + if (ACE_OS::strcmp (this->name_.c_str (), TAO_DEFAULT_ROOTPOA_NAME) == 0) { - this->cached_policies_.implicit_activation - (PortableServer::IMPLICIT_ACTIVATION); + this->cached_policies_.implicit_activation (PortableServer::IMPLICIT_ACTIVATION); } #endif /* TAO_HAS_MINIMUM_POA == 1 */ @@ -270,7 +268,7 @@ TAO_Root_POA::TAO_Root_POA (const TAO_Root_POA::String &name, this->active_policy_strategies_.update (this->cached_policies_, this); TAO::Portable_Server::Active_Policy_Strategies_Cleanup_Guard aps_cleanup_guard ( - &this->active_policy_strategies_); + std::addressof(this->active_policy_strategies_)); // Set the folded name of this POA. this->set_folded_name (parent); @@ -2189,7 +2187,7 @@ TAO_Root_POA::client_exposed_policies (CORBA::Short /* object_priority */) return policies._retn (); } -TAO_SERVANT_LOCATION +TAO_Servant_Location TAO_Root_POA::locate_servant_i (const PortableServer::ObjectId &system_id, PortableServer::Servant &servant) { @@ -2197,7 +2195,7 @@ TAO_Root_POA::locate_servant_i (const PortableServer::ObjectId &system_id, locate_servant (system_id, servant); } -TAO_SERVANT_LOCATION +TAO_Servant_Location TAO_Root_POA::servant_present (const PortableServer::ObjectId &system_id, PortableServer::Servant &servant) { diff --git a/TAO/tao/PortableServer/Root_POA.h b/TAO/tao/PortableServer/Root_POA.h index 317e4ce67f518..812a4b7d00e37 100644 --- a/TAO/tao/PortableServer/Root_POA.h +++ b/TAO/tao/PortableServer/Root_POA.h @@ -391,7 +391,7 @@ class TAO_PortableServer_Export TAO_Root_POA PortableServer::Servant find_servant (const PortableServer::ObjectId &system_id); - TAO_SERVANT_LOCATION servant_present ( + TAO_Servant_Location servant_present ( const PortableServer::ObjectId &system_id, PortableServer::Servant &servant); @@ -620,7 +620,7 @@ class TAO_PortableServer_Export TAO_Root_POA PortableInterceptor::ObjectReferenceFactory *current_factory); - TAO_SERVANT_LOCATION locate_servant_i (const PortableServer::ObjectId &id, + TAO_Servant_Location locate_servant_i (const PortableServer::ObjectId &id, PortableServer::Servant &servant); PortableServer::Servant locate_servant_i ( diff --git a/TAO/tao/PortableServer/ServantRetentionStrategy.cpp b/TAO/tao/PortableServer/ServantRetentionStrategy.cpp new file mode 100644 index 0000000000000..81c33e627da0a --- /dev/null +++ b/TAO/tao/PortableServer/ServantRetentionStrategy.cpp @@ -0,0 +1,23 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file ServantRetentionStrategy.cpp + */ +//============================================================================= + +#include "tao/PortableServer/ServantRetentionStrategy.h" + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + namespace Portable_Server + { + ServantRetentionStrategy::ServantRetentionStrategy () + { + } + } /* namespace Portable_Server */ +} /* namespace TAO */ + +TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ServantRetentionStrategy.h b/TAO/tao/PortableServer/ServantRetentionStrategy.h index 6873a3b8028ae..700616953f873 100644 --- a/TAO/tao/PortableServer/ServantRetentionStrategy.h +++ b/TAO/tao/PortableServer/ServantRetentionStrategy.h @@ -12,13 +12,12 @@ #define TAO_SERVANTRETENTIONSTRATEGY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/Policy_Strategy.h" +#include "tao/PortableServer/Servant_Location.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/Servant_Location.h" #include "tao/PortableServer/Servant_Upcall.h" #include "tao/PortableServer/ServantRetentionPolicyC.h" #include "tao/PortableServer/PortableServer.h" @@ -34,15 +33,21 @@ namespace TAO namespace Portable_Server { class ServantRetentionStrategy - : public Policy_Strategy { public: + ServantRetentionStrategy (); + virtual ~ServantRetentionStrategy () = default; + + virtual void strategy_init (TAO_Root_POA *poa); + + virtual void strategy_cleanup(); + virtual CORBA::ULong waiting_servant_deactivation () const = 0; virtual int is_servant_in_map (PortableServer::Servant servant, bool &wait_occurred_restart_call) = 0; - virtual TAO_SERVANT_LOCATION servant_present ( + virtual TAO_Servant_Location servant_present ( const PortableServer::ObjectId &system_id, PortableServer::Servant &servant) = 0; diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyFactory.h b/TAO/tao/PortableServer/ServantRetentionStrategyFactory.h deleted file mode 100644 index dce8425c22b5f..0000000000000 --- a/TAO/tao/PortableServer/ServantRetentionStrategyFactory.h +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ServantRetentionStrategyFactory.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYFACTORY_H -#define TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYFACTORY_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/StrategyFactory.h" -#include "tao/PortableServer/ServantRetentionPolicyC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class ServantRetentionStrategy; - - class TAO_PortableServer_Export ServantRetentionStrategyFactory - : public StrategyFactory - { - public: - /// Create a new servant retention strategy - virtual ServantRetentionStrategy* create (::PortableServer::ServantRetentionPolicyValue value) = 0; - - virtual void destroy (ServantRetentionStrategy *strategy) = 0; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYFACTORY_H */ diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.cpp b/TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.cpp deleted file mode 100644 index 71fa991e79a7c..0000000000000 --- a/TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.cpp +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- -#include "tao/PortableServer/ServantRetentionStrategyFactoryImpl.h" -#include "tao/PortableServer/ServantRetentionStrategy.h" -#include "tao/debug.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - ServantRetentionStrategy* - ServantRetentionStrategyFactoryImpl::create ( - ::PortableServer::ServantRetentionPolicyValue value) - { - ServantRetentionStrategyFactory *strategy_factory = 0; - const char *strategy_factory_name = 0; - - switch (value) - { - case ::PortableServer::RETAIN : - { - strategy_factory_name = "ServantRetentionStrategyRetainFactory"; - break; - } - case ::PortableServer::NON_RETAIN : - { - strategy_factory_name = "ServantRetentionStrategyNonRetainFactory"; - break; - } - } - - strategy_factory = - ACE_Dynamic_Service::instance (strategy_factory_name); - - if (strategy_factory == 0) - { - if (TAO_debug_level > 1) - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) ERROR, Unable to get %C\n"), - strategy_factory_name)); - - return 0; - } - - return strategy_factory->create (value); - } - - void - ServantRetentionStrategyFactoryImpl::destroy ( - ServantRetentionStrategy *strategy) - { - const char *strategy_factory_name = 0; - - switch (strategy->type ()) - { - case ::PortableServer::RETAIN : - { - strategy_factory_name = "ServantRetentionStrategyRetainFactory"; - break; - } - case ::PortableServer::NON_RETAIN : - { - strategy_factory_name = "ServantRetentionStrategyNonRetainFactory"; - break; - } - } - - ServantRetentionStrategyFactory *servantretention_strategy_factory = - ACE_Dynamic_Service::instance (strategy_factory_name); - - if (servantretention_strategy_factory != 0) - { - servantretention_strategy_factory->destroy (strategy); - } - } - } -} - -ACE_STATIC_SVC_DEFINE ( - ServantRetentionStrategyFactoryImpl, - ACE_TEXT ("ServantRetentionStrategyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ServantRetentionStrategyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ServantRetentionStrategyFactoryImpl, - TAO::Portable_Server::ServantRetentionStrategyFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.h b/TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.h deleted file mode 100644 index e73ae1ff4d53a..0000000000000 --- a/TAO/tao/PortableServer/ServantRetentionStrategyFactoryImpl.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ServantRetentionStrategyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/ServantRetentionStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export ServantRetentionStrategyFactoryImpl - : public ServantRetentionStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual ServantRetentionStrategy* create (::PortableServer::ServantRetentionPolicyValue value); - - virtual void destroy (ServantRetentionStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ServantRetentionStrategyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, ServantRetentionStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp index e4e39fbe4bd1f..7fd93860d127b 100644 --- a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp +++ b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp @@ -24,12 +24,6 @@ namespace TAO { namespace Portable_Server { - ServantRetentionStrategyNonRetain::ServantRetentionStrategyNonRetain () : - poa_ (0), - sys_id_count_ (0) - { - } - void ServantRetentionStrategyNonRetain::strategy_init (TAO_Root_POA *poa) { @@ -39,7 +33,7 @@ namespace TAO void ServantRetentionStrategyNonRetain::strategy_cleanup () { - poa_ = 0; + poa_ = nullptr; } void @@ -87,12 +81,12 @@ namespace TAO throw PortableServer::POA::WrongPolicy (); } - TAO_SERVANT_LOCATION + TAO_Servant_Location ServantRetentionStrategyNonRetain::servant_present ( const PortableServer::ObjectId &/*system_id*/, PortableServer::Servant &/*servant*/) { - return TAO_SERVANT_NOT_FOUND; + return TAO_Servant_Location::Not_Found; } PortableServer::Servant diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h index 8d2e46f533649..3365ec714fddd 100644 --- a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h +++ b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h @@ -33,97 +33,88 @@ namespace TAO : public ServantRetentionStrategy { public: - ServantRetentionStrategyNonRetain (); + ServantRetentionStrategyNonRetain () = default; - virtual void strategy_init (TAO_Root_POA *poa); + void strategy_init (TAO_Root_POA *poa) override; - virtual void strategy_cleanup(); + void strategy_cleanup() override; CORBA::ULong waiting_servant_deactivation () const; - virtual PortableServer::ObjectId * activate_object (PortableServer::Servant servant, CORBA::Short priority, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - virtual void activate_object_with_id (const PortableServer::ObjectId &id, PortableServer::Servant servant, CORBA::Short priority, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - virtual void deactivate_object (const PortableServer::ObjectId &id); + void deactivate_object (const PortableServer::ObjectId &id) override; - virtual PortableServer::Servant find_servant ( - const PortableServer::ObjectId &system_id); + PortableServer::Servant find_servant ( + const PortableServer::ObjectId &system_id) override; - virtual int is_servant_in_map (PortableServer::Servant servant, - bool &wait_occurred_restart_call); + int is_servant_in_map (PortableServer::Servant servant, + bool &wait_occurred_restart_call) override; - virtual PortableServer::ObjectId *system_id_to_object_id ( - const PortableServer::ObjectId &system_id); + PortableServer::ObjectId *system_id_to_object_id ( + const PortableServer::ObjectId &system_id) override; - virtual PortableServer::Servant - user_id_to_servant (const PortableServer::ObjectId &id); + user_id_to_servant (const PortableServer::ObjectId &id) override; CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &id, bool indirect); - virtual TAO_SERVANT_LOCATION servant_present ( + TAO_Servant_Location servant_present ( const PortableServer::ObjectId &system_id, - PortableServer::Servant &servant); + PortableServer::Servant &servant) override; - virtual PortableServer::Servant find_servant ( + PortableServer::Servant find_servant ( const PortableServer::ObjectId &system_id, TAO::Portable_Server::Servant_Upcall &servant_upcall, - TAO::Portable_Server::POA_Current_Impl &poa_current_impl); + TAO::Portable_Server::POA_Current_Impl &poa_current_impl) override; - virtual int find_servant_priority ( + int find_servant_priority ( const PortableServer::ObjectId &system_id, - CORBA::Short &priority); + CORBA::Short &priority) override; - virtual void deactivate_all_objects (); + void deactivate_all_objects () override; - virtual PortableServer::ObjectId *servant_to_user_id ( - PortableServer::Servant servant); + PortableServer::ObjectId *servant_to_user_id (PortableServer::Servant servant) override; - virtual CORBA::Object_ptr servant_to_reference ( - PortableServer::Servant servant); + CORBA::Object_ptr servant_to_reference (PortableServer::Servant servant) override; - virtual CORBA::Object_ptr create_reference ( - const char *intf, - CORBA::Short priority); + CORBA::Object_ptr create_reference (const char *intf, CORBA::Short priority) override; #if !defined (CORBA_E_MICRO) - virtual CORBA::Object_ptr create_reference_with_id ( + CORBA::Object_ptr create_reference_with_id ( const PortableServer::ObjectId &oid, const char *intf, - CORBA::Short priority); + CORBA::Short priority) override; #endif - virtual int rebind_using_user_id_and_system_id ( + int rebind_using_user_id_and_system_id ( PortableServer::Servant servant, const PortableServer::ObjectId &user_id, const PortableServer::ObjectId &system_id, - TAO::Portable_Server::Servant_Upcall &servant_upcall); + TAO::Portable_Server::Servant_Upcall &servant_upcall) override; - virtual CORBA::Boolean servant_has_remaining_activations ( - PortableServer::Servant servant); + CORBA::Boolean servant_has_remaining_activations (PortableServer::Servant servant) override; - virtual int unbind_using_user_id ( - const PortableServer::ObjectId &user_id); + int unbind_using_user_id (const PortableServer::ObjectId &user_id) override; - virtual ::PortableServer::ServantRetentionPolicyValue type() const; + ::PortableServer::ServantRetentionPolicyValue type() const override; - virtual TAO_Active_Object_Map * get_active_object_map() const; + TAO_Active_Object_Map * get_active_object_map() const override; protected: - TAO_Root_POA *poa_; - std::atomic sys_id_count_; + TAO_Root_POA *poa_ {}; + std::atomic sys_id_count_ { 0 }; }; } } diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.cpp b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.cpp deleted file mode 100644 index 5d5881e9582cd..0000000000000 --- a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "tao/orbconf.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -#include "tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h" -#include "tao/PortableServer/ServantRetentionStrategy.h" -#include "tao/PortableServer/ServantRetentionStrategyNonRetain.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - ServantRetentionStrategy* - ServantRetentionStrategyNonRetainFactoryImpl::create ( - ::PortableServer::ServantRetentionPolicyValue value) - { - ServantRetentionStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::NON_RETAIN : - { - ACE_NEW_RETURN (strategy, ServantRetentionStrategyNonRetain, 0); - break; - } - case ::PortableServer::RETAIN : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in ServantRetentionStrategyNonRetainFactoryImpl")); - break; - } - } - - return strategy; - } - - void - ServantRetentionStrategyNonRetainFactoryImpl::destroy ( - ServantRetentionStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - ServantRetentionStrategyNonRetainFactoryImpl, - ACE_TEXT ("ServantRetentionStrategyNonRetainFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ServantRetentionStrategyNonRetainFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ServantRetentionStrategyNonRetainFactoryImpl, - TAO::Portable_Server::ServantRetentionStrategyNonRetainFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 && !CORBA_E_COMPACT && !CORBA_E_MICRO */ diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h deleted file mode 100644 index f4003e8020729..0000000000000 --- a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ServantRetentionStrategyNonRetainFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYNONRETAIN_FACTORYIMPL_H -#define TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYNONRETAIN_FACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/ServantRetentionStrategyFactory.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export ServantRetentionStrategyNonRetainFactoryImpl - : public ServantRetentionStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual ServantRetentionStrategy* create (::PortableServer::ServantRetentionPolicyValue value); - - virtual void destroy (ServantRetentionStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ServantRetentionStrategyNonRetainFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, ServantRetentionStrategyNonRetainFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYNONRETAIN_FACTORYIMPL_H*/ diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyRetain.cpp b/TAO/tao/PortableServer/ServantRetentionStrategyRetain.cpp index efcd7935078ff..292e13dfcd27b 100644 --- a/TAO/tao/PortableServer/ServantRetentionStrategyRetain.cpp +++ b/TAO/tao/PortableServer/ServantRetentionStrategyRetain.cpp @@ -26,13 +26,6 @@ namespace TAO { namespace Portable_Server { - ServantRetentionStrategyRetain::ServantRetentionStrategyRetain () : - ServantRetentionStrategyNonRetain (), - active_object_map_ (), - waiting_servant_deactivation_ (0) - { - } - void ServantRetentionStrategyRetain::strategy_init (TAO_Root_POA *poa) { @@ -234,7 +227,7 @@ namespace TAO } } - TAO_SERVANT_LOCATION + TAO_Servant_Location ServantRetentionStrategyRetain::servant_present ( const PortableServer::ObjectId &system_id, PortableServer::Servant &servant) @@ -256,11 +249,11 @@ namespace TAO if (result == 0) { // Success - return TAO_SERVANT_FOUND; + return TAO_Servant_Location::Found; } else { - return TAO_SERVANT_NOT_FOUND; + return TAO_Servant_Location::Not_Found; } } @@ -961,13 +954,6 @@ namespace TAO return this->active_object_map_->remaining_activations (servant); } - - ::PortableServer::ServantRetentionPolicyValue - ServantRetentionStrategyRetain::type() const - { - return ::PortableServer::RETAIN; - } - TAO_Active_Object_Map * ServantRetentionStrategyRetain::get_active_object_map() const { diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h b/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h index a475bdb69ac05..22eefd38cd1be 100644 --- a/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h +++ b/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h @@ -18,7 +18,8 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "ace/Auto_Ptr.h" +#include "tao/PortableServer/Active_Object_Map.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -32,82 +33,67 @@ namespace TAO : public ServantRetentionStrategyNonRetain { public: - ServantRetentionStrategyRetain (); + ServantRetentionStrategyRetain () = default; - CORBA::ULong waiting_servant_deactivation () const; + CORBA::ULong waiting_servant_deactivation () const override; - virtual void strategy_init (TAO_Root_POA *poa); + void strategy_init (TAO_Root_POA *poa) override; - virtual void strategy_cleanup(); + void strategy_cleanup() override; - virtual int is_servant_in_map (PortableServer::Servant servant, - bool &wait_occurred_restart_call); + int is_servant_in_map (PortableServer::Servant servant, + bool &wait_occurred_restart_call) override; - virtual PortableServer::ObjectId * activate_object (PortableServer::Servant servant, CORBA::Short priority, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - virtual void activate_object_with_id (const PortableServer::ObjectId &id, PortableServer::Servant servant, CORBA::Short priority, - bool &wait_occurred_restart_call); + bool &wait_occurred_restart_call) override; - void deactivate_object (const PortableServer::ObjectId &id); + void deactivate_object (const PortableServer::ObjectId &id) override; - virtual PortableServer::Servant find_servant ( - const PortableServer::ObjectId &system_id); + PortableServer::Servant find_servant (const PortableServer::ObjectId &system_id) override; - virtual PortableServer::ObjectId * system_id_to_object_id ( - const PortableServer::ObjectId &system_id); + PortableServer::ObjectId * system_id_to_object_id (const PortableServer::ObjectId &system_id) override; - virtual - PortableServer::Servant - user_id_to_servant (const PortableServer::ObjectId &id); + PortableServer::Servant user_id_to_servant (const PortableServer::ObjectId &id) override; CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &id, - bool indirect); + bool indirect) override; - virtual - TAO_SERVANT_LOCATION + TAO_Servant_Location servant_present (const PortableServer::ObjectId &system_id, - PortableServer::Servant &servant); + PortableServer::Servant &servant) override; - virtual PortableServer::Servant find_servant ( + PortableServer::Servant find_servant ( const PortableServer::ObjectId &system_id, TAO::Portable_Server::Servant_Upcall &servant_upcall, - TAO::Portable_Server::POA_Current_Impl &poa_current_impl); + TAO::Portable_Server::POA_Current_Impl &poa_current_impl) override; - virtual int find_servant_priority ( + int find_servant_priority ( const PortableServer::ObjectId &system_id, - CORBA::Short &priority); + CORBA::Short &priority) override; - virtual void deactivate_all_objects (); + void deactivate_all_objects () override; - virtual PortableServer::ObjectId *servant_to_user_id ( - PortableServer::Servant servant); + PortableServer::ObjectId *servant_to_user_id (PortableServer::Servant servant) override; - virtual - CORBA::Object_ptr servant_to_reference (PortableServer::Servant servant); + CORBA::Object_ptr servant_to_reference (PortableServer::Servant servant) override; - virtual - CORBA::Object_ptr create_reference ( - const char *intf, - CORBA::Short priority); + CORBA::Object_ptr create_reference (const char *intf, CORBA::Short priority) override; #if !defined (CORBA_E_MICRO) - virtual CORBA::Object_ptr create_reference_with_id ( const PortableServer::ObjectId &oid, const char *intf, - CORBA::Short priority); + CORBA::Short priority) override; #endif - virtual ::PortableServer::ServantRetentionPolicyValue type() const; - protected: int is_user_id_in_map (const PortableServer::ObjectId &id, @@ -122,25 +108,23 @@ namespace TAO PortableServer::Servant p_servant, CORBA::Short &priority); - virtual int rebind_using_user_id_and_system_id ( PortableServer::Servant servant, const PortableServer::ObjectId &user_id, const PortableServer::ObjectId &system_id, - TAO::Portable_Server::Servant_Upcall &servant_upcall); + TAO::Portable_Server::Servant_Upcall &servant_upcall) override; - virtual CORBA::Boolean servant_has_remaining_activations ( - PortableServer::Servant servant); + PortableServer::Servant servant) override; - virtual int unbind_using_user_id ( - const PortableServer::ObjectId &user_id); + int unbind_using_user_id ( + const PortableServer::ObjectId &user_id) override; TAO_Active_Object_Map * get_active_object_map() const; private: std::unique_ptr active_object_map_; - CORBA::ULong waiting_servant_deactivation_; + CORBA::ULong waiting_servant_deactivation_ { 0 } ; }; } } diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.cpp b/TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.cpp deleted file mode 100644 index ab5b254407c68..0000000000000 --- a/TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// -*- C++ -*- -#include "tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h" -#include "tao/PortableServer/ServantRetentionStrategy.h" -#include "tao/PortableServer/ServantRetentionStrategyRetain.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - ServantRetentionStrategy* - ServantRetentionStrategyRetainFactoryImpl::create ( - ::PortableServer::ServantRetentionPolicyValue value) - { - ServantRetentionStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::RETAIN : - { - ACE_NEW_RETURN (strategy, ServantRetentionStrategyRetain, 0); - break; - } - case ::PortableServer::NON_RETAIN : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in ServantRetentionStrategyNonRetainFactoryImpl")); - break; - } - } - - return strategy; - } - - void - ServantRetentionStrategyRetainFactoryImpl::destroy ( - ServantRetentionStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - ServantRetentionStrategyRetainFactoryImpl, - ACE_TEXT ("ServantRetentionStrategyRetainFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ServantRetentionStrategyRetainFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ServantRetentionStrategyRetainFactoryImpl, - TAO::Portable_Server::ServantRetentionStrategyRetainFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h b/TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h deleted file mode 100644 index 1a2d964250ae7..0000000000000 --- a/TAO/tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ServantRetentionStrategyRetainFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYRETAIN_FACTORYIMPL_H -#define TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYRETAIN_FACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/ServantRetentionStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export ServantRetentionStrategyRetainFactoryImpl - : public ServantRetentionStrategyFactory - { - public: - /// Create a new servant retention strategy - virtual ServantRetentionStrategy* create (::PortableServer::ServantRetentionPolicyValue value); - - virtual void destroy (ServantRetentionStrategy *strategy); - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ServantRetentionStrategyRetainFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, ServantRetentionStrategyRetainFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_SERVANTRETENTIONSTRATEGYRETAIN_FACTORYIMPL_H*/ diff --git a/TAO/tao/PortableServer/Servant_Location.h b/TAO/tao/PortableServer/Servant_Location.h index 2946650b2bf30..e9eefbaac43aa 100644 --- a/TAO/tao/PortableServer/Servant_Location.h +++ b/TAO/tao/PortableServer/Servant_Location.h @@ -8,8 +8,8 @@ */ //============================================================================= -#ifndef TAO_SERVANT_LOCATION_H -#define TAO_SERVANT_LOCATION_H +#ifndef TAO_Servant_Location_H +#define TAO_Servant_Location_H #include /**/ "ace/pre.h" @@ -23,16 +23,16 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -enum TAO_SERVANT_LOCATION +enum class TAO_Servant_Location { - TAO_SERVANT_FOUND, - TAO_DEFAULT_SERVANT, - TAO_SERVANT_MANAGER, - TAO_SERVANT_NOT_FOUND + Found, + Default_Servant, + Servant_Manager, + Not_Found }; TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" -#endif /* TAO_SERVANT_LOCATION_H */ +#endif /* TAO_Servant_Location_H */ diff --git a/TAO/tao/PortableServer/Servant_Upcall.cpp b/TAO/tao/PortableServer/Servant_Upcall.cpp index ecad0576c2eb1..ae36b5d74862e 100644 --- a/TAO/tao/PortableServer/Servant_Upcall.cpp +++ b/TAO/tao/PortableServer/Servant_Upcall.cpp @@ -403,7 +403,7 @@ namespace TAO ex._tao_print_exception ("TAO_POA::~complete_destruction_i"); } - this->poa_ = 0; + this->poa_ = nullptr; } } } diff --git a/TAO/tao/PortableServer/ThreadStrategy.cpp b/TAO/tao/PortableServer/ThreadStrategy.cpp deleted file mode 100644 index 647081f066047..0000000000000 --- a/TAO/tao/PortableServer/ThreadStrategy.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "tao/PortableServer/ThreadStrategy.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - void - ThreadStrategy::strategy_init (TAO_Root_POA * /*poa*/) - { - } - - void - ThreadStrategy::strategy_cleanup () - { - } - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ThreadStrategy.h b/TAO/tao/PortableServer/ThreadStrategy.h index 289c9dcd214ae..6ad68bcb0cdfd 100644 --- a/TAO/tao/PortableServer/ThreadStrategy.h +++ b/TAO/tao/PortableServer/ThreadStrategy.h @@ -12,13 +12,12 @@ #define TAO_THREAD_STRATEGY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/Policy_Strategy.h" +#include "tao/PortableServer/ThreadPolicyC.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/ThreadPolicyC.h" #include "tao/orbconf.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -28,18 +27,14 @@ namespace TAO namespace Portable_Server { class ThreadStrategy - : public Policy_Strategy { public: + ThreadStrategy () = default; + virtual ~ThreadStrategy () = default; + virtual int enter () = 0; virtual int exit () = 0; - - void strategy_init (TAO_Root_POA *poa) override; - - void strategy_cleanup() override; - - virtual ::PortableServer::ThreadPolicyValue type() const = 0; }; } } diff --git a/TAO/tao/PortableServer/ThreadStrategyFactory.h b/TAO/tao/PortableServer/ThreadStrategyFactory.h deleted file mode 100644 index bac43806fa11f..0000000000000 --- a/TAO/tao/PortableServer/ThreadStrategyFactory.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ThreadStrategyFactory.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_THREADPOLICYSTRATEGYFACTORY_H -#define TAO_PORTABLESERVER_THREADPOLICYSTRATEGYFACTORY_H - -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/StrategyFactory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/ThreadPolicyC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class ThreadStrategy; - - class ThreadStrategyFactory - : public StrategyFactory - { - public: - /// Create a new servant retention strategy - virtual ThreadStrategy *create (::PortableServer::ThreadPolicyValue value) = 0; - - /// Cleanup the given strategy instance - virtual void destroy (ThreadStrategy *strategy) = 0; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PORTABLESERVER_THREADPOLICYSTRATEGYFACTORY_H */ diff --git a/TAO/tao/PortableServer/ThreadStrategyFactoryImpl.cpp b/TAO/tao/PortableServer/ThreadStrategyFactoryImpl.cpp deleted file mode 100644 index 908513d3cb467..0000000000000 --- a/TAO/tao/PortableServer/ThreadStrategyFactoryImpl.cpp +++ /dev/null @@ -1,95 +0,0 @@ -#include "tao/PortableServer/ThreadStrategyFactoryImpl.h" -#include "tao/PortableServer/ThreadStrategy.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - ThreadStrategy* - ThreadStrategyFactoryImpl::create ( - ::PortableServer::ThreadPolicyValue value) - { - ThreadStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::SINGLE_THREAD_MODEL : - { - ThreadStrategyFactory *strategy_factory = - ACE_Dynamic_Service::instance ("ThreadStrategySingleFactory"); - - if (strategy_factory) - { - strategy = strategy_factory->create (value); - } - else - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) %p\n"), - ACE_TEXT ("ERROR, Unable to get ") - ACE_TEXT ("ThreadStrategySingleFactory"))); - - break; - } - case ::PortableServer::ORB_CTRL_MODEL : - { - strategy = - ACE_Dynamic_Service::instance ("ThreadStrategyORBControl"); - - if (!strategy) - TAOLIB_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) %p\n"), - ACE_TEXT ("ERROR, Unable to get ") - ACE_TEXT ("ThreadStrategyORBControl"))); - - break; - } - } - - return strategy; - } - - void - ThreadStrategyFactoryImpl::destroy ( - ThreadStrategy *strategy) - { - switch (strategy->type ()) - { - case ::PortableServer::SINGLE_THREAD_MODEL : - { - ThreadStrategyFactory *strategy_factory = - ACE_Dynamic_Service::instance ("ThreadStrategySingleFactory"); - - if (strategy_factory) - { - strategy_factory->destroy (strategy); - } - break; - } - case ::PortableServer::ORB_CTRL_MODEL : - { - // Noop - break; - } - } - } - } -} - -ACE_STATIC_SVC_DEFINE ( - ThreadStrategyFactoryImpl, - ACE_TEXT ("ThreadStrategyFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ThreadStrategyFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ThreadStrategyFactoryImpl, - TAO::Portable_Server::ThreadStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ThreadStrategyFactoryImpl.h b/TAO/tao/PortableServer/ThreadStrategyFactoryImpl.h deleted file mode 100644 index 666793af2fdee..0000000000000 --- a/TAO/tao/PortableServer/ThreadStrategyFactoryImpl.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ThreadStrategyFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_THREADPOLICYSTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_THREADPOLICYSTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/ThreadStrategyFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class TAO_PortableServer_Export ThreadStrategyFactoryImpl - : public ThreadStrategyFactory - { - public: - /// Create a new servant retention strategy - ThreadStrategy* create (::PortableServer::ThreadPolicyValue value) override; - - void destroy (ThreadStrategy *strategy) override; - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ThreadStrategyFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, ThreadStrategyFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_THREADPOLICYSTRATEGYFACTORYIMPL_H */ diff --git a/TAO/tao/PortableServer/ThreadStrategyORBControl.cpp b/TAO/tao/PortableServer/ThreadStrategyORBControl.cpp index aa99de625fe3c..bdd833456cd92 100644 --- a/TAO/tao/PortableServer/ThreadStrategyORBControl.cpp +++ b/TAO/tao/PortableServer/ThreadStrategyORBControl.cpp @@ -19,25 +19,7 @@ namespace TAO { return 0; } - - ::PortableServer::ThreadPolicyValue - ThreadStrategyORBControl::type () const - { - return ::PortableServer::ORB_CTRL_MODEL; - } } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ThreadStrategyORBControl, - TAO::Portable_Server::ThreadStrategyORBControl) - -ACE_STATIC_SVC_DEFINE ( - ThreadStrategyORBControl, - ACE_TEXT ("ThreadStrategyORBControl"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ThreadStrategyORBControl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/PortableServer/ThreadStrategyORBControl.h b/TAO/tao/PortableServer/ThreadStrategyORBControl.h index 1bf7c0cf33625..af3db329d0c5c 100644 --- a/TAO/tao/PortableServer/ThreadStrategyORBControl.h +++ b/TAO/tao/PortableServer/ThreadStrategyORBControl.h @@ -13,15 +13,13 @@ #include /**/ "ace/pre.h" -#include "tao/PortableServer/portableserver_export.h" +#include "tao/PortableServer/ThreadStrategy.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/ThreadStrategy.h" #include "tao/orbconf.h" -#include "ace/Service_Config.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -29,22 +27,16 @@ namespace TAO { namespace Portable_Server { - class ThreadStrategyORBControl - : public ThreadStrategy + class ThreadStrategyORBControl : public ThreadStrategy { public: int enter () override; int exit () override; - - ::PortableServer::ThreadPolicyValue type() const override; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ThreadStrategyORBControl) -ACE_FACTORY_DECLARE (TAO_PortableServer, ThreadStrategyORBControl) - TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" diff --git a/TAO/tao/PortableServer/ThreadStrategySingle.cpp b/TAO/tao/PortableServer/ThreadStrategySingle.cpp index 6f58c76f9eca4..08f0dba3b6333 100644 --- a/TAO/tao/PortableServer/ThreadStrategySingle.cpp +++ b/TAO/tao/PortableServer/ThreadStrategySingle.cpp @@ -3,7 +3,6 @@ #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) #include "tao/PortableServer/ThreadStrategySingle.h" -#include "ace/Dynamic_Service.h" #include "ace/Log_Msg.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -23,27 +22,9 @@ namespace TAO { return lock_.release(); } - - ::PortableServer::ThreadPolicyValue - ThreadStrategySingle::type() const - { - return ::PortableServer::SINGLE_THREAD_MODEL; - } } } -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ThreadStrategySingle, - TAO::Portable_Server::ThreadStrategySingle) - -ACE_STATIC_SVC_DEFINE ( - ThreadStrategySingle, - ACE_TEXT ("ThreadStrategySingle"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ThreadStrategySingle), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) TAO_END_VERSIONED_NAMESPACE_DECL #endif /* TAO_HAS_MINIMUM_POA == 0 */ diff --git a/TAO/tao/PortableServer/ThreadStrategySingle.h b/TAO/tao/PortableServer/ThreadStrategySingle.h index 87962311eb7f6..29baed0bedb89 100644 --- a/TAO/tao/PortableServer/ThreadStrategySingle.h +++ b/TAO/tao/PortableServer/ThreadStrategySingle.h @@ -38,24 +38,18 @@ namespace TAO { namespace Portable_Server { - class TAO_PortableServer_Export ThreadStrategySingle : - public ThreadStrategy + class ThreadStrategySingle : public ThreadStrategy { public: int enter () override; int exit () override; - - ::PortableServer::ThreadPolicyValue type() const override; private: TAO_SYNCH_RECURSIVE_MUTEX lock_; }; } } -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ThreadStrategySingle) -ACE_FACTORY_DECLARE (TAO_PortableServer, ThreadStrategySingle) - TAO_END_VERSIONED_NAMESPACE_DECL #endif /* TAO_HAS_MINIMUM_POA == 0 */ diff --git a/TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.cpp b/TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.cpp deleted file mode 100644 index 8b9f2a898d2a2..0000000000000 --- a/TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "tao/orbconf.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -#include "tao/PortableServer/ThreadStrategySingleFactoryImpl.h" -#include "tao/PortableServer/ThreadStrategy.h" -#include "tao/PortableServer/ThreadStrategySingle.h" -#include "ace/Dynamic_Service.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - ThreadStrategy* - ThreadStrategySingleFactoryImpl::create ( - ::PortableServer::ThreadPolicyValue value) - { - ThreadStrategy* strategy = 0; - - switch (value) - { - case ::PortableServer::SINGLE_THREAD_MODEL : - { - ACE_NEW_RETURN (strategy, ThreadStrategySingle, 0); - break; - } - case ::PortableServer::ORB_CTRL_MODEL : - { - TAOLIB_ERROR ((LM_ERROR, "Incorrect type in ThreadStrategySingleFactoryImpl")); - break; - } - } - - return strategy; - } - - void - ThreadStrategySingleFactoryImpl::destroy (ThreadStrategy *strategy) - { - strategy->strategy_cleanup (); - - delete strategy; - } - } -} - -ACE_STATIC_SVC_DEFINE ( - ThreadStrategySingleFactoryImpl, - ACE_TEXT ("ThreadStrategySingleFactory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (ThreadStrategySingleFactoryImpl), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_NAMESPACE_DEFINE ( - ACE_Local_Service, - ThreadStrategySingleFactoryImpl, - TAO::Portable_Server::ThreadStrategySingleFactoryImpl) -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ diff --git a/TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.h b/TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.h deleted file mode 100644 index 2dbf0a018bcda..0000000000000 --- a/TAO/tao/PortableServer/ThreadStrategySingleFactoryImpl.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ThreadStrategySingleFactoryImpl.h - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PORTABLESERVER_THREADPOLICYSINGLESTRATEGYFACTORYIMPL_H -#define TAO_PORTABLESERVER_THREADPOLICYSINGLESTRATEGYFACTORYIMPL_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/portableserver_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" -#include "tao/PortableServer/ThreadStrategyFactory.h" - -#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Portable_Server - { - class ThreadStrategySingleFactoryImpl - : public ThreadStrategyFactory - { - public: - /// Create a new thread strategy - ThreadStrategy* create (::PortableServer::ThreadPolicyValue value) override; - - void destroy (ThreadStrategy *strategy) override; - }; - } -} - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ThreadStrategySingleFactoryImpl) -ACE_FACTORY_DECLARE (TAO_PortableServer, ThreadStrategySingleFactoryImpl) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLESERVER_THREADPOLICYSINGLESTRATEGYFACTORYIMPL_H*/ From 4db6c4351dfd785f59a9b16122e52eeec44520c0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 12:30:59 +0100 Subject: [PATCH 113/445] Fixed unresolved exports, more override * ACE/protocols/ace/HTBP/HTBP_Addr.cpp: * ACE/protocols/ace/HTBP/HTBP_Addr.h: * TAO/tao/PortableServer/Active_Object_Map.cpp: * TAO/tao/PortableServer/Active_Object_Map.h: * TAO/tao/PortableServer/Active_Policy_Strategies.h: * TAO/tao/PortableServer/Active_Policy_Strategies.inl: * TAO/tao/PortableServer/IdUniquenessStrategy.h: * TAO/tao/PortableServer/Operation_Table_Binary_Search.cpp: * TAO/tao/PortableServer/Operation_Table_Binary_Search.h: * TAO/tao/PortableServer/Operation_Table_Dynamic_Hash.h: * TAO/tao/PortableServer/Operation_Table_Linear_Search.cpp: * TAO/tao/PortableServer/Operation_Table_Linear_Search.h: * TAO/tao/PortableServer/Operation_Table_Perfect_Hash.cpp: * TAO/tao/PortableServer/Operation_Table_Perfect_Hash.h: * TAO/tao/PortableServer/POA_Current_Factory.cpp: * TAO/tao/PortableServer/POA_Current_Impl.cpp: * TAO/tao/PortableServer/POA_Current_Impl.h: * TAO/tao/PortableServer/POA_Policy_Set.h: * TAO/tao/PortableServer/ServantRetentionStrategy.h: --- ACE/protocols/ace/HTBP/HTBP_Addr.cpp | 6 ----- ACE/protocols/ace/HTBP/HTBP_Addr.h | 2 +- TAO/tao/PortableServer/Active_Object_Map.cpp | 26 ------------------- TAO/tao/PortableServer/Active_Object_Map.h | 12 ++++----- .../PortableServer/Active_Policy_Strategies.h | 1 - .../Active_Policy_Strategies.inl | 3 +-- TAO/tao/PortableServer/IdUniquenessStrategy.h | 4 +-- .../Operation_Table_Binary_Search.cpp | 4 --- .../Operation_Table_Binary_Search.h | 20 +++++++------- .../Operation_Table_Dynamic_Hash.h | 20 +++++++------- .../Operation_Table_Linear_Search.cpp | 4 --- .../Operation_Table_Linear_Search.h | 20 +++++++------- .../Operation_Table_Perfect_Hash.cpp | 5 ---- .../Operation_Table_Perfect_Hash.h | 23 ++++++++-------- .../PortableServer/POA_Current_Factory.cpp | 4 +-- TAO/tao/PortableServer/POA_Current_Impl.cpp | 3 +-- TAO/tao/PortableServer/POA_Current_Impl.h | 2 +- TAO/tao/PortableServer/POA_Policy_Set.h | 2 +- .../PortableServer/ServantRetentionStrategy.h | 4 +-- 19 files changed, 58 insertions(+), 107 deletions(-) diff --git a/ACE/protocols/ace/HTBP/HTBP_Addr.cpp b/ACE/protocols/ace/HTBP/HTBP_Addr.cpp index fdc13f56090c8..182fa4f1fbce3 100644 --- a/ACE/protocols/ace/HTBP/HTBP_Addr.cpp +++ b/ACE/protocols/ace/HTBP/HTBP_Addr.cpp @@ -3,14 +3,8 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL -// Constructor -ACE::HTBP::Addr::Addr () -{ -} - // Creates a ACE_INET_Addr from a PORT_NUMBER and the remote // HOST_NAME. - ACE::HTBP::Addr::Addr (u_short port_number, const char host_name[], int address_family) diff --git a/ACE/protocols/ace/HTBP/HTBP_Addr.h b/ACE/protocols/ace/HTBP/HTBP_Addr.h index 3484700dc533f..21e6ec353033c 100644 --- a/ACE/protocols/ace/HTBP/HTBP_Addr.h +++ b/ACE/protocols/ace/HTBP/HTBP_Addr.h @@ -41,7 +41,7 @@ namespace ACE { public: /// Constructor - Addr (); + Addr () = default; Addr (const Addr &other); diff --git a/TAO/tao/PortableServer/Active_Object_Map.cpp b/TAO/tao/PortableServer/Active_Object_Map.cpp index 9f626b82f5867..1ddf7e457cd5a 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.cpp +++ b/TAO/tao/PortableServer/Active_Object_Map.cpp @@ -377,10 +377,6 @@ TAO_Active_Object_Map::is_user_id_in_map ( //////////////////////////////////////////////////////////////////////////////// -TAO_Id_Uniqueness_Strategy::~TAO_Id_Uniqueness_Strategy () -{ -} - void TAO_Id_Uniqueness_Strategy::set_active_object_map ( TAO_Active_Object_Map *active_object_map) @@ -790,10 +786,6 @@ TAO_Multiple_Id_Strategy::remaining_activations ( } #endif -TAO_Lifespan_Strategy::~TAO_Lifespan_Strategy () -{ -} - void TAO_Lifespan_Strategy::set_active_object_map ( TAO_Active_Object_Map *active_object_map) @@ -913,10 +905,6 @@ TAO_Active_Object_Map_Entry *&entry) } #endif -TAO_Id_Assignment_Strategy::~TAO_Id_Assignment_Strategy () -{ -} - void TAO_Id_Assignment_Strategy::set_active_object_map ( TAO_Active_Object_Map *active_object_map) @@ -1071,21 +1059,11 @@ TAO_System_Id_With_Multiple_Id_Strategy::bind_using_system_id ( //////////////////////////////////////////////////////////////////////////////// -TAO_Id_Hint_Strategy::~TAO_Id_Hint_Strategy () -{ -} - -//////////////////////////////////////////////////////////////////////////////// - TAO_Active_Hint_Strategy::TAO_Active_Hint_Strategy (CORBA::ULong map_size) : system_id_map_ (map_size) { } -TAO_Active_Hint_Strategy::~TAO_Active_Hint_Strategy () -{ -} - int TAO_Active_Hint_Strategy::recover_key ( const PortableServer::ObjectId &system_id, @@ -1135,10 +1113,6 @@ TAO_Active_Hint_Strategy::system_id (PortableServer::ObjectId_out system_id, //////////////////////////////////////////////////////////////////////////////// -TAO_No_Hint_Strategy::~TAO_No_Hint_Strategy () -{ -} - int TAO_No_Hint_Strategy::recover_key (const PortableServer::ObjectId &system_id, PortableServer::ObjectId &user_id) diff --git a/TAO/tao/PortableServer/Active_Object_Map.h b/TAO/tao/PortableServer/Active_Object_Map.h index b4eb5ef21ea09..d9c99565c45ba 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.h +++ b/TAO/tao/PortableServer/Active_Object_Map.h @@ -277,7 +277,7 @@ class TAO_Id_Uniqueness_Strategy { public: /// Virtual destructor. - virtual ~TAO_Id_Uniqueness_Strategy (); + virtual ~TAO_Id_Uniqueness_Strategy () = default; /// Must be used with UNIQUE_ID policy. virtual int @@ -432,7 +432,7 @@ class TAO_Lifespan_Strategy { public: /// Virtual destructor. - virtual ~TAO_Lifespan_Strategy (); + virtual ~TAO_Lifespan_Strategy () = default; /// Can be used with any policy. virtual int @@ -503,7 +503,7 @@ class TAO_Id_Assignment_Strategy { public: /// Virtual destructor. - virtual ~TAO_Id_Assignment_Strategy (); + virtual ~TAO_Id_Assignment_Strategy () = default; /// Must be used with SYSTEM_ID policy. virtual int @@ -589,7 +589,7 @@ class TAO_Id_Hint_Strategy { public: /// Virtual destructor. - virtual ~TAO_Id_Hint_Strategy (); + virtual ~TAO_Id_Hint_Strategy () = default; /// Find the user id from the system id. virtual int @@ -632,7 +632,7 @@ class TAO_Active_Hint_Strategy : public TAO_Id_Hint_Strategy TAO_Active_Hint_Strategy (CORBA::ULong map_size); /// Virtual destructor. - virtual ~TAO_Active_Hint_Strategy (); + virtual ~TAO_Active_Hint_Strategy () = default; virtual int recover_key (const PortableServer::ObjectId &system_id, @@ -674,7 +674,7 @@ class TAO_No_Hint_Strategy : public TAO_Id_Hint_Strategy { public: /// Virtual destructor. - virtual ~TAO_No_Hint_Strategy (); + virtual ~TAO_No_Hint_Strategy () = default; virtual int recover_key (const PortableServer::ObjectId &system_id, diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.h b/TAO/tao/PortableServer/Active_Policy_Strategies.h index f05fbba535c4d..9f982b3998e49 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.h +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.h @@ -100,7 +100,6 @@ namespace TAO Active_Policy_Strategies_Cleanup_Guard () = delete; Active_Policy_Strategies_Cleanup_Guard (Active_Policy_Strategies *p); ~Active_Policy_Strategies_Cleanup_Guard (); - Active_Policy_Strategies *_retn (); private: diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.inl b/TAO/tao/PortableServer/Active_Policy_Strategies.inl index 0f1e51fb0eb42..78f1b33b63eb4 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.inl +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.inl @@ -62,8 +62,7 @@ namespace TAO } ACE_INLINE - Active_Policy_Strategies_Cleanup_Guard - ::~Active_Policy_Strategies_Cleanup_Guard () + Active_Policy_Strategies_Cleanup_Guard::~Active_Policy_Strategies_Cleanup_Guard () { if (this->ptr_) { diff --git a/TAO/tao/PortableServer/IdUniquenessStrategy.h b/TAO/tao/PortableServer/IdUniquenessStrategy.h index 7098f64e59e61..323356245ea24 100644 --- a/TAO/tao/PortableServer/IdUniquenessStrategy.h +++ b/TAO/tao/PortableServer/IdUniquenessStrategy.h @@ -32,9 +32,9 @@ namespace TAO IdUniquenessStrategy (); virtual ~IdUniquenessStrategy () = default; - virtual void strategy_init (TAO_Root_POA *poa); + virtual void strategy_init (TAO_Root_POA *poa) = 0; - virtual void strategy_cleanup (); + virtual void strategy_cleanup () = 0; /* * Validate if the servant may be activated diff --git a/TAO/tao/PortableServer/Operation_Table_Binary_Search.cpp b/TAO/tao/PortableServer/Operation_Table_Binary_Search.cpp index a36d050310afe..0810f667852d7 100644 --- a/TAO/tao/PortableServer/Operation_Table_Binary_Search.cpp +++ b/TAO/tao/PortableServer/Operation_Table_Binary_Search.cpp @@ -26,10 +26,6 @@ ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_Operation_Table_Timeprobe_Description, TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_Binary_Search_OpTable::~TAO_Binary_Search_OpTable () -{ -} - int TAO_Binary_Search_OpTable::find (const char *opname, TAO_Skeleton &skelfunc, diff --git a/TAO/tao/PortableServer/Operation_Table_Binary_Search.h b/TAO/tao/PortableServer/Operation_Table_Binary_Search.h index 0d45423ff0d91..741d3f4da1cbc 100644 --- a/TAO/tao/PortableServer/Operation_Table_Binary_Search.h +++ b/TAO/tao/PortableServer/Operation_Table_Binary_Search.h @@ -39,20 +39,20 @@ class TAO_PortableServer_Export TAO_Binary_Search_OpTable { public: /// Do nothing destructor. - virtual ~TAO_Binary_Search_OpTable (); + ~TAO_Binary_Search_OpTable () override = default; /// See the documentation in the base class for details. - virtual int find (const char *opname, - TAO_Skeleton &skelfunc, - const unsigned int length = 0); + int find (const char *opname, + TAO_Skeleton &skelfunc, + const unsigned int length = 0) override; - virtual int find (const char *opname, - TAO_Collocated_Skeleton &skelfunc, - TAO::Collocation_Strategy s, - const unsigned int length = 0); + int find (const char *opname, + TAO_Collocated_Skeleton &skelfunc, + TAO::Collocation_Strategy s, + const unsigned int length = 0) override; - virtual int bind (const char *opname, - const TAO::Operation_Skeletons skel_ptr); + int bind (const char *opname, + const TAO::Operation_Skeletons skel_ptr) override; private: /// Method that should defined by the subclasses. GPERF program diff --git a/TAO/tao/PortableServer/Operation_Table_Dynamic_Hash.h b/TAO/tao/PortableServer/Operation_Table_Dynamic_Hash.h index c2c421691f2b5..9959710c63370 100644 --- a/TAO/tao/PortableServer/Operation_Table_Dynamic_Hash.h +++ b/TAO/tao/PortableServer/Operation_Table_Dynamic_Hash.h @@ -49,20 +49,20 @@ class TAO_PortableServer_Export TAO_Dynamic_Hash_OpTable ACE_Allocator *alloc); /// Destructor - ~TAO_Dynamic_Hash_OpTable (); + ~TAO_Dynamic_Hash_OpTable () override; /// See the documentation in the base class for details. - virtual int bind (const char *opname, - const TAO::Operation_Skeletons skel_ptr); + int bind (const char *opname, + const TAO::Operation_Skeletons skel_ptr) override; - virtual int find (const char *opname, - TAO_Skeleton &skelfunc, - const unsigned int length = 0); + int find (const char *opname, + TAO_Skeleton &skelfunc, + const unsigned int length = 0) override; - virtual int find (const char *opname, - TAO_Collocated_Skeleton &skelfunc, - TAO::Collocation_Strategy s, - const unsigned int length = 0); + int find (const char *opname, + TAO_Collocated_Skeleton &skelfunc, + TAO::Collocation_Strategy s, + const unsigned int length = 0) override; private: typedef ACE_Hash_Map_Manager_Ex Date: Mon, 13 Feb 2023 12:43:48 +0100 Subject: [PATCH 114/445] Use override/default for RTPortableServer * TAO/NEWS: * TAO/tao/RTPortableServer/RT_Acceptor_Filters.h: * TAO/tao/RTPortableServer/RT_Collocation_Resolver.h: * TAO/tao/RTPortableServer/RT_Object_Adapter_Factory.h: * TAO/tao/RTPortableServer/RT_POA.cpp: * TAO/tao/RTPortableServer/RT_POA.h: * TAO/tao/RTPortableServer/RT_Policy_Validator.h: * TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp: * TAO/tao/RTPortableServer/RT_Servant_Dispatcher.h: --- TAO/NEWS | 3 + .../RTPortableServer/RT_Acceptor_Filters.h | 4 +- .../RT_Collocation_Resolver.h | 2 +- .../RT_Object_Adapter_Factory.h | 2 +- TAO/tao/RTPortableServer/RT_POA.cpp | 7 +- TAO/tao/RTPortableServer/RT_POA.h | 102 +++++++++--------- .../RTPortableServer/RT_Policy_Validator.h | 4 +- .../RT_Servant_Dispatcher.cpp | 4 - .../RTPortableServer/RT_Servant_Dispatcher.h | 10 +- 9 files changed, 66 insertions(+), 72 deletions(-) diff --git a/TAO/NEWS b/TAO/NEWS index a65cd83348f05..23f0ed8a66520 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,6 +1,9 @@ USER VISIBLE CHANGES BETWEEN TAO-3.0.11 and TAO-3.1.0 ===================================================== +. Removed usage of ACE service configurator for all + POA internal strategy classes + USER VISIBLE CHANGES BETWEEN TAO-3.0.10 and TAO-3.0.11 ====================================================== diff --git a/TAO/tao/RTPortableServer/RT_Acceptor_Filters.h b/TAO/tao/RTPortableServer/RT_Acceptor_Filters.h index 5a90d176b4131..bb87e9dad1939 100644 --- a/TAO/tao/RTPortableServer/RT_Acceptor_Filters.h +++ b/TAO/tao/RTPortableServer/RT_Acceptor_Filters.h @@ -52,11 +52,11 @@ class TAO_RTPortableServer_Export TAO_Server_Protocol_Acceptor_Filter : TAO_MProfile &mprofile, TAO_Acceptor **acceptors_begin, TAO_Acceptor **acceptors_end, - CORBA::Short priority); + CORBA::Short priority) override; /// Encodes the endpoints in the profiles into the TAO_TAG_ENDPOINTS /// tag component of profiles. - int encode_endpoints (TAO_MProfile &mprofile); + int encode_endpoints (TAO_MProfile &mprofile) override; private: /// Value of the ServerProtocolPolicy used for endpoint diff --git a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h index bf32bc4fccc1d..457615bfdafaf 100644 --- a/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h +++ b/TAO/tao/RTPortableServer/RT_Collocation_Resolver.h @@ -41,7 +41,7 @@ class TAO_RTPortableServer_Export TAO_RT_Collocation_Resolver : { public: /// Is @a object collocated? - virtual CORBA::Boolean is_collocated (CORBA::Object_ptr object) const; + CORBA::Boolean is_collocated (CORBA::Object_ptr object) const override; }; diff --git a/TAO/tao/RTPortableServer/RT_Object_Adapter_Factory.h b/TAO/tao/RTPortableServer/RT_Object_Adapter_Factory.h index 2709e4d3ec614..6e1ac24df2aac 100644 --- a/TAO/tao/RTPortableServer/RT_Object_Adapter_Factory.h +++ b/TAO/tao/RTPortableServer/RT_Object_Adapter_Factory.h @@ -32,7 +32,7 @@ class TAO_RTPortableServer_Export TAO_RT_Object_Adapter_Factory { public: /// Create adapter. - virtual TAO_Adapter *create (TAO_ORB_Core *orb_core); + TAO_Adapter *create (TAO_ORB_Core *orb_core) override; }; diff --git a/TAO/tao/RTPortableServer/RT_POA.cpp b/TAO/tao/RTPortableServer/RT_POA.cpp index 0ead61fa6d78b..93b27235ac6e5 100644 --- a/TAO/tao/RTPortableServer/RT_POA.cpp +++ b/TAO/tao/RTPortableServer/RT_POA.cpp @@ -45,17 +45,12 @@ TAO_RT_POA::TAO_RT_POA (const TAO_Root_POA::String &name, lock, thread_lock, orb_core, - object_adapter), - thread_pool_ (0) + object_adapter) { // Parse the RT policies and update our policy cache. this->parse_rt_policies (this->policies ()); } -TAO_RT_POA::~TAO_RT_POA () -{ -} - TAO_Root_POA * TAO_RT_POA::new_POA (const String &name, PortableServer::POAManager_ptr poa_manager, diff --git a/TAO/tao/RTPortableServer/RT_POA.h b/TAO/tao/RTPortableServer/RT_POA.h index 4c510007cb33b..62420daa05364 100644 --- a/TAO/tao/RTPortableServer/RT_POA.h +++ b/TAO/tao/RTPortableServer/RT_POA.h @@ -50,129 +50,129 @@ class TAO_RTPortableServer_Export TAO_RT_POA public: // RTCORBA specific methods CORBA::Object_ptr create_reference_with_priority (const char * intf, - RTCORBA::Priority priority); + RTCORBA::Priority priority) override; #if !defined (CORBA_E_MICRO) CORBA::Object_ptr create_reference_with_id_and_priority (const PortableServer::ObjectId & oid, const char * intf, - RTCORBA::Priority priority); + RTCORBA::Priority priority) override; #endif PortableServer::ObjectId * activate_object_with_priority (PortableServer::Servant p_servant, - RTCORBA::Priority priority); + RTCORBA::Priority priority) override; #if !defined (CORBA_E_MICRO) void activate_object_with_id_and_priority (const PortableServer::ObjectId & oid, PortableServer::Servant p_servant, - RTCORBA::Priority priority); + RTCORBA::Priority priority) override; #endif // End RTCORBA specific methods // Standard POA interface methods PortableServer::POA_ptr create_POA (const char *adapter_name, PortableServer::POAManager_ptr poa_manager, - const CORBA::PolicyList &policies); + const CORBA::PolicyList &policies) override; PortableServer::POA_ptr find_POA (const char *adapter_name, - CORBA::Boolean activate_it); + CORBA::Boolean activate_it) override; void destroy (CORBA::Boolean etherealize_objects, - CORBA::Boolean wait_for_completion); + CORBA::Boolean wait_for_completion) override; #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) PortableServer::ThreadPolicy_ptr create_thread_policy ( - PortableServer::ThreadPolicyValue value); + PortableServer::ThreadPolicyValue value) override; #endif /* TAO_HAS_MINIMUM_POA == 0 */ #if !defined (CORBA_E_MICRO) PortableServer::LifespanPolicy_ptr create_lifespan_policy ( - PortableServer::LifespanPolicyValue value); + PortableServer::LifespanPolicyValue value) override; #endif #if !defined (CORBA_E_MICRO) PortableServer::IdUniquenessPolicy_ptr create_id_uniqueness_policy ( - PortableServer::IdUniquenessPolicyValue value); + PortableServer::IdUniquenessPolicyValue value) override; #endif #if !defined (CORBA_E_MICRO) PortableServer::IdAssignmentPolicy_ptr create_id_assignment_policy ( - PortableServer::IdAssignmentPolicyValue value); + PortableServer::IdAssignmentPolicyValue value) override; #endif #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) PortableServer::ImplicitActivationPolicy_ptr create_implicit_activation_policy ( - PortableServer::ImplicitActivationPolicyValue value); + PortableServer::ImplicitActivationPolicyValue value) override; PortableServer::ServantRetentionPolicy_ptr create_servant_retention_policy ( - PortableServer::ServantRetentionPolicyValue value); + PortableServer::ServantRetentionPolicyValue value) override; PortableServer::RequestProcessingPolicy_ptr create_request_processing_policy ( - PortableServer::RequestProcessingPolicyValue value); + PortableServer::RequestProcessingPolicyValue value) override; #endif /* TAO_HAS_MINIMUM_POA == 0 && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */ - char * the_name (); + char * the_name () override; - PortableServer::POA_ptr the_parent (); + PortableServer::POA_ptr the_parent () override; - PortableServer::POAList *the_children (); + PortableServer::POAList *the_children () override; - PortableServer::POAManager_ptr the_POAManager (); + PortableServer::POAManager_ptr the_POAManager () override; #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - PortableServer::AdapterActivator_ptr the_activator (); + PortableServer::AdapterActivator_ptr the_activator () override; - void the_activator (PortableServer::AdapterActivator_ptr adapter_activator); + void the_activator (PortableServer::AdapterActivator_ptr adapter_activator) override; - PortableServer::ServantManager_ptr get_servant_manager (); + PortableServer::ServantManager_ptr get_servant_manager () override; - void set_servant_manager (PortableServer::ServantManager_ptr imgr); + void set_servant_manager (PortableServer::ServantManager_ptr imgr) override; - PortableServer::Servant get_servant (); + PortableServer::Servant get_servant () override; - void set_servant (PortableServer::Servant servant); + void set_servant (PortableServer::Servant servant) override; #endif /* TAO_HAS_MINIMUM_POA == 0 */ - PortableServer::ObjectId *activate_object (PortableServer::Servant p_servant); + PortableServer::ObjectId *activate_object (PortableServer::Servant p_servant) override; #if !defined (CORBA_E_MICRO) void activate_object_with_id (const PortableServer::ObjectId &id, - PortableServer::Servant p_servant); + PortableServer::Servant p_servant) override; #endif - void deactivate_object (const PortableServer::ObjectId &oid); + void deactivate_object (const PortableServer::ObjectId &oid) override; - CORBA::Object_ptr create_reference (const char *intf); + CORBA::Object_ptr create_reference (const char *intf) override; #if !defined (CORBA_E_MICRO) CORBA::Object_ptr create_reference_with_id (const PortableServer::ObjectId &oid, - const char *intf); + const char *intf) override; #endif - PortableServer::ObjectId *servant_to_id (PortableServer::Servant p_servant); + PortableServer::ObjectId *servant_to_id (PortableServer::Servant p_servant) override; - CORBA::Object_ptr servant_to_reference (PortableServer::Servant p_servant); + CORBA::Object_ptr servant_to_reference (PortableServer::Servant p_servant) override; - PortableServer::Servant reference_to_servant (CORBA::Object_ptr reference); + PortableServer::Servant reference_to_servant (CORBA::Object_ptr reference) override; - PortableServer::ObjectId *reference_to_id (CORBA::Object_ptr reference); + PortableServer::ObjectId *reference_to_id (CORBA::Object_ptr reference) override; - PortableServer::Servant id_to_servant (const PortableServer::ObjectId &oid); + PortableServer::Servant id_to_servant (const PortableServer::ObjectId &oid) override; - CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &oid); + CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &oid) override; - CORBA::OctetSeq *id (); + CORBA::OctetSeq *id () override; // End standard POA interface methods. - virtual CORBA::PolicyList *client_exposed_policies (CORBA::Short object_priority); + CORBA::PolicyList *client_exposed_policies (CORBA::Short object_priority) override; TAO_RT_POA (const String &name, PortableServer::POAManager_ptr poa_manager, @@ -183,24 +183,24 @@ class TAO_RTPortableServer_Export TAO_RT_POA TAO_ORB_Core &orb_core, TAO_Object_Adapter *object_adapter); - virtual ~TAO_RT_POA (); + ~TAO_RT_POA () override = default; void *thread_pool () const; protected: /// Template method for creating new POA's of this type. - virtual TAO_Root_POA *new_POA (const String &name, - PortableServer::POAManager_ptr poa_manager, - const TAO_POA_Policy_Set &policies, - TAO_Root_POA *parent, - ACE_Lock &lock, - TAO_SYNCH_MUTEX &thread_lock, - TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter); - - virtual TAO_Stub *key_to_stub_i (const TAO::ObjectKey &key, - const char *type_id, - CORBA::Short priority); + TAO_Root_POA *new_POA (const String &name, + PortableServer::POAManager_ptr poa_manager, + const TAO_POA_Policy_Set &policies, + TAO_Root_POA *parent, + ACE_Lock &lock, + TAO_SYNCH_MUTEX &thread_lock, + TAO_ORB_Core &orb_core, + TAO_Object_Adapter *object_adapter) override; + + TAO_Stub *key_to_stub_i (const TAO::ObjectKey &key, + const char *type_id, + CORBA::Short priority) override; void validate_priority (RTCORBA::Priority priority); @@ -221,7 +221,7 @@ class TAO_RTPortableServer_Export TAO_RT_POA int lane_required (TAO_Thread_Lane *lane, TAO_PriorityBandedConnectionPolicy *priority_bands); - TAO_Thread_Pool *thread_pool_; + TAO_Thread_Pool *thread_pool_ {}; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/RTPortableServer/RT_Policy_Validator.h b/TAO/tao/RTPortableServer/RT_Policy_Validator.h index 49e445e4dcab6..2fcf68be954a3 100644 --- a/TAO/tao/RTPortableServer/RT_Policy_Validator.h +++ b/TAO/tao/RTPortableServer/RT_Policy_Validator.h @@ -42,7 +42,7 @@ class TAO_RTPortableServer_Export TAO_POA_RT_Policy_Validator TAO_POA_RT_Policy_Validator (TAO_ORB_Core &orb_core); /// Destructor. - ~TAO_POA_RT_Policy_Validator () = default; + ~TAO_POA_RT_Policy_Validator () override = default; static RTCORBA::ServerProtocolPolicy_ptr server_protocol_policy_from_thread_pool (TAO_Thread_Pool *thread_pool, TAO_ORB_Core &orb_core); @@ -71,7 +71,7 @@ class TAO_RTPortableServer_Export TAO_POA_RT_Policy_Validator * potentially specify policies that are unknown to an * validate () routine, and these need to be caught. */ - virtual CORBA::Boolean legal_policy_impl (CORBA::PolicyType type); + CORBA::Boolean legal_policy_impl (CORBA::PolicyType type) override; private: void validate_server_protocol (TAO_Policy_Set &policies); diff --git a/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp b/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp index c49c601952737..e3faefbd69df4 100644 --- a/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp +++ b/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp @@ -24,10 +24,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_RT_Servant_Dispatcher::~TAO_RT_Servant_Dispatcher () -{ -} - void TAO_RT_Servant_Dispatcher::pre_invoke_remote_request ( TAO_Root_POA &poa, diff --git a/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.h b/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.h index dd7df712e50b3..4806ddf660930 100644 --- a/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.h +++ b/TAO/tao/RTPortableServer/RT_Servant_Dispatcher.h @@ -39,22 +39,22 @@ class TAO_RTPortableServer_Export TAO_RT_Servant_Dispatcher : public TAO_Servant_Dispatcher { public: - virtual ~TAO_RT_Servant_Dispatcher (); + ~TAO_RT_Servant_Dispatcher () override = default; /// Pre_invoke remote request. void pre_invoke_remote_request (TAO_Root_POA &poa, CORBA::Short servant_priority, TAO_ServerRequest &req, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state); + TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state) override; /// Pre_invoke collocated request. void pre_invoke_collocated_request (TAO_Root_POA &poa, CORBA::Short servant_priority, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state); + TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state) override; /// Post_invoke request. void post_invoke (TAO_Root_POA &poa, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state); + TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state) override; /// Factory method for creating new POA's. TAO_Root_POA *create_Root_POA (const ACE_CString &name, @@ -63,7 +63,7 @@ class TAO_RTPortableServer_Export TAO_RT_Servant_Dispatcher ACE_Lock &lock, TAO_SYNCH_MUTEX &thread_lock, TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter); + TAO_Object_Adapter *object_adapter) override; }; TAO_END_VERSIONED_NAMESPACE_DECL From 5a66fa9c3a3c1d265808ee2049dabaef4bf1a3db Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 14:01:06 +0100 Subject: [PATCH 115/445] Check for nil pointers in cleanup * TAO/tao/PortableServer/Active_Policy_Strategies.cpp: --- .../Active_Policy_Strategies.cpp | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.cpp b/TAO/tao/PortableServer/Active_Policy_Strategies.cpp index b457efcdc4f25..a2a2ce4319b96 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.cpp +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.cpp @@ -42,22 +42,22 @@ namespace TAO this->create (policies.request_processing(), policies.servant_retention()); /**/ - if (this->lifespan_strategy_ != 0) + if (this->lifespan_strategy_) { this->lifespan_strategy_->strategy_init (poa); } - if (this->request_processing_strategy_ != 0) + if (this->request_processing_strategy_) { this->request_processing_strategy_->strategy_init (poa); } - if (this->id_uniqueness_strategy_ != 0) + if (this->id_uniqueness_strategy_) { this->id_uniqueness_strategy_->strategy_init (poa); } - if (this->servant_retention_strategy_ != 0) + if (this->servant_retention_strategy_) { this->servant_retention_strategy_->strategy_init (poa); } @@ -66,15 +66,27 @@ namespace TAO void Active_Policy_Strategies::cleanup () { - this->lifespan_strategy_->strategy_cleanup (); + if (this->lifespan_strategy_) + { + this->lifespan_strategy_->strategy_cleanup (); + } this->lifespan_strategy_.reset (nullptr); - this->request_processing_strategy_->strategy_cleanup (); + if (this->request_processing_strategy_) + { + this->request_processing_strategy_->strategy_cleanup (); + } this->request_processing_strategy_.reset (nullptr); - this->id_uniqueness_strategy_->strategy_cleanup (); + if (this->id_uniqueness_strategy_) + { + this->id_uniqueness_strategy_->strategy_cleanup (); + } this->id_uniqueness_strategy_.reset (nullptr); this->implicit_activation_strategy_.reset (nullptr); this->thread_strategy_.reset (nullptr); - this->servant_retention_strategy_->strategy_cleanup (); + if (this->servant_retention_strategy_) + { + this->servant_retention_strategy_->strategy_cleanup (); + } this->servant_retention_strategy_.reset (nullptr); this->id_assignment_strategy_.reset (nullptr); } From 8c215112dfc278f704ba37db8699a829f9cabf3a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 14:13:15 +0100 Subject: [PATCH 116/445] Compile fixes * TAO/tao/PortableServer/Active_Policy_Strategies.h: * TAO/tao/PortableServer/ThreadStrategy.h: --- TAO/tao/PortableServer/Active_Policy_Strategies.h | 15 ++++++++------- TAO/tao/PortableServer/ThreadStrategy.h | 3 +-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.h b/TAO/tao/PortableServer/Active_Policy_Strategies.h index 9f982b3998e49..c0ff0e06b216d 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.h +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.h @@ -28,6 +28,14 @@ #include "tao/PortableServer/ImplicitActivationPolicyC.h" #include "tao/PortableServer/RequestProcessingPolicyC.h" +#include "tao/PortableServer/ThreadStrategy.h" +#include "tao/PortableServer/IdAssignmentStrategy.h" +#include "tao/PortableServer/IdUniquenessStrategy.h" +#include "tao/PortableServer/ImplicitActivationStrategy.h" +#include "tao/PortableServer/LifespanStrategy.h" +#include "tao/PortableServer/RequestProcessingStrategy.h" +#include "tao/PortableServer/ServantRetentionStrategy.h" + TAO_BEGIN_VERSIONED_NAMESPACE_DECL class TAO_Root_POA; @@ -37,13 +45,6 @@ namespace TAO namespace Portable_Server { class Cached_Policies; - class ThreadStrategy; - class RequestProcessingStrategy; - class IdAssignmentStrategy; - class LifespanStrategy; - class IdUniquenessStrategy; - class ImplicitActivationStrategy; - class ServantRetentionStrategy; /** * This class stores the active policy strategies used for a certain POA. diff --git a/TAO/tao/PortableServer/ThreadStrategy.h b/TAO/tao/PortableServer/ThreadStrategy.h index 6ad68bcb0cdfd..5ee79a7a3543b 100644 --- a/TAO/tao/PortableServer/ThreadStrategy.h +++ b/TAO/tao/PortableServer/ThreadStrategy.h @@ -12,13 +12,12 @@ #define TAO_THREAD_STRATEGY_H #include /**/ "ace/pre.h" -#include "tao/PortableServer/ThreadPolicyC.h" +#include "tao/orbconf.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/orbconf.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL From 48b96dee6147efa609f1536296929489203f3193 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 14:16:16 +0100 Subject: [PATCH 117/445] Another default destructor * TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp: * TAO/tao/PortableServer/Acceptor_Filter_Factory.h: --- TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp | 4 ---- TAO/tao/PortableServer/Acceptor_Filter_Factory.h | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp b/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp index c052494c86294..38e3b9a251e37 100644 --- a/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp +++ b/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp @@ -6,10 +6,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_Acceptor_Filter_Factory::~TAO_Acceptor_Filter_Factory() -{ -} - TAO_Acceptor_Filter* TAO_Acceptor_Filter_Factory::create_object (TAO_POA_Manager& ) { diff --git a/TAO/tao/PortableServer/Acceptor_Filter_Factory.h b/TAO/tao/PortableServer/Acceptor_Filter_Factory.h index 88fa02f218249..f408dba8b731e 100644 --- a/TAO/tao/PortableServer/Acceptor_Filter_Factory.h +++ b/TAO/tao/PortableServer/Acceptor_Filter_Factory.h @@ -50,7 +50,7 @@ class TAO_PortableServer_Export TAO_Acceptor_Filter_Factory : public ACE_Service_Object { public: - virtual ~TAO_Acceptor_Filter_Factory(); + ~TAO_Acceptor_Filter_Factory() override = default; virtual TAO_Acceptor_Filter* create_object (TAO_POA_Manager& poamanager); From 53cabe442f3b082ee21458dfa2095fd0b5b0ba6b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 14:33:33 +0100 Subject: [PATCH 118/445] Use default * TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp: * TAO/tao/PortableServer/Default_Acceptor_Filter.cpp: * TAO/tao/PortableServer/Default_Acceptor_Filter.h: --- .../PortableServer/Acceptor_Filter_Factory.cpp | 4 ++-- .../PortableServer/Default_Acceptor_Filter.cpp | 16 +++------------- TAO/tao/PortableServer/Default_Acceptor_Filter.h | 8 ++++---- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp b/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp index 38e3b9a251e37..7384025005b8f 100644 --- a/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp +++ b/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp @@ -9,11 +9,11 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Acceptor_Filter* TAO_Acceptor_Filter_Factory::create_object (TAO_POA_Manager& ) { - TAO_Acceptor_Filter *filter = 0; + TAO_Acceptor_Filter *filter = nullptr; ACE_NEW_RETURN (filter, TAO_Default_Acceptor_Filter (), - 0); + nullptr); return filter; } diff --git a/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp b/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp index ec9ae61a7a812..28024ce6c2b00 100644 --- a/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp +++ b/TAO/tao/PortableServer/Default_Acceptor_Filter.cpp @@ -6,10 +6,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_Default_Acceptor_Filter::TAO_Default_Acceptor_Filter () -{ -} - int TAO_Default_Acceptor_Filter::fill_profile (const TAO::ObjectKey &object_key, TAO_MProfile &mprofile, @@ -18,14 +14,10 @@ TAO_Default_Acceptor_Filter::fill_profile (const TAO::ObjectKey &object_key, CORBA::Short priority) { // Go through all the acceptors. - for (TAO_Acceptor** acceptor = acceptors_begin; - acceptor != acceptors_end; - ++acceptor) + for (TAO_Acceptor** acceptor = acceptors_begin; acceptor != acceptors_end; ++acceptor) { // Ask each acceptor to make a profile. - if ((*acceptor)->create_profile (object_key, - mprofile, - priority) == -1) + if ((*acceptor)->create_profile (object_key, mprofile, priority) == -1) return -1; } @@ -37,9 +29,7 @@ TAO_Default_Acceptor_Filter::encode_endpoints (TAO_MProfile &mprofile) { // if -ORBUseSharedProfile is set, there may be multiple endpoints // per profile, even without priority. - for (CORBA::ULong i = 0; - i < mprofile.profile_count (); - ++i) + for (CORBA::ULong i = 0; i < mprofile.profile_count (); ++i) { TAO_Profile *profile = mprofile.get_profile (i); if (profile->encode_alternate_endpoints () == -1) diff --git a/TAO/tao/PortableServer/Default_Acceptor_Filter.h b/TAO/tao/PortableServer/Default_Acceptor_Filter.h index c440b985c5dae..0057e403b6ab0 100644 --- a/TAO/tao/PortableServer/Default_Acceptor_Filter.h +++ b/TAO/tao/PortableServer/Default_Acceptor_Filter.h @@ -41,18 +41,18 @@ class TAO_PortableServer_Export TAO_Default_Acceptor_Filter : public TAO_Acceptor_Filter { public: - TAO_Default_Acceptor_Filter (); + TAO_Default_Acceptor_Filter () = default; /// Populate @a mprofile with all available endpoints. - virtual int fill_profile (const TAO::ObjectKey &object_key, + int fill_profile (const TAO::ObjectKey &object_key, TAO_MProfile &mprofile, TAO_Acceptor **acceptors_begin, TAO_Acceptor **acceptors_end, - CORBA::Short priority = TAO_INVALID_PRIORITY); + CORBA::Short priority = TAO_INVALID_PRIORITY) override; /// Encodes the endpoints in the profiles into the TAO_TAG_ENDPOINTS /// tag component of profiles. - int encode_endpoints (TAO_MProfile &mprofile); + int encode_endpoints (TAO_MProfile &mprofile) override; }; TAO_END_VERSIONED_NAMESPACE_DECL From d9b768c3239be29c3219f2fca81b39e2dc8787b1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 15:29:08 +0100 Subject: [PATCH 119/445] the_children is not available in all CORBA profiles * TAO/tao/PortableServer/Root_POA.cpp: * TAO/tao/PortableServer/Root_POA.h: * TAO/tao/RTPortableServer/RT_POA.cpp: * TAO/tao/RTPortableServer/RT_POA.h: --- TAO/tao/PortableServer/Root_POA.cpp | 4 +++- TAO/tao/PortableServer/Root_POA.h | 3 ++- TAO/tao/RTPortableServer/RT_POA.cpp | 4 ++-- TAO/tao/RTPortableServer/RT_POA.h | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/TAO/tao/PortableServer/Root_POA.cpp b/TAO/tao/PortableServer/Root_POA.cpp index 049f891a4bfb7..f894825dd50ba 100644 --- a/TAO/tao/PortableServer/Root_POA.cpp +++ b/TAO/tao/PortableServer/Root_POA.cpp @@ -736,6 +736,8 @@ TAO_Root_POA::servant_to_reference (PortableServer::Servant servant) return this->servant_to_reference_i (servant); } + +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) PortableServer::POAList * TAO_Root_POA::the_children () { @@ -744,7 +746,7 @@ TAO_Root_POA::the_children () return this->the_children_i (); } - +#endif /* TAO_HAS_MINIMUM_POA == 0 && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */ PortableServer::Servant TAO_Root_POA::id_to_servant (const PortableServer::ObjectId &oid) diff --git a/TAO/tao/PortableServer/Root_POA.h b/TAO/tao/PortableServer/Root_POA.h index 812a4b7d00e37..899c8031481cb 100644 --- a/TAO/tao/PortableServer/Root_POA.h +++ b/TAO/tao/PortableServer/Root_POA.h @@ -173,14 +173,15 @@ class TAO_PortableServer_Export TAO_Root_POA PortableServer::RequestProcessingPolicy_ptr create_request_processing_policy ( PortableServer::RequestProcessingPolicyValue value); - #endif /* TAO_HAS_MINIMUM_POA == 0 && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */ char * the_name (); PortableServer::POA_ptr the_parent (); +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) PortableServer::POAList *the_children (); +#endif /* TAO_HAS_MINIMUM_POA == 0 && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */ PortableServer::POAManager_ptr the_POAManager (); diff --git a/TAO/tao/RTPortableServer/RT_POA.cpp b/TAO/tao/RTPortableServer/RT_POA.cpp index 93b27235ac6e5..87830403e45d6 100644 --- a/TAO/tao/RTPortableServer/RT_POA.cpp +++ b/TAO/tao/RTPortableServer/RT_POA.cpp @@ -569,11 +569,13 @@ TAO_RT_POA::the_parent () return this->TAO_Regular_POA::the_parent (); } +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) PortableServer::POAList * TAO_RT_POA::the_children () { return this->TAO_Regular_POA::the_children (); } +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::POAManager_ptr TAO_RT_POA::the_POAManager () @@ -581,9 +583,7 @@ TAO_RT_POA::the_POAManager () return this->TAO_Regular_POA::the_POAManager (); } - #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - PortableServer::AdapterActivator_ptr TAO_RT_POA::the_activator () { diff --git a/TAO/tao/RTPortableServer/RT_POA.h b/TAO/tao/RTPortableServer/RT_POA.h index 62420daa05364..aedc17d469c9c 100644 --- a/TAO/tao/RTPortableServer/RT_POA.h +++ b/TAO/tao/RTPortableServer/RT_POA.h @@ -120,12 +120,13 @@ class TAO_RTPortableServer_Export TAO_RT_POA PortableServer::POA_ptr the_parent () override; +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) PortableServer::POAList *the_children () override; +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::POAManager_ptr the_POAManager () override; #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - PortableServer::AdapterActivator_ptr the_activator () override; void the_activator (PortableServer::AdapterActivator_ptr adapter_activator) override; @@ -137,7 +138,6 @@ class TAO_RTPortableServer_Export TAO_RT_POA PortableServer::Servant get_servant () override; void set_servant (PortableServer::Servant servant) override; - #endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::ObjectId *activate_object (PortableServer::Servant p_servant) override; From 88ce4a3384ee967a8007a3575bfca9d2dde0dc7a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 16:23:46 +0100 Subject: [PATCH 120/445] Replace enum with static constexpr * TAO/tao/PortableServer/Root_POA.h: --- TAO/tao/PortableServer/Root_POA.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/TAO/tao/PortableServer/Root_POA.h b/TAO/tao/PortableServer/Root_POA.h index 899c8031481cb..436e6e677047d 100644 --- a/TAO/tao/PortableServer/Root_POA.h +++ b/TAO/tao/PortableServer/Root_POA.h @@ -275,10 +275,7 @@ class TAO_PortableServer_Export TAO_Root_POA static CORBA::ULong name_separator_length (); - enum - { - TAO_OBJECTKEY_PREFIX_SIZE = 4 - }; + static constexpr size_t TAO_OBJECTKEY_PREFIX_SIZE = 4; static CORBA::Octet const objectkey_prefix[TAO_OBJECTKEY_PREFIX_SIZE]; From 45fa63be04357683ab473a2f993e621508ecb5f7 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 16:29:08 +0100 Subject: [PATCH 121/445] Fixed warnings * TAO/tao/PortableServer/IdAssignmentPolicy.h: * TAO/tao/PortableServer/IdUniquenessPolicy.h: * TAO/tao/PortableServer/LifespanStrategyPersistent.h: * TAO/tao/PortableServer/LifespanStrategyTransient.h: * TAO/tao/PortableServer/Operation_Table_Linear_Search.h: * TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h: * TAO/tao/PortableServer/ServantRetentionStrategyRetain.h: * TAO/tao/RTPortableServer/RT_POA.h: * TAO/tao/RTPortableServer/RT_Policy_Validator.h: --- TAO/tao/PortableServer/IdAssignmentPolicy.h | 8 ++++---- TAO/tao/PortableServer/IdUniquenessPolicy.h | 8 ++++---- TAO/tao/PortableServer/LifespanStrategyPersistent.h | 2 +- TAO/tao/PortableServer/LifespanStrategyTransient.h | 2 +- TAO/tao/PortableServer/Operation_Table_Linear_Search.h | 2 +- .../PortableServer/ServantRetentionStrategyNonRetain.h | 4 ++-- TAO/tao/PortableServer/ServantRetentionStrategyRetain.h | 2 +- TAO/tao/RTPortableServer/RT_POA.h | 2 +- TAO/tao/RTPortableServer/RT_Policy_Validator.h | 4 ++-- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/TAO/tao/PortableServer/IdAssignmentPolicy.h b/TAO/tao/PortableServer/IdAssignmentPolicy.h index bef8f68e0b570..e7c4f4c21d078 100644 --- a/TAO/tao/PortableServer/IdAssignmentPolicy.h +++ b/TAO/tao/PortableServer/IdAssignmentPolicy.h @@ -43,13 +43,13 @@ namespace TAO public: IdAssignmentPolicy (::PortableServer::IdAssignmentPolicyValue value); - CORBA::Policy_ptr copy (); + CORBA::Policy_ptr copy () override; - void destroy (); + void destroy () override; - ::PortableServer::IdAssignmentPolicyValue value (); + ::PortableServer::IdAssignmentPolicyValue value () override; - CORBA::PolicyType policy_type (); + CORBA::PolicyType policy_type () override; /// Return the cached policy type for this policy. TAO_Cached_Policy_Type _tao_cached_type () const override; diff --git a/TAO/tao/PortableServer/IdUniquenessPolicy.h b/TAO/tao/PortableServer/IdUniquenessPolicy.h index 3cf26325ac5fb..8793a19f90bd3 100644 --- a/TAO/tao/PortableServer/IdUniquenessPolicy.h +++ b/TAO/tao/PortableServer/IdUniquenessPolicy.h @@ -43,13 +43,13 @@ namespace TAO public: IdUniquenessPolicy (::PortableServer::IdUniquenessPolicyValue value); - CORBA::Policy_ptr copy (); + CORBA::Policy_ptr copy () override; - void destroy (); + void destroy () override; - ::PortableServer::IdUniquenessPolicyValue value (); + ::PortableServer::IdUniquenessPolicyValue value () override; - CORBA::PolicyType policy_type (); + CORBA::PolicyType policy_type () override; /// Return the cached policy type for this policy. TAO_Cached_Policy_Type _tao_cached_type () const override; diff --git a/TAO/tao/PortableServer/LifespanStrategyPersistent.h b/TAO/tao/PortableServer/LifespanStrategyPersistent.h index 9b964c2b18440..5de7c9cb52ce7 100644 --- a/TAO/tao/PortableServer/LifespanStrategyPersistent.h +++ b/TAO/tao/PortableServer/LifespanStrategyPersistent.h @@ -44,7 +44,7 @@ namespace TAO CORBA::Boolean is_persistent () const override; - CORBA::ULong key_length () const; + CORBA::ULong key_length () const override; void create_key (CORBA::Octet *buffer, CORBA::ULong& starting_at) override; diff --git a/TAO/tao/PortableServer/LifespanStrategyTransient.h b/TAO/tao/PortableServer/LifespanStrategyTransient.h index 5a3c7d988d533..580924326682a 100644 --- a/TAO/tao/PortableServer/LifespanStrategyTransient.h +++ b/TAO/tao/PortableServer/LifespanStrategyTransient.h @@ -40,7 +40,7 @@ namespace TAO CORBA::Boolean is_persistent () const override; - CORBA::ULong key_length () const; + CORBA::ULong key_length () const override; void create_key (CORBA::Octet *buffer, CORBA::ULong& starting_at) override; diff --git a/TAO/tao/PortableServer/Operation_Table_Linear_Search.h b/TAO/tao/PortableServer/Operation_Table_Linear_Search.h index 75dd2dc7f53d8..c69ab4a5542b5 100644 --- a/TAO/tao/PortableServer/Operation_Table_Linear_Search.h +++ b/TAO/tao/PortableServer/Operation_Table_Linear_Search.h @@ -47,7 +47,7 @@ class TAO_PortableServer_Export TAO_Linear_Search_OpTable const unsigned int length = 0) override; int bind (const char *opname, - const TAO::Operation_Skeletons skelptr); + const TAO::Operation_Skeletons skelptr) override; private: // = Method that should defined by the subclasses. GPERF program diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h index 3365ec714fddd..0e778aeb49d17 100644 --- a/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h +++ b/TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h @@ -39,7 +39,7 @@ namespace TAO void strategy_cleanup() override; - CORBA::ULong waiting_servant_deactivation () const; + CORBA::ULong waiting_servant_deactivation () const override; PortableServer::ObjectId * activate_object (PortableServer::Servant servant, @@ -68,7 +68,7 @@ namespace TAO CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &id, - bool indirect); + bool indirect) override; TAO_Servant_Location servant_present ( const PortableServer::ObjectId &system_id, diff --git a/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h b/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h index 22eefd38cd1be..98d0c1db5db24 100644 --- a/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h +++ b/TAO/tao/PortableServer/ServantRetentionStrategyRetain.h @@ -120,7 +120,7 @@ namespace TAO int unbind_using_user_id ( const PortableServer::ObjectId &user_id) override; - TAO_Active_Object_Map * get_active_object_map() const; + TAO_Active_Object_Map * get_active_object_map() const override; private: std::unique_ptr active_object_map_; diff --git a/TAO/tao/RTPortableServer/RT_POA.h b/TAO/tao/RTPortableServer/RT_POA.h index aedc17d469c9c..206c1518a4222 100644 --- a/TAO/tao/RTPortableServer/RT_POA.h +++ b/TAO/tao/RTPortableServer/RT_POA.h @@ -185,7 +185,7 @@ class TAO_RTPortableServer_Export TAO_RT_POA ~TAO_RT_POA () override = default; - void *thread_pool () const; + void *thread_pool () const override; protected: /// Template method for creating new POA's of this type. diff --git a/TAO/tao/RTPortableServer/RT_Policy_Validator.h b/TAO/tao/RTPortableServer/RT_Policy_Validator.h index 2fcf68be954a3..afab3f0f46eb9 100644 --- a/TAO/tao/RTPortableServer/RT_Policy_Validator.h +++ b/TAO/tao/RTPortableServer/RT_Policy_Validator.h @@ -60,10 +60,10 @@ class TAO_RTPortableServer_Export TAO_POA_RT_Policy_Validator * are consistent and legal. Throw an appropriate exception * if that is not the case. */ - void validate_impl (TAO_Policy_Set &policies); + void validate_impl (TAO_Policy_Set &policies) override; /// Add/merge policies. - void merge_policies_impl (TAO_Policy_Set &policies); + void merge_policies_impl (TAO_Policy_Set &policies) override; /** * Return whether the specified policy type is legal for the From 80ef4188441e6a0b786e48659af9e39ecd4b9735 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 16:38:30 +0100 Subject: [PATCH 122/445] Use default destructor * TAO/tao/Argument.cpp: * TAO/tao/Argument.h: * TAO/tao/Base_Transport_Property.cpp: * TAO/tao/Base_Transport_Property.h: --- TAO/tao/Argument.cpp | 4 ---- TAO/tao/Argument.h | 2 +- TAO/tao/Base_Transport_Property.cpp | 4 ---- TAO/tao/Base_Transport_Property.h | 2 +- 4 files changed, 2 insertions(+), 10 deletions(-) diff --git a/TAO/tao/Argument.cpp b/TAO/tao/Argument.cpp index fab7b1d751457..dee22fca0f786 100644 --- a/TAO/tao/Argument.cpp +++ b/TAO/tao/Argument.cpp @@ -3,10 +3,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO::Argument::~Argument () -{ -} - CORBA::Boolean TAO::Argument::marshal (TAO_OutputCDR &) { diff --git a/TAO/tao/Argument.h b/TAO/tao/Argument.h index 39740bb52301f..cc2e35bb0de10 100644 --- a/TAO/tao/Argument.h +++ b/TAO/tao/Argument.h @@ -50,7 +50,7 @@ namespace TAO { public: /// Destructor. - virtual ~Argument (); + virtual ~Argument () = default; /// Marshal the argument into the given CDR output stream. /** diff --git a/TAO/tao/Base_Transport_Property.cpp b/TAO/tao/Base_Transport_Property.cpp index 17a83e1a6187a..dd0eccfab29a0 100644 --- a/TAO/tao/Base_Transport_Property.cpp +++ b/TAO/tao/Base_Transport_Property.cpp @@ -7,10 +7,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_Base_Transport_Property::~TAO_Base_Transport_Property () -{ -} - TAO_Transport_Descriptor_Interface * TAO_Base_Transport_Property::duplicate () { diff --git a/TAO/tao/Base_Transport_Property.h b/TAO/tao/Base_Transport_Property.h index 54836a0817a2f..7f6a33180ae9e 100644 --- a/TAO/tao/Base_Transport_Property.h +++ b/TAO/tao/Base_Transport_Property.h @@ -43,7 +43,7 @@ class TAO_Export TAO_Base_Transport_Property CORBA::Boolean flag = false); /// Destructor - virtual ~TAO_Base_Transport_Property (); + virtual ~TAO_Base_Transport_Property () = default; /// The copy constructor. TAO_Base_Transport_Property (const TAO_Base_Transport_Property &rhs); From d2b7bf891f0b11840b5528b89cac105daef04f33 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 16:51:14 +0100 Subject: [PATCH 123/445] Revert default * TAO/tao/Argument.cpp: * TAO/tao/Argument.h: --- TAO/tao/Argument.cpp | 4 ++++ TAO/tao/Argument.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/TAO/tao/Argument.cpp b/TAO/tao/Argument.cpp index dee22fca0f786..fab7b1d751457 100644 --- a/TAO/tao/Argument.cpp +++ b/TAO/tao/Argument.cpp @@ -3,6 +3,10 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL +TAO::Argument::~Argument () +{ +} + CORBA::Boolean TAO::Argument::marshal (TAO_OutputCDR &) { diff --git a/TAO/tao/Argument.h b/TAO/tao/Argument.h index cc2e35bb0de10..39740bb52301f 100644 --- a/TAO/tao/Argument.h +++ b/TAO/tao/Argument.h @@ -50,7 +50,7 @@ namespace TAO { public: /// Destructor. - virtual ~Argument () = default; + virtual ~Argument (); /// Marshal the argument into the given CDR output stream. /** From 94392eaddf51af04621f46337b392c688171434f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 16:51:27 +0100 Subject: [PATCH 124/445] Use constexpr * TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp: * TAO/tao/Codeset/UTF16_BOM_Translator.cpp: * TAO/tao/GIOP_Message_Generator_Parser_12.cpp: --- TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp | 2 +- TAO/tao/Codeset/UTF16_BOM_Translator.cpp | 9 ++++----- TAO/tao/GIOP_Message_Generator_Parser_12.cpp | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp b/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp index 6dfda150d7ee4..30d76194aa179 100644 --- a/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp +++ b/TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp @@ -338,7 +338,7 @@ TAO::CSD::FW_Server_Request_Wrapper::clone (TAO_Operation_Details const *& from, } else { - static const size_t mb_size = 2048; + static constexpr size_t mb_size = 2048; ACE_NEW_RETURN (cdr, TAO_InputCDR (mb_size), false); diff --git a/TAO/tao/Codeset/UTF16_BOM_Translator.cpp b/TAO/tao/Codeset/UTF16_BOM_Translator.cpp index 4f47a6154607c..4df509712c88c 100644 --- a/TAO/tao/Codeset/UTF16_BOM_Translator.cpp +++ b/TAO/tao/Codeset/UTF16_BOM_Translator.cpp @@ -19,11 +19,10 @@ // **************************************************************** typedef ACE_CDR::UShort ACE_UTF16_T; -static const size_t ACE_UTF16_CODEPOINT_SIZE = sizeof (ACE_UTF16_T); -static const ACE_CDR::ULong ACE_UL_UTF16_CODEPOINT_SIZE = - static_cast(ACE_UTF16_CODEPOINT_SIZE); -static const unsigned short ACE_UNICODE_BOM_CORRECT = 0xFEFFU; -static const unsigned short ACE_UNICODE_BOM_SWAPPED = 0xFFFEU; +static constexpr size_t ACE_UTF16_CODEPOINT_SIZE = sizeof (ACE_UTF16_T); +static constexpr ACE_CDR::ULong ACE_UL_UTF16_CODEPOINT_SIZE = static_cast(ACE_UTF16_CODEPOINT_SIZE); +static constexpr unsigned short ACE_UNICODE_BOM_CORRECT = 0xFEFFU; +static constexpr unsigned short ACE_UNICODE_BOM_SWAPPED = 0xFFFEU; TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp index 7cbadbbc658f0..0dfc12ae0f41c 100644 --- a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp +++ b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp @@ -16,7 +16,7 @@ // This is used by GIOP1.2. This is to align the message body on a // 8-octet boundary. This is declared static so that it is in file // scope. -static const size_t TAO_GIOP_MESSAGE_ALIGN_PTR = 8; +static constexpr size_t TAO_GIOP_MESSAGE_ALIGN_PTR = 8; TAO_BEGIN_VERSIONED_NAMESPACE_DECL From 90371aba592ff8153762036e2b0d5bd723af4a7d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 17:04:25 +0100 Subject: [PATCH 125/445] Generate some parts as constexpr * ACE/apps/gperf/src/Key_List.cpp: --- ACE/apps/gperf/src/Key_List.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ACE/apps/gperf/src/Key_List.cpp b/ACE/apps/gperf/src/Key_List.cpp index 1d02a425acb10..edfc738a9470a 100644 --- a/ACE/apps/gperf/src/Key_List.cpp +++ b/ACE/apps/gperf/src/Key_List.cpp @@ -501,7 +501,6 @@ Key_List::reorder () // Outputs the maximum and minimum hash values. Since the list is // already sorted by hash value all we need to do is find the final // item! - void Key_List::output_min_max () { @@ -817,7 +816,7 @@ Key_List::output_keyword_table () int pointer_and_type_enabled = option[POINTER] && option[TYPE]; ACE_OS::printf ("%sstatic %s%swordlist[] =\n%s%s{\n", indent, - option[CONSTANT] || pointer_and_type_enabled == 0 ? "const " : "", + option[CONSTANT] || pointer_and_type_enabled == 0 ? "constexpr " : "", struct_tag, indent, indent); @@ -1145,7 +1144,7 @@ Key_List::output_hash_function () // Generate the asso_values table. ACE_OS::printf (" static %sunsigned %s asso_values[] =\n {", - option[CONSTANT] ? "const " : "", + option[CONSTANT] ? "constexpr " : "", max_hash_value < ((int) UCHAR_MAX) ? "char" : (max_hash_value < ((int) USHRT_MAX) ? "short" : "int")); #if ACE_STANDARD_CHARACTER_SET_SIZE == ACE_EBCDIC_SIZE @@ -1443,7 +1442,7 @@ Key_List::output_lookup_array () const char *indent = option[GLOBAL] ? "" : " "; - ACE_OS::printf ("%sstatic %ssigned %s lookup[] =\n%s%s{\n%s", indent, option[CONSTANT] ? "const " : "", + ACE_OS::printf ("%sstatic %ssigned %s lookup[] =\n%s%s{\n%s", indent, option[CONSTANT] ? "constexpr " : "", max <= SCHAR_MAX ? "char" : (max <= SHRT_MAX ? "short" : "int"), indent, indent, option[DEBUGGING] ? "" : " "); From 5df6c5248e1c1be3aeaefa10ff9eb9be593ec2fd Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 17:04:40 +0100 Subject: [PATCH 126/445] Reduced usage of static as we do in generated code * TAO/tao/PortableServer/Servant_Base.cpp: --- TAO/tao/PortableServer/Servant_Base.cpp | 110 ++++++------------------ 1 file changed, 27 insertions(+), 83 deletions(-) diff --git a/TAO/tao/PortableServer/Servant_Base.cpp b/TAO/tao/PortableServer/Servant_Base.cpp index 54d5cff2d9d20..8809dfd031a6f 100644 --- a/TAO/tao/PortableServer/Servant_Base.cpp +++ b/TAO/tao/PortableServer/Servant_Base.cpp @@ -72,7 +72,7 @@ TAO_ServantBase::TAO_ServantBase (const TAO_ServantBase &rhs) TAO_ServantBase & TAO_ServantBase::operator= (const TAO_ServantBase &rhs) { - if (this != &rhs) + if (this != std::addressof(rhs)) { this->optable_ = rhs.optable_; } @@ -97,11 +97,6 @@ TAO_ServantBase::_is_a_skel (TAO_ServerRequest & server_request, TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR(servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; TAO::SArg_Traits< char *>::in_arg_val _tao_repository_id; @@ -111,8 +106,6 @@ TAO_ServantBase::_is_a_skel (TAO_ServerRequest & server_request, &_tao_repository_id }; - static size_t const nargs = 2; - _is_a_Upcall_Command command ( servant, args); @@ -120,12 +113,12 @@ TAO_ServantBase::_is_a_skel (TAO_ServerRequest & server_request, TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 2 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -135,11 +128,6 @@ TAO_ServantBase::_is_a_thru_poa_skel (TAO_ServerRequest & server_request, TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR (servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; TAO::SArg_Traits< char *>::in_arg_val _tao_repository_id; @@ -149,8 +137,6 @@ TAO_ServantBase::_is_a_thru_poa_skel (TAO_ServerRequest & server_request, &_tao_repository_id }; - static size_t const nargs = 2; - _is_a_thru_poa_Upcall_Command command ( servant, server_request.operation_details (), @@ -159,12 +145,12 @@ TAO_ServantBase::_is_a_thru_poa_skel (TAO_ServerRequest & server_request, TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 2 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -176,11 +162,6 @@ TAO_ServantBase::_non_existent_skel (TAO_ServerRequest & server_request, TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR (servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; TAO::Argument * const args[] = @@ -188,8 +169,6 @@ TAO_ServantBase::_non_existent_skel (TAO_ServerRequest & server_request, &retval }; - static size_t const nargs = 1; - _non_existent_Upcall_Command command ( servant, args); @@ -197,12 +176,12 @@ TAO_ServantBase::_non_existent_skel (TAO_ServerRequest & server_request, TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 1 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -211,11 +190,6 @@ void TAO_ServantBase::_non_existent_thru_poa_skel (TAO_ServerRequest & server_re TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR (servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; TAO::Argument * const args[] = @@ -223,8 +197,6 @@ void TAO_ServantBase::_non_existent_thru_poa_skel (TAO_ServerRequest & server_re &retval }; - static size_t const nargs = 1; - _non_existent_thru_poa_Upcall_Command command ( servant, server_request.operation_details (), @@ -233,12 +205,12 @@ void TAO_ServantBase::_non_existent_thru_poa_skel (TAO_ServerRequest & server_re TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 1 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -279,11 +251,6 @@ TAO_ServantBase::_component_skel (TAO_ServerRequest & server_request, TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR (servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; TAO::Argument * const args[] = @@ -291,8 +258,6 @@ TAO_ServantBase::_component_skel (TAO_ServerRequest & server_request, &retval }; - static size_t const nargs = 1; - _get_component_Upcall_Command command ( servant, args); @@ -300,12 +265,12 @@ TAO_ServantBase::_component_skel (TAO_ServerRequest & server_request, TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 1 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -315,11 +280,6 @@ TAO_ServantBase::_component_thru_poa_skel (TAO_ServerRequest & server_request, TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR (servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; TAO::Argument * const args[] = @@ -327,8 +287,6 @@ TAO_ServantBase::_component_thru_poa_skel (TAO_ServerRequest & server_request, &retval }; - static size_t const nargs = 1; - _get_component_thru_poa_Upcall_Command command ( servant, server_request.operation_details (), @@ -337,12 +295,12 @@ TAO_ServantBase::_component_thru_poa_skel (TAO_ServerRequest & server_request, TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 1 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -355,11 +313,6 @@ TAO_ServantBase::_repository_id_skel (TAO_ServerRequest & server_request, TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR (servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< char *>::ret_val retval; TAO::Argument * const args[] = @@ -367,8 +320,6 @@ TAO_ServantBase::_repository_id_skel (TAO_ServerRequest & server_request, &retval }; - static size_t const nargs = 1; - _repository_id_Upcall_Command command ( servant, args); @@ -376,12 +327,12 @@ TAO_ServantBase::_repository_id_skel (TAO_ServerRequest & server_request, TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 1 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -391,11 +342,6 @@ TAO_ServantBase::_repository_id_thru_poa_skel (TAO_ServerRequest & server_reques TAO::Portable_Server::Servant_Upcall* TAO_INTERCEPTOR (servant_upcall), TAO_ServantBase *servant) { -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - TAO::SArg_Traits< char *>::ret_val retval; TAO::Argument * const args[] = @@ -403,8 +349,6 @@ TAO_ServantBase::_repository_id_thru_poa_skel (TAO_ServerRequest & server_reques &retval }; - static size_t const nargs = 1; - _repository_id_thru_poa_Upcall_Command command ( servant, server_request.operation_details (), @@ -413,12 +357,12 @@ TAO_ServantBase::_repository_id_thru_poa_skel (TAO_ServerRequest & server_reques TAO::Upcall_Wrapper upcall_wrapper; upcall_wrapper.upcall (server_request , args - , nargs + , 1 , command #if TAO_HAS_INTERCEPTORS == 1 , servant_upcall - , exceptions - , nexceptions + , nullptr + , 0 #endif /* TAO_HAS_INTERCEPTORS == 1 */ ); } @@ -494,13 +438,13 @@ TAO_ServantBase::_find (const char *opname, TAO_Stub * TAO_ServantBase::_create_stub () { - TAO_Stub *stub = 0; + TAO_Stub *stub = nullptr; TAO::Portable_Server::POA_Current_Impl *poa_current_impl = static_cast (TAO_TSS_Resources::instance ()->poa_current_impl_); - CORBA::ORB_ptr servant_orb = 0; + CORBA::ORB_ptr servant_orb = nullptr; if (poa_current_impl != 0 && this == poa_current_impl->servant ()) From d19030946af88f57a4b2b29af9228cbbf0386a71 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Feb 2023 18:08:58 +0100 Subject: [PATCH 127/445] Revert one constexpr change * ACE/apps/gperf/src/Key_List.cpp: --- ACE/apps/gperf/src/Key_List.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/apps/gperf/src/Key_List.cpp b/ACE/apps/gperf/src/Key_List.cpp index edfc738a9470a..cdb6ee90851f1 100644 --- a/ACE/apps/gperf/src/Key_List.cpp +++ b/ACE/apps/gperf/src/Key_List.cpp @@ -816,7 +816,7 @@ Key_List::output_keyword_table () int pointer_and_type_enabled = option[POINTER] && option[TYPE]; ACE_OS::printf ("%sstatic %s%swordlist[] =\n%s%s{\n", indent, - option[CONSTANT] || pointer_and_type_enabled == 0 ? "constexpr " : "", + option[CONSTANT] || pointer_and_type_enabled == 0 ? "const " : "", struct_tag, indent, indent); From 7a7f6db56d3a136c765558ace03eda3845d9f3a3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 20 Feb 2023 15:44:04 +0100 Subject: [PATCH 128/445] ACE/TAO now require C++14 or newer * ACE/NEWS: * ACE/ace/Global_Macros.h: * ACE/ace/config-win32-msvc-141.h: * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: * ACE/include/makeinclude/platform_linux_clang.GNU: * ACE/include/makeinclude/platform_macosx_common.GNU: --- ACE/NEWS | 2 ++ ACE/ace/Global_Macros.h | 4 ++-- ACE/ace/config-win32-msvc-141.h | 3 +++ ACE/examples/Logger/Acceptor-server/server_loggerd.cpp | 1 - ACE/include/makeinclude/platform_linux_clang.GNU | 4 ++++ ACE/include/makeinclude/platform_macosx_common.GNU | 2 +- 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index 991e25e40b532..ee0460be2b2ac 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -4,6 +4,8 @@ USER VISIBLE CHANGES BETWEEN ACE-7.0.11 and ACE-7.1.0 . Removed support for Windows CE, OpenVMS, HPUX, AIX, RTEMS, Pharlap, and Solaris +. ACE/TAO now require C++14 or newer + USER VISIBLE CHANGES BETWEEN ACE-7.0.10 and ACE-7.0.11 ====================================================== diff --git a/ACE/ace/Global_Macros.h b/ACE/ace/Global_Macros.h index bc9b20a4962a5..e43b1002dd485 100644 --- a/ACE/ace/Global_Macros.h +++ b/ACE/ace/Global_Macros.h @@ -57,8 +57,8 @@ # define ACE_SET_BITS(WORD, BITS) (WORD |= (BITS)) # define ACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS)) -#if !defined (ACE_HAS_CPP11) -# error ACE/TAO require C++11 compliance, please upgrade your compiler and/or fix the platform configuration for your environment +#if !defined (ACE_HAS_CPP14) +# error ACE/TAO require C++14 compliance, please upgrade your compiler and/or fix the platform configuration for your environment #endif /* !ACE_HAS_CPP11 */ #define ACE_UNIMPLEMENTED_FUNC(f) f = delete; diff --git a/ACE/ace/config-win32-msvc-141.h b/ACE/ace/config-win32-msvc-141.h index c6376395d1342..8c3c201631b86 100644 --- a/ACE/ace/config-win32-msvc-141.h +++ b/ACE/ace/config-win32-msvc-141.h @@ -23,6 +23,9 @@ # define ACE_WIN32_VC141 #endif +// Visual Studio 2017 has adequate C++14 support +#define ACE_HAS_CPP14 + #include "ace/config-win32-msvc-14.h" #if _MSVC_LANG >= 201402L diff --git a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp index ba53e2b3af672..dc3a2af3b0113 100644 --- a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp +++ b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp @@ -260,7 +260,6 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) return 0; } -//typedef ACE_Test_and_Set ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Reactor, ACE_Null_Mutex); ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex); #define ACE_Test_and_Set_type \ diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index 2cfc0accbec02..1bc22c06a02e9 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -45,6 +45,10 @@ ifeq ($(c++11),1) CCFLAGS += -std=c++11 endif +ifeq ($(c++14),1) + CCFLAGS += -std=c++14 +endif + ifeq ($(no_deprecated),1) CCFLAGS += -Wno-deprecated-declarations endif diff --git a/ACE/include/makeinclude/platform_macosx_common.GNU b/ACE/include/makeinclude/platform_macosx_common.GNU index 342883b285552..315521a7f8f15 100644 --- a/ACE/include/makeinclude/platform_macosx_common.GNU +++ b/ACE/include/makeinclude/platform_macosx_common.GNU @@ -42,7 +42,7 @@ SOBUILD = -o $(VSHDIR)$*.dylib $< ifeq ($(findstring g++,$(CXX)),)# include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU else - c++11 ?= 1 + c++14 ?= 1 include $(ACE_ROOT)/include/makeinclude/platform_clang_common.GNU endif From 748e48be4bbdc75d665a042fa7f5911d89b944a5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 20 Feb 2023 15:45:26 +0100 Subject: [PATCH 129/445] Removed gcc 4.8, doesn't support C++14 * .github/workflows/linux.yml: --- .github/workflows/linux.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 310922433cda4..50a5f38d2ff00 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -24,11 +24,6 @@ jobs: fail-fast: false matrix: include: - - CC: gcc-4.8 - CXX: g++-4.8 - PackageDeps: g++-4.8 - platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU - os: ubuntu-18.04 - CC: gcc-6 CXX: g++-6 PackageDeps: g++-6 From 46e095cc536cb302af7bef33c79f3c93977df343 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 20 Feb 2023 15:48:34 +0100 Subject: [PATCH 130/445] Removed Visual Studio 2015 support, lacks C++14 * ACE/ace/config-win32-msvc-14.h: Deleted. * ACE/ace/config-win32-msvc-141.h: * ACE/ace/config-win32-msvc.h: --- ACE/ace/config-win32-msvc-14.h | 131 -------------------------------- ACE/ace/config-win32-msvc-141.h | 105 ++++++++++++++++++++++++- ACE/ace/config-win32-msvc.h | 2 - 3 files changed, 102 insertions(+), 136 deletions(-) delete mode 100644 ACE/ace/config-win32-msvc-14.h diff --git a/ACE/ace/config-win32-msvc-14.h b/ACE/ace/config-win32-msvc-14.h deleted file mode 100644 index 18fea9a9a5e22..0000000000000 --- a/ACE/ace/config-win32-msvc-14.h +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- C++ -*- */ -//============================================================================= -/** - * @file config-win32-msvc-14.h - * - * @brief Microsoft Visual C++ 14.0 configuration file. - * - * This file is the ACE configuration file for Microsoft Visual C++ version 2015. - * - * @note Do not include this file directly, include config-win32.h instead. - */ -//============================================================================= - -#ifndef ACE_CONFIG_WIN32_MSVC_14_H -#define ACE_CONFIG_WIN32_MSVC_14_H -#include /**/ "ace/pre.h" - -#ifndef ACE_CONFIG_WIN32_H -#error Use config-win32.h in config.h instead of this header -#endif /* ACE_CONFIG_WIN32_H */ - -#ifndef ACE_WIN32_VC14 -# define ACE_WIN32_VC14 -#endif - -// Windows' timeval is non-conformant (defined in terms of long instead of -// time_t) and VC8 changed time_t to a 64-bit value even when compiling a -// 32-bit application. Therefore, ace/Time_Value needs to rearrange a few -// things for this compiler. See Time_Value.h for complete details. -#if !defined (_USE_32BIT_TIME_T) -# define ACE_HAS_TIME_T_LONG_MISMATCH -#endif - -#define ACE_HAS_ITOA - -#define ACE_ITOA_EQUIVALENT ::_itoa -#define ACE_STRCASECMP_EQUIVALENT ::_stricmp -#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp -#define ACE_WCSDUP_EQUIVALENT ::_wcsdup -#define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X))) - -#define ACE_HAS_SIG_ATOMIC_T - -#define ACE_LACKS_STRPTIME - -#define ACE_HAS_INTRIN_H -#define ACE_HAS_INTRINSIC_INTERLOCKED - -#define ACE_HAS_INTRINSIC_BYTESWAP - -#define ACE_LACKS_STRRECVFD - -// Platform provides ACE_TLI function prototypes. -// For Win32, this is not really true, but saves a lot of hassle! -#define ACE_HAS_TLI_PROTOTYPES - -// Platform support linebuffered streaming is broken -#define ACE_LACKS_LINEBUFFERED_STREAMBUF - -// ace/iostream.h does not work with the standard cpp library (yet). -#if !defined (ACE_USES_OLD_IOSTREAMS) -# define ACE_LACKS_ACE_IOSTREAM -#endif /* ! ACE_USES_OLD_IOSTREAMS */ - -// There are too many instances of this warning to fix it right now. -// Maybe in the future. - -// Disable warning of using Microsoft Extension. -#pragma warning(disable:4231) - -// 'class1' : inherits 'class2::member' via dominance -#pragma warning(disable:4250) - -#if !defined (ACE_HAS_TR24731_2005_CRT) -# define ACE_HAS_TR24731_2005_CRT -#endif - -// A template can not be exported. Only an instantiation may be exported. -#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT - -// Windows Vista and Windows Server 2008 and newer do have native condition -// variables, but this is commented out because the support in ACE hasn't -// been completed -// #if defined (_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600) -// # define ACE_HAS_WTHREADS_CONDITION_VARIABLE -// # undef ACE_LACKS_COND_T -// #endif - -#define ACE_HAS_POSIX_TIME 1 -#define ACE_LACKS_TIMESPEC_T 1 - -// According to MS the Visual Studio 2015 C-runtime has a -// C99 compliant vsnprintf/vsnwprintf, this is a change compared to -// previous versions -#define ACE_HAS_C99_VSNPRINTF -#define ACE_HAS_C99_VSNWPRINTF - -// Visual Studio 2015 has 3 parameter wcstok -#define ACE_HAS_3_PARAM_WCSTOK - -// Visual Studio 2015 has adequate C++11 support -#define ACE_HAS_CPP11 - -#define ACE_PUTENV_EQUIVALENT ::_putenv -#define ACE_TEMPNAM_EQUIVALENT ::_tempnam -#define ACE_STRDUP_EQUIVALENT ::_strdup -#define ACE_MKDIR_EQUIVALENT ::_mkdir -#define ACE_ACCESS_EQUIVALENT ::_access -#define ACE_CHDIR_EQUIVALENT ::_chdir -#define ACE_RMDIR_EQUIVALENT ::_rmdir -#define ACE_GETCWD_EQUIVALENT ::_getcwd -#define ACE_SWAB_EQUIVALENT ::_swab -#define ACE_UNLINK_EQUIVALENT ::_unlink - -#define ACE_HAS_STRNLEN -#define ACE_HAS_WCSNLEN - -#define ACE_LACKS_STRUCT_DIR -#define ACE_LACKS_OPENDIR -#define ACE_LACKS_CLOSEDIR -#define ACE_LACKS_READDIR - -#define ACE_LACKS_MODE_T -#define ACE_LACKS_PID_T - -#define ACE_LACKS_NLINK_T -#define ACE_LACKS_UID_T -#define ACE_LACKS_GID_T - -#include /**/ "ace/post.h" -#endif /* ACE_CONFIG_WIN32_MSVC_14_H */ diff --git a/ACE/ace/config-win32-msvc-141.h b/ACE/ace/config-win32-msvc-141.h index 8c3c201631b86..e08e69ae7364a 100644 --- a/ACE/ace/config-win32-msvc-141.h +++ b/ACE/ace/config-win32-msvc-141.h @@ -23,10 +23,109 @@ # define ACE_WIN32_VC141 #endif -// Visual Studio 2017 has adequate C++14 support -#define ACE_HAS_CPP14 +// Windows' timeval is non-conformant (defined in terms of long instead of +// time_t) and VC8 changed time_t to a 64-bit value even when compiling a +// 32-bit application. Therefore, ace/Time_Value needs to rearrange a few +// things for this compiler. See Time_Value.h for complete details. +#if !defined (_USE_32BIT_TIME_T) +# define ACE_HAS_TIME_T_LONG_MISMATCH +#endif + +#define ACE_HAS_ITOA + +#define ACE_ITOA_EQUIVALENT ::_itoa +#define ACE_STRCASECMP_EQUIVALENT ::_stricmp +#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp +#define ACE_WCSDUP_EQUIVALENT ::_wcsdup +#define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X))) + +#define ACE_HAS_SIG_ATOMIC_T + +#define ACE_LACKS_STRPTIME + +#define ACE_HAS_INTRIN_H +#define ACE_HAS_INTRINSIC_INTERLOCKED + +#define ACE_HAS_INTRINSIC_BYTESWAP + +#define ACE_LACKS_STRRECVFD + +// Platform provides ACE_TLI function prototypes. +// For Win32, this is not really true, but saves a lot of hassle! +#define ACE_HAS_TLI_PROTOTYPES + +// Platform support linebuffered streaming is broken +#define ACE_LACKS_LINEBUFFERED_STREAMBUF + +// ace/iostream.h does not work with the standard cpp library (yet). +#if !defined (ACE_USES_OLD_IOSTREAMS) +# define ACE_LACKS_ACE_IOSTREAM +#endif /* ! ACE_USES_OLD_IOSTREAMS */ + +// There are too many instances of this warning to fix it right now. +// Maybe in the future. + +// Disable warning of using Microsoft Extension. +#pragma warning(disable:4231) + +// 'class1' : inherits 'class2::member' via dominance +#pragma warning(disable:4250) + +#if !defined (ACE_HAS_TR24731_2005_CRT) +# define ACE_HAS_TR24731_2005_CRT +#endif + +// A template can not be exported. Only an instantiation may be exported. +#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT + +// Windows Vista and Windows Server 2008 and newer do have native condition +// variables, but this is commented out because the support in ACE hasn't +// been completed +// #if defined (_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600) +// # define ACE_HAS_WTHREADS_CONDITION_VARIABLE +// # undef ACE_LACKS_COND_T +// #endif + +#define ACE_HAS_POSIX_TIME 1 +#define ACE_LACKS_TIMESPEC_T 1 + +// According to MS the Visual Studio 2015 C-runtime has a +// C99 compliant vsnprintf/vsnwprintf, this is a change compared to +// previous versions +#define ACE_HAS_C99_VSNPRINTF +#define ACE_HAS_C99_VSNWPRINTF + +// Visual Studio 2015 has 3 parameter wcstok +#define ACE_HAS_3_PARAM_WCSTOK + +// Visual Studio 2015 has adequate C++11 support +#define ACE_HAS_CPP11 + +#define ACE_PUTENV_EQUIVALENT ::_putenv +#define ACE_TEMPNAM_EQUIVALENT ::_tempnam +#define ACE_STRDUP_EQUIVALENT ::_strdup +#define ACE_MKDIR_EQUIVALENT ::_mkdir +#define ACE_ACCESS_EQUIVALENT ::_access +#define ACE_CHDIR_EQUIVALENT ::_chdir +#define ACE_RMDIR_EQUIVALENT ::_rmdir +#define ACE_GETCWD_EQUIVALENT ::_getcwd +#define ACE_SWAB_EQUIVALENT ::_swab +#define ACE_UNLINK_EQUIVALENT ::_unlink + +#define ACE_HAS_STRNLEN +#define ACE_HAS_WCSNLEN + +#define ACE_LACKS_STRUCT_DIR +#define ACE_LACKS_OPENDIR +#define ACE_LACKS_CLOSEDIR +#define ACE_LACKS_READDIR + +#define ACE_LACKS_MODE_T +#define ACE_LACKS_PID_T -#include "ace/config-win32-msvc-14.h" +#define ACE_LACKS_NLINK_T +#define ACE_LACKS_UID_T +#define ACE_LACKS_GID_T #if _MSVC_LANG >= 201402L # define ACE_HAS_CPP14 diff --git a/ACE/ace/config-win32-msvc.h b/ACE/ace/config-win32-msvc.h index 1e1b063d420fd..e467bf0230b9b 100644 --- a/ACE/ace/config-win32-msvc.h +++ b/ACE/ace/config-win32-msvc.h @@ -39,8 +39,6 @@ # include "ace/config-win32-msvc-142.h" #elif (_MSC_VER >= 1910) # include "ace/config-win32-msvc-141.h" -#elif (_MSC_VER >= 1900) -# include "ace/config-win32-msvc-14.h" #else # error This version of Microsoft Visual C++ is not supported. #endif From 9740e05c8e2f2c906444bf6b4ae01dd24e39cf39 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 20 Feb 2023 16:28:53 +0100 Subject: [PATCH 131/445] Enable C++14 for clang 5/6/7/8 * ACE/include/makeinclude/platform_linux_clang.GNU: --- ACE/include/makeinclude/platform_linux_clang.GNU | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index 1bc22c06a02e9..48a5e3462414b 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -18,10 +18,18 @@ else CXX_MAJOR_VERSION := $(shell $(CXX) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/\..*$$//') endif -# clang5 has C++03 as default C++ version, enable this to be C++11 -# the older clang versions all return 4.2.1 as part of dumpversion -ifeq ($(findstring $(CXX_MAJOR_VERSION),4),$(CXX_MAJOR_VERSION)) - c++11 ?= 1 +# clang5/6/7/8 have C++11 as default C++ version, enable this to be C++14 +ifeq ($(findstring $(CXX_MAJOR_VERSION),5),$(CXX_MAJOR_VERSION)) + c++14 ?= 1 +endif +ifeq ($(findstring $(CXX_MAJOR_VERSION),6),$(CXX_MAJOR_VERSION)) + c++14 ?= 1 +endif +ifeq ($(findstring $(CXX_MAJOR_VERSION),7),$(CXX_MAJOR_VERSION)) + c++14 ?= 1 +endif +ifeq ($(findstring $(CXX_MAJOR_VERSION),8),$(CXX_MAJOR_VERSION)) + c++14 ?= 1 endif CCFLAGS += $(CFLAGS) From fd5c368d5c7b26ff2a44446bd215e28ffc07b033 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 20 Feb 2023 16:35:04 +0100 Subject: [PATCH 132/445] Remove clang5 * .github/workflows/linux.yml: * ACE/include/makeinclude/platform_linux_clang.GNU: --- .github/workflows/linux.yml | 5 ----- ACE/include/makeinclude/platform_linux_clang.GNU | 14 -------------- 2 files changed, 19 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 50a5f38d2ff00..a0f771a303c42 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -62,11 +62,6 @@ jobs: optional_macros: CCFLAGS+=-std=c++20 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU os: ubuntu-22.04 - - CC: clang-5.0 - CXX: clang++-5.0 - PackageDeps: clang-5.0 - platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU - os: ubuntu-18.04 - CC: clang-6.0 CXX: clang++-6.0 PackageDeps: clang-6.0 diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index 48a5e3462414b..a0fed4aa60432 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -18,20 +18,6 @@ else CXX_MAJOR_VERSION := $(shell $(CXX) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/\..*$$//') endif -# clang5/6/7/8 have C++11 as default C++ version, enable this to be C++14 -ifeq ($(findstring $(CXX_MAJOR_VERSION),5),$(CXX_MAJOR_VERSION)) - c++14 ?= 1 -endif -ifeq ($(findstring $(CXX_MAJOR_VERSION),6),$(CXX_MAJOR_VERSION)) - c++14 ?= 1 -endif -ifeq ($(findstring $(CXX_MAJOR_VERSION),7),$(CXX_MAJOR_VERSION)) - c++14 ?= 1 -endif -ifeq ($(findstring $(CXX_MAJOR_VERSION),8),$(CXX_MAJOR_VERSION)) - c++14 ?= 1 -endif - CCFLAGS += $(CFLAGS) DCFLAGS += -g DLD = $(CXX) From 7ff7378063fb7a2cda02c096a55ec8319a9e7854 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 Feb 2023 07:09:31 +0100 Subject: [PATCH 133/445] Update ACE/ace/Global_Macros.h Co-authored-by: Fred Hornsey --- ACE/ace/Global_Macros.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/Global_Macros.h b/ACE/ace/Global_Macros.h index e43b1002dd485..5520938f01c88 100644 --- a/ACE/ace/Global_Macros.h +++ b/ACE/ace/Global_Macros.h @@ -59,7 +59,7 @@ #if !defined (ACE_HAS_CPP14) # error ACE/TAO require C++14 compliance, please upgrade your compiler and/or fix the platform configuration for your environment -#endif /* !ACE_HAS_CPP11 */ +#endif #define ACE_UNIMPLEMENTED_FUNC(f) f = delete; From 06974e568d233fcf8f0550a5ebb9987588928ce3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 Feb 2023 13:23:32 +0100 Subject: [PATCH 134/445] List Visual Studio 2015 EOL * ACE/NEWS: --- ACE/NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/NEWS b/ACE/NEWS index ee0460be2b2ac..bb38cc3b52f97 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -2,7 +2,7 @@ USER VISIBLE CHANGES BETWEEN ACE-7.0.11 and ACE-7.1.0 ===================================================== . Removed support for Windows CE, OpenVMS, HPUX, AIX, RTEMS, - Pharlap, and Solaris + Pharlap, Solaris, and Visual Studio 2015 . ACE/TAO now require C++14 or newer From cfc83e2d8bfa83ba08452767d8ab943f539e3ae8 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 Feb 2023 13:28:15 +0100 Subject: [PATCH 135/445] Make use of std::make_unique * TAO/tao/PortableServer/Active_Policy_Strategies.cpp: --- .../Active_Policy_Strategies.cpp | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/TAO/tao/PortableServer/Active_Policy_Strategies.cpp b/TAO/tao/PortableServer/Active_Policy_Strategies.cpp index a2a2ce4319b96..244401662bf38 100644 --- a/TAO/tao/PortableServer/Active_Policy_Strategies.cpp +++ b/TAO/tao/PortableServer/Active_Policy_Strategies.cpp @@ -99,13 +99,13 @@ namespace TAO case ::PortableServer::SINGLE_THREAD_MODEL : { #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) - this->thread_strategy_.reset (new ThreadStrategySingle ()); + this->thread_strategy_ = std::make_unique (); #endif /* TAO_HAS_MINIMUM_POA == 0 */ break; } case ::PortableServer::ORB_CTRL_MODEL : { - this->thread_strategy_.reset (new ThreadStrategyORBControl ()); + this->thread_strategy_ = std::make_unique (); break; } } @@ -118,13 +118,13 @@ namespace TAO { case ::PortableServer::SYSTEM_ID : { - this->id_assignment_strategy_.reset (new IdAssignmentStrategySystem ()); + this->id_assignment_strategy_ = std::make_unique (); break; } case ::PortableServer::USER_ID : { #if !defined (CORBA_E_MICRO) - this->id_assignment_strategy_.reset (new IdAssignmentStrategyUser ()); + this->id_assignment_strategy_ = std::make_unique (); #endif /* CORBA_E_MICRO */ break; } @@ -139,13 +139,13 @@ namespace TAO case ::PortableServer::MULTIPLE_ID : { #if !defined (CORBA_E_MICRO) - this->id_uniqueness_strategy_.reset (new IdUniquenessStrategyMultiple ()); + this->id_uniqueness_strategy_ = std::make_unique (); #endif /* CORBA_E_MICRO */ break; } case ::PortableServer::UNIQUE_ID : { - this->id_uniqueness_strategy_.reset (new IdUniquenessStrategyUnique ()); + this->id_uniqueness_strategy_ = std::make_unique (); break; } } @@ -158,13 +158,13 @@ namespace TAO { case ::PortableServer::RETAIN : { - this->servant_retention_strategy_.reset (new ServantRetentionStrategyRetain ()); + this->servant_retention_strategy_ = std::make_unique (); break; } case ::PortableServer::NON_RETAIN : { #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) - this->servant_retention_strategy_.reset (new ServantRetentionStrategyNonRetain ()); + this->servant_retention_strategy_ = std::make_unique (); #endif /* TAO_HAS_MINIMUM_POA == 0 */ break; } @@ -179,13 +179,13 @@ namespace TAO case ::PortableServer::PERSISTENT : { #if !defined (CORBA_E_MICRO) - this->lifespan_strategy_.reset (new LifespanStrategyPersistent ()); + this->lifespan_strategy_ = std::make_unique (); #endif /* CORBA_E_MICRO */ break; } case ::PortableServer::TRANSIENT : { - this->lifespan_strategy_.reset (new LifespanStrategyTransient ()); + this->lifespan_strategy_ = std::make_unique (); break; } } @@ -199,13 +199,13 @@ namespace TAO case ::PortableServer::IMPLICIT_ACTIVATION : { #if !defined (CORBA_E_MICRO) && !defined (CORBA_E_COMPACT) - this->implicit_activation_strategy_.reset (new ImplicitActivationStrategyImplicit ()); + this->implicit_activation_strategy_= std::make_unique (); #endif /* CORBA_E_MICRO */ break; } case ::PortableServer::NO_IMPLICIT_ACTIVATION : { - this->implicit_activation_strategy_.reset (new ImplicitActivationStrategyExplicit ()); + this->implicit_activation_strategy_ = std::make_unique (); break; } } @@ -220,13 +220,13 @@ namespace TAO { case ::PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY : { - this->request_processing_strategy_.reset (new RequestProcessingStrategyAOMOnly ()); + this->request_processing_strategy_ = std::make_unique (); break; } case ::PortableServer::USE_DEFAULT_SERVANT : { #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - this->request_processing_strategy_.reset (new RequestProcessingStrategyDefaultServant ()); + this->request_processing_strategy_ = std::make_unique (); #endif /* TAO_HAS_MINIMUM_POA == 0 */ break; } @@ -237,14 +237,14 @@ namespace TAO case ::PortableServer::RETAIN : { #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - this->request_processing_strategy_.reset (new RequestProcessingStrategyServantActivator ()); + this->request_processing_strategy_ = std::make_unique (); #endif /* TAO_HAS_MINIMUM_POA == 0 */ break; } case ::PortableServer::NON_RETAIN : { #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) - this->request_processing_strategy_.reset (new RequestProcessingStrategyServantLocator ()); + this->request_processing_strategy_ = std::make_unique (); #endif /* TAO_HAS_MINIMUM_POA == 0 */ break; } From c5b4f7009b47eac331fb5d20d53366fc99abecf0 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Tue, 21 Feb 2023 14:20:11 +0100 Subject: [PATCH 136/445] ACE/ace/SSL/SSL_Asynch_BIO.cpp: fix build with libressl >= 3.5.0 Fix the following build failure with libressl >= 3.5.0: /tmp/instance-17/output-1/build/ace-7.0.6/ace/SSL/SSL_Asynch_BIO.cpp:45:19: error: variable 'BIO_METHOD methods_ACE' has initializer but incomplete type 45 | static BIO_METHOD methods_ACE = | ^~~~~~~~~~~ Fixes: - http://autobuild.buildroot.org/results/7f40d6dde03134238151c248fbbd66e4713546cb Signed-off-by: Fabrice Fontaine --- ACE/ace/SSL/SSL_Asynch_BIO.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ACE/ace/SSL/SSL_Asynch_BIO.cpp b/ACE/ace/SSL/SSL_Asynch_BIO.cpp index 0faa775fc0f1d..0317ccbd12c95 100644 --- a/ACE/ace/SSL/SSL_Asynch_BIO.cpp +++ b/ACE/ace/SSL/SSL_Asynch_BIO.cpp @@ -41,7 +41,7 @@ extern "C" #define BIO_TYPE_ACE ( 21 | BIO_TYPE_SOURCE_SINK ) -#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) +#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) static BIO_METHOD methods_ACE = { BIO_TYPE_ACE, // BIO_TYPE_PROXY_SERVER, @@ -68,14 +68,14 @@ static BIO_METHOD methods_ACE = #else static BIO_METHOD* methods_ACE; # define BIO_set_num(b, val) -#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */ +#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL BIO * ACE_SSL_make_BIO (void * ssl_asynch_stream) { -#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) +#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) BIO * const pBIO = BIO_new (&methods_ACE); #else if (!methods_ACE) From 458c39a5fcaac2f79eb7878b8b052ad89fba1b13 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 Feb 2023 16:05:14 +0100 Subject: [PATCH 137/445] Try gcc6 on ubuntu 20.04 as 18.04 is going to be unsupported on github actions soon * .github/workflows/linux.yml: --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index a0f771a303c42..1223c5d25da3a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -28,7 +28,7 @@ jobs: CXX: g++-6 PackageDeps: g++-6 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU - os: ubuntu-18.04 + os: ubuntu-20.04 - CC: gcc-7 CXX: g++-7 PackageDeps: g++-7 From d36ea8bd1ba6f2fefa13124562bdd534cbc96515 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 Feb 2023 20:07:05 +0100 Subject: [PATCH 138/445] Removed gcc6, not available on ubuntu 20.04 without a special repo (not tested that) * .github/workflows/linux.yml: --- .github/workflows/linux.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 1223c5d25da3a..8524c860e2dc6 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -24,11 +24,6 @@ jobs: fail-fast: false matrix: include: - - CC: gcc-6 - CXX: g++-6 - PackageDeps: g++-6 - platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU - os: ubuntu-20.04 - CC: gcc-7 CXX: g++-7 PackageDeps: g++-7 From 606a42cd58a161c971723d10713699d922530a28 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 22 Feb 2023 09:10:40 +0100 Subject: [PATCH 139/445] Add define of ACE_WIN32_VC14, before dropping Visual Studio 2015 this was also set for newer Visual Studio versions * ACE/ace/config-win32-msvc-141.h: --- ACE/ace/config-win32-msvc-141.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/ace/config-win32-msvc-141.h b/ACE/ace/config-win32-msvc-141.h index e08e69ae7364a..284071e62ede0 100644 --- a/ACE/ace/config-win32-msvc-141.h +++ b/ACE/ace/config-win32-msvc-141.h @@ -19,6 +19,9 @@ #error Use config-win32.h in config.h instead of this header #endif /* ACE_CONFIG_WIN32_H */ +#ifndef ACE_WIN32_VC14 +# define ACE_WIN32_VC14 +#endif #ifndef ACE_WIN32_VC141 # define ACE_WIN32_VC141 #endif From 017929ad88287a15cf7733bc5bacc1782e647a22 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 22 Feb 2023 14:57:09 +0100 Subject: [PATCH 140/445] Set ACE_HAS_CPP20 when C++20 is supported * ACE/ace/config-win32-msvc-141.h: --- ACE/ace/config-win32-msvc-141.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ACE/ace/config-win32-msvc-141.h b/ACE/ace/config-win32-msvc-141.h index 284071e62ede0..60de5347739fd 100644 --- a/ACE/ace/config-win32-msvc-141.h +++ b/ACE/ace/config-win32-msvc-141.h @@ -138,5 +138,9 @@ # define ACE_HAS_CPP17 #endif /* _MSVC_LANG >= 201703L */ +#if _MSVC_LANG >= 202002L +# define ACE_HAS_CPP20 +#endif /* _MSVC_LANG >= 202002L */ + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_WIN32_MSVC_141_H */ From 26ed33ba535cc904c88c4405f58e7e67343096eb Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 27 Feb 2023 08:05:05 +0100 Subject: [PATCH 141/445] Ruby 3.1 ships ucrt which has a 3 param wcstok * ACE/ace/config-win32-mingw64.h: --- ACE/ace/config-win32-mingw64.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ACE/ace/config-win32-mingw64.h b/ACE/ace/config-win32-mingw64.h index f7414ebda543a..1d378aa1e233b 100644 --- a/ACE/ace/config-win32-mingw64.h +++ b/ACE/ace/config-win32-mingw64.h @@ -128,5 +128,10 @@ #define ACE_DLL_PREFIX ACE_TEXT ("lib") +#if defined(_UCRT) +# define ACE_HAS_3_PARAM_WCSTOK +#endif + + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_WIN32_MINGW64_H */ From adb7bcc177df26ef326fa00148d64aac810abe32 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 27 Feb 2023 10:08:04 +0100 Subject: [PATCH 142/445] Fix redefinition warnings when using mingw64 with ucrt * ACE/ace/os_include/sys/os_mman.h: --- ACE/ace/os_include/sys/os_mman.h | 33 +++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/ACE/ace/os_include/sys/os_mman.h b/ACE/ace/os_include/sys/os_mman.h index 6671ffd1c86eb..8870bf22f5c4b 100644 --- a/ACE/ace/os_include/sys/os_mman.h +++ b/ACE/ace/os_include/sys/os_mman.h @@ -49,22 +49,25 @@ extern "C" # define MAP_FIXED 0 #elif defined (ACE_WIN32) // These two may be used for internal flags soon: -# define MAP_PRIVATE 1 -# define MAP_SHARED 2 -# define MAP_FIXED 4 +# if !defined (MAP_PRIVATE) +# define MAP_PRIVATE 1 +# endif +# if !defined (MAP_SHARED) +# define MAP_SHARED 2 +# endif +# if !defined (MAP_FIXED) +# define MAP_FIXED 4 +# endif // MMAP flags -# define PROT_READ PAGE_READONLY -# define PROT_WRITE PAGE_READWRITE -# define PROT_RDWR PAGE_READWRITE -/* If we can find suitable use for these flags, here they are: -PAGE_WRITECOPY -PAGE_EXECUTE -PAGE_EXECUTE_READ -PAGE_EXECUTE_READWRITE -PAGE_EXECUTE_WRITECOPY -PAGE_GUARD -PAGE_NOACCESS -PAGE_NOCACHE */ +# if !defined (PROT_READ) +# define PROT_READ PAGE_READONLY +# endif +# if !defined (PROT_WRITE) +# define PROT_WRITE PAGE_READWRITE +# endif +# if !defined (PROT_RDWR) +# define PROT_RDWR PAGE_READWRITE +# endif #endif /* !ACE_LACKS_SYS_MMAN_H && !ACE_WIN32*/ # if !defined (ACE_MAP_PRIVATE) From 6c47c90806a1ad9be33784d5f731d360814e4137 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 3 Mar 2023 09:14:01 +0100 Subject: [PATCH 143/445] ACE+TAO-7_1_0 --- ACE/ChangeLogs/ACE-7_1_0 | 727 ++++++++++++++++++++++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 8 +- ACE/debian/control | 62 ++-- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-3_1_0 | 393 +++++++++++++++++++++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 8 +- 10 files changed, 1166 insertions(+), 46 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-7_1_0 create mode 100644 TAO/ChangeLogs/TAO-3_1_0 diff --git a/ACE/ChangeLogs/ACE-7_1_0 b/ACE/ChangeLogs/ACE-7_1_0 new file mode 100644 index 0000000000000..4a00ae7d580c0 --- /dev/null +++ b/ACE/ChangeLogs/ACE-7_1_0 @@ -0,0 +1,727 @@ +commit 419b7060685fe7df63f0a91bc64bcaf9848a84fb +Merge: 1a0d76d1c62 adb7bcc177d +Author: Johnny Willemsen +Date: Mon Feb 27 12:14:49 2023 +0100 + + Merge pull request #2056 from jwillemsen/jwi-osmmanredef + + Fix redefinition warnings when using mingw64 with ucrt + +commit 1a0d76d1c6251067df8a2c18816b2316b6950dfa +Merge: 7b119e54bbb 26ed33ba535 +Author: Johnny Willemsen +Date: Mon Feb 27 11:07:53 2023 +0100 + + Merge pull request #2055 from jwillemsen/jwi-curtfix + + Ruby 3.1 ships ucrt which has a 3 param wcstok + +commit adb7bcc177df26ef326fa00148d64aac810abe32 +Author: Johnny Willemsen +Date: Mon Feb 27 10:08:04 2023 +0100 + + Fix redefinition warnings when using mingw64 with ucrt + + * ACE/ace/os_include/sys/os_mman.h: + +commit 26ed33ba535cc904c88c4405f58e7e67343096eb +Author: Johnny Willemsen +Date: Mon Feb 27 08:05:05 2023 +0100 + + Ruby 3.1 ships ucrt which has a 3 param wcstok + + * ACE/ace/config-win32-mingw64.h: + +commit 7b119e54bbbcaeeec03cf2e6e7a3ff889e08fd12 +Merge: c0ef1f6daad 3827363c2df +Author: Johnny Willemsen +Date: Thu Feb 23 09:26:26 2023 +0100 + + Merge pull request #2053 from ffontaine/master + + ACE/ace/SSL/SSL_Asynch_BIO.cpp: fix build with libressl >= 3.5.0 + +commit 017929ad88287a15cf7733bc5bacc1782e647a22 +Author: Johnny Willemsen +Date: Wed Feb 22 14:57:09 2023 +0100 + + Set ACE_HAS_CPP20 when C++20 is supported + + * ACE/ace/config-win32-msvc-141.h: + +commit 3827363c2dfe94345cab759b5b968eeec89205b4 +Merge: c5b4f7009b4 4ea44f59178 +Author: Johnny Willemsen +Date: Wed Feb 22 13:32:52 2023 +0100 + + Merge branch 'master' into master + +commit 606a42cd58a161c971723d10713699d922530a28 +Author: Johnny Willemsen +Date: Wed Feb 22 09:10:40 2023 +0100 + + Add define of ACE_WIN32_VC14, before dropping Visual Studio 2015 this was also set for newer Visual Studio versions + + * ACE/ace/config-win32-msvc-141.h: + +commit c5b4f7009b47eac331fb5d20d53366fc99abecf0 +Author: Fabrice Fontaine +Date: Tue Feb 21 14:20:11 2023 +0100 + + ACE/ace/SSL/SSL_Asynch_BIO.cpp: fix build with libressl >= 3.5.0 + + Fix the following build failure with libressl >= 3.5.0: + + /tmp/instance-17/output-1/build/ace-7.0.6/ace/SSL/SSL_Asynch_BIO.cpp:45:19: error: variable 'BIO_METHOD methods_ACE' has initializer but incomplete type + 45 | static BIO_METHOD methods_ACE = + | ^~~~~~~~~~~ + + Fixes: + - http://autobuild.buildroot.org/results/7f40d6dde03134238151c248fbbd66e4713546cb + + Signed-off-by: Fabrice Fontaine + +commit 06974e568d233fcf8f0550a5ebb9987588928ce3 +Author: Johnny Willemsen +Date: Tue Feb 21 13:23:32 2023 +0100 + + List Visual Studio 2015 EOL + + * ACE/NEWS: + +commit 7ff7378063fb7a2cda02c096a55ec8319a9e7854 +Author: Johnny Willemsen +Date: Tue Feb 21 07:09:31 2023 +0100 + + Update ACE/ace/Global_Macros.h + + Co-authored-by: Fred Hornsey + +commit fd5c368d5c7b26ff2a44446bd215e28ffc07b033 +Author: Johnny Willemsen +Date: Mon Feb 20 16:35:04 2023 +0100 + + Remove clang5 + + * .github/workflows/linux.yml: + * ACE/include/makeinclude/platform_linux_clang.GNU: + +commit 9740e05c8e2f2c906444bf6b4ae01dd24e39cf39 +Author: Johnny Willemsen +Date: Mon Feb 20 16:28:53 2023 +0100 + + Enable C++14 for clang 5/6/7/8 + + * ACE/include/makeinclude/platform_linux_clang.GNU: + +commit 46e095cc536cb302af7bef33c79f3c93977df343 +Author: Johnny Willemsen +Date: Mon Feb 20 15:48:34 2023 +0100 + + Removed Visual Studio 2015 support, lacks C++14 + + * ACE/ace/config-win32-msvc-14.h: + Deleted. + + * ACE/ace/config-win32-msvc-141.h: + * ACE/ace/config-win32-msvc.h: + +commit 7a7f6db56d3a136c765558ace03eda3845d9f3a3 +Author: Johnny Willemsen +Date: Mon Feb 20 15:44:04 2023 +0100 + + ACE/TAO now require C++14 or newer + + * ACE/NEWS: + * ACE/ace/Global_Macros.h: + * ACE/ace/config-win32-msvc-141.h: + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/include/makeinclude/platform_linux_clang.GNU: + * ACE/include/makeinclude/platform_macosx_common.GNU: + +commit d19030946af88f57a4b2b29af9228cbbf0386a71 +Author: Johnny Willemsen +Date: Mon Feb 13 18:08:58 2023 +0100 + + Revert one constexpr change + + * ACE/apps/gperf/src/Key_List.cpp: + +commit 90371aba592ff8153762036e2b0d5bd723af4a7d +Author: Johnny Willemsen +Date: Mon Feb 13 17:04:25 2023 +0100 + + Generate some parts as constexpr + + * ACE/apps/gperf/src/Key_List.cpp: + +commit 4db6c4351dfd785f59a9b16122e52eeec44520c0 +Author: Johnny Willemsen +Date: Mon Feb 13 12:30:59 2023 +0100 + + Fixed unresolved exports, more override + + * ACE/protocols/ace/HTBP/HTBP_Addr.cpp: + * ACE/protocols/ace/HTBP/HTBP_Addr.h: + * TAO/tao/PortableServer/Active_Object_Map.cpp: + * TAO/tao/PortableServer/Active_Object_Map.h: + * TAO/tao/PortableServer/Active_Policy_Strategies.h: + * TAO/tao/PortableServer/Active_Policy_Strategies.inl: + * TAO/tao/PortableServer/IdUniquenessStrategy.h: + * TAO/tao/PortableServer/Operation_Table_Binary_Search.cpp: + * TAO/tao/PortableServer/Operation_Table_Binary_Search.h: + * TAO/tao/PortableServer/Operation_Table_Dynamic_Hash.h: + * TAO/tao/PortableServer/Operation_Table_Linear_Search.cpp: + * TAO/tao/PortableServer/Operation_Table_Linear_Search.h: + * TAO/tao/PortableServer/Operation_Table_Perfect_Hash.cpp: + * TAO/tao/PortableServer/Operation_Table_Perfect_Hash.h: + * TAO/tao/PortableServer/POA_Current_Factory.cpp: + * TAO/tao/PortableServer/POA_Current_Impl.cpp: + * TAO/tao/PortableServer/POA_Current_Impl.h: + * TAO/tao/PortableServer/POA_Policy_Set.h: + * TAO/tao/PortableServer/ServantRetentionStrategy.h: + +commit 69fbec6c475060cf01a710a3d7ed6e756538858c +Merge: 7e8b94b728b 89a05c65fd6 +Author: Johnny Willemsen +Date: Mon Feb 6 09:21:37 2023 +0100 + + Merge pull request #2046 from jwillemsen/jwinullptrexce + + Use nullptr and make destructor of TAO SystemException default + +commit 89a05c65fd627673f0bcc260b990257dcf30150c +Author: Johnny Willemsen +Date: Fri Feb 3 19:49:52 2023 +0100 + + Use nullptr + + * ACE/ace/Time_Policy.h: + * ACE/ace/Time_Policy.inl: + +commit 7e8b94b728b886d14fc17b6af789e9ba0c50a050 +Merge: 4961b8026b5 ec19b2725b5 +Author: Johnny Willemsen +Date: Thu Feb 2 09:13:03 2023 +0100 + + Merge pull request #2042 from jwillemsen/jwi-cleanupmacros + + Cleanup unused macros + +commit 4961b8026b5c90e2517f27f9d9d5584be6f94ab0 +Merge: 757fd0a5eef 007bcf039e9 +Author: Johnny Willemsen +Date: Thu Feb 2 09:10:49 2023 +0100 + + Merge pull request #2044 from jmccabe/Indent-endif-by-an-extra-space + + Align one endif with its associated if + +commit 757fd0a5eef53e1c9e1a8327eb5d4b34e81d7cb9 +Merge: 107d2bfea7c 7f4365e6544 +Author: Johnny Willemsen +Date: Thu Feb 2 09:09:17 2023 +0100 + + Merge pull request #2043 from jwillemsen/jwi-pharlapcleanup + + Removed pharlap support + +commit 007bcf039e9226a746bffbc0dcffa892c091adbe +Author: John McCabe +Date: Wed Feb 1 16:51:54 2023 +0000 + + Align one endif with its associated if + +commit d90c1cb3964f254cb5e9a0de2d7f620b79750e16 +Author: Johnny Willemsen +Date: Wed Feb 1 16:01:29 2023 +0100 + + Removed left over sun file + +commit 7f4365e65442e6c9d482fa64f808303f1546fe68 +Author: Johnny Willemsen +Date: Wed Feb 1 15:52:25 2023 +0100 + + Fixed cleanup mistake + + * ACE/ace/OS_NS_unistd.inl: + +commit 6198126ce20cc418252f461621c81d19ee2b36e4 +Author: Johnny Willemsen +Date: Wed Feb 1 15:44:33 2023 +0100 + + Removed pharlap support + +commit 1eb5c6564e45cce7980f6bbac7b4b073b806788c +Author: Johnny Willemsen +Date: Wed Feb 1 14:48:42 2023 +0100 + + Removed include + + * ACE/ace/OS_NS_unistd.cpp: + +commit 281078a59a44ca971675b90616f5e35a998bf077 +Author: Johnny Willemsen +Date: Wed Feb 1 14:41:51 2023 +0100 + + Removed os_include headers which don't include any file anymore + +commit 9d3475584970e20117a7a99d3a75fecb521a0da9 +Author: Johnny Willemsen +Date: Wed Feb 1 14:38:17 2023 +0100 + + Further cleanup not used macros + + * ACE/ace/IOStream.h: + * ACE/ace/OS_NS_Thread.cpp: + * ACE/ace/OS_NS_Thread.inl: + * ACE/ace/Profile_Timer.cpp: + * ACE/ace/README: + * ACE/ace/os_include/os_netdb.h: + * ACE/ace/os_include/sys/os_loadavg.h: + * ACE/ace/os_include/sys/os_pstat.h: + +commit 01cb9ff254befab9c674e957a9e063b3c09bcc26 +Author: Johnny Willemsen +Date: Wed Feb 1 10:56:12 2023 +0100 + + Fix + + * ACE/ace/CDR_Stream.inl: + +commit c3e71f69e85deb48d5f3cdba355679da4deffdb3 +Author: Johnny Willemsen +Date: Wed Feb 1 10:51:23 2023 +0100 + + good_bit is a bool and removed some uncessary c-style casts + +commit 980b4296358a1b3f0f3ffde85c2826eeeb240637 +Author: Johnny Willemsen +Date: Wed Jan 18 13:21:32 2023 +0100 + + Fixed warning + + * ACE/ace/OS_NS_Thread.inl: + +commit dfc5c60f27c6ea1f566b1819ebbc3d979c19ffad +Merge: 956dcabf4bd d97b6edbeeb +Author: Johnny Willemsen +Date: Wed Jan 18 10:14:13 2023 +0100 + + Merge pull request #2035 from jwillemsen/jwi-cleanupsolaris + + Cleanup Solaris support + +commit d97b6edbeeb9a007f65e10e069a753bc087e998f +Author: Johnny Willemsen +Date: Tue Jan 17 16:38:01 2023 +0100 + + Updated for release + + * ACE/NEWS: + +commit 956dcabf4bdd4fb3ec1be53c392398b495af27cf +Merge: 016eb1b3caa 461fcfe1d09 +Author: Johnny Willemsen +Date: Tue Jan 17 15:41:34 2023 +0100 + + Merge pull request #2030 from lockhart/rpm_extras_7_0_11 + + Add headers and other source files to the list of files to be installed. + +commit ffbcea5aea4d73a2cb04c4c128662c4672f95d0d +Author: Johnny Willemsen +Date: Tue Jan 17 15:26:19 2023 +0100 + + More cleanup + + * ACE/ace/OS_NS_Thread.cpp: + * ACE/ace/OS_NS_Thread.inl: + * ACE/ace/config-hurd.h: + * ACE/ace/os_include/os_unistd.h: + * ACE/ace/os_include/sys/os_mman.h: + +commit 94724143a88b7ad5b10194690d9d73db3a3b6c54 +Author: Johnny Willemsen +Date: Tue Jan 17 12:43:59 2023 +0100 + + More Sun OS/compiler cleanup + +commit a7f809c172f0a2578ab584920dc02f1e45c06e6d +Author: Johnny Willemsen +Date: Tue Jan 17 12:40:30 2023 +0100 + + More Sun OS/compiler cleanup + +commit 83567bb4eb3abc1133a10a8cd3a97e4dfd1f23f8 +Author: Johnny Willemsen +Date: Tue Jan 17 12:35:36 2023 +0100 + + Removed some unused defines + +commit 5a45b0554cf1649e5f1eddebde2aa22df6c69719 +Author: Johnny Willemsen +Date: Tue Jan 17 12:33:05 2023 +0100 + + More Sun OS/compiler cleanup + +commit e5391a0076f5e370f929b111a8a6ed52ee4cb5da +Author: Johnny Willemsen +Date: Tue Jan 17 12:32:56 2023 +0100 + + More Sun OS/compiler cleanup + +commit 654bdcf1600bc5f2ada5790cb0a6a3418a8cc8d3 +Author: Johnny Willemsen +Date: Tue Jan 17 09:46:42 2023 +0100 + + Fixed cleanup issues + + * ACE/ace/OS_NS_Thread.h: + * ACE/ace/POSIX_Proactor.cpp: + +commit 73bdf800479e53a11143735e48348bb88c527c24 +Author: Johnny Willemsen +Date: Tue Jan 17 09:44:30 2023 +0100 + + Cleanup Solaris support + +commit 016eb1b3caa7b8ba0ff4c479895151eca984c82b +Merge: cf4d1e0117b 3f2b66203cb +Author: Johnny Willemsen +Date: Tue Jan 17 08:30:27 2023 +0100 + + Merge pull request #2034 from jwillemsen/jwi-macrocleanup + + Cleanup several macros which are not set by any config file + +commit 461fcfe1d099e9dc4e10b38ce7b19d922a368869 +Author: lockhart +Date: Mon Jan 16 22:22:39 2023 -0800 + + Update ace-tao.spec + + Need yet more .cpp files from ACE and TAO subsystems to enable a clean build of an external project. + +commit d6c603febcd87d749e3babb7cbe3386cd76a3c18 +Author: lockhart +Date: Mon Jan 16 11:09:08 2023 -0800 + + Update ace-tao.spec + + Tailor previous updates to the list of installed files to remove most duplicates and commented-out lines. + This includes one explicit line for the ESF/ subdirectory since at least one .cpp is needed but does not match the other patterns. + Updates are based on feedback from Johnny W. + +commit 3f2b66203cbef9985486a6e9ce4ef33feb5cfb20 +Author: Johnny Willemsen +Date: Mon Jan 16 18:49:33 2023 +0100 + + Cleanup several macros which are not set by any config file + + * ACE/ace/OS_NS_Thread.cpp: + * ACE/ace/OS_NS_dirent.inl: + * ACE/ace/OS_NS_sys_stat.inl: + * ACE/ace/OS_NS_time.cpp: + * ACE/ace/OS_NS_time.h: + * ACE/ace/OS_NS_time.inl: + * ACE/ace/OS_NS_unistd.inl: + * ACE/ace/README: + * ACE/ace/TLI.cpp: + * ACE/ace/os_include/os_stropts.h: + * ACE/ace/os_include/sys/os_mman.h: + +commit dcb4692364d4a9175db59b9280dbbd54524bb3ce +Author: Johnny Willemsen +Date: Mon Jan 16 16:45:00 2023 +0100 + + Removed checks for ACE_TEMPLATES_REQUIRE_SOURCE + +commit f25410e018ff6b65ec24df5ba249447f74eb0198 +Author: Johnny Willemsen +Date: Mon Jan 16 15:47:01 2023 +0100 + + Removed AIX support + +commit fd9764555ac1865589fe02dcd8201ab3d91e7030 +Author: Johnny Willemsen +Date: Mon Jan 16 15:46:41 2023 +0100 + + Removed AIX support + +commit a1a1a43595697bb82a040368286340f94b24c122 +Author: Thomas Lockhart +Date: Sun Jan 15 19:45:57 2023 -0800 + + Add headers and other source files to the list of files to be installed. + This includes stubs and skeletons for IDL interfaces and files required to extend interfaces. + This is a superset of files which are known to be required to build external packages. + +commit b2b2abd13518168f2b2930d4dd157d5311dccbe5 +Author: Johnny Willemsen +Date: Sun Jan 15 16:51:22 2023 +0100 + + Removed RTEMS support + +commit 61cab1e92cb345f27ddde5aa78787b9565b81121 +Author: Johnny Willemsen +Date: Sun Jan 15 16:51:08 2023 +0100 + + Removed RTEMS support + +commit d645bf461a41039dda402e1674ed7a6d40620957 +Merge: c9c577ffbe6 098b5aa5257 +Author: Johnny Willemsen +Date: Sun Jan 15 16:14:12 2023 +0100 + + Merge pull request #2028 from jwillemsen/jwi-removehpux + + Remove HPUX support + +commit c9c577ffbe64efca48e6a05add0e0070add7da6d +Merge: 6f36dbed40c 0a572bec884 +Author: Johnny Willemsen +Date: Sun Jan 15 14:04:11 2023 +0100 + + Merge pull request #2027 from jwillemsen/jwi-openvmscleanup + + Removed some OpenVMS code + +commit 098b5aa525738b909ba9bca915cc53c8a5573c20 +Author: Johnny Willemsen +Date: Sun Jan 15 13:53:46 2023 +0100 + + Update FIFO_Test.cpp + +commit b5aeaf20ef9d15d09acb52b4c8ac77762937ae26 +Author: Johnny Willemsen +Date: Sun Jan 15 12:28:28 2023 +0100 + + More cleanup + + * ACE/ace/config-linux-common.h: + * ACE/ace/config-macros.h: + * TAO/TAO_IDL/fe/idl.yy.cpp: + +commit aceac7234ef1ef995de5ade1e4daa27220960fb3 +Author: Johnny Willemsen +Date: Sun Jan 15 11:17:04 2023 +0100 + + More cleanup + + * ACE/ace/README: + * ACE/ace/os_include/sys/os_socket.h: + +commit 041537498bf9bc6cd673518b79b56c152579ac13 +Author: Johnny Willemsen +Date: Sun Jan 15 11:16:01 2023 +0100 + + Fixed cleanup mistakes + + * ACE/ace/os_include/os_pthread.h: + * ACE/ace/os_include/sys/os_socket.h: + +commit da66efe89c66a7997f6728759c196643c3910018 +Author: Johnny Willemsen +Date: Sun Jan 15 11:02:36 2023 +0100 + + Updated NEWS files + +commit b30753f1a1b18c831e89223ec01db66231b5a64a +Author: Johnny Willemsen +Date: Sun Jan 15 11:01:49 2023 +0100 + + Removed HPUX support + +commit 0a572bec8848eabb70c652fffa043ec335f45454 +Author: Johnny Willemsen +Date: Sun Jan 15 10:34:15 2023 +0100 + + Removed some OpenVMS code + + * ACE/ace/SSL/SSL_Context.cpp: + * ACE/ace/Sock_Connect.cpp: + * TAO/TAO-INSTALL.html: + +commit 6f36dbed40cbedb60f2c40376d360c704d7db93b +Merge: f06824b2d9f b488f1ab871 +Author: Johnny Willemsen +Date: Sun Jan 15 10:33:43 2023 +0100 + + Merge pull request #2023 from esohns/issue_2016_move_make_qword + + move ACE_Make_QWORD to OS_NS_macros.h + +commit 54ee4626edad4d98513a330beb2acf4a3a0596b7 +Author: Johnny Willemsen +Date: Sat Jan 14 16:26:19 2023 +0100 + + Removed openvms config files + +commit 9f5b645ee9d959b538c3b26d2b42c20ec0c227be +Author: Johnny Willemsen +Date: Sat Jan 14 12:55:48 2023 +0100 + + Update Process_Manager_Test.cpp + +commit 3a1440fc22d845cc46125af05c5fec96a8090674 +Author: Johnny Willemsen +Date: Sat Jan 14 11:46:06 2023 +0100 + + Update Process_Manager_Test.cpp + +commit 1996ba72caf059aaddc4cc3883fff329cf22dcf9 +Author: Johnny Willemsen +Date: Sat Jan 14 11:37:31 2023 +0100 + + Update os_types.h + +commit 2916b2fa78bc0fdcae44b590af9543245d481e15 +Author: Johnny Willemsen +Date: Sat Jan 14 10:09:54 2023 +0100 + + Removed OpenVMS support + +commit 20da1c5dcbed95befc08ccf258f62c91a16762f4 +Merge: 158938dceab cc5865a9582 +Author: Johnny Willemsen +Date: Sat Jan 14 09:53:44 2023 +0100 + + Merge pull request #2014 from jwillemsen/jwi-doxygen196 + + Upgrade doxygen configuration files to latest doxygen release + +commit b488f1ab8719835737d42ba4658cd18f352d0ad4 +Author: Erik Sohns +Date: Fri Jan 13 17:37:00 2023 +0100 + + move ACE_Make_QWORD to OS_NS_macros.h + +commit f59d4713c14113a6889656296896e9042468ced0 +Author: Johnny Willemsen +Date: Fri Jan 13 16:13:13 2023 +0100 + + Cleanup another not used define + + * ACE/ace/OS_NS_unistd.inl: + +commit a5662cef58b5c9377120dfa4b3a8098113be2594 +Author: Johnny Willemsen +Date: Fri Jan 13 14:27:50 2023 +0100 + + Cleanup workarounds which we don't need anymore + + * ACE/ace/OS_NS_stdlib.cpp: + * ACE/ace/OS_NS_sys_resource.inl: + * ACE/ace/OS_NS_sys_time.inl: + * ACE/ace/OS_NS_unistd.cpp: + * ACE/ace/OS_NS_unistd.inl: + * ACE/ace/os_include/os_errno.h: + * ACE/ace/os_include/os_signal.h: + * ACE/ace/os_include/sys/os_types.h: + +commit cde8fd193652205cf84a9ef5f74775000f0c9807 +Author: Johnny Willemsen +Date: Fri Jan 13 13:53:24 2023 +0100 + + Fixed cleanup error + + * ACE/tests/Proactor_Test_IPV6.cpp: + +commit 3f7247d33935f6451bd13835015cf7bf53b50969 +Author: Johnny Willemsen +Date: Fri Jan 13 13:08:57 2023 +0100 + + Fixed cleanup error + + * ACE/ace/config-win32-common.h: + * ACE/ace/config-win32-msvc.h: + +commit bbb975d6dee09baaad4e2b0425a0afb20b784005 +Author: Johnny Willemsen +Date: Fri Jan 13 12:52:36 2023 +0100 + + Fixed cleanup error + + * ACE/ace/OS_NS_Thread.inl: + +commit d1921e1511f65cd42503e8eeecfd301f5c3358b4 +Author: Johnny Willemsen +Date: Fri Jan 13 12:40:18 2023 +0100 + + Fixed cleanup error + + * ACE/ace/config-macros.h: + +commit 22359d30f11aa48abba5a3ad7bad7bed7489ff5b +Author: Johnny Willemsen +Date: Fri Jan 13 12:36:49 2023 +0100 + + Fixed cleanup mistakes + + * ACE/ace/OS_NS_Thread.inl: + * ACE/ace/OS_NS_stdio.inl: + * ACE/tests/Bug_3943_Regression_Test.cpp: + +commit 8f0f05f51c0cf595654a35f9dc47d82809c2268d +Author: Johnny Willemsen +Date: Fri Jan 13 09:58:03 2023 +0100 + + More Windows CE cleanup + +commit 378fbc350bc7d7d940523ac194b646e94caf312d +Author: Johnny Willemsen +Date: Fri Jan 13 09:41:15 2023 +0100 + + Removed Windows CE support + +commit cc5865a958281cb7706a1421a4b96d3becd39c93 +Author: Johnny Willemsen +Date: Thu Jan 12 11:46:29 2023 +0100 + + Upgrade doxygen configuration files to latest doxygen release + +commit 6d4a282d86f0145004ac0cab58371d261abca19b +Author: Johnny Willemsen +Date: Thu Jan 12 11:43:53 2023 +0100 + + Make use of nullptr and delete + + * ACE/ace/ace_wchar.h: + * ACE/ace/ace_wchar.inl: + +commit 6c8071c2b785655696c93a71b9a240705508026f +Author: Johnny Willemsen +Date: Mon Jan 9 16:43:26 2023 +0100 + + Updated OpenDDS url + + * ACE/docs/bczar/bczar.html: + +commit 36c558c30b842c6b6f70b62a8736c35077b2f093 +Author: Chad Elliott +Date: Thu Jan 5 09:55:27 2023 -0600 + + Adds the ability to build ACE core libraries, gperf, and possibly others using CMake. + +commit 6756ee16851ac1daa006f1b30b8987bd03a9c42e +Merge: ec326c77c9a 44d0b213860 +Author: Johnny Willemsen +Date: Mon Dec 19 12:19:34 2022 +0100 + + Merge pull request #2005 from jwillemsen/jwi-x711 + + Make ACE 7.0.11 and TAO 3.0.11 public available + +commit 44d0b213860be8801160f0519c77b648a0316033 +Author: Johnny Willemsen +Date: Mon Dec 19 12:18:46 2022 +0100 + + Make ACE 7.0.11 and TAO 3.0.11 public available + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index a42decdf7d158..8afc475100eff 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 7.0.11 + ACE VERSION: 7.1.0 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index bbf4d7d4adb17..f3a2b95ce7261 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 7.0.11, released Mon Dec 19 12:02:50 CET 2022 +This is ACE version 7.1.0, released Fri Mar 03 09:14:01 CET 2023 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index 1f8a71d8fb85d..59cc14bdfc22e 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -3,8 +3,8 @@ // This is file was automatically generated by $ACE_ROOT/bin/make_release.py #define ACE_MAJOR_VERSION 7 -#define ACE_MINOR_VERSION 0 -#define ACE_MICRO_VERSION 11 -#define ACE_VERSION "7.0.11" -#define ACE_VERSION_CODE 0x7000b +#define ACE_MINOR_VERSION 1 +#define ACE_MICRO_VERSION 0 +#define ACE_VERSION "7.1.0" +#define ACE_VERSION_CODE 0x70100 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index 3bbdc4b43e65a..04828b116d55e 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -27,7 +27,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-7.0.11 +Package: libace-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -45,7 +45,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-7.0.11 (= ${binary:Version}), ${misc:Depends} +Depends: libace-7.1.0 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkg-config Replaces: mpc-ace (<< 5.6.3-4) Description: C++ network programming framework - development files @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-7.0.11 +Package: libace-ssl-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -73,12 +73,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-7.0.11 +Package: libace-rmcast-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -92,12 +92,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-7.0.11 +Package: libace-tmcast-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -111,12 +111,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-7.0.11 +Package: libace-htbp-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -130,12 +130,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-7.0.11 +Package: libace-inet-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -146,15 +146,15 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-7.0.11 +Package: libace-inet-ssl-7.1.0 Architecture: any Section: libs -Depends: libace-inet-7.0.11, libace-ssl-7.0.11, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-7.1.0, libace-ssl-7.1.0, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -163,7 +163,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-7.0.11 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-7.1.0 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -180,7 +180,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-7.0.11 +Package: libacexml-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -196,12 +196,12 @@ Package: libacexml-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libacexml-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-7.0.11 +Package: libace-xml-utils-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -215,12 +215,12 @@ Package: libace-xml-utils-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libace-xml-utils-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-7.0.11 +Package: libkokyu-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -234,12 +234,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-7.0.11 +Package: libace-xtreactor-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +257,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-7.0.11 +Package: libace-tkreactor-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +281,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-7.0.11 +Package: libace-flreactor-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -304,12 +304,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-7.0.11 +Package: libace-foxreactor-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -326,7 +326,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -343,7 +343,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-7.0.11 +Package: libnetsvcs-7.1.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -357,7 +357,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-7.0.11 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index 7168e8acf84c6..fdcdbb4491d47 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 7.0.11 -%define TAOVER 3.0.11 +%define ACEVER 7.1.0 +%define TAOVER 3.1.0 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-3_1_0 b/TAO/ChangeLogs/TAO-3_1_0 new file mode 100644 index 0000000000000..e526bfedc7335 --- /dev/null +++ b/TAO/ChangeLogs/TAO-3_1_0 @@ -0,0 +1,393 @@ +commit cfc83e2d8bfa83ba08452767d8ab943f539e3ae8 +Author: Johnny Willemsen +Date: Tue Feb 21 13:28:15 2023 +0100 + + Make use of std::make_unique + + * TAO/tao/PortableServer/Active_Policy_Strategies.cpp: + +commit 5df6c5248e1c1be3aeaefa10ff9eb9be593ec2fd +Author: Johnny Willemsen +Date: Mon Feb 13 17:04:40 2023 +0100 + + Reduced usage of static as we do in generated code + + * TAO/tao/PortableServer/Servant_Base.cpp: + +commit 94392eaddf51af04621f46337b392c688171434f +Author: Johnny Willemsen +Date: Mon Feb 13 16:51:27 2023 +0100 + + Use constexpr + + * TAO/tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp: + * TAO/tao/Codeset/UTF16_BOM_Translator.cpp: + * TAO/tao/GIOP_Message_Generator_Parser_12.cpp: + +commit d2b7bf891f0b11840b5528b89cac105daef04f33 +Author: Johnny Willemsen +Date: Mon Feb 13 16:51:14 2023 +0100 + + Revert default + + * TAO/tao/Argument.cpp: + * TAO/tao/Argument.h: + +commit 80ef4188441e6a0b786e48659af9e39ecd4b9735 +Author: Johnny Willemsen +Date: Mon Feb 13 16:38:30 2023 +0100 + + Use default destructor + + * TAO/tao/Argument.cpp: + * TAO/tao/Argument.h: + * TAO/tao/Base_Transport_Property.cpp: + * TAO/tao/Base_Transport_Property.h: + +commit 45fa63be04357683ab473a2f993e621508ecb5f7 +Author: Johnny Willemsen +Date: Mon Feb 13 16:29:08 2023 +0100 + + Fixed warnings + + * TAO/tao/PortableServer/IdAssignmentPolicy.h: + * TAO/tao/PortableServer/IdUniquenessPolicy.h: + * TAO/tao/PortableServer/LifespanStrategyPersistent.h: + * TAO/tao/PortableServer/LifespanStrategyTransient.h: + * TAO/tao/PortableServer/Operation_Table_Linear_Search.h: + * TAO/tao/PortableServer/ServantRetentionStrategyNonRetain.h: + * TAO/tao/PortableServer/ServantRetentionStrategyRetain.h: + * TAO/tao/RTPortableServer/RT_POA.h: + * TAO/tao/RTPortableServer/RT_Policy_Validator.h: + +commit 88ce4a3384ee967a8007a3575bfca9d2dde0dc7a +Author: Johnny Willemsen +Date: Mon Feb 13 16:23:46 2023 +0100 + + Replace enum with static constexpr + + * TAO/tao/PortableServer/Root_POA.h: + +commit d9b768c3239be29c3219f2fca81b39e2dc8787b1 +Author: Johnny Willemsen +Date: Mon Feb 13 15:29:08 2023 +0100 + + the_children is not available in all CORBA profiles + + * TAO/tao/PortableServer/Root_POA.cpp: + * TAO/tao/PortableServer/Root_POA.h: + * TAO/tao/RTPortableServer/RT_POA.cpp: + * TAO/tao/RTPortableServer/RT_POA.h: + +commit 53cabe442f3b082ee21458dfa2095fd0b5b0ba6b +Author: Johnny Willemsen +Date: Mon Feb 13 14:33:33 2023 +0100 + + Use default + + * TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp: + * TAO/tao/PortableServer/Default_Acceptor_Filter.cpp: + * TAO/tao/PortableServer/Default_Acceptor_Filter.h: + +commit 48b96dee6147efa609f1536296929489203f3193 +Author: Johnny Willemsen +Date: Mon Feb 13 14:16:16 2023 +0100 + + Another default destructor + + * TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp: + * TAO/tao/PortableServer/Acceptor_Filter_Factory.h: + +commit 8c215112dfc278f704ba37db8699a829f9cabf3a +Author: Johnny Willemsen +Date: Mon Feb 13 14:13:15 2023 +0100 + + Compile fixes + + * TAO/tao/PortableServer/Active_Policy_Strategies.h: + * TAO/tao/PortableServer/ThreadStrategy.h: + +commit 5a66fa9c3a3c1d265808ee2049dabaef4bf1a3db +Author: Johnny Willemsen +Date: Mon Feb 13 14:01:06 2023 +0100 + + Check for nil pointers in cleanup + + * TAO/tao/PortableServer/Active_Policy_Strategies.cpp: + +commit c35277837fe52adb19a22a9d18931b3e804b8358 +Author: Johnny Willemsen +Date: Mon Feb 13 12:43:48 2023 +0100 + + Use override/default for RTPortableServer + + * TAO/NEWS: + * TAO/tao/RTPortableServer/RT_Acceptor_Filters.h: + * TAO/tao/RTPortableServer/RT_Collocation_Resolver.h: + * TAO/tao/RTPortableServer/RT_Object_Adapter_Factory.h: + * TAO/tao/RTPortableServer/RT_POA.cpp: + * TAO/tao/RTPortableServer/RT_POA.h: + * TAO/tao/RTPortableServer/RT_Policy_Validator.h: + * TAO/tao/RTPortableServer/RT_Servant_Dispatcher.cpp: + * TAO/tao/RTPortableServer/RT_Servant_Dispatcher.h: + +commit 4db6c4351dfd785f59a9b16122e52eeec44520c0 +Author: Johnny Willemsen +Date: Mon Feb 13 12:30:59 2023 +0100 + + Fixed unresolved exports, more override + + * ACE/protocols/ace/HTBP/HTBP_Addr.cpp: + * ACE/protocols/ace/HTBP/HTBP_Addr.h: + * TAO/tao/PortableServer/Active_Object_Map.cpp: + * TAO/tao/PortableServer/Active_Object_Map.h: + * TAO/tao/PortableServer/Active_Policy_Strategies.h: + * TAO/tao/PortableServer/Active_Policy_Strategies.inl: + * TAO/tao/PortableServer/IdUniquenessStrategy.h: + * TAO/tao/PortableServer/Operation_Table_Binary_Search.cpp: + * TAO/tao/PortableServer/Operation_Table_Binary_Search.h: + * TAO/tao/PortableServer/Operation_Table_Dynamic_Hash.h: + * TAO/tao/PortableServer/Operation_Table_Linear_Search.cpp: + * TAO/tao/PortableServer/Operation_Table_Linear_Search.h: + * TAO/tao/PortableServer/Operation_Table_Perfect_Hash.cpp: + * TAO/tao/PortableServer/Operation_Table_Perfect_Hash.h: + * TAO/tao/PortableServer/POA_Current_Factory.cpp: + * TAO/tao/PortableServer/POA_Current_Impl.cpp: + * TAO/tao/PortableServer/POA_Current_Impl.h: + * TAO/tao/PortableServer/POA_Policy_Set.h: + * TAO/tao/PortableServer/ServantRetentionStrategy.h: + +commit 322d0a3e30d2e608108e0d7caf6bdcddbd728081 +Author: Johnny Willemsen +Date: Mon Feb 13 11:42:23 2023 +0100 + + Major cleanup in PortableServer library + +commit 69fbec6c475060cf01a710a3d7ed6e756538858c +Merge: 7e8b94b728b 89a05c65fd6 +Author: Johnny Willemsen +Date: Mon Feb 6 09:21:37 2023 +0100 + + Merge pull request #2046 from jwillemsen/jwinullptrexce + + Use nullptr and make destructor of TAO SystemException default + +commit 716ee59f4081486404adae50f46172a39518e619 +Author: Johnny Willemsen +Date: Fri Feb 3 19:49:42 2023 +0100 + + Make destructor default + + * TAO/tao/SystemException.cpp: + * TAO/tao/SystemException.h: + +commit 7e8b94b728b886d14fc17b6af789e9ba0c50a050 +Merge: 4961b8026b5 ec19b2725b5 +Author: Johnny Willemsen +Date: Thu Feb 2 09:13:03 2023 +0100 + + Merge pull request #2042 from jwillemsen/jwi-cleanupmacros + + Cleanup unused macros + +commit 757fd0a5eef53e1c9e1a8327eb5d4b34e81d7cb9 +Merge: 107d2bfea7c 7f4365e6544 +Author: Johnny Willemsen +Date: Thu Feb 2 09:09:17 2023 +0100 + + Merge pull request #2043 from jwillemsen/jwi-pharlapcleanup + + Removed pharlap support + +commit ec19b2725b53eba54c4ba434d371ae569832f762 +Author: Johnny Willemsen +Date: Wed Feb 1 18:15:12 2023 +0100 + + Removed include + + * TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp: + +commit c67f33599590cf2e229da6a141fef90d0af6f034 +Author: Johnny Willemsen +Date: Wed Feb 1 15:57:28 2023 +0100 + + Remove includes + + * TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp: + +commit 6198126ce20cc418252f461621c81d19ee2b36e4 +Author: Johnny Willemsen +Date: Wed Feb 1 15:44:33 2023 +0100 + + Removed pharlap support + +commit c3e71f69e85deb48d5f3cdba355679da4deffdb3 +Author: Johnny Willemsen +Date: Wed Feb 1 10:51:23 2023 +0100 + + good_bit is a bool and removed some uncessary c-style casts + +commit e5391a0076f5e370f929b111a8a6ed52ee4cb5da +Author: Johnny Willemsen +Date: Tue Jan 17 12:32:56 2023 +0100 + + More Sun OS/compiler cleanup + +commit 73bdf800479e53a11143735e48348bb88c527c24 +Author: Johnny Willemsen +Date: Tue Jan 17 09:44:30 2023 +0100 + + Cleanup Solaris support + +commit dcb4692364d4a9175db59b9280dbbd54524bb3ce +Author: Johnny Willemsen +Date: Mon Jan 16 16:45:00 2023 +0100 + + Removed checks for ACE_TEMPLATES_REQUIRE_SOURCE + +commit f25410e018ff6b65ec24df5ba249447f74eb0198 +Author: Johnny Willemsen +Date: Mon Jan 16 15:47:01 2023 +0100 + + Removed AIX support + +commit d645bf461a41039dda402e1674ed7a6d40620957 +Merge: c9c577ffbe6 098b5aa5257 +Author: Johnny Willemsen +Date: Sun Jan 15 16:14:12 2023 +0100 + + Merge pull request #2028 from jwillemsen/jwi-removehpux + + Remove HPUX support + +commit c9c577ffbe64efca48e6a05add0e0070add7da6d +Merge: 6f36dbed40c 0a572bec884 +Author: Johnny Willemsen +Date: Sun Jan 15 14:04:11 2023 +0100 + + Merge pull request #2027 from jwillemsen/jwi-openvmscleanup + + Removed some OpenVMS code + +commit b5aeaf20ef9d15d09acb52b4c8ac77762937ae26 +Author: Johnny Willemsen +Date: Sun Jan 15 12:28:28 2023 +0100 + + More cleanup + + * ACE/ace/config-linux-common.h: + * ACE/ace/config-macros.h: + * TAO/TAO_IDL/fe/idl.yy.cpp: + +commit f865e5929c4668611213fc1ee677ef47ad0f6482 +Author: Johnny Willemsen +Date: Sun Jan 15 12:26:51 2023 +0100 + + Removed HPUX support + +commit da66efe89c66a7997f6728759c196643c3910018 +Author: Johnny Willemsen +Date: Sun Jan 15 11:02:36 2023 +0100 + + Updated NEWS files + +commit b30753f1a1b18c831e89223ec01db66231b5a64a +Author: Johnny Willemsen +Date: Sun Jan 15 11:01:49 2023 +0100 + + Removed HPUX support + +commit 0a572bec8848eabb70c652fffa043ec335f45454 +Author: Johnny Willemsen +Date: Sun Jan 15 10:34:15 2023 +0100 + + Removed some OpenVMS code + + * ACE/ace/SSL/SSL_Context.cpp: + * ACE/ace/Sock_Connect.cpp: + * TAO/TAO-INSTALL.html: + +commit f790b484f95da51afd080f5cc73209c086476ad2 +Author: Oliver Kellogg +Date: Sat Jan 14 23:33:27 2023 +0100 + + Address issue #2015 : In TAO/TAO_IDL/ast/ast_field.cpp constructor handle AST_Decl::NT_except. + +commit 2916b2fa78bc0fdcae44b590af9543245d481e15 +Author: Johnny Willemsen +Date: Sat Jan 14 10:09:54 2023 +0100 + + Removed OpenVMS support + +commit 20da1c5dcbed95befc08ccf258f62c91a16762f4 +Merge: 158938dceab cc5865a9582 +Author: Johnny Willemsen +Date: Sat Jan 14 09:53:44 2023 +0100 + + Merge pull request #2014 from jwillemsen/jwi-doxygen196 + + Upgrade doxygen configuration files to latest doxygen release + +commit def8e4413d0d9c8ac4e3da85d0e9578594996992 +Author: Johnny Willemsen +Date: Fri Jan 13 21:23:59 2023 +0100 + + Update Hash_Naming_Context.h + +commit 975c3a5bf969f623848919f5b2f085da87fecf70 +Author: Johnny Willemsen +Date: Fri Jan 13 20:23:28 2023 +0100 + + Update Hash_Naming_Context.h + +commit 8f0f05f51c0cf595654a35f9dc47d82809c2268d +Author: Johnny Willemsen +Date: Fri Jan 13 09:58:03 2023 +0100 + + More Windows CE cleanup + +commit 378fbc350bc7d7d940523ac194b646e94caf312d +Author: Johnny Willemsen +Date: Fri Jan 13 09:41:15 2023 +0100 + + Removed Windows CE support + +commit cc5865a958281cb7706a1421a4b96d3becd39c93 +Author: Johnny Willemsen +Date: Thu Jan 12 11:46:29 2023 +0100 + + Upgrade doxygen configuration files to latest doxygen release + +commit 309f09e15602b400dcf1947422b4029bd32a5b03 +Author: Chad Elliott +Date: Fri Jan 6 07:07:54 2023 -0600 + + Removed unnecessary includes and added necessary ones. + +commit d613e17b4531f57bc51a7075588daddf9514a2ac +Author: Chad Elliott +Date: Fri Nov 18 11:34:22 2022 -0600 + + Corrected #include's + +commit 6756ee16851ac1daa006f1b30b8987bd03a9c42e +Merge: ec326c77c9a 44d0b213860 +Author: Johnny Willemsen +Date: Mon Dec 19 12:19:34 2022 +0100 + + Merge pull request #2005 from jwillemsen/jwi-x711 + + Make ACE 7.0.11 and TAO 3.0.11 public available + +commit 44d0b213860be8801160f0519c77b648a0316033 +Author: Johnny Willemsen +Date: Mon Dec 19 12:18:46 2022 +0100 + + Make ACE 7.0.11 and TAO 3.0.11 public available + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index 1b7187562fca8..9ed630e1ac152 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 3.0.11 - ACE VERSION: 7.0.11 + TAO VERSION: 3.1.0 + ACE VERSION: 7.1.0 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index 0ad10a9efb170..c76a2bc2d6b95 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 3.0.11, released Mon Dec 19 12:02:50 CET 2022 +This is TAO version 3.1.0, released Fri Mar 03 09:14:01 CET 2023 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index 0f0535a977289..6a79f24d0eba3 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -3,8 +3,8 @@ // This is file was automatically generated by $ACE_ROOT/bin/make_release.py #define TAO_MAJOR_VERSION 3 -#define TAO_MINOR_VERSION 0 -#define TAO_MICRO_VERSION 11 -#define TAO_VERSION "3.0.11" -#define TAO_VERSION_CODE 0x3000b +#define TAO_MINOR_VERSION 1 +#define TAO_MICRO_VERSION 0 +#define TAO_VERSION "3.1.0" +#define TAO_VERSION_CODE 0x30100 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From ed1a2e35ca124c5697f32527ad286e22e9f5877b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 3 Mar 2023 09:38:39 +0100 Subject: [PATCH 144/445] Make ACE 7.1.0 and TAO 3.1.0 public available * ACE/NEWS: * ACE/bin/copy-local-script.sh: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: --- ACE/NEWS | 3 + ACE/bin/copy-local-script.sh | 2 +- .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 146 +++++++++--------- ACE/etc/index.html | 1 + 5 files changed, 79 insertions(+), 75 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index bb38cc3b52f97..f4fcdd4e11cfe 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-7.0.11 and ACE-7.1.0 ===================================================== diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index d2d00615482cb..1f78db60bab59 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-7.0.12&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.1&/'` echo "Copying $i to $d" cp -ip $i $d done diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index f309efdc3e088..c0ea5f7229070 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2022_12_19; else olddate=$3; fi +if test -z $3; then olddate=2023_03_03; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index b9ec2ae919a49..f6f2249e23544 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,160 +90,160 @@

Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

    -
  • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.0.11 and TAO 3.0.11 -(ACE+TAO x.0.11), please use the links below to download it.

    +

  • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.0 and TAO 3.1.0 +(ACE+TAO x.1.0), please use the links below to download it.

    - - - - - - - - - - - - - - -
    FilenameDescriptionFullSources only
    ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
    ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    -

  • Latest ACE+TAO Minor Release. The latest minor release is ACE 7.0.0 and TAO 3.0.0 -(ACE+TAO x.0.0), please use the links below to download it.

    +

  • Latest ACE+TAO Minor Release. The latest minor release is ACE 7.1.0 and TAO 3.1.0 +(ACE+TAO x.1.0), please use the links below to download it.

    - + - - - + - - - + - - - + - - + - - + - - + - - - + - - - + - -
    FilenameDescriptionFullSources only
    ACE+TAO-7.0.0.tar.gz
    ACE+TAO-7.1.0.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE+TAO-7.0.0.tar.bz2
    ACE+TAO-7.1.0.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE+TAO-7.0.0.zip
    ACE+TAO-7.1.0.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-html-7.0.0.tar.gz
    ACE-html-7.1.0.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-html-7.0.0.tar.bz2
    ACE-html-7.1.0.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-html-7.0.0.zip
    ACE-html-7.1.0.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-7.0.0.tar.gz
    ACE-7.1.0.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-7.0.0.tar.bz2
    ACE-7.1.0.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    ACE-7.0.0.zip
    ACE-7.1.0.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
    diff --git a/ACE/etc/index.html b/ACE/etc/index.html index 8af2badef55ca..6cd8ffd21c499 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

    ACE+TAO Documentation


    We do have the documentation for previous releases
      +
    • 7.1.0

    • 7.0.11

    • 7.0.10

    • 7.0.9

    • From a1480384cc3233889d1f043fcd428c627843d272 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 3 Mar 2023 11:05:30 +0100 Subject: [PATCH 145/445] Add space to resolve compiler warnings on condaforge * ACE/ace/OS_NS_Thread.inl: * ACE/ace/OS_NS_unistd.inl: --- ACE/ace/OS_NS_Thread.inl | 2 +- ACE/ace/OS_NS_unistd.inl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/ace/OS_NS_Thread.inl b/ACE/ace/OS_NS_Thread.inl index 17335f782c54a..e20c7077f8863 100644 --- a/ACE/ace/OS_NS_Thread.inl +++ b/ACE/ace/OS_NS_Thread.inl @@ -534,7 +534,7 @@ ACE_OS::event_init (ACE_event_t *event, #endif /* ACE_HAS_WCHAR */ ACE_INLINE long -ACE_OS::priority_control (ACE_idtype_t /*idtype*/, ACE_id_t /*identifier*/, int /*cmd*/, void */*arg*/) +ACE_OS::priority_control (ACE_idtype_t /*idtype*/, ACE_id_t /*identifier*/, int /*cmd*/, void * /*arg*/) { ACE_OS_TRACE ("ACE_OS::priority_control"); ACE_NOTSUP_RETURN (-1); diff --git a/ACE/ace/OS_NS_unistd.inl b/ACE/ace/OS_NS_unistd.inl index 455192e4ee00e..83f77073575ce 100644 --- a/ACE/ace/OS_NS_unistd.inl +++ b/ACE/ace/OS_NS_unistd.inl @@ -1019,7 +1019,7 @@ ACE_OS::sysconf (int name) } ACE_INLINE long -ACE_OS::sysinfo (int /*cmd*/, char */*buf*/, long /*count*/) +ACE_OS::sysinfo (int /*cmd*/, char * /*buf*/, long /*count*/) { ACE_OS_TRACE ("ACE_OS::sysinfo"); ACE_NOTSUP_RETURN (0); From 5f7f5729b3123c2f1c2874c6d560fba46a1749f1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 3 Mar 2023 16:12:20 +0100 Subject: [PATCH 146/445] Prepare news file for next release * TAO/NEWS: --- TAO/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TAO/NEWS b/TAO/NEWS index 23f0ed8a66520..0039fcf71b6fd 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN TAO-3.1.0 and TAO-3.1.1 +==================================================== + USER VISIBLE CHANGES BETWEEN TAO-3.0.11 and TAO-3.1.0 ===================================================== From 1ceebf2e295dfd342b8d9e725057350c894e230d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Mar 2023 10:46:59 +0100 Subject: [PATCH 147/445] Removed deprecated -ORBResources * TAO/orbsvcs/tests/AVStreams/Multicast/components_svc.conf: * TAO/tao/ORB_Core.cpp: --- .../tests/AVStreams/Multicast/components_svc.conf | 2 +- TAO/tao/ORB_Core.cpp | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast/components_svc.conf b/TAO/orbsvcs/tests/AVStreams/Multicast/components_svc.conf index 99f9241e162d9..534bdceef220f 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast/components_svc.conf +++ b/TAO/orbsvcs/tests/AVStreams/Multicast/components_svc.conf @@ -1,5 +1,5 @@ # -#static Advanced_Resource_Factory "-ORBresources global -ORBReactorType select_st -ORBInputCDRAllocator null -ORBConnectionCacheLock null" +#static Advanced_Resource_Factory "-ORBReactorType select_st -ORBInputCDRAllocator null -ORBConnectionCacheLock null" #static Server_Strategy_Factory "-ORBAllowReactivationOfSystemids 0" #static Client_Strategy_Factory "-ORBClientConnectionHandler ST" diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 7da08d0f8cb0c..a938793e1ee02 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -800,15 +800,6 @@ TAO_ORB_Core::init (int &argc, char *argv[] ) else this->orb_params ()->ami_collication (false); - arg_shifter.consume_arg (); - } - else if (nullptr != (current_arg = arg_shifter.get_the_parameter - (ACE_TEXT("-ORBResources")))) - { - TAOLIB_DEBUG ((LM_WARNING, - ACE_TEXT ("\"-ORBResources\" has been ") - ACE_TEXT ("deprecated.\n"))); - arg_shifter.consume_arg (); } else if (nullptr != (current_arg = arg_shifter.get_the_parameter From 71bf5816be5e2a83653887648f9cff03eef0655d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 13 Mar 2023 10:47:11 +0100 Subject: [PATCH 148/445] Removed redundant whitespace * TAO/tao/operation_details.h: --- TAO/tao/operation_details.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/operation_details.h b/TAO/tao/operation_details.h index 53d4e7bf6e875..a7f15528ab75b 100644 --- a/TAO/tao/operation_details.h +++ b/TAO/tao/operation_details.h @@ -148,7 +148,7 @@ class TAO_Export TAO_Operation_Details /// Accessors for the argument list TAO::Argument ** args () const; - CORBA::ULong args_num () const ; + CORBA::ULong args_num () const; /// Exception count CORBA::ULong ex_count () const; From 1369b3773ffa4e9b2acdacb68c27050f359f0b8e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 14 Mar 2023 11:10:20 +0100 Subject: [PATCH 149/445] Fixed typo in comment * TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp: --- TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp b/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp index 79ed9106ddf5a..8b11fede503c6 100644 --- a/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp +++ b/TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp @@ -14,7 +14,7 @@ TAO_AMI_Arguments_Converter_Impl::convert_request ( TAO::Argument * const args[], size_t nargs) { - // The AMI requests on client side just has the in and inout argumenst, + // The AMI requests on client side just has the in and inout arguments, // Since the argument list in the client side is used by server side // in collocation case and the server expects the full list of arguments // and not just the inout arguments we need to expand the client arguments From 69a160c799716560e09338a3796ef6cb7547b60a Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 20 Mar 2023 23:05:26 -0400 Subject: [PATCH 150/445] C++ sometimes struggles with structs as map keys --- TAO/tests/IDLv4/maps/test.idl | 2 -- 1 file changed, 2 deletions(-) diff --git a/TAO/tests/IDLv4/maps/test.idl b/TAO/tests/IDLv4/maps/test.idl index f47c3cc6c6afe..ed3165c833cb1 100644 --- a/TAO/tests/IDLv4/maps/test.idl +++ b/TAO/tests/IDLv4/maps/test.idl @@ -1,8 +1,6 @@ struct RecurseStruct; typedef map IntRecursedMap; -typedef map RecursedMapInt; struct RecurseStruct { - RecursedMapInt rMapI; IntRecursedMap iMapR; }; From e1432d22fcf52f941e587e8e8b5f291d5a08ff9c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 29 Mar 2023 15:55:22 +0200 Subject: [PATCH 151/445] Mention that nullptr should be used * ACE/bin/fuzz.pl: --- ACE/bin/fuzz.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/fuzz.pl b/ACE/bin/fuzz.pl index f75c1b6d32541..e6b857054b4bf 100755 --- a/ACE/bin/fuzz.pl +++ b/ACE/bin/fuzz.pl @@ -906,7 +906,7 @@ () } if ($disable == 0) { if(/(\(|\)|\s+|=)NULL(\)|\s+|\;|\,)/ and $` !~ /\/\// and $` !~ /\/\*/ and $` !~ /\*\*+/ and $` !~ /\s+\*+\s+/) { - print_error ("$file:$.: NULL found"); + print_error ("$file:$.: NULL found, use nullptr"); } } } From dcb6eb6b153d2ab82890496fa6446c23bc1b4ccb Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 31 Mar 2023 09:26:57 +0200 Subject: [PATCH 152/445] Upgrade to run-vcpkg@v11 * .github/workflows/windows.yml: --- .github/workflows/windows.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index d16e9f2a9bd72..2aab7854be1d6 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -12,7 +12,7 @@ concurrency: cancel-in-progress: true jobs: - msvc: + msvc:lastUpdateReceived strategy: fail-fast: false matrix: @@ -129,9 +129,9 @@ jobs: '{"name": "tao","version-string": "githubaction","dependencies": [ ${{ matrix.vcpkgpackages }} ]}' > vcpkg.json shell: pwsh - name: Install vcpkg - uses: lukka/run-vcpkg@v10 + uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: 94ce0dab56f4d8ba6bd631ba59ed682b02d45c46 + vcpkgGitCommitId: 5b1214315250939257ef5d62ecdcbca18cf4fb1c appendedCacheKey: ${{ matrix.name }} runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h From 845c9d681ff4bf7f3f6059eb937541fbd68936d0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 31 Mar 2023 09:32:39 +0200 Subject: [PATCH 153/445] Removed incorrect change * .github/workflows/windows.yml: --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2aab7854be1d6..40e4182a3d71c 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -12,7 +12,7 @@ concurrency: cancel-in-progress: true jobs: - msvc:lastUpdateReceived + msvc: strategy: fail-fast: false matrix: From 0e73d52a4e277537ef3c0401bac30efb602eedc0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 31 Mar 2023 11:29:25 +0200 Subject: [PATCH 154/445] Removed appendedCacheKey, not supported anymore * .github/workflows/windows.yml: --- .github/workflows/windows.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 40e4182a3d71c..f0a664761c055 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -132,7 +132,6 @@ jobs: uses: lukka/run-vcpkg@v11 with: vcpkgGitCommitId: 5b1214315250939257ef5d62ecdcbca18cf4fb1c - appendedCacheKey: ${{ matrix.name }} runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From 3e44fb91cf724aeb48b38169482a4878de316afc Mon Sep 17 00:00:00 2001 From: Erik Sohns Date: Wed, 5 Apr 2023 17:37:23 +0200 Subject: [PATCH 155/445] integrated review comments --- ACE/tests/Message_Queue_Test_Ex.cpp | 39 ++++++++++++++++------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index db10902e9dbc8..8f45cb54d67b7 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -712,33 +712,38 @@ int queue_priority_test (ACE_Message_Queue_Ex& q) class Queue_Ex_Iterator_No_Lock : public ACE_Message_Queue_Iterator { - typedef ACE_Message_Queue_Iterator inherited; - public: typedef ACE_Message_Queue_Ex MESSAGE_QUEUE_EX_T; explicit Queue_Ex_Iterator_No_Lock (MESSAGE_QUEUE_EX_T& queue_in) - : inherited (queue_in.queue ()) + : ACE_Message_Queue_Iterator (queue_in.queue ()) {} - virtual ~Queue_Ex_Iterator_No_Lock () {} + virtual ~Queue_Ex_Iterator_No_Lock () = default; int next (User_Class*& message_inout) { - if (inherited::curr_) + if (ACE_Message_Queue_Iterator::curr_) { - message_inout = reinterpret_cast (inherited::curr_->base ()); + message_inout = + reinterpret_cast (ACE_Message_Queue_Iterator::curr_->base ()); return 1; - } // end IF + } return 0; } - int done (void) const { return (!inherited::curr_ ? 1 : 0); } - int advance (void) + + int done () const + { + return (!ACE_Message_Queue_Iterator::curr_ ? 1 : 0); + } + + int advance () { - if (inherited::curr_) - inherited::curr_ = inherited::curr_->next (); + if (ACE_Message_Queue_Iterator::curr_) + ACE_Message_Queue_Iterator::curr_ = + ACE_Message_Queue_Iterator::curr_->next (); - return (inherited::curr_ ? 1 : 0); + return (ACE_Message_Queue_Iterator::curr_ ? 1 : 0); } }; @@ -749,11 +754,11 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Iterator test queue not empty\n")), 1); // Set up a few objects with names for how they should come out of the queue. - ACE_Auto_Basic_Ptr b1, b2, b3, b4; - b1.reset (new User_Class ("first")); - b2.reset (new User_Class ("second")); - b3.reset (new User_Class ("third")); - b4.reset (new User_Class ("fourth")); + std::unique_ptr b1, b2, b3, b4; + b1 = std::make_unique ("first"); + b2 = std::make_unique ("second"); + b3 = std::make_unique ("third"); + b4 = std::make_unique ("fourth"); if (-1 == q.enqueue_tail (b1.get (), 0)) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b1")), 1); if (-1 == q.enqueue_tail (b2.get (), 0)) From 5625244fd7bb77bafabce28fdec790f51ef50080 Mon Sep 17 00:00:00 2001 From: Erik Sohns Date: Thu, 6 Apr 2023 11:08:34 +0200 Subject: [PATCH 156/445] more review comments --- ACE/tests/Message_Queue_Test_Ex.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index 8f45cb54d67b7..200a21031795b 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -740,8 +740,10 @@ class Queue_Ex_Iterator_No_Lock int advance () { if (ACE_Message_Queue_Iterator::curr_) + { ACE_Message_Queue_Iterator::curr_ = ACE_Message_Queue_Iterator::curr_->next (); + } return (ACE_Message_Queue_Iterator::curr_ ? 1 : 0); } @@ -754,11 +756,10 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Iterator test queue not empty\n")), 1); // Set up a few objects with names for how they should come out of the queue. - std::unique_ptr b1, b2, b3, b4; - b1 = std::make_unique ("first"); - b2 = std::make_unique ("second"); - b3 = std::make_unique ("third"); - b4 = std::make_unique ("fourth"); + std::unique_ptr b1 = std::make_unique ("first"); + std::unique_ptr b2 = std::make_unique ("second"); + std::unique_ptr b3 = std::make_unique ("third"); + std::unique_ptr b4 = std::make_unique ("fourth"); if (-1 == q.enqueue_tail (b1.get (), 0)) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b1")), 1); if (-1 == q.enqueue_tail (b2.get (), 0)) @@ -769,7 +770,8 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("b4")), 1); User_Class* b = nullptr; - { ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, aGuard, q.lock (), 1); + { + ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, aGuard, q.lock (), 1); int counter = 0; for (Queue_Ex_Iterator_No_Lock iterator (q); iterator.next (b); @@ -794,10 +796,9 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) } b = nullptr; - } // end FOR - } // end lock scope + } + } - // clean up while (!q.is_empty ()) q.dequeue_head (b, 0); From a78936549748c2dbb9e751d4d21baa532228f1df Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 7 Apr 2023 08:23:22 +0200 Subject: [PATCH 157/445] Update Message_Queue_Test_Ex.cpp --- ACE/tests/Message_Queue_Test_Ex.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index 200a21031795b..6b698629a1b85 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -776,7 +776,8 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) for (Queue_Ex_Iterator_No_Lock iterator (q); iterator.next (b); iterator.advance ()) - { ACE_ASSERT (b); + { + ACE_ASSERT (b); ++counter; if (counter == 1) { From aef8140bea1a6fc2d58631e2ad16f81a5f447018 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 7 Apr 2023 08:26:23 +0200 Subject: [PATCH 158/445] Test changes * ACE/tests/Message_Queue_Test_Ex.cpp: * ACE/tests/Message_Queue_Test_Ex.h: --- ACE/tests/Message_Queue_Test_Ex.cpp | 25 +++++++++++-------------- ACE/tests/Message_Queue_Test_Ex.h | 6 ++---- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index 853eebb8504be..ff9d348cbdcda 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -72,28 +72,25 @@ using SYNCH_QUEUE = ACE_Message_Queue_Ex; struct Queue_Wrapper { /// The message queue. - SYNCH_QUEUE *q_; + SYNCH_QUEUE *q_ {}; /// Pointer to messages blocks for sender to send to reciever. - User_Class **send_block_; + User_Class **send_block_ {}; /// Default constructor. - Queue_Wrapper () - : q_ (0), send_block_ (0) - { - } + Queue_Wrapper () = default; }; +/** + * Container for data passed to sender in the MQ_Ex_N_Tester + * performance test. + * + * For use in multithreaded performance test. + */ struct MQ_Ex_N_Tester_Wrapper { - // = TITLE - // Container for data passed to sender in the MQ_Ex_N_Tester - // performance test. - // - // = DESCRIPTION - // For use in multithreaded performance test. - MQ_Ex_N_Tester *tester_; - User_Class *head_send_block_; + MQ_Ex_N_Tester *tester_ {}; + User_Class *head_send_block_ {}; }; #endif /* ACE_HAS_THREADS */ diff --git a/ACE/tests/Message_Queue_Test_Ex.h b/ACE/tests/Message_Queue_Test_Ex.h index 0642fffb96aa5..be8f9b2752348 100644 --- a/ACE/tests/Message_Queue_Test_Ex.h +++ b/ACE/tests/Message_Queue_Test_Ex.h @@ -23,8 +23,6 @@ class User_Class { public: User_Class (const char inputMsg[]) - : message_ (0), - next_(0) { ACE_NEW (this->message_, char[ACE_OS::strlen (inputMsg) + 1]); ACE_OS::strcpy (this->message_, inputMsg); @@ -49,8 +47,8 @@ class User_Class } private: - char *message_; - User_Class *next_; + char *message_ {}; + User_Class *next_ {}; }; // The main tests for the ACE_Message_Queue_Ex_N From d1eab7db50121338cf719a4a4fddce59414487b4 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 7 Apr 2023 08:27:03 +0200 Subject: [PATCH 159/445] Fixed trailing whitespace * ACE/tests/Message_Queue_Test_Ex.cpp: --- ACE/tests/Message_Queue_Test_Ex.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index 6b698629a1b85..e83fede1740e6 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -776,7 +776,7 @@ int queue_iterator_test (ACE_Message_Queue_Ex& q) for (Queue_Ex_Iterator_No_Lock iterator (q); iterator.next (b); iterator.advance ()) - { + { ACE_ASSERT (b); ++counter; if (counter == 1) From 1b6da609c0e15725dba3aa70ac097117f9d5769f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Jun 2023 08:14:42 +0200 Subject: [PATCH 160/445] Layout changes * ACE/ace/SV_Shared_Memory.h: --- ACE/ace/SV_Shared_Memory.h | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/ACE/ace/SV_Shared_Memory.h b/ACE/ace/SV_Shared_Memory.h index 3813212446b6a..ccdc71116522a 100644 --- a/ACE/ace/SV_Shared_Memory.h +++ b/ACE/ace/SV_Shared_Memory.h @@ -50,29 +50,29 @@ class ACE_Export ACE_SV_Shared_Memory ACE_SV_Shared_Memory (ACE_HANDLE internal_id, int flags = 0); - int open (key_t external_id, - size_t size, - int create = ACE_SV_Shared_Memory::ACE_OPEN, - int perms = ACE_DEFAULT_FILE_PERMS); - - int open_and_attach (key_t external_id, - size_t size, - int create = ACE_SV_Shared_Memory::ACE_OPEN, - int perms = ACE_DEFAULT_FILE_PERMS, - void *virtual_addr = 0, - int flags = 0); + int open (key_t external_id, + size_t size, + int create = ACE_SV_Shared_Memory::ACE_OPEN, + int perms = ACE_DEFAULT_FILE_PERMS); + + int open_and_attach (key_t external_id, + size_t size, + int create = ACE_SV_Shared_Memory::ACE_OPEN, + int perms = ACE_DEFAULT_FILE_PERMS, + void *virtual_addr = 0, + int flags = 0); /// Attach this shared memory segment. - int attach (void *virtual_addr = 0, int flags = 0); + int attach (void *virtual_addr = 0, int flags = 0); /// Detach this shared memory segment. - int detach (); + int detach (); /// Remove this shared memory segment. - int remove (); + int remove (); /// Forward to underlying System V . - int control (int cmd, void *buf); + int control (int cmd, void *buf); // = Segment-related info. void *get_segment_ptr () const; From 483414737903481da9cf63b58ed3eb6c57f4d0f9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Jun 2023 11:23:39 +0200 Subject: [PATCH 161/445] Use nullptr * ACE/ace/MMAP_Memory_Pool.cpp: --- ACE/ace/MMAP_Memory_Pool.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/ACE/ace/MMAP_Memory_Pool.cpp b/ACE/ace/MMAP_Memory_Pool.cpp index a2689104e7918..9379622941555 100644 --- a/ACE/ace/MMAP_Memory_Pool.cpp +++ b/ACE/ace/MMAP_Memory_Pool.cpp @@ -322,7 +322,6 @@ ACE_MMAP_Memory_Pool::map_file (size_t map_size) // Ask operating system for more shared memory, increasing the mapping // accordingly. Note that this routine assumes that the appropriate // locks are held when it is called. - void * ACE_MMAP_Memory_Pool::acquire (size_t nbytes, size_t &rounded_bytes) From 6c593fc0986a8398b1c2fa1bb9069986a962dd5d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Jun 2023 11:24:12 +0200 Subject: [PATCH 162/445] Call shmdt when we only need to release the shared memory * ACE/ace/Malloc_T.cpp: * ACE/ace/Malloc_T.inl: * ACE/ace/Mem_Map.cpp: * ACE/ace/Shared_Memory.h: * ACE/ace/Shared_Memory_MM.h: * ACE/ace/Shared_Memory_Pool.cpp: * ACE/ace/Shared_Memory_Pool.h: --- ACE/ace/Malloc_T.cpp | 3 +- ACE/ace/Malloc_T.inl | 10 +- ACE/ace/Mem_Map.cpp | 2 - ACE/ace/Shared_Memory.h | 2 +- ACE/ace/Shared_Memory_MM.h | 2 +- ACE/ace/Shared_Memory_Pool.cpp | 208 +++++++++++++++++++++------------ ACE/ace/Shared_Memory_Pool.h | 35 +++--- 7 files changed, 164 insertions(+), 98 deletions(-) diff --git a/ACE/ace/Malloc_T.cpp b/ACE/ace/Malloc_T.cpp index 23f2558de3a1b..14890b72f2a1c 100644 --- a/ACE/ace/Malloc_T.cpp +++ b/ACE/ace/Malloc_T.cpp @@ -577,7 +577,6 @@ ACE_Malloc_T::~ACE_Malloc_T () } // Clean up the resources allocated by ACE_Malloc_T. - template int ACE_Malloc_T::remove () { @@ -601,7 +600,7 @@ ACE_Malloc_T::remove () // Also notice that we are leaving the decision of removing // the pool to users so they can map to the same mmap file // again. - this->cb_ptr_ = 0; + this->cb_ptr_ = nullptr; return result; } diff --git a/ACE/ace/Malloc_T.inl b/ACE/ace/Malloc_T.inl index 8a8d939c97290..c66d0edfc69c5 100644 --- a/ACE/ace/Malloc_T.inl +++ b/ACE/ace/Malloc_T.inl @@ -58,12 +58,14 @@ template ACE_INLINE int ACE_Malloc_T::release (int close) { ACE_GUARD_RETURN (ACE_LOCK, ace_mon, *this->lock_, -1); - if (this->cb_ptr_ != 0) + if (this->cb_ptr_ != nullptr) { int const retv = --this->cb_ptr_->ref_counter_; if (close) - this->memory_pool_.release (0); + { + this->memory_pool_.release (0); + } if (retv == 0) { @@ -109,9 +111,7 @@ ACE_Malloc_T::protect (ssize_t len, } template ACE_INLINE int -ACE_Malloc_T::protect (void *addr, - size_t len, - int flags) +ACE_Malloc_T::protect (void *addr, size_t len, int flags) { ACE_TRACE ("ACE_Malloc_T::protect"); return this->memory_pool_.protect (addr, len, flags); diff --git a/ACE/ace/Mem_Map.cpp b/ACE/ace/Mem_Map.cpp index e44677922f0dc..47ae0955ae9b9 100644 --- a/ACE/ace/Mem_Map.cpp +++ b/ACE/ace/Mem_Map.cpp @@ -246,7 +246,6 @@ ACE_Mem_Map::ACE_Mem_Map () } // Map a file specified by FILE_NAME. - ACE_Mem_Map::ACE_Mem_Map (const ACE_TCHAR *file_name, size_t len, int flags, @@ -279,7 +278,6 @@ ACE_Mem_Map::ACE_Mem_Map (const ACE_TCHAR *file_name, // Map a file from an open file descriptor HANDLE. This function will // lookup the length of the file if it is not given. - ACE_Mem_Map::ACE_Mem_Map (ACE_HANDLE handle, size_t len, int prot, diff --git a/ACE/ace/Shared_Memory.h b/ACE/ace/Shared_Memory.h index 6e1e1ea544f65..b0ada658936ba 100644 --- a/ACE/ace/Shared_Memory.h +++ b/ACE/ace/Shared_Memory.h @@ -32,7 +32,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL * This is a very simple-minded wrapper, i.e., it really is only * useful for allocating large contiguous chunks of shared * memory. For a much more sophisticated version, please check - * out the class. + * out the ACE_Malloc class. */ class ACE_Export ACE_Shared_Memory { diff --git a/ACE/ace/Shared_Memory_MM.h b/ACE/ace/Shared_Memory_MM.h index 77f9b12db9f89..1fdbf3afb7759 100644 --- a/ACE/ace/Shared_Memory_MM.h +++ b/ACE/ace/Shared_Memory_MM.h @@ -86,7 +86,7 @@ class ACE_Export ACE_Shared_Memory_MM : public ACE_Shared_Memory virtual void *malloc (size_t size = 0); /// Free a chuck of memory allocated by - /// . + /// ACE_Shared_Memory_MM::malloc. virtual int free (void *p); /// Return the size of the shared memory segment. diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index 83d60da416321..69ad0c9cc1bc9 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -44,9 +44,7 @@ ACE_Shared_Memory_Pool::in_use (ACE_OFF_T &offset, SHM_TABLE *st = reinterpret_cast (this->base_addr_); shmid_ds buf; - for (counter = 0; - counter < this->max_segments_ && st[counter].used_ == 1; - counter++) + for (counter = 0; counter < this->max_segments_ && st[counter].used_ == true; counter++) { if (ACE_OS::shmctl (st[counter].shmid_, IPC_STAT, &buf) == -1) ACELIB_ERROR_RETURN ((LM_ERROR, @@ -75,10 +73,7 @@ ACE_Shared_Memory_Pool::find_seg (const void* const searchPtr, SHM_TABLE *st = reinterpret_cast (this->base_addr_); shmid_ds buf; - for (counter = 0; - counter < this->max_segments_ - && st[counter].used_ == 1; - counter++) + for (counter = 0; counter < this->max_segments_ && st[counter].used_ == true; counter++) { if (ACE_OS::shmctl (st[counter].shmid_, IPC_STAT, &buf) == -1) ACELIB_ERROR_RETURN ((LM_ERROR, @@ -109,6 +104,13 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, { ACE_TRACE ("ACE_Shared_Memory_Pool::commit_backing_store_name"); + if (this->base_addr_ == nullptr) + { + ACELIB_ERROR_RETURN ((LM_ERROR, + "ACE_Shared_Memory_Pool::commit_backing_store_name, base address is zero\n"), + -1); + } + size_t counter; SHM_TABLE *st = reinterpret_cast (this->base_addr_); @@ -116,12 +118,14 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, return -1; if (counter == this->max_segments_) - ACELIB_ERROR_RETURN ((LM_ERROR, - "ACE_Shared_Memory_Pool::commit_backing_store_name, exceeded max number of segments = %d, base = %u, offset = %u\n", - counter, - this->base_addr_, - static_cast(offset)), - -1); + { + ACELIB_ERROR_RETURN ((LM_ERROR, + "ACE_Shared_Memory_Pool::commit_backing_store_name, exceeded max number of segments = %d, base = %u, offset = %u\n", + counter, + this->base_addr_, + static_cast(offset)), + -1); + } else { int const shmid = ACE_OS::shmget (st[counter].key_, @@ -133,12 +137,10 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, ACE_TEXT ("shmget")), -1); st[counter].shmid_ = shmid; - st[counter].used_ = 1; + st[counter].used_ = true; void *address = (void *) (((char *) this->base_addr_) + offset); - void *shmem = ACE_OS::shmat (st[counter].shmid_, - (char *) address, - 0); + void *shmem = ACE_OS::shmat (st[counter].shmid_, (char *) address, 0); if (shmem != address) ACELIB_ERROR_RETURN ((LM_ERROR, @@ -147,6 +149,8 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, shmem, address), -1); + + shm_addr_table_[counter] = shmem; } return 0; } @@ -222,7 +226,7 @@ ACE_Shared_Memory_Pool::handle_signal (int, siginfo_t *siginfo, ucontext_t *) ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool ( const ACE_TCHAR *backing_store_name, const OPTIONS *options) - : base_addr_ (0), + : base_addr_ (nullptr), file_perms_ (ACE_DEFAULT_FILE_PERMS), max_segments_ (ACE_DEFAULT_MAX_SEGMENTS), minimum_bytes_ (0), @@ -230,17 +234,18 @@ ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool ( { ACE_TRACE ("ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool"); - // Only change the defaults if != 0. + // Only change the defaults if options != nullptr. if (options) { - this->base_addr_ = - reinterpret_cast (const_cast (options->base_addr_)); + this->base_addr_ = reinterpret_cast (const_cast (options->base_addr_)); this->max_segments_ = options->max_segments_; this->file_perms_ = options->file_perms_; this->minimum_bytes_ = options->minimum_bytes_; this->segment_size_ = options->segment_size_; } + this->shm_addr_table_ = std::make_unique(this->max_segments_); + #ifndef ACE_HAS_SYSV_IPC ACE_UNUSED_ARG (backing_store_name); #else @@ -250,39 +255,45 @@ ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool ( // key. int segment_key = 0; #if !defined (ACE_LACKS_SSCANF) - int result = ::sscanf (ACE_TEXT_ALWAYS_CHAR (backing_store_name), - "%d", - &segment_key); + int const result = ::sscanf (ACE_TEXT_ALWAYS_CHAR (backing_store_name), + "%d", + &segment_key); #else - int result = 0; + int const result = 0; #endif /* ACE_LACKS_SSCANF */ if (result == 0 || result == EOF) - // The conversion to a number failed so hash with crc32 - // ACE::crc32 is also used in . - this->base_shm_key_ = - (key_t) ACE::crc32 (ACE_TEXT_ALWAYS_CHAR (backing_store_name)); + { + // The conversion to a number failed so hash with crc32 + // ACE::crc32 is also used in . + this->base_shm_key_ = (key_t) ACE::crc32 (ACE_TEXT_ALWAYS_CHAR (backing_store_name)); + } else - this->base_shm_key_ = segment_key; + { + this->base_shm_key_ = segment_key; + } if (this->base_shm_key_ == IPC_PRIVATE) - // Make sure that the segment can be shared between unrelated - // processes. - this->base_shm_key_ = ACE_DEFAULT_SHM_KEY; + { + // Make sure that the segment can be shared between unrelated + // processes. + this->base_shm_key_ = ACE_DEFAULT_SHM_KEY; + } } else this->base_shm_key_ = ACE_DEFAULT_SHM_KEY; #endif // ACE_HAS_SYSV_IPC if (this->signal_handler_.register_handler (SIGSEGV, this) == -1) - ACELIB_ERROR ((LM_ERROR, - ACE_TEXT ("ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool, %p\n"), - ACE_TEXT ("ACE_Sig_Handler::register_handler"))); + { + ACELIB_ERROR ((LM_ERROR, + ACE_TEXT ("ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool, %p\n"), + ACE_TEXT ("ACE_Sig_Handler::register_handler"))); + } } /// Ask system for more shared memory. void * -ACE_Shared_Memory_Pool::acquire (size_t nbytes, - size_t &rounded_bytes) +ACE_Shared_Memory_Pool::acquire (size_t nbytes, size_t &rounded_bytes) { ACE_TRACE ("ACE_Shared_Memory_Pool::acquire"); @@ -293,7 +304,7 @@ ACE_Shared_Memory_Pool::acquire (size_t nbytes, ACE_OFF_T offset; if (this->commit_backing_store_name (rounded_bytes, offset) == -1) - return 0; + return nullptr; // ACELIB_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) ACE_Shared_Memory_Pool::acquire, acquired more chunks, nbytes = %d, rounded_bytes = %d\n"), nbytes, rounded_bytes)); return ((char *) this->base_addr_) + offset; @@ -307,14 +318,13 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, { ACE_TRACE ("ACE_Shared_Memory_Pool::init_acquire"); - ACE_OFF_T shm_table_offset = ACE::round_to_pagesize (sizeof (SHM_TABLE)); + ACE_OFF_T const shm_table_offset = ACE::round_to_pagesize (sizeof (SHM_TABLE)); rounded_bytes = this->round_up (nbytes > (size_t) this->minimum_bytes_ ? nbytes : (size_t) this->minimum_bytes_); // Acquire the semaphore to serialize initialization and prevent // race conditions. - int shmid = ACE_OS::shmget (this->base_shm_key_, rounded_bytes + shm_table_offset, this->file_perms_ | IPC_CREAT | IPC_EXCL); @@ -335,40 +345,39 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, ACE_TEXT ("shmget")), 0); - // This implementation doesn't care if we don't get the key we - // want... - this->base_addr_ = - ACE_OS::shmat (shmid, - reinterpret_cast (this->base_addr_), - 0); + // This implementation doesn't care if we don't get the key we want... + this->base_addr_ = ACE_OS::shmat (shmid, reinterpret_cast (this->base_addr_), 0); + shm_addr_table_[0] = this->base_addr_; + if (this->base_addr_ == reinterpret_cast (-1)) - ACELIB_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("(%P|%t) ACE_Shared_Memory_Pool::init_acquire, %p, base_addr = %u\n"), - ACE_TEXT("shmat"), - this->base_addr_), - 0); + { + ACELIB_ERROR_RETURN ((LM_ERROR, + ACE_TEXT("(%P|%t) ACE_Shared_Memory_Pool::init_acquire, %p, base_addr = %u\n"), + ACE_TEXT("shmat"), + this->base_addr_), + 0); + } } else { first_time = 1; - // This implementation doesn't care if we don't get the key we - // want... - this->base_addr_ = - ACE_OS::shmat (shmid, - reinterpret_cast (this->base_addr_), - 0); + // This implementation doesn't care if we don't get the key we want... + this->base_addr_ = ACE_OS::shmat (shmid, reinterpret_cast (this->base_addr_), 0); + if (this->base_addr_ == reinterpret_cast (-1)) - ACELIB_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("(%P|%t) ACE_Shared_Memory_Pool::init_acquire, %p, base_addr = %u\n"), - ACE_TEXT("shmat"), - this->base_addr_), 0); + { + ACELIB_ERROR_RETURN ((LM_ERROR, + ACE_TEXT("(%P|%t) ACE_Shared_Memory_Pool::init_acquire, %p, base_addr = %u\n"), + ACE_TEXT("shmat"), + this->base_addr_), 0); + } SHM_TABLE *st = reinterpret_cast (this->base_addr_); st[0].key_ = this->base_shm_key_; st[0].shmid_ = shmid; - - st[0].used_ = 1; + st[0].used_ = true; + shm_addr_table_[0] = this->base_addr_; for (size_t counter = 1; // Skip over the first entry... counter < this->max_segments_; @@ -378,7 +387,8 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, st[counter].key_ = this->base_shm_key_ + counter; #endif st[counter].shmid_ = 0; - st[counter].used_ = 0; + st[counter].used_ = false; + shm_addr_table_[counter] = nullptr; } } @@ -387,18 +397,72 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, /// Instruct the memory pool to release all of its resources. int -ACE_Shared_Memory_Pool::release (int) +ACE_Shared_Memory_Pool::release (int destroy) { ACE_TRACE ("ACE_Shared_Memory_Pool::release"); int result = 0; - SHM_TABLE *st = reinterpret_cast (this->base_addr_); - for (size_t counter = 0; - counter < this->max_segments_ && st[counter].used_ == 1; - counter++) - if (ACE_OS::shmctl (st[counter].shmid_, IPC_RMID, 0) == -1) - result = -1; + if (this->base_addr_) + { + SHM_TABLE *st = reinterpret_cast (this->base_addr_); + ACE_DEBUG((LM_DEBUG, "Close shared memory\n")); + + // Release the shared memory segments except the first segment, there + // we store the shared memory table, so we don't destroy this here + // yet + for (size_t counter = 1; // Skip over the first entry... + counter < this->max_segments_; + counter++) + { + ACE_DEBUG((LM_DEBUG, "Close shared memory counter %d\n", counter)); + if (st[counter].used_ == true) + { + // Detach the shared memory segment from our address space + if (ACE_OS::shmdt (shm_addr_table_[counter]) == -1) + { + ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); + result = -1; + } + shm_addr_table_[counter] = nullptr; + + // When we are asked to destroy the shared memory we instruct + // the OS to release the segment + if (destroy == 1) + { + ACE_DEBUG((LM_DEBUG, "Remove shared memory %d\n", st[counter].shmid_)); + if (ACE_OS::shmctl (st[counter].shmid_, IPC_RMID, 0) == -1) + { + result = -1; + } + } + } + } + + // Only when we are asked to destroy the shared memory we destroy + // the last segment, that contains all the shared memory id's + if (destroy == 1) + { + // Store a copy of the shmid on the stack, after shmdt we can't + // read it anymore + int const shmid = st[0].shmid_; + + // Detach the shared memory segment from our address space + if (ACE_OS::shmdt (shm_addr_table_[0]) == -1) + { + ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); + result = -1; + } + // Instruct the OS to release this last segment + if (ACE_OS::shmctl (shmid, IPC_RMID, 0) == -1) + { + ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); + result = -1; + } + shm_addr_table_[0] = nullptr; + this->base_addr_ = nullptr; + } + } return result; } diff --git a/ACE/ace/Shared_Memory_Pool.h b/ACE/ace/Shared_Memory_Pool.h index 62fd9fc08c9a3..287bd50d6a49a 100644 --- a/ACE/ace/Shared_Memory_Pool.h +++ b/ACE/ace/Shared_Memory_Pool.h @@ -26,6 +26,7 @@ #include "ace/Event_Handler.h" #include "ace/Sig_Handler.h" #include "ace/os_include/sys/os_mman.h" +#include ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -83,8 +84,8 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler typedef ACE_Shared_Memory_Pool_Options OPTIONS; /// Initialize the pool. - ACE_Shared_Memory_Pool (const ACE_TCHAR *backing_store_name = 0, - const OPTIONS *options = 0); + ACE_Shared_Memory_Pool (const ACE_TCHAR *backing_store_name = nullptr, + const OPTIONS *options = nullptr); virtual ~ACE_Shared_Memory_Pool () = default; @@ -99,8 +100,7 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler * semaphore that ensures proper serialization of Memory_Pool * initialization across processes. */ - virtual void *acquire (size_t nbytes, - size_t &rounded_bytes); + virtual void *acquire (size_t nbytes, size_t &rounded_bytes); /// Instruct the memory pool to release all of its resources. virtual int release (int destroy = 1); @@ -123,7 +123,7 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// starting at @a addr up to @a len bytes. virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); - /// Return the base address of this memory pool, 0 if base_addr + /// Return the base address of this memory pool, nullptr if base_addr /// never changes. virtual void *base_addr () const; @@ -146,22 +146,28 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler virtual int commit_backing_store_name (size_t rounded_bytes, ACE_OFF_T &offset); - /// Keeps track of all the segments being used. + /// Keeps track of all the segments being used. The shared memory + /// table is stored in the first shared memory segment struct SHM_TABLE { - /// Shared memory segment key. + /// Shared memory segment key key_t key_; - /// Shared memory segment internal id. + /// Shared memory segment internal id int shmid_; - /// Is the segment currently used.; - int used_; + /// Is the segment currently used + bool used_; }; + /// Small table with the addresses of the shared memory segments mapped + /// into this address space. We need these addresses to call shmdt at + /// the release + std::unique_ptr shm_addr_table_; + /** * Base address of the shared memory segment. If this has the value - * of 0 then the OS is free to select any address, otherwise this + * of nullptr then the OS is free to select any address, otherwise this * value is what the OS must try to use to map the shared memory * segment. */ @@ -170,10 +176,10 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// File permissions to use when creating/opening a segment. size_t file_perms_; - /// Number of shared memory segments in the table. + /// Number of shared memory segments in the SHM_TABLE table. size_t max_segments_; - /// What the minimim bytes of the initial segment should be. + /// What the minimum bytes of the initial segment should be. ACE_OFF_T minimum_bytes_; /// Shared memory segment size. @@ -188,8 +194,7 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler size_t &counter); /// Determine how much memory is currently in use. - virtual int in_use (ACE_OFF_T &offset, - size_t &counter); + virtual int in_use (ACE_OFF_T &offset, size_t &counter); /// Handles SIGSEGV. ACE_Sig_Handler signal_handler_; From c2c58f6805ee69ab70912d4b6463c466bc502ac2 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Jun 2023 13:24:29 +0200 Subject: [PATCH 163/445] Reworked the shared memory pool implementation in order to detach from shared memory segments when we don't use them anymore. At the moment the memory pool is destroyed also let the OS release all resources * ACE/ace/Shared_Memory_Pool.cpp: * ACE/ace/Shared_Memory_Pool.h: --- ACE/ace/Shared_Memory_Pool.cpp | 108 ++++++++++++++++----------------- ACE/ace/Shared_Memory_Pool.h | 23 ++++--- 2 files changed, 63 insertions(+), 68 deletions(-) diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index 69ad0c9cc1bc9..c9e316a615476 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -41,7 +41,7 @@ ACE_Shared_Memory_Pool::in_use (ACE_OFF_T &offset, ACE_NOTSUP_RETURN (-1); #else offset = 0; - SHM_TABLE *st = reinterpret_cast (this->base_addr_); + SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); shmid_ds buf; for (counter = 0; counter < this->max_segments_ && st[counter].used_ == true; counter++) @@ -70,7 +70,7 @@ ACE_Shared_Memory_Pool::find_seg (const void* const searchPtr, ACE_NOTSUP_RETURN (-1); #else offset = 0; - SHM_TABLE *st = reinterpret_cast (this->base_addr_); + SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); shmid_ds buf; for (counter = 0; counter < this->max_segments_ && st[counter].used_ == true; counter++) @@ -85,7 +85,7 @@ ACE_Shared_Memory_Pool::find_seg (const void* const searchPtr, // If segment 'counter' starts at a location greater than the // place we are searching for. We then decrement the offset to // the start of counter-1. (flabar@vais.net) - if (((ptrdiff_t) offset + (ptrdiff_t) (this->base_addr_)) > (ptrdiff_t) searchPtr) + if (((ptrdiff_t) offset + (ptrdiff_t) (this->shm_addr_table_[0])) > (ptrdiff_t) searchPtr) { --counter; offset -= buf.shm_segsz; @@ -104,7 +104,7 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, { ACE_TRACE ("ACE_Shared_Memory_Pool::commit_backing_store_name"); - if (this->base_addr_ == nullptr) + if (this->shm_addr_table_[0] == nullptr) { ACELIB_ERROR_RETURN ((LM_ERROR, "ACE_Shared_Memory_Pool::commit_backing_store_name, base address is zero\n"), @@ -112,7 +112,7 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, } size_t counter; - SHM_TABLE *st = reinterpret_cast (this->base_addr_); + SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); if (this->in_use (offset, counter) == -1) return -1; @@ -122,7 +122,7 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, ACELIB_ERROR_RETURN ((LM_ERROR, "ACE_Shared_Memory_Pool::commit_backing_store_name, exceeded max number of segments = %d, base = %u, offset = %u\n", counter, - this->base_addr_, + this->shm_addr_table_[0], static_cast(offset)), -1); } @@ -139,7 +139,7 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, st[counter].shmid_ = shmid; st[counter].used_ = true; - void *address = (void *) (((char *) this->base_addr_) + offset); + void *address = (void *) (((char *) this->shm_addr_table_[0]) + offset); void *shmem = ACE_OS::shmat (st[counter].shmid_, (char *) address, 0); if (shmem != address) @@ -180,13 +180,13 @@ ACE_Shared_Memory_Pool::handle_signal (int, siginfo_t *siginfo, ucontext_t *) ACE_TEXT ("in_use"))); } else if (!(siginfo->si_code == SEGV_MAPERR - && siginfo->si_addr < (((char *) this->base_addr_) + offset) - && siginfo->si_addr >= ((char *) this->base_addr_))) + && siginfo->si_addr < (((char *) this->shm_addr_table_[0]) + offset) + && siginfo->si_addr >= ((char *) this->shm_addr_table_[0]))) { ACELIB_ERROR_RETURN ((LM_ERROR, "(%P|%t) ACE_Shared_Memory_Pool::handle_signal, address %u out of range, base = %u, offset = %u\n", siginfo->si_addr, - this->base_addr_, + this->shm_addr_table_[0], static_cast(offset)), -1); } @@ -202,8 +202,8 @@ ACE_Shared_Memory_Pool::handle_signal (int, siginfo_t *siginfo, ucontext_t *) ACE_TEXT ("in_use")), -1); - void *address = (void *) (((char *) this->base_addr_) + offset); - SHM_TABLE *st = reinterpret_cast (this->base_addr_); + void *address = (void *) (((char *) this->shm_addr_table_[0]) + offset); + SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); void *shmem = ACE_OS::shmat (st[counter].shmid_, (char *) address, 0); @@ -226,26 +226,25 @@ ACE_Shared_Memory_Pool::handle_signal (int, siginfo_t *siginfo, ucontext_t *) ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool ( const ACE_TCHAR *backing_store_name, const OPTIONS *options) - : base_addr_ (nullptr), - file_perms_ (ACE_DEFAULT_FILE_PERMS), + : file_perms_ (ACE_DEFAULT_FILE_PERMS), max_segments_ (ACE_DEFAULT_MAX_SEGMENTS), minimum_bytes_ (0), segment_size_ (ACE_DEFAULT_SEGMENT_SIZE) { ACE_TRACE ("ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool"); + this->shm_addr_table_ = std::make_unique(this->max_segments_); + // Only change the defaults if options != nullptr. if (options) { - this->base_addr_ = reinterpret_cast (const_cast (options->base_addr_)); + this->shm_addr_table_[0] = reinterpret_cast (const_cast (options->base_addr_)); this->max_segments_ = options->max_segments_; this->file_perms_ = options->file_perms_; this->minimum_bytes_ = options->minimum_bytes_; this->segment_size_ = options->segment_size_; } - this->shm_addr_table_ = std::make_unique(this->max_segments_); - #ifndef ACE_HAS_SYSV_IPC ACE_UNUSED_ARG (backing_store_name); #else @@ -307,7 +306,7 @@ ACE_Shared_Memory_Pool::acquire (size_t nbytes, size_t &rounded_bytes) return nullptr; // ACELIB_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) ACE_Shared_Memory_Pool::acquire, acquired more chunks, nbytes = %d, rounded_bytes = %d\n"), nbytes, rounded_bytes)); - return ((char *) this->base_addr_) + offset; + return ((char *) this->shm_addr_table_[0]) + offset; } /// Ask system for initial chunk of shared memory. @@ -346,15 +345,15 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, 0); // This implementation doesn't care if we don't get the key we want... - this->base_addr_ = ACE_OS::shmat (shmid, reinterpret_cast (this->base_addr_), 0); - shm_addr_table_[0] = this->base_addr_; + this->base_shm_id_ = shmid; + this->shm_addr_table_[0] = ACE_OS::shmat (shmid, reinterpret_cast (this->shm_addr_table_[0]), 0); - if (this->base_addr_ == reinterpret_cast (-1)) + if (this->shm_addr_table_[0] == reinterpret_cast (-1)) { ACELIB_ERROR_RETURN ((LM_ERROR, ACE_TEXT("(%P|%t) ACE_Shared_Memory_Pool::init_acquire, %p, base_addr = %u\n"), ACE_TEXT("shmat"), - this->base_addr_), + this->shm_addr_table_[0]), 0); } } @@ -363,21 +362,21 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, first_time = 1; // This implementation doesn't care if we don't get the key we want... - this->base_addr_ = ACE_OS::shmat (shmid, reinterpret_cast (this->base_addr_), 0); + this->shm_addr_table_[0] = ACE_OS::shmat (shmid, reinterpret_cast (this->shm_addr_table_[0]), 0); - if (this->base_addr_ == reinterpret_cast (-1)) + if (this->shm_addr_table_[0] == reinterpret_cast (-1)) { ACELIB_ERROR_RETURN ((LM_ERROR, ACE_TEXT("(%P|%t) ACE_Shared_Memory_Pool::init_acquire, %p, base_addr = %u\n"), ACE_TEXT("shmat"), - this->base_addr_), 0); + this->shm_addr_table_[0]), 0); } - SHM_TABLE *st = reinterpret_cast (this->base_addr_); + SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); st[0].key_ = this->base_shm_key_; st[0].shmid_ = shmid; st[0].used_ = true; - shm_addr_table_[0] = this->base_addr_; + base_shm_id_ = shmid; for (size_t counter = 1; // Skip over the first entry... counter < this->max_segments_; @@ -392,7 +391,7 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, } } - return (void *) (((char *) this->base_addr_) + shm_table_offset); + return (void *) (((char *) this->shm_addr_table_[0]) + shm_table_offset); } /// Instruct the memory pool to release all of its resources. @@ -403,10 +402,9 @@ ACE_Shared_Memory_Pool::release (int destroy) int result = 0; - if (this->base_addr_) + if (this->shm_addr_table_[0]) { - SHM_TABLE *st = reinterpret_cast (this->base_addr_); - ACE_DEBUG((LM_DEBUG, "Close shared memory\n")); + SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); // Release the shared memory segments except the first segment, there // we store the shared memory table, so we don't destroy this here @@ -415,7 +413,6 @@ ACE_Shared_Memory_Pool::release (int destroy) counter < this->max_segments_; counter++) { - ACE_DEBUG((LM_DEBUG, "Close shared memory counter %d\n", counter)); if (st[counter].used_ == true) { // Detach the shared memory segment from our address space @@ -427,7 +424,7 @@ ACE_Shared_Memory_Pool::release (int destroy) shm_addr_table_[counter] = nullptr; // When we are asked to destroy the shared memory we instruct - // the OS to release the segment + // the OS to release the related segment if (destroy == 1) { ACE_DEBUG((LM_DEBUG, "Remove shared memory %d\n", st[counter].shmid_)); @@ -439,29 +436,28 @@ ACE_Shared_Memory_Pool::release (int destroy) } } - // Only when we are asked to destroy the shared memory we destroy - // the last segment, that contains all the shared memory id's - if (destroy == 1) - { - // Store a copy of the shmid on the stack, after shmdt we can't - // read it anymore - int const shmid = st[0].shmid_; + // Detach the base shared memory segment from our address space + // when it hasn't been detached yet + if (ACE_OS::shmdt (shm_addr_table_[0]) == -1) + { + ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); + result = -1; + } + this->shm_addr_table_[0] = nullptr; + } - // Detach the shared memory segment from our address space - if (ACE_OS::shmdt (shm_addr_table_[0]) == -1) - { - ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); - result = -1; - } - // Instruct the OS to release this last segment - if (ACE_OS::shmctl (shmid, IPC_RMID, 0) == -1) - { - ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); - result = -1; - } - shm_addr_table_[0] = nullptr; - this->base_addr_ = nullptr; - } + // Only when we are asked to destroy the shared memory we destroy + // the base segment, that contains all the shared memory id's + if (destroy == 1 && this->base_shm_id_ != 0) + { + // Instruct the OS to release this base segment + if (ACE_OS::shmctl (this->base_shm_id_, IPC_RMID, 0) == -1) + { + ACE_DEBUG((LM_DEBUG, "Detach FAILED base shared memory\n")); + result = -1; + } + + this->base_shm_id_ = 0; } return result; @@ -499,7 +495,7 @@ void * ACE_Shared_Memory_Pool::base_addr () const { ACE_TRACE ("ACE_Shared_Memory_Pool::base_addr"); - return this->base_addr_; + return this->shm_addr_table_[0]; } /// Implement the algorithm for rounding up the request to an diff --git a/ACE/ace/Shared_Memory_Pool.h b/ACE/ace/Shared_Memory_Pool.h index 287bd50d6a49a..b38876ccc7af4 100644 --- a/ACE/ace/Shared_Memory_Pool.h +++ b/ACE/ace/Shared_Memory_Pool.h @@ -106,7 +106,7 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler virtual int release (int destroy = 1); /// Sync the memory region to the backing store starting at - /// @c this->base_addr_. + /// @c shm_addr_table_[0]. virtual int sync (ssize_t len = -1, int flags = MS_SYNC); /// Sync the memory region to the backing store starting at @a addr. @@ -114,7 +114,7 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /** * Change the protection of the pages of the mapped region to @a prot - * starting at @c this->base_addr_ up to @a len bytes. If @a len == -1 + * starting at @c shm_addr_table_[0] up to @a len bytes. If @a len == -1 * then change protection of all pages in the mapped region. */ virtual int protect (ssize_t len = -1, int prot = PROT_RDWR); @@ -123,7 +123,7 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// starting at @a addr up to @a len bytes. virtual int protect (void *addr, size_t len, int prot = PROT_RDWR); - /// Return the base address of this memory pool, nullptr if base_addr + /// Return the base address of this memory pool, nullptr if shm_addr_table_[0] /// never changes. virtual void *base_addr () const; @@ -162,17 +162,13 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// Small table with the addresses of the shared memory segments mapped /// into this address space. We need these addresses to call shmdt at - /// the release + /// the release. + /// shm_addr_table_[0] is the base address of the shared memory segment + /// If this has the value of nullptr then the OS is free to select any address, + /// otherwise this value is what the OS must try to use to map the shared memory + /// segment. std::unique_ptr shm_addr_table_; - /** - * Base address of the shared memory segment. If this has the value - * of nullptr then the OS is free to select any address, otherwise this - * value is what the OS must try to use to map the shared memory - * segment. - */ - void *base_addr_; - /// File permissions to use when creating/opening a segment. size_t file_perms_; @@ -188,6 +184,9 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// Base shared memory key for the segment. key_t base_shm_key_; + /// Base shared memory id + int base_shm_id_ {}; + /// Find the segment that contains the @a searchPtr virtual int find_seg (const void *const searchPtr, ACE_OFF_T &offset, From 1e43fa6691d8b12ca12f58a2f54f972dd796fa11 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Jun 2023 13:28:29 +0200 Subject: [PATCH 164/445] Removed debug lines * ACE/ace/Shared_Memory_Pool.cpp: --- ACE/ace/Shared_Memory_Pool.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index c9e316a615476..f262e8a061dbc 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -418,7 +418,6 @@ ACE_Shared_Memory_Pool::release (int destroy) // Detach the shared memory segment from our address space if (ACE_OS::shmdt (shm_addr_table_[counter]) == -1) { - ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); result = -1; } shm_addr_table_[counter] = nullptr; @@ -427,7 +426,6 @@ ACE_Shared_Memory_Pool::release (int destroy) // the OS to release the related segment if (destroy == 1) { - ACE_DEBUG((LM_DEBUG, "Remove shared memory %d\n", st[counter].shmid_)); if (ACE_OS::shmctl (st[counter].shmid_, IPC_RMID, 0) == -1) { result = -1; @@ -440,7 +438,6 @@ ACE_Shared_Memory_Pool::release (int destroy) // when it hasn't been detached yet if (ACE_OS::shmdt (shm_addr_table_[0]) == -1) { - ACE_DEBUG((LM_DEBUG, "Detach FAILED shared memory\n")); result = -1; } this->shm_addr_table_[0] = nullptr; @@ -453,7 +450,6 @@ ACE_Shared_Memory_Pool::release (int destroy) // Instruct the OS to release this base segment if (ACE_OS::shmctl (this->base_shm_id_, IPC_RMID, 0) == -1) { - ACE_DEBUG((LM_DEBUG, "Detach FAILED base shared memory\n")); result = -1; } From 680dcb6dc233f5e9d807de2f0e2421a702c958ac Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Jun 2023 14:11:25 +0200 Subject: [PATCH 165/445] Fixed typo * ACE/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp: --- ACE/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ACE/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp b/ACE/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp index c2f71ae81a13a..25e41590069b1 100644 --- a/ACE/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp +++ b/ACE/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp @@ -2,7 +2,7 @@ // ACE_Malloc class using the ACE_Shared_Memory_Pool (which uses // System V shared memory). Note that it doesn't matter whether the // parent or the child creates the semaphore since Semaphore_Complex -// will correctly serialize the intialization of the mutex and synch +// will correctly serialize the initialization of the mutex and synch // objects. #include "ace/Malloc_T.h" @@ -10,7 +10,6 @@ #include "ace/SV_Semaphore_Complex.h" #include "ace/OS_NS_unistd.h" - #if defined (ACE_HAS_SYSV_IPC) && !defined(ACE_LACKS_SYSV_SHMEM) // Shared memory allocator (note that this chews up the From 9b773291b4c1ed20b2783f8e0b4af9da7a9bf68a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Jun 2023 14:11:35 +0200 Subject: [PATCH 166/445] Removed empty lines * ACE/tests/SV_Shared_Memory_Test.cpp: --- ACE/tests/SV_Shared_Memory_Test.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/ACE/tests/SV_Shared_Memory_Test.cpp b/ACE/tests/SV_Shared_Memory_Test.cpp index b877621691765..4a5348574456d 100644 --- a/ACE/tests/SV_Shared_Memory_Test.cpp +++ b/ACE/tests/SV_Shared_Memory_Test.cpp @@ -22,15 +22,12 @@ #include "ace/SV_Semaphore_Complex.h" #include "ace/OS_NS_unistd.h" - - #if defined (ACE_HAS_SYSV_IPC) && !defined(ACE_LACKS_SYSV_SHMEM) // The shared memory allocator, which uses up the ACE_DEFAULT_SEM_KEY. // We hide the allocator inside this function so that it doesn't get // constructed until after the ACE_Object_Manager gets constructed, // even with ACE_HAS_NONSTATIC_OBJECT_MANAGER. - static ACE_Malloc & myallocator () From 63cb68e694e9b942516c8480c5241574485d5500 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 16 Jun 2023 10:22:17 +0200 Subject: [PATCH 167/445] Make used_ again an int, not cause some unexpected interoperability with older ACE versions * ACE/ace/Shared_Memory_Pool.cpp: * ACE/ace/Shared_Memory_Pool.h: --- ACE/ace/Shared_Memory_Pool.cpp | 12 ++++++------ ACE/ace/Shared_Memory_Pool.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index f262e8a061dbc..2de8b12934b41 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -44,7 +44,7 @@ ACE_Shared_Memory_Pool::in_use (ACE_OFF_T &offset, SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); shmid_ds buf; - for (counter = 0; counter < this->max_segments_ && st[counter].used_ == true; counter++) + for (counter = 0; counter < this->max_segments_ && st[counter].used_ == 1; counter++) { if (ACE_OS::shmctl (st[counter].shmid_, IPC_STAT, &buf) == -1) ACELIB_ERROR_RETURN ((LM_ERROR, @@ -73,7 +73,7 @@ ACE_Shared_Memory_Pool::find_seg (const void* const searchPtr, SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); shmid_ds buf; - for (counter = 0; counter < this->max_segments_ && st[counter].used_ == true; counter++) + for (counter = 0; counter < this->max_segments_ && st[counter].used_ == 1; counter++) { if (ACE_OS::shmctl (st[counter].shmid_, IPC_STAT, &buf) == -1) ACELIB_ERROR_RETURN ((LM_ERROR, @@ -137,7 +137,7 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes, ACE_TEXT ("shmget")), -1); st[counter].shmid_ = shmid; - st[counter].used_ = true; + st[counter].used_ = 1; void *address = (void *) (((char *) this->shm_addr_table_[0]) + offset); void *shmem = ACE_OS::shmat (st[counter].shmid_, (char *) address, 0); @@ -375,7 +375,7 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); st[0].key_ = this->base_shm_key_; st[0].shmid_ = shmid; - st[0].used_ = true; + st[0].used_ = 1; base_shm_id_ = shmid; for (size_t counter = 1; // Skip over the first entry... @@ -386,7 +386,7 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, st[counter].key_ = this->base_shm_key_ + counter; #endif st[counter].shmid_ = 0; - st[counter].used_ = false; + st[counter].used_ = 0; shm_addr_table_[counter] = nullptr; } } @@ -413,7 +413,7 @@ ACE_Shared_Memory_Pool::release (int destroy) counter < this->max_segments_; counter++) { - if (st[counter].used_ == true) + if (st[counter].used_ == 1) { // Detach the shared memory segment from our address space if (ACE_OS::shmdt (shm_addr_table_[counter]) == -1) diff --git a/ACE/ace/Shared_Memory_Pool.h b/ACE/ace/Shared_Memory_Pool.h index b38876ccc7af4..ee0e503adb4dd 100644 --- a/ACE/ace/Shared_Memory_Pool.h +++ b/ACE/ace/Shared_Memory_Pool.h @@ -157,7 +157,7 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler int shmid_; /// Is the segment currently used - bool used_; + int used_; }; /// Small table with the addresses of the shared memory segments mapped From 22cf00e2a6cebbad7587ab85b873b02388bac82d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 17 Jun 2023 19:25:39 +0200 Subject: [PATCH 168/445] Use as egrep is obsolescent --- ACE/apps/drwho/README | 2 +- ACE/include/makeinclude/platform_gcc_clang_common.GNU | 2 +- ACE/include/makeinclude/rules.local.GNU | 4 ++-- ACE/tests/run_test.pl | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ACE/apps/drwho/README b/ACE/apps/drwho/README index 1976a4fc2b8bd..5ebc2a9bf2a58 100644 --- a/ACE/apps/drwho/README +++ b/ACE/apps/drwho/README @@ -115,7 +115,7 @@ or 4802 ? 0:07 mwm % foreach host (`drwho -r -l -w schmidt`) ? echo $host -? rsh $host w | egrep schmidt +? rsh $host w | grep -E schmidt ? end ---------------------------------------- diff --git a/ACE/include/makeinclude/platform_gcc_clang_common.GNU b/ACE/include/makeinclude/platform_gcc_clang_common.GNU index bd147cc874644..6f441190458d1 100644 --- a/ACE/include/makeinclude/platform_gcc_clang_common.GNU +++ b/ACE/include/makeinclude/platform_gcc_clang_common.GNU @@ -16,7 +16,7 @@ ifeq ($(shared_libs), 1) ifeq ($(GNU_LD),1) # Make sure this version of ld supports the -E option. ifneq ($(mingw32),1) - LD_EXPORT_DEFINED := $(shell sh -c '$(LD_FOR_VERSION_TEST) -E 2>&1 | egrep -i "(option|flag)" /dev/null; echo $$?') + LD_EXPORT_DEFINED := $(shell sh -c '$(LD_FOR_VERSION_TEST) -E 2>&1 | grep -E -i "(option|flag)" /dev/null; echo $$?') else LD_EXPORT_DEFINED := $(shell $(LD_FOR_VERSION_TEST) -E 2>&1 | grep -c -i -e '(option|flag)') ifeq ($(LD_EXPORT_DEFINED),0) diff --git a/ACE/include/makeinclude/rules.local.GNU b/ACE/include/makeinclude/rules.local.GNU index d2da721b3f1bc..08349fea2ccd3 100644 --- a/ACE/include/makeinclude/rules.local.GNU +++ b/ACE/include/makeinclude/rules.local.GNU @@ -204,12 +204,12 @@ endif # SOLINK #### in the platform_macros.GNU file. show_statics: -@$(TOOLDIR)nm$(TOOLENV) -Co $(VSHDIR)*o | \ - egrep ' global destructors '; true + grep -E ' global destructors '; true #### show_uninit shows uninitialized data in locally-created object files. #### TOOLENV selects the proper nm in VxWorks host environments. show_uninit: - -@$(TOOLDIR)nm$(TOOLENV) -Co $(VSHDIR)*o | egrep ' b ' + -@$(TOOLDIR)nm$(TOOLENV) -Co $(VSHDIR)*o | grep -E ' b ' #---------------------------------------------------------------------------- # Installation targets diff --git a/ACE/tests/run_test.pl b/ACE/tests/run_test.pl index 10623fabfec69..e4d0d4f77630b 100755 --- a/ACE/tests/run_test.pl +++ b/ACE/tests/run_test.pl @@ -78,7 +78,7 @@ () $user = $ENV{'LOGNAME'}; } - $start_test_resources=`ipcs | egrep $user`; + $start_test_resources=`ipcs | grep -E $user`; } } @@ -88,7 +88,7 @@ sub check_resources { my($oh) = shift; if ($config_list->check_config ('CHECK_RESOURCES')) { - $end_test_resources=`ipcs | egrep $user`; + $end_test_resources=`ipcs | grep -E $user`; if ("$start_test_resources" ne "$end_test_resources") { print STDERR "Warning: the ACE tests _may_ have leaked OS ". "resources!\n"; From 9a8b563073cfed6c180d2516b33ca7dbb4750fc6 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 19 Jun 2023 13:17:03 +0200 Subject: [PATCH 169/445] Add gcc13 to github actions CI --- .github/workflows/linux.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 8524c860e2dc6..4922bb258641c 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -57,6 +57,12 @@ jobs: optional_macros: CCFLAGS+=-std=c++20 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU os: ubuntu-22.04 + - CC: gcc-13 + CXX: g++-13 + PackageDeps: g++-13 + optional_macros: CCFLAGS+=-std=c++20 + platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU + os: ubuntu-22.04 - CC: clang-6.0 CXX: clang++-6.0 PackageDeps: clang-6.0 From a2566cf5e0cc39ec85231f26c39447d70ccff2f6 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 19 Jun 2023 14:43:17 +0200 Subject: [PATCH 170/445] Document return values * ACE/ace/Malloc_T.h: --- ACE/ace/Malloc_T.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/ace/Malloc_T.h b/ACE/ace/Malloc_T.h index 273bb013dcb78..62e9c678a34cc 100644 --- a/ACE/ace/Malloc_T.h +++ b/ACE/ace/Malloc_T.h @@ -486,6 +486,9 @@ class ACE_Malloc_T int ref_counter (); /// Release ref counter. + /// @retval 0 Success + /// @retval -1 Failure to missing control block + /// @retval >0 Memory not release because refcount is not zero int release (int close = 0); /// Releases resources allocated by this object. From ec7265778d3c83f28171a92a720452e70a155f65 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 19 Jun 2023 14:43:28 +0200 Subject: [PATCH 171/445] Use std::strcmp * ACE/ace/Malloc_T.cpp: --- ACE/ace/Malloc_T.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/ACE/ace/Malloc_T.cpp b/ACE/ace/Malloc_T.cpp index 14890b72f2a1c..eb6613457d9ec 100644 --- a/ACE/ace/Malloc_T.cpp +++ b/ACE/ace/Malloc_T.cpp @@ -13,6 +13,7 @@ #include "ace/ACE.h" #include "ace/OS_NS_string.h" +#include ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -427,7 +428,6 @@ ACE_Malloc_T::free (void *ptr) // rounding...). Depending on the type of (i.e., shared // vs. local) subsequent calls from other processes will only // initialize the control block pointer. - template int ACE_Malloc_T::open () { @@ -832,16 +832,15 @@ ACE_Malloc_T::shared_find (const char *name) ACE_TRACE ("ACE_Malloc_T::shared_find"); #endif /* !ACE_HAS_WIN32_STRUCTURED_EXCEPTIONS */ - if (this->cb_ptr_ == 0) - return 0; + if (!this->cb_ptr_) + return nullptr; ACE_SEH_TRY { for (NAME_NODE *node = this->cb_ptr_->name_head_; node != 0; node = node->next_) - if (ACE_OS::strcmp (node->name (), - name) == 0) + if (std::strcmp (node->name (), name) == 0) return node; } ACE_SEH_EXCEPT (this->memory_pool_.seh_selector (GetExceptionInformation ())) @@ -854,11 +853,11 @@ template int ACE_Malloc_T::shared_bind (const char *name, void *pointer) { - if (this->cb_ptr_ == 0) + if (!this->cb_ptr_) return -1; // Combine the two allocations into one to avoid overhead... - NAME_NODE *new_node = 0; + NAME_NODE *new_node = nullptr; ACE_ALLOCATOR_RETURN (new_node, (NAME_NODE *) @@ -990,7 +989,7 @@ ACE_Malloc_T::unbind (const char *name, void * curr != 0; curr = curr->next_) { - if (ACE_OS::strcmp (curr->name (), name) == 0) + if (std::strcmp (curr->name (), name) == 0) { pointer = (char *) curr->pointer_; @@ -1126,7 +1125,7 @@ ACE_Malloc_LIFO_Iterator_T::advance () return this->curr_ != 0; while (this->curr_ != 0 - && ACE_OS::strcmp (this->name_, + && std::strcmp (this->name_, this->curr_->name ()) != 0) this->curr_ = this->curr_->next_; @@ -1222,7 +1221,7 @@ ACE_Malloc_FIFO_Iterator_T::advance () return this->curr_ != 0; while (this->curr_ != 0 - && ACE_OS::strcmp (this->name_, + && std::strcmp (this->name_, this->curr_->name ()) != 0) this->curr_ = this->curr_->prev_; From 117bcac2bf19155a7bf535a7ee20fc67042fa364 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 19 Jun 2023 16:07:05 +0200 Subject: [PATCH 172/445] No need for a base_shm_id when we change the cleanup * ACE/ace/Shared_Memory_Pool.cpp: * ACE/ace/Shared_Memory_Pool.h: --- ACE/ace/Shared_Memory_Pool.cpp | 69 +++++++++++++--------------------- ACE/ace/Shared_Memory_Pool.h | 7 ---- 2 files changed, 27 insertions(+), 49 deletions(-) diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index 2de8b12934b41..fd9a5a2e4689d 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -345,7 +345,6 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, 0); // This implementation doesn't care if we don't get the key we want... - this->base_shm_id_ = shmid; this->shm_addr_table_[0] = ACE_OS::shmat (shmid, reinterpret_cast (this->shm_addr_table_[0]), 0); if (this->shm_addr_table_[0] == reinterpret_cast (-1)) @@ -376,7 +375,6 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes, st[0].key_ = this->base_shm_key_; st[0].shmid_ = shmid; st[0].used_ = 1; - base_shm_id_ = shmid; for (size_t counter = 1; // Skip over the first entry... counter < this->max_segments_; @@ -402,31 +400,40 @@ ACE_Shared_Memory_Pool::release (int destroy) int result = 0; + // At the moment we have attached any segments we have to release/destroy these if (this->shm_addr_table_[0]) - { - SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); - - // Release the shared memory segments except the first segment, there - // we store the shared memory table, so we don't destroy this here - // yet - for (size_t counter = 1; // Skip over the first entry... - counter < this->max_segments_; - counter++) { - if (st[counter].used_ == 1) + // The shared memory table is store in segment[0] + SHM_TABLE *st = reinterpret_cast (this->shm_addr_table_[0]); + + // Detach the mapped shared memory segments in reverse order. + // We store the shared memory table in segment[0], so we have to destroy that + // as last + size_t counter = this->max_segments_; + while (counter > 0) { - // Detach the shared memory segment from our address space - if (ACE_OS::shmdt (shm_addr_table_[counter]) == -1) + --counter; + + // Get the shared memory id and used flag on the stack as we can't read the shared memory + // anymore after we detached it + int const shmid = st[counter].shmid_; + int const used = st[counter].used_; + + // When we have an address attached for this segment we have to detach it + if (this->shm_addr_table_[counter]) { - result = -1; + if (ACE_OS::shmdt (shm_addr_table_[counter]) == -1) + { + result = -1; + } + this->shm_addr_table_[counter] = nullptr; } - shm_addr_table_[counter] = nullptr; - // When we are asked to destroy the shared memory we instruct - // the OS to release the related segment - if (destroy == 1) + // When the segment is used and we are asked to destroy it we instruct the + // OS to release it + if (destroy == 1 && used == 1) { - if (ACE_OS::shmctl (st[counter].shmid_, IPC_RMID, 0) == -1) + if (ACE_OS::shmctl (shmid, IPC_RMID, 0) == -1) { result = -1; } @@ -434,28 +441,6 @@ ACE_Shared_Memory_Pool::release (int destroy) } } - // Detach the base shared memory segment from our address space - // when it hasn't been detached yet - if (ACE_OS::shmdt (shm_addr_table_[0]) == -1) - { - result = -1; - } - this->shm_addr_table_[0] = nullptr; - } - - // Only when we are asked to destroy the shared memory we destroy - // the base segment, that contains all the shared memory id's - if (destroy == 1 && this->base_shm_id_ != 0) - { - // Instruct the OS to release this base segment - if (ACE_OS::shmctl (this->base_shm_id_, IPC_RMID, 0) == -1) - { - result = -1; - } - - this->base_shm_id_ = 0; - } - return result; } diff --git a/ACE/ace/Shared_Memory_Pool.h b/ACE/ace/Shared_Memory_Pool.h index ee0e503adb4dd..0d2aca6ef1d0b 100644 --- a/ACE/ace/Shared_Memory_Pool.h +++ b/ACE/ace/Shared_Memory_Pool.h @@ -163,10 +163,6 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// Small table with the addresses of the shared memory segments mapped /// into this address space. We need these addresses to call shmdt at /// the release. - /// shm_addr_table_[0] is the base address of the shared memory segment - /// If this has the value of nullptr then the OS is free to select any address, - /// otherwise this value is what the OS must try to use to map the shared memory - /// segment. std::unique_ptr shm_addr_table_; /// File permissions to use when creating/opening a segment. @@ -184,9 +180,6 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// Base shared memory key for the segment. key_t base_shm_key_; - /// Base shared memory id - int base_shm_id_ {}; - /// Find the segment that contains the @a searchPtr virtual int find_seg (const void *const searchPtr, ACE_OFF_T &offset, From 62ef18910774b1fac1d61a93752b6209ebb22674 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 19 Jun 2023 16:11:00 +0200 Subject: [PATCH 173/445] Layout change * ACE/ace/Malloc_T.cpp: --- ACE/ace/Malloc_T.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ACE/ace/Malloc_T.cpp b/ACE/ace/Malloc_T.cpp index eb6613457d9ec..8f1467423601a 100644 --- a/ACE/ace/Malloc_T.cpp +++ b/ACE/ace/Malloc_T.cpp @@ -1125,8 +1125,7 @@ ACE_Malloc_LIFO_Iterator_T::advance () return this->curr_ != 0; while (this->curr_ != 0 - && std::strcmp (this->name_, - this->curr_->name ()) != 0) + && std::strcmp (this->name_, this->curr_->name ()) != 0) this->curr_ = this->curr_->next_; return this->curr_ != 0; @@ -1221,8 +1220,7 @@ ACE_Malloc_FIFO_Iterator_T::advance () return this->curr_ != 0; while (this->curr_ != 0 - && std::strcmp (this->name_, - this->curr_->name ()) != 0) + && std::strcmp (this->name_, this->curr_->name ()) != 0) this->curr_ = this->curr_->prev_; return this->curr_ != 0; From 9821bb3bb8bcb78ced6fab55aaff9501b0ad9157 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 19 Jun 2023 16:20:36 +0200 Subject: [PATCH 174/445] Doxygen fix * ACE/ace/Malloc_T.h: --- ACE/ace/Malloc_T.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/Malloc_T.h b/ACE/ace/Malloc_T.h index 62e9c678a34cc..62775b798cbdb 100644 --- a/ACE/ace/Malloc_T.h +++ b/ACE/ace/Malloc_T.h @@ -487,7 +487,7 @@ class ACE_Malloc_T /// Release ref counter. /// @retval 0 Success - /// @retval -1 Failure to missing control block + /// @retval -1 Failure due to missing control block /// @retval >0 Memory not release because refcount is not zero int release (int close = 0); From d971b4b29eaadcd6cb65e1f0665ea174c0df4b4b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 20 Jun 2023 08:05:44 +0200 Subject: [PATCH 175/445] Update ACE/ace/Shared_Memory_Pool.cpp Co-authored-by: Adam Mitz --- ACE/ace/Shared_Memory_Pool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index fd9a5a2e4689d..efc4ba5cc1ecc 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -422,7 +422,7 @@ ACE_Shared_Memory_Pool::release (int destroy) // When we have an address attached for this segment we have to detach it if (this->shm_addr_table_[counter]) { - if (ACE_OS::shmdt (shm_addr_table_[counter]) == -1) + if (ACE_OS::shmdt (this->shm_addr_table_[counter]) == -1) { result = -1; } From 3b4af688618b118f84a6e6e63630415668fe80aa Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 20 Jun 2023 13:01:41 +0200 Subject: [PATCH 176/445] Add fix to ACE_Shared_Memory_Pool * ACE/NEWS: --- ACE/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index f4fcdd4e11cfe..84757653c0c65 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,8 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 ==================================================== +. Fixed shared memory leak by ACE_Shared_Memory_Pool + USER VISIBLE CHANGES BETWEEN ACE-7.0.11 and ACE-7.1.0 ===================================================== From ab6ab4798afb654de5fea605334a0436742c9ec7 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 21 Jun 2023 09:15:54 +0200 Subject: [PATCH 177/445] Update NEWS --- TAO/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TAO/NEWS b/TAO/NEWS index 0039fcf71b6fd..8352b393b2103 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,6 +1,8 @@ USER VISIBLE CHANGES BETWEEN TAO-3.1.0 and TAO-3.1.1 ==================================================== +- Removed deprecated -ORBResources flag + USER VISIBLE CHANGES BETWEEN TAO-3.0.11 and TAO-3.1.0 ===================================================== From 395f5e53709aa2bee45de13d66e5a0706cf82dad Mon Sep 17 00:00:00 2001 From: "Justin R. Wilson" Date: Wed, 21 Jun 2023 11:28:26 -0500 Subject: [PATCH 178/445] `ACE_INET_Addr::set` errantly succeeds when ACE_LACKS_GETSERVBYNAME Problem ------- Calling `set("1.2.3.4")` on an ACE_INET_Addr eventually tries to part it as a port name. When `ACE_LACKS_GETSERVBYNAME`, this succeeds returning port number 0 with the reset address. When port names are not expected, this breaks a useful idiom of parsing addresses that may or may not contain port numbers: ACE_INET_Addr addr; if (addr.set(x) == 0) { // Success, address contained a port number } else if (addr.set(u_short(0), x) == 0) { // Success, address did not contain a port number. } else { // Fail } Solution -------- Return -1 for the port number when `ACE_LACKS_GETSERVBYNAME`. --- ACE/ace/INET_Addr.cpp | 3 +-- ACE/tests/INET_Addr_Test.cpp | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/ACE/ace/INET_Addr.cpp b/ACE/ace/INET_Addr.cpp index 58140d71ad428..25a1fb5d74fb7 100644 --- a/ACE/ace/INET_Addr.cpp +++ b/ACE/ace/INET_Addr.cpp @@ -468,12 +468,11 @@ static int get_port_number_from_name (const char port_name[], } // We try to resolve port number from its name. + port_number = -1; #if defined (ACE_LACKS_GETSERVBYNAME) - port_number = 0; ACE_UNUSED_ARG (port_name); ACE_UNUSED_ARG (protocol); #else - port_number = -1; servent sentry; ACE_SERVENT_DATA buf; servent *sp = ACE_OS::getservbyname_r (port_name, diff --git a/ACE/tests/INET_Addr_Test.cpp b/ACE/tests/INET_Addr_Test.cpp index 2a7e69a51bf91..b74c8b2184acd 100644 --- a/ACE/tests/INET_Addr_Test.cpp +++ b/ACE/tests/INET_Addr_Test.cpp @@ -158,6 +158,43 @@ static bool test_multiple () return success; } +static bool test_port_names() +{ + bool success = true; + + ACE_INET_Addr addr; + +#if defined (ACE_LACKS_GETSERVBYNAME) + // Since we don't have getservbyname, the call to set should fail. + // Check that the call does in fact fail. + if (addr.set("telnet") == 0) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("set with 'telnet' succeeded (expected failure)\n"))); + success = false; + } +#else + if (addr.set("telnet") != 0) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("set with 'telnet' failed (expected success)\n"))); + success = false; + } + + if (addr != ACE_INET_Addr("0.0.0.0:23")) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("set with 'telnet' failed to yield correct address\n"))); + success = false; + } +#endif /* ACE_LACKS_GETSERVBYNAME */ + + if (addr.set("not a port name") == 0) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("set with 'not a port name' succeeded (expected failure)\n"))); + success = false; + } + + return success; +} + struct Address { const char* name; bool loopback; @@ -561,6 +598,9 @@ int run_main (int, ACE_TCHAR *[]) status = 1; } + if (!test_port_names ()) + status = 1; + ACE_END_TEST; return status; From 77d104dfe850c53aa4395cedad65fe635bf1d13e Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Thu, 22 Jun 2023 21:32:51 -0500 Subject: [PATCH 179/445] shm_addr_table_ needs to be initialized after max_segments_ is known --- ACE/ace/Shared_Memory_Pool.cpp | 8 +++----- ACE/ace/Shared_Memory_Pool.h | 12 ++++++------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index efc4ba5cc1ecc..675e93ffadb46 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -227,19 +227,17 @@ ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool ( const ACE_TCHAR *backing_store_name, const OPTIONS *options) : file_perms_ (ACE_DEFAULT_FILE_PERMS), - max_segments_ (ACE_DEFAULT_MAX_SEGMENTS), + max_segments_ (options ? options->max_segments_ : ACE_DEFAULT_MAX_SEGMENTS), minimum_bytes_ (0), - segment_size_ (ACE_DEFAULT_SEGMENT_SIZE) + segment_size_ (ACE_DEFAULT_SEGMENT_SIZE), + shm_addr_table_ (std::make_unique (this->max_segments_)) { ACE_TRACE ("ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool"); - this->shm_addr_table_ = std::make_unique(this->max_segments_); - // Only change the defaults if options != nullptr. if (options) { this->shm_addr_table_[0] = reinterpret_cast (const_cast (options->base_addr_)); - this->max_segments_ = options->max_segments_; this->file_perms_ = options->file_perms_; this->minimum_bytes_ = options->minimum_bytes_; this->segment_size_ = options->segment_size_; diff --git a/ACE/ace/Shared_Memory_Pool.h b/ACE/ace/Shared_Memory_Pool.h index 0d2aca6ef1d0b..325885b19540d 100644 --- a/ACE/ace/Shared_Memory_Pool.h +++ b/ACE/ace/Shared_Memory_Pool.h @@ -160,16 +160,11 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler int used_; }; - /// Small table with the addresses of the shared memory segments mapped - /// into this address space. We need these addresses to call shmdt at - /// the release. - std::unique_ptr shm_addr_table_; - /// File permissions to use when creating/opening a segment. size_t file_perms_; /// Number of shared memory segments in the SHM_TABLE table. - size_t max_segments_; + size_t const max_segments_; /// What the minimum bytes of the initial segment should be. ACE_OFF_T minimum_bytes_; @@ -180,6 +175,11 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler /// Base shared memory key for the segment. key_t base_shm_key_; + /// Small table with the addresses of the shared memory segments mapped + /// into this address space. We need these addresses to call shmdt at + /// the release. + std::unique_ptr const shm_addr_table_; + /// Find the segment that contains the @a searchPtr virtual int find_seg (const void *const searchPtr, ACE_OFF_T &offset, From 3579743a175b284e56d12064e8437f1f51f3a9a5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 23 Jun 2023 08:16:13 +0200 Subject: [PATCH 180/445] Make more members const * ACE/ace/Shared_Memory_Pool.cpp: * ACE/ace/Shared_Memory_Pool.h: --- ACE/ace/Shared_Memory_Pool.cpp | 9 +++------ ACE/ace/Shared_Memory_Pool.h | 6 +++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/ACE/ace/Shared_Memory_Pool.cpp b/ACE/ace/Shared_Memory_Pool.cpp index 675e93ffadb46..10e3ba4c06700 100644 --- a/ACE/ace/Shared_Memory_Pool.cpp +++ b/ACE/ace/Shared_Memory_Pool.cpp @@ -226,10 +226,10 @@ ACE_Shared_Memory_Pool::handle_signal (int, siginfo_t *siginfo, ucontext_t *) ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool ( const ACE_TCHAR *backing_store_name, const OPTIONS *options) - : file_perms_ (ACE_DEFAULT_FILE_PERMS), + : file_perms_ (options ? options->file_perms_ : ACE_DEFAULT_FILE_PERMS), max_segments_ (options ? options->max_segments_ : ACE_DEFAULT_MAX_SEGMENTS), - minimum_bytes_ (0), - segment_size_ (ACE_DEFAULT_SEGMENT_SIZE), + minimum_bytes_ (options ? options->minimum_bytes_ : 0), + segment_size_ (options ? options->segment_size_ : ACE_DEFAULT_SEGMENT_SIZE), shm_addr_table_ (std::make_unique (this->max_segments_)) { ACE_TRACE ("ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool"); @@ -238,9 +238,6 @@ ACE_Shared_Memory_Pool::ACE_Shared_Memory_Pool ( if (options) { this->shm_addr_table_[0] = reinterpret_cast (const_cast (options->base_addr_)); - this->file_perms_ = options->file_perms_; - this->minimum_bytes_ = options->minimum_bytes_; - this->segment_size_ = options->segment_size_; } #ifndef ACE_HAS_SYSV_IPC diff --git a/ACE/ace/Shared_Memory_Pool.h b/ACE/ace/Shared_Memory_Pool.h index 325885b19540d..5ee73766426cd 100644 --- a/ACE/ace/Shared_Memory_Pool.h +++ b/ACE/ace/Shared_Memory_Pool.h @@ -161,16 +161,16 @@ class ACE_Export ACE_Shared_Memory_Pool : public ACE_Event_Handler }; /// File permissions to use when creating/opening a segment. - size_t file_perms_; + size_t const file_perms_; /// Number of shared memory segments in the SHM_TABLE table. size_t const max_segments_; /// What the minimum bytes of the initial segment should be. - ACE_OFF_T minimum_bytes_; + ACE_OFF_T const minimum_bytes_; /// Shared memory segment size. - size_t segment_size_; + size_t const segment_size_; /// Base shared memory key for the segment. key_t base_shm_key_; From 8640c0bc3e68c56b1e06b0691a4971256dc25af2 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 23 Jun 2023 11:58:33 +0200 Subject: [PATCH 181/445] Removed redundant c-style cast * TAO/TAO_IDL/be/be_scope.cpp: --- TAO/TAO_IDL/be/be_scope.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_scope.cpp b/TAO/TAO_IDL/be/be_scope.cpp index cdbf44f963503..d994803b7b182 100644 --- a/TAO/TAO_IDL/be/be_scope.cpp +++ b/TAO/TAO_IDL/be/be_scope.cpp @@ -95,7 +95,7 @@ be_scope::decl () case AST_Decl::NT_finder: return dynamic_cast (this); default: - return (be_decl *)nullptr; + return nullptr; } } From ce3d80c7193755025f34d5b20e608517b5e84664 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 28 Jun 2023 09:20:42 +0200 Subject: [PATCH 182/445] Update NEWS --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 84757653c0c65..ac502baa4154c 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -3,6 +3,9 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 . Fixed shared memory leak by ACE_Shared_Memory_Pool +. Fixed ACE_INET_Addr::set when ACE_LACKS_GETSERVBYNAME has + been defined + USER VISIBLE CHANGES BETWEEN ACE-7.0.11 and ACE-7.1.0 ===================================================== From 143b06dc251a862287877fed90e8f2393a263d2f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 28 Jun 2023 11:39:15 +0200 Subject: [PATCH 183/445] ACE+TAO-7_1_1 --- ACE/ChangeLogs/ACE-7_1_1 | 352 ++++++++++++++++++++++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 6 +- ACE/debian/control | 62 +++---- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-3_1_1 | 73 ++++++++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 6 +- 10 files changed, 469 insertions(+), 44 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-7_1_1 create mode 100644 TAO/ChangeLogs/TAO-3_1_1 diff --git a/ACE/ChangeLogs/ACE-7_1_1 b/ACE/ChangeLogs/ACE-7_1_1 new file mode 100644 index 0000000000000..e8f3d9e80b69d --- /dev/null +++ b/ACE/ChangeLogs/ACE-7_1_1 @@ -0,0 +1,352 @@ +commit ce3d80c7193755025f34d5b20e608517b5e84664 +Author: Johnny Willemsen +Date: Wed Jun 28 09:20:42 2023 +0200 + + Update NEWS + +commit a65d91cdc463e7cf6cf509138956b2d38c5e5727 +Merge: 90c46e2c3be 395f5e53709 +Author: Justin Wilson +Date: Tue Jun 27 09:21:17 2023 -0500 + + Merge pull request #2080 from jrw972/port0-ace-lacks-getservbyname + + `ACE_INET_Addr::set` errantly succeeds when ACE_LACKS_GETSERVBYNAME + +commit 3579743a175b284e56d12064e8437f1f51f3a9a5 +Author: Johnny Willemsen +Date: Fri Jun 23 08:16:13 2023 +0200 + + Make more members const + + * ACE/ace/Shared_Memory_Pool.cpp: + * ACE/ace/Shared_Memory_Pool.h: + +commit 77d104dfe850c53aa4395cedad65fe635bf1d13e +Author: Adam Mitz +Date: Thu Jun 22 21:32:51 2023 -0500 + + shm_addr_table_ needs to be initialized after max_segments_ is known + +commit 395f5e53709aa2bee45de13d66e5a0706cf82dad +Author: Justin R. Wilson +Date: Wed Jun 21 11:28:26 2023 -0500 + + `ACE_INET_Addr::set` errantly succeeds when ACE_LACKS_GETSERVBYNAME + + Problem + ------- + + Calling `set("1.2.3.4")` on an ACE_INET_Addr eventually tries to part + it as a port name. When `ACE_LACKS_GETSERVBYNAME`, this succeeds + returning port number 0 with the reset address. + + When port names are not expected, this breaks a useful idiom of + parsing addresses that may or may not contain port numbers: + + ACE_INET_Addr addr; + if (addr.set(x) == 0) { + // Success, address contained a port number + } else if (addr.set(u_short(0), x) == 0) { + // Success, address did not contain a port number. + } else { + // Fail + } + + Solution + -------- + + Return -1 for the port number when `ACE_LACKS_GETSERVBYNAME`. + +commit 3b4af688618b118f84a6e6e63630415668fe80aa +Author: Johnny Willemsen +Date: Tue Jun 20 13:01:41 2023 +0200 + + Add fix to ACE_Shared_Memory_Pool + + * ACE/NEWS: + +commit 49fe3a9ff8e07ba85f6a87179a48f6b4651850e7 +Merge: d971b4b29ea 32ea782b6cf +Author: Johnny Willemsen +Date: Tue Jun 20 08:06:02 2023 +0200 + + Merge branch 'master' into jwi-shmem + +commit d971b4b29eaadcd6cb65e1f0665ea174c0df4b4b +Author: Johnny Willemsen +Date: Tue Jun 20 08:05:44 2023 +0200 + + Update ACE/ace/Shared_Memory_Pool.cpp + + Co-authored-by: Adam Mitz + +commit 9821bb3bb8bcb78ced6fab55aaff9501b0ad9157 +Author: Johnny Willemsen +Date: Mon Jun 19 16:20:36 2023 +0200 + + Doxygen fix + + * ACE/ace/Malloc_T.h: + +commit 62ef18910774b1fac1d61a93752b6209ebb22674 +Author: Johnny Willemsen +Date: Mon Jun 19 16:11:00 2023 +0200 + + Layout change + + * ACE/ace/Malloc_T.cpp: + +commit 117bcac2bf19155a7bf535a7ee20fc67042fa364 +Author: Johnny Willemsen +Date: Mon Jun 19 16:07:05 2023 +0200 + + No need for a base_shm_id when we change the cleanup + * ACE/ace/Shared_Memory_Pool.cpp: + * ACE/ace/Shared_Memory_Pool.h: + +commit ec7265778d3c83f28171a92a720452e70a155f65 +Author: Johnny Willemsen +Date: Mon Jun 19 14:43:28 2023 +0200 + + Use std::strcmp + + * ACE/ace/Malloc_T.cpp: + +commit a2566cf5e0cc39ec85231f26c39447d70ccff2f6 +Author: Johnny Willemsen +Date: Mon Jun 19 14:43:17 2023 +0200 + + Document return values + + * ACE/ace/Malloc_T.h: + +commit 22cf00e2a6cebbad7587ab85b873b02388bac82d +Author: Johnny Willemsen +Date: Sat Jun 17 19:25:39 2023 +0200 + + Use as egrep is obsolescent + +commit d7c2886ae5c93e52f787e7b2758112353d5c45c1 +Merge: 63cb68e694e 9b773291b4c +Author: Johnny Willemsen +Date: Fri Jun 16 10:22:37 2023 +0200 + + Merge branch 'jwi-shmem' of https://github.com/DOCGroup/ACE_TAO into jwi-shmem + +commit 63cb68e694e9b942516c8480c5241574485d5500 +Author: Johnny Willemsen +Date: Fri Jun 16 10:22:17 2023 +0200 + + Make used_ again an int, not cause some unexpected interoperability with older ACE versions + + * ACE/ace/Shared_Memory_Pool.cpp: + * ACE/ace/Shared_Memory_Pool.h: + +commit 9b773291b4c1ed20b2783f8e0b4af9da7a9bf68a +Author: Johnny Willemsen +Date: Thu Jun 15 14:11:35 2023 +0200 + + Removed empty lines + + * ACE/tests/SV_Shared_Memory_Test.cpp: + +commit 680dcb6dc233f5e9d807de2f0e2421a702c958ac +Author: Johnny Willemsen +Date: Thu Jun 15 14:11:25 2023 +0200 + + Fixed typo + + * ACE/examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp: + +commit 1e43fa6691d8b12ca12f58a2f54f972dd796fa11 +Author: Johnny Willemsen +Date: Thu Jun 15 13:28:29 2023 +0200 + + Removed debug lines + + * ACE/ace/Shared_Memory_Pool.cpp: + +commit c2c58f6805ee69ab70912d4b6463c466bc502ac2 +Author: Johnny Willemsen +Date: Thu Jun 15 13:24:29 2023 +0200 + + Reworked the shared memory pool implementation in order to detach from shared memory segments when we don't use them anymore. At the moment the memory pool is destroyed also let the OS release all resources + + * ACE/ace/Shared_Memory_Pool.cpp: + * ACE/ace/Shared_Memory_Pool.h: + +commit 6c593fc0986a8398b1c2fa1bb9069986a962dd5d +Author: Johnny Willemsen +Date: Thu Jun 15 11:24:12 2023 +0200 + + Call shmdt when we only need to release the shared memory + + * ACE/ace/Malloc_T.cpp: + * ACE/ace/Malloc_T.inl: + * ACE/ace/Mem_Map.cpp: + * ACE/ace/Shared_Memory.h: + * ACE/ace/Shared_Memory_MM.h: + * ACE/ace/Shared_Memory_Pool.cpp: + * ACE/ace/Shared_Memory_Pool.h: + +commit 483414737903481da9cf63b58ed3eb6c57f4d0f9 +Author: Johnny Willemsen +Date: Thu Jun 15 11:23:39 2023 +0200 + + Use nullptr + + * ACE/ace/MMAP_Memory_Pool.cpp: + +commit 1b6da609c0e15725dba3aa70ac097117f9d5769f +Author: Johnny Willemsen +Date: Thu Jun 15 08:14:42 2023 +0200 + + Layout changes + + * ACE/ace/SV_Shared_Memory.h: + +commit ab3b192fcda5715a0c92e5627acdeb4e8f71911c +Merge: 874ceda869d 2d267693fc0 +Author: Johnny Willemsen +Date: Fri Apr 7 12:37:51 2023 +0200 + + Merge pull request #2069 from jwillemsen/jwi-mqtest + + Test simplifications + +commit 2d267693fc0c39c56fac87d7f2b6ce00885942a9 +Merge: aef8140bea1 9729442488f +Author: Johnny Willemsen +Date: Fri Apr 7 08:27:27 2023 +0200 + + Merge branch 'master' into jwi-mqtest + +commit d1eab7db50121338cf719a4a4fddce59414487b4 +Author: Johnny Willemsen +Date: Fri Apr 7 08:27:03 2023 +0200 + + Fixed trailing whitespace + + * ACE/tests/Message_Queue_Test_Ex.cpp: + +commit aef8140bea1a6fc2d58631e2ad16f81a5f447018 +Author: Johnny Willemsen +Date: Fri Apr 7 08:26:23 2023 +0200 + + Test changes + + * ACE/tests/Message_Queue_Test_Ex.cpp: + * ACE/tests/Message_Queue_Test_Ex.h: + +commit a78936549748c2dbb9e751d4d21baa532228f1df +Author: Johnny Willemsen +Date: Fri Apr 7 08:23:22 2023 +0200 + + Update Message_Queue_Test_Ex.cpp + +commit a3a7c2a50383ebf00534c28014704ce57e092821 +Merge: 5625244fd7b b50aba0fdce +Author: Erik Sohns +Date: Thu Apr 6 11:09:11 2023 +0200 + + Merge branch 'master' into message_queue_ex_get_queue + +commit 5625244fd7bb77bafabce28fdec790f51ef50080 +Author: Erik Sohns +Date: Thu Apr 6 11:08:34 2023 +0200 + + more review comments + +commit 761e24b54d7fda41ed58a6e2f41ba905e43bf3d9 +Merge: 3e44fb91cf7 9e18d338ec5 +Author: Erik Sohns +Date: Wed Apr 5 17:37:54 2023 +0200 + + Merge branch 'message_queue_ex_get_queue' of https://github.com/esohns/ACE_TAO into message_queue_ex_get_queue + +commit 3e44fb91cf724aeb48b38169482a4878de316afc +Author: Erik Sohns +Date: Wed Apr 5 17:37:23 2023 +0200 + + integrated review comments + +commit e1432d22fcf52f941e587e8e8b5f291d5a08ff9c +Author: Johnny Willemsen +Date: Wed Mar 29 15:55:22 2023 +0200 + + Mention that nullptr should be used + + * ACE/bin/fuzz.pl: + +commit a1480384cc3233889d1f043fcd428c627843d272 +Author: Johnny Willemsen +Date: Fri Mar 3 11:05:30 2023 +0100 + + Add space to resolve compiler warnings on condaforge + + * ACE/ace/OS_NS_Thread.inl: + * ACE/ace/OS_NS_unistd.inl: + +commit ed1a2e35ca124c5697f32527ad286e22e9f5877b +Author: Johnny Willemsen +Date: Fri Mar 3 09:38:39 2023 +0100 + + Make ACE 7.1.0 and TAO 3.1.0 public available + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + +commit 9e18d338ec598e1a8da6d32a0fba5a20c76978f7 +Merge: 8b6ad82dc91 8ab31e3e5bb +Author: Erik Sohns +Date: Sun Jan 22 17:38:34 2023 +0100 + + Merge branch 'master' into message_queue_ex_get_queue + +commit 8b6ad82dc91f728cea2c9e86a17e5969a3338fcc +Author: Erik Sohns +Date: Mon Jan 9 19:38:43 2023 +0100 + + 0 --> NULL --> nullptr + +commit e24acc256b9af44bda969d392ec46ddfec28c5a5 +Merge: 22be043fb46 a667874d6a6 +Author: Erik Sohns +Date: Mon Jan 9 19:13:15 2023 +0100 + + Merge branch 'message_queue_ex_get_queue' of https://github.com/esohns/ACE_TAO into message_queue_ex_get_queue + +commit 22be043fb46aff505eea86e66fe19bf5249f1ad3 +Author: Erik Sohns +Date: Mon Jan 9 19:12:43 2023 +0100 + + address some static code analysis issues + +commit a667874d6a61052c898deeb6f393ac33973af68f +Merge: a905022c2d5 1d0c1af12a5 +Author: Erik Sohns +Date: Mon Jan 9 18:13:08 2023 +0100 + + Merge branch 'master' into message_queue_ex_get_queue + +commit a905022c2d552261e6d60c497140b5ff7669dd4d +Author: Erik Sohns +Date: Mon Jan 9 18:02:05 2023 +0100 + + added API comments and unit test case as requested + +commit e4bf4867d9a36e7b155cd9358c97811ce599f16c +Author: Erik Sohns +Date: Sat Jan 7 19:52:20 2023 +0100 + + removed constness + +commit 65a391a415e559663c43077b90b70de225b1d7ea +Author: Erik Sohns +Date: Sat Jan 7 16:43:24 2023 +0100 + + support accessing the underlying queue (e.g. for iteration) diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index 8afc475100eff..6dd9c57d3c108 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 7.1.0 + ACE VERSION: 7.1.1 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index f3a2b95ce7261..fc4b7daaccccc 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 7.1.0, released Fri Mar 03 09:14:01 CET 2023 +This is ACE version 7.1.1, released Wed Jun 28 11:39:14 CEST 2023 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index 59cc14bdfc22e..3af2e82cd021b 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -4,7 +4,7 @@ #define ACE_MAJOR_VERSION 7 #define ACE_MINOR_VERSION 1 -#define ACE_MICRO_VERSION 0 -#define ACE_VERSION "7.1.0" -#define ACE_VERSION_CODE 0x70100 +#define ACE_MICRO_VERSION 1 +#define ACE_VERSION "7.1.1" +#define ACE_VERSION_CODE 0x70101 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index 04828b116d55e..1848732d186df 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -27,7 +27,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-7.1.0 +Package: libace-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -45,7 +45,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-7.1.0 (= ${binary:Version}), ${misc:Depends} +Depends: libace-7.1.1 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkg-config Replaces: mpc-ace (<< 5.6.3-4) Description: C++ network programming framework - development files @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-7.1.0 +Package: libace-ssl-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -73,12 +73,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-7.1.0 +Package: libace-rmcast-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -92,12 +92,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-7.1.0 +Package: libace-tmcast-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -111,12 +111,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-7.1.0 +Package: libace-htbp-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -130,12 +130,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-7.1.0 +Package: libace-inet-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -146,15 +146,15 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-7.1.0 +Package: libace-inet-ssl-7.1.1 Architecture: any Section: libs -Depends: libace-inet-7.1.0, libace-ssl-7.1.0, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-7.1.1, libace-ssl-7.1.1, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -163,7 +163,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-7.1.0 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-7.1.1 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -180,7 +180,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-7.1.0 +Package: libacexml-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -196,12 +196,12 @@ Package: libacexml-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libacexml-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-7.1.0 +Package: libace-xml-utils-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -215,12 +215,12 @@ Package: libace-xml-utils-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libace-xml-utils-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-7.1.0 +Package: libkokyu-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -234,12 +234,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-7.1.0 +Package: libace-xtreactor-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +257,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-7.1.0 +Package: libace-tkreactor-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +281,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-7.1.0 +Package: libace-flreactor-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -304,12 +304,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-7.1.0 +Package: libace-foxreactor-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -326,7 +326,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -343,7 +343,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-7.1.0 +Package: libnetsvcs-7.1.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -357,7 +357,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-7.1.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index fdcdbb4491d47..9236c10c38a38 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 7.1.0 -%define TAOVER 3.1.0 +%define ACEVER 7.1.1 +%define TAOVER 3.1.1 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-3_1_1 b/TAO/ChangeLogs/TAO-3_1_1 new file mode 100644 index 0000000000000..b36fa5008368e --- /dev/null +++ b/TAO/ChangeLogs/TAO-3_1_1 @@ -0,0 +1,73 @@ +commit 90c46e2c3bee9494dd6b9082720ef29ca2cacc55 +Merge: a5c5e60e6cf 8640c0bc3e6 +Author: Johnny Willemsen +Date: Fri Jun 23 12:40:29 2023 +0200 + + Merge pull request #2084 from jwillemsen/jwi-taoidlcast + + Removed redundant c-style cast + +commit 8640c0bc3e68c56b1e06b0691a4971256dc25af2 +Author: Johnny Willemsen +Date: Fri Jun 23 11:58:33 2023 +0200 + + Removed redundant c-style cast + + * TAO/TAO_IDL/be/be_scope.cpp: + +commit ab6ab4798afb654de5fea605334a0436742c9ec7 +Author: Johnny Willemsen +Date: Wed Jun 21 09:15:54 2023 +0200 + + Update NEWS + +commit ab8e94dd74ad29a9f927fc177f99a2e0b6497ad7 +Merge: 09e9d76103a 1369b3773ff +Author: Johnny Willemsen +Date: Tue Mar 14 13:54:00 2023 +0100 + + Merge pull request #2063 from jwillemsen/jwi-amiargtypo + + Fixed typo in comment + +commit 1369b3773ffa4e9b2acdacb68c27050f359f0b8e +Author: Johnny Willemsen +Date: Tue Mar 14 11:10:20 2023 +0100 + + Fixed typo in comment + + * TAO/tao/Messaging/AMI_Arguments_Converter_Impl.cpp: + +commit 09e9d76103a637f8ce9ee49b24292317e33e2d77 +Merge: 1de7aa9a7e1 71bf5816be5 +Author: Johnny Willemsen +Date: Mon Mar 13 18:44:05 2023 +0100 + + Merge pull request #2062 from jwillemsen/jwi-orbresources + + Removed deprecated -ORBResources + +commit 71bf5816be5e2a83653887648f9cff03eef0655d +Author: Johnny Willemsen +Date: Mon Mar 13 10:47:11 2023 +0100 + + Removed redundant whitespace + + * TAO/tao/operation_details.h: + +commit 1ceebf2e295dfd342b8d9e725057350c894e230d +Author: Johnny Willemsen +Date: Mon Mar 13 10:46:59 2023 +0100 + + Removed deprecated -ORBResources + + * TAO/orbsvcs/tests/AVStreams/Multicast/components_svc.conf: + * TAO/tao/ORB_Core.cpp: + +commit 5f7f5729b3123c2f1c2874c6d560fba46a1749f1 +Author: Johnny Willemsen +Date: Fri Mar 3 16:12:20 2023 +0100 + + Prepare news file for next release + + * TAO/NEWS: diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index 9ed630e1ac152..f1604a85b5be9 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 3.1.0 - ACE VERSION: 7.1.0 + TAO VERSION: 3.1.1 + ACE VERSION: 7.1.1 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index c76a2bc2d6b95..cc1bd85a604d4 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 3.1.0, released Fri Mar 03 09:14:01 CET 2023 +This is TAO version 3.1.1, released Wed Jun 28 11:39:14 CEST 2023 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index 6a79f24d0eba3..fe55f21e64ad6 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -4,7 +4,7 @@ #define TAO_MAJOR_VERSION 3 #define TAO_MINOR_VERSION 1 -#define TAO_MICRO_VERSION 0 -#define TAO_VERSION "3.1.0" -#define TAO_VERSION_CODE 0x30100 +#define TAO_MICRO_VERSION 1 +#define TAO_VERSION "3.1.1" +#define TAO_VERSION_CODE 0x30101 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From f2ee1640940bf46f155352adf34f0bdbbcc6e8e0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 28 Jun 2023 12:02:01 +0200 Subject: [PATCH 184/445] Make ACE 7.1.1 and TAO 3.1.1 available * ACE/NEWS: * ACE/bin/copy-local-script.sh: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: * TAO/NEWS: --- ACE/NEWS | 3 + ACE/bin/copy-local-script.sh | 2 +- .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 64 +++++++++---------- ACE/etc/index.html | 1 + TAO/NEWS | 3 + 6 files changed, 41 insertions(+), 34 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index ac502baa4154c..9af0a7693f010 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN ACE-7.1.1 and ACE-7.1.2 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 ==================================================== diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index 1f78db60bab59..34f50086f73eb 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.1&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.2&/'` echo "Copying $i to $d" cp -ip $i $d done diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index c0ea5f7229070..c7862bad5436b 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2023_03_03; else olddate=$3; fi +if test -z $3; then olddate=2023_06_28; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index f6f2249e23544..20a57bcfeb5de 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,81 +90,81 @@

      Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

        -
      • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.0 and TAO 3.1.0 -(ACE+TAO x.1.0), please use the links below to download it.

        +

      • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.1 and TAO 3.1.1 +(ACE+TAO x.1.1), please use the links below to download it.

        - - - - - - - - - - - - - - -
        FilenameDescriptionFullSources only
        ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
        ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
        ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
        ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
        ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
        ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
        ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
        ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
        ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
        diff --git a/ACE/etc/index.html b/ACE/etc/index.html index 6cd8ffd21c499..3ed2caeb203a2 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

        ACE+TAO Documentation


        We do have the documentation for previous releases
          +
        • 7.1.1

        • 7.1.0

        • 7.0.11

        • 7.0.10

        • diff --git a/TAO/NEWS b/TAO/NEWS index 8352b393b2103..3956244c5d470 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN TAO-3.1.1 and TAO-3.1.2 +==================================================== + USER VISIBLE CHANGES BETWEEN TAO-3.1.0 and TAO-3.1.1 ==================================================== From 745299b61a507418606f328abfcda08da79c92b9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 7 Jul 2023 14:53:36 +0200 Subject: [PATCH 185/445] Use nullptr and no need to compare a pointer not equal to zero explicitly * TAO/TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: * TAO/TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp: * TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp: --- .../ami_handler_reply_stub_operation_cs.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp index 8be04af15e1ef..6c60187f5725a 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp @@ -177,7 +177,7 @@ be_visitor_operation_ami_handler_reply_stub_operation_cs::visit_operation ( } else { - *os << ", 0"; + *os << ", nullptr"; } *os << "\n#endif /* TAO_HAS_INTERCEPTORS */" << be_uidt_nl diff --git a/TAO/TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp index 7a4e5274a17b0..ed33cec4a6c21 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp @@ -63,7 +63,7 @@ be_visitor_operation_exceptlist_cs::visit_operation (be_operation *node) } else { - *os << ", 0"; + *os << ", nullptr"; } *os << "\n#endif /* TAO_HAS_INTERCEPTORS */" << be_uidt_nl diff --git a/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp index 1bfee6eed039f..9a109a74ec19d 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp @@ -352,10 +352,10 @@ be_visitor_operation_upcall_command_ss::gen_upcall ( } os << be_nl - << "TAO::ExceptionHolder *tao_excepholder = " << be_idt_nl + << "TAO::ExceptionHolder *tao_excepholder = " << "dynamic_cast (arg_" << index - << ");" << be_uidt_nl - << "if (tao_excepholder != 0)" << be_idt_nl + << ");" << be_nl + << "if (tao_excepholder)" << be_idt_nl << "{" << be_idt_nl << "tao_excepholder->set_exception_data " "(_tao_" << op_name << "_exceptiondata, " << exceptions_count << ");" << be_uidt_nl From 2b705cfa15b9961e1465c1be31fda51ed5b24eb8 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 14 Aug 2023 10:29:19 +0200 Subject: [PATCH 186/445] Fixed typo in comment * TAO/tao/TimeBase.pidl: --- TAO/tao/TimeBase.pidl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/tao/TimeBase.pidl b/TAO/tao/TimeBase.pidl index 4e12365871b67..a8ef1157458cc 100644 --- a/TAO/tao/TimeBase.pidl +++ b/TAO/tao/TimeBase.pidl @@ -50,10 +50,10 @@ module TimeBase /// The actual time TimeT time; - /// The lowest bound for innacuracy + /// The lowest bound for inaccuracy unsigned long inacclo; - /// The upper bound for the innacuracy + /// The upper bound for the inaccuracy unsigned short inacchi; /// @todo please document From 2564f45e06dbe5fffdbcd1f9459fce27c5ffaead Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 18 Aug 2023 13:44:05 -0400 Subject: [PATCH 187/445] Update TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp Co-authored-by: Fred Hornsey --- TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp index 6da71ee89543a..2c1f831d08150 100644 --- a/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp @@ -20,7 +20,7 @@ be_visitor_map_cs::be_visitor_map_cs (be_visitor_context *ctx) { } -int be_visitor_map_cs::visit_map (be_map *node) +int be_visitor_map_cs::visit_map (be_map *) { return 0; } From bbf82d182c0cc469f55ead4b14c2473218fab0e9 Mon Sep 17 00:00:00 2001 From: Tyler Date: Fri, 18 Aug 2023 13:44:10 -0400 Subject: [PATCH 188/445] Update TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp Co-authored-by: Fred Hornsey --- TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp index 0ef1eef53c7be..82757cb9f15b7 100644 --- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp +++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp @@ -2302,7 +2302,7 @@ ifr_adding_visitor::visit_sequence (AST_Sequence *node) } int -ifr_adding_visitor::visit_map (AST_Map *node) +ifr_adding_visitor::visit_map (AST_Map *) { ORBSVCS_ERROR_RETURN (( LM_ERROR, From b192a376446da1af90f068873b147c0b1fe25e29 Mon Sep 17 00:00:00 2001 From: ClausKlein Date: Tue, 22 Aug 2023 18:12:19 +0200 Subject: [PATCH 189/445] Replace std::unary_function<> with std::function<> (deprecated in C++11) and removed in C++17 Add missing #include Make the hack clear: respect review comment ace/Auto_Ptr.h must still include --- ACE/ace/Auto_Ptr.h | 11 +++++++++-- ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp | 2 +- .../orbsvcs/Event/ECG_CDR_Message_Receiver.cpp | 2 ++ TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp | 7 ++++--- TAO/tests/Any/Recursive/client.cpp | 2 +- TAO/tests/Bug_2804_Regression/client.cpp | 2 +- TAO/tests/Bug_2844_Regression/client.cpp | 2 +- TAO/tests/Bug_2918_Regression/client.cpp | 2 +- TAO/tests/Bug_3919_Regression/client.cpp | 2 +- 9 files changed, 21 insertions(+), 11 deletions(-) diff --git a/ACE/ace/Auto_Ptr.h b/ACE/ace/Auto_Ptr.h index 43b704e02bbf8..2ea646eb60eea 100644 --- a/ACE/ace/Auto_Ptr.h +++ b/ACE/ace/Auto_Ptr.h @@ -68,9 +68,16 @@ class ACE_Auto_Basic_Ptr ACE_END_VERSIONED_NAMESPACE_DECL +// NOTE: ACE7 and TAO3 require C++11 support or newer; jwillemsen commented on Jun 1, 2021 #if !defined (ACE_LACKS_AUTO_PTR) -#include -using std::auto_ptr; +# include + +# ifdef ACE_HAS_CPP17 +// NOTE: we must only use std::unique_ptr; CK +# else +// FIXME: we are still using std::auto_ptr; +# endif + #else /* !ACE_LACKS_AUTO_PTR */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp b/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp index e591a9b015931..61a46779914d2 100644 --- a/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp +++ b/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp @@ -375,7 +375,7 @@ dev_poll_reactor_factory () * * Reactor test execution functor. */ -struct Run_Test : public std::unary_function +struct Run_Test : public std::function { /// Function call operator overload. void operator() (reactor_factory_type factory) diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp index aca8953f5dce0..1e3cd5c23ab82 100644 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp @@ -8,6 +8,8 @@ #include "ace/ACE.h" #include "ace/OS_NS_string.h" +#include + #if !defined(__ACE_INLINE__) #include "orbsvcs/Event/ECG_CDR_Message_Receiver.inl" #endif /* __ACE_INLINE__ */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp b/TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp index b39aded25c992..82d21b7eb6f1d 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp @@ -7,6 +7,7 @@ #include #include +#include #include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -44,8 +45,8 @@ class TAO_Notify_Tracker TAO_Notify_Tracker(); ~TAO_Notify_Tracker(); - friend class std::auto_ptr< TAO_Notify_Tracker >; - static std::auto_ptr< TAO_Notify_Tracker > s_instance; + friend class std::unique_ptr< TAO_Notify_Tracker >; + static std::unique_ptr< TAO_Notify_Tracker > s_instance; mutable TAO_SYNCH_MUTEX lock_; typedef std::map EntityMap; EntityMap map_; @@ -133,7 +134,7 @@ TAO_Notify_Refcountable::_decr_refcnt () #if (TAO_NOTIFY_REFCOUNT_DIAGNOSTICS != 0) -std::auto_ptr< TAO_Notify_Tracker > TAO_Notify_Tracker::s_instance; +std::unique_ptr< TAO_Notify_Tracker > TAO_Notify_Tracker::s_instance; TAO_Notify_Tracker::TAO_Notify_Tracker() : id_counter_(0) diff --git a/TAO/tests/Any/Recursive/client.cpp b/TAO/tests/Any/Recursive/client.cpp index 142d5ac6e53dc..e030acbe37695 100644 --- a/TAO/tests/Any/Recursive/client.cpp +++ b/TAO/tests/Any/Recursive/client.cpp @@ -399,7 +399,7 @@ directly_recursive_valuetype_typecodefactory_test (CORBA::ORB_ptr /* orb */, * Test method invocation functor. */ template -struct Caller : public std::unary_function +struct Caller : public std::function { /// Constructor. Caller (CORBA::ORB_ptr o, Test::Hello_ptr h) diff --git a/TAO/tests/Bug_2804_Regression/client.cpp b/TAO/tests/Bug_2804_Regression/client.cpp index d852e043aa653..abee937b71120 100644 --- a/TAO/tests/Bug_2804_Regression/client.cpp +++ b/TAO/tests/Bug_2804_Regression/client.cpp @@ -97,7 +97,7 @@ recursive_union_test (CORBA::ORB_ptr /* orb */, * Test method invocation functor. */ template -struct Caller : public std::unary_function +struct Caller : public std::function { /// Constructor. Caller (CORBA::ORB_ptr o, Test::Hello_ptr h) diff --git a/TAO/tests/Bug_2844_Regression/client.cpp b/TAO/tests/Bug_2844_Regression/client.cpp index 29fe9fa32c282..7021b6ff0d991 100644 --- a/TAO/tests/Bug_2844_Regression/client.cpp +++ b/TAO/tests/Bug_2844_Regression/client.cpp @@ -96,7 +96,7 @@ nested_recursive_struct_test (CORBA::ORB_ptr /* orb */, * Test method invocation functor. */ template -struct Caller : public std::unary_function +struct Caller : public std::function { /// Constructor. Caller (CORBA::ORB_ptr o, Test::Hello_ptr h) diff --git a/TAO/tests/Bug_2918_Regression/client.cpp b/TAO/tests/Bug_2918_Regression/client.cpp index 14f608c2f68b3..7a4d6ed1b5e01 100644 --- a/TAO/tests/Bug_2918_Regression/client.cpp +++ b/TAO/tests/Bug_2918_Regression/client.cpp @@ -97,7 +97,7 @@ repeated_struct_test (CORBA::ORB_ptr /* orb */, * Test method invocation functor. */ template -struct Caller : public std::unary_function +struct Caller : public std::function { /// Constructor. Caller (CORBA::ORB_ptr o, Test::Hello_ptr h) diff --git a/TAO/tests/Bug_3919_Regression/client.cpp b/TAO/tests/Bug_3919_Regression/client.cpp index 959d9b79f0162..83e67ab411b6e 100644 --- a/TAO/tests/Bug_3919_Regression/client.cpp +++ b/TAO/tests/Bug_3919_Regression/client.cpp @@ -168,7 +168,7 @@ nested_recursive_typecode_test (CORBA::ORB_ptr /* orb */, * Test method invocation functor. */ template -struct Caller : public std::unary_function +struct Caller : public std::function { /// Constructor. Caller (CORBA::ORB_ptr o, Test::Hello_ptr h) From 8dbc393cd50106e054eecd56aac878166b2a8cc8 Mon Sep 17 00:00:00 2001 From: Tyler Date: Wed, 23 Aug 2023 11:10:23 -0400 Subject: [PATCH 190/445] Update NEWS --- TAO/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TAO/NEWS b/TAO/NEWS index 3956244c5d470..9e35319f7111f 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,6 +1,8 @@ USER VISIBLE CHANGES BETWEEN TAO-3.1.1 and TAO-3.1.2 ==================================================== +- TAO_IDL: Added support for the map data type + USER VISIBLE CHANGES BETWEEN TAO-3.1.0 and TAO-3.1.1 ==================================================== From e09f240025d1e876504d2e2faf1de3a4ffaed405 Mon Sep 17 00:00:00 2001 From: ClausKlein Date: Wed, 23 Aug 2023 19:21:00 +0200 Subject: [PATCH 191/445] This does NOT compile with c++17 or newer! --- ACE/ace/Auto_Ptr.h | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/ACE/ace/Auto_Ptr.h b/ACE/ace/Auto_Ptr.h index 2ea646eb60eea..4b3f1f23ec09d 100644 --- a/ACE/ace/Auto_Ptr.h +++ b/ACE/ace/Auto_Ptr.h @@ -68,16 +68,9 @@ class ACE_Auto_Basic_Ptr ACE_END_VERSIONED_NAMESPACE_DECL -// NOTE: ACE7 and TAO3 require C++11 support or newer; jwillemsen commented on Jun 1, 2021 #if !defined (ACE_LACKS_AUTO_PTR) -# include - -# ifdef ACE_HAS_CPP17 -// NOTE: we must only use std::unique_ptr; CK -# else -// FIXME: we are still using std::auto_ptr; -# endif - +# include // NOTE: Workaround only, still needed! 2023-08-23 CK +using std::auto_ptr; // FIXME(CK): This does NOT compile with c++17 or newer!!! #else /* !ACE_LACKS_AUTO_PTR */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL From cbb50c204c880ea9c99c57837926bed287deec48 Mon Sep 17 00:00:00 2001 From: Fred Hornsey Date: Thu, 24 Aug 2023 12:22:58 -0500 Subject: [PATCH 192/445] Make `ast_visitor::visit_map` a nop impl --- TAO/TAO_IDL/ast/ast_visitor.cpp | 5 +++++ TAO/TAO_IDL/include/ast_visitor.h | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/ast/ast_visitor.cpp b/TAO/TAO_IDL/ast/ast_visitor.cpp index d90421c3d8201..b7192087fba19 100644 --- a/TAO/TAO_IDL/ast/ast_visitor.cpp +++ b/TAO/TAO_IDL/ast/ast_visitor.cpp @@ -18,3 +18,8 @@ int ast_visitor::visit_annotation_decl (AST_Annotation_Decl *) { return 0; } + +int ast_visitor::visit_map (AST_Map *); +{ + return 0; +} diff --git a/TAO/TAO_IDL/include/ast_visitor.h b/TAO/TAO_IDL/include/ast_visitor.h index e3e3beef1848d..59ea51b7dfbb7 100644 --- a/TAO/TAO_IDL/include/ast_visitor.h +++ b/TAO/TAO_IDL/include/ast_visitor.h @@ -134,14 +134,17 @@ class TAO_IDL_FE_Export ast_visitor virtual int visit_enum_val (AST_EnumVal *node) = 0; virtual int visit_array (AST_Array *node) = 0; virtual int visit_sequence (AST_Sequence *node) = 0; - virtual int visit_map (AST_Map *node) = 0; virtual int visit_string (AST_String *node) = 0; virtual int visit_typedef (AST_Typedef *node) = 0; virtual int visit_root (AST_Root *node) = 0; virtual int visit_native (AST_Native *node) = 0; virtual int visit_valuebox (AST_ValueBox *node) = 0; + + // These are implemented as nops for backwards compatibility. New node types + // should go here. virtual int visit_fixed (AST_Fixed *node); virtual int visit_annotation_decl (AST_Annotation_Decl *node); + virtual int visit_map (AST_Map *node); protected: // For abstract class. From 3681bd78dde4ebed97fc9480bac2cfa73cee9662 Mon Sep 17 00:00:00 2001 From: Fred Hornsey Date: Thu, 24 Aug 2023 13:23:24 -0500 Subject: [PATCH 193/445] Remove Semicolon --- TAO/TAO_IDL/ast/ast_visitor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/ast/ast_visitor.cpp b/TAO/TAO_IDL/ast/ast_visitor.cpp index b7192087fba19..789c8ac7ae2a3 100644 --- a/TAO/TAO_IDL/ast/ast_visitor.cpp +++ b/TAO/TAO_IDL/ast/ast_visitor.cpp @@ -19,7 +19,7 @@ int ast_visitor::visit_annotation_decl (AST_Annotation_Decl *) return 0; } -int ast_visitor::visit_map (AST_Map *); +int ast_visitor::visit_map (AST_Map *) { return 0; } From 6c256ad581fa75de4ccd3bbabb5a117b0c374112 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 28 Aug 2023 09:36:49 +0200 Subject: [PATCH 194/445] Update Auto_Ptr.h --- ACE/ace/Auto_Ptr.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/ace/Auto_Ptr.h b/ACE/ace/Auto_Ptr.h index 4b3f1f23ec09d..7fa3de4a2ce18 100644 --- a/ACE/ace/Auto_Ptr.h +++ b/ACE/ace/Auto_Ptr.h @@ -69,8 +69,8 @@ class ACE_Auto_Basic_Ptr ACE_END_VERSIONED_NAMESPACE_DECL #if !defined (ACE_LACKS_AUTO_PTR) -# include // NOTE: Workaround only, still needed! 2023-08-23 CK -using std::auto_ptr; // FIXME(CK): This does NOT compile with c++17 or newer!!! +# include +using std::auto_ptr; #else /* !ACE_LACKS_AUTO_PTR */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL From edb24941b3aec55181bf4d42fc90be8f537f5812 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 28 Aug 2023 09:51:57 -0400 Subject: [PATCH 195/445] Initialized seen_in_map_ --- TAO/TAO_IDL/be/be_type.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TAO/TAO_IDL/be/be_type.cpp b/TAO/TAO_IDL/be/be_type.cpp index d48378e000d63..773c54391d115 100644 --- a/TAO/TAO_IDL/be/be_type.cpp +++ b/TAO/TAO_IDL/be/be_type.cpp @@ -38,7 +38,8 @@ be_type::be_type (AST_Decl::NodeType nt, tc_name_ (nullptr), common_varout_gen_ (false), seen_in_sequence_ (false), - seen_in_operation_ (false) + seen_in_operation_ (false), + seen_in_map_(false) { if (n != nullptr) { From 50be4072e9b0d7a243fba7567d69a74c4d06cb5d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 28 Aug 2023 09:53:39 -0400 Subject: [PATCH 196/445] Members initialized in order they were declared --- TAO/TAO_IDL/be/be_type.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/TAO_IDL/be/be_type.cpp b/TAO/TAO_IDL/be/be_type.cpp index 773c54391d115..1f62ebfbcf9b0 100644 --- a/TAO/TAO_IDL/be/be_type.cpp +++ b/TAO/TAO_IDL/be/be_type.cpp @@ -38,8 +38,8 @@ be_type::be_type (AST_Decl::NodeType nt, tc_name_ (nullptr), common_varout_gen_ (false), seen_in_sequence_ (false), - seen_in_operation_ (false), - seen_in_map_(false) + seen_in_map_(false), + seen_in_operation_ (false) { if (n != nullptr) { From a5e0d86bf3ea71e326137219b52631ab59728f30 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 28 Aug 2023 16:18:17 +0200 Subject: [PATCH 197/445] Add IDL4 maps test * TAO/bin/tao_orb_tests.lst: --- TAO/bin/tao_orb_tests.lst | 1 + 1 file changed, 1 insertion(+) diff --git a/TAO/bin/tao_orb_tests.lst b/TAO/bin/tao_orb_tests.lst index c64ad7e24d8ac..cc91442dd809a 100644 --- a/TAO/bin/tao_orb_tests.lst +++ b/TAO/bin/tao_orb_tests.lst @@ -512,4 +512,5 @@ TAO/DevGuideExamples/AMH/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO TAO/DevGuideExamples/AMH_AMI/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO TAO/tests/IDLv4/annotations/run_test.pl TAO/tests/IDLv4/explicit_ints/run_test.pl +TAO/tests/IDLv4/maps/run_test.pl TAO/tests/AST_Unit_Tests/run_test.pl From 41c666be2e55f20426354aae24fcdf7e6c9bf984 Mon Sep 17 00:00:00 2001 From: Fred Hornsey Date: Thu, 31 Aug 2023 14:47:20 -0500 Subject: [PATCH 198/445] Fix Codacy Issues in be_map --- TAO/TAO_IDL/be/be_map.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/TAO/TAO_IDL/be/be_map.cpp b/TAO/TAO_IDL/be/be_map.cpp index db7f531cea78e..f51439c7ea22c 100644 --- a/TAO/TAO_IDL/be/be_map.cpp +++ b/TAO/TAO_IDL/be/be_map.cpp @@ -170,11 +170,6 @@ be_map::gen_name () int be_map::create_name (be_typedef *node) { - UTL_ScopedName *n = nullptr; - - // Scope in which we are defined. - be_decl *scope = nullptr; - // If there is a typedef node, we use its name as our name. if (node) { @@ -187,14 +182,12 @@ be_map::create_name (be_typedef *node) char *namebuf = this->gen_name (); // Now see if we have a fully scoped name and if so, generate one. - UTL_Scope *us = this->defined_in (); - - scope = dynamic_cast (us)->decl (); + be_decl *const scope = dynamic_cast (defined_in ())->decl (); if (scope != nullptr) { // Make a copy of the enclosing scope's name. - n = static_cast (scope->name ()->copy ()); + UTL_ScopedName *const n = static_cast (scope->name ()->copy ()); Identifier *id = nullptr; ACE_NEW_RETURN (id, From 0aaf6c9bc26251ce66e2446b9cc6c82f634fc920 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 1 Sep 2023 14:24:42 +0200 Subject: [PATCH 199/445] Fixed comment after endif * ACE/ace/os_include/sys/os_types.h: --- ACE/ace/os_include/sys/os_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/os_include/sys/os_types.h b/ACE/ace/os_include/sys/os_types.h index b179c7051ad73..8a568f53b2f1f 100644 --- a/ACE/ace/os_include/sys/os_types.h +++ b/ACE/ace/os_include/sys/os_types.h @@ -119,7 +119,7 @@ typedef DWORD nlink_t; #if defined (ACE_LACKS_PID_T) typedef int pid_t; -#endif /* ACE_WIN32 */ +#endif /* ACE_LACKS_PID_T */ # if !defined (ACE_INVALID_PID) # define ACE_INVALID_PID ((pid_t) -1) From 00641fb1cae6ebe41544c2cdad884e7e96661c79 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 1 Sep 2023 14:24:55 +0200 Subject: [PATCH 200/445] Layout change * ACE/ace/Auto_Ptr.h: --- ACE/ace/Auto_Ptr.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ACE/ace/Auto_Ptr.h b/ACE/ace/Auto_Ptr.h index 7fa3de4a2ce18..308894510804e 100644 --- a/ACE/ace/Auto_Ptr.h +++ b/ACE/ace/Auto_Ptr.h @@ -180,8 +180,7 @@ class ACE_Auto_Array_Ptr : public ACE_Auto_Basic_Array_Ptr */ template inline void -ACE_auto_ptr_reset (AUTO_PTR_TYPE & ap, - PTR_TYPE * p) +ACE_auto_ptr_reset (AUTO_PTR_TYPE & ap, PTR_TYPE * p) { ap.reset (p); } From 066b98de2b3436fd4013619c31bcb2b7fd1e0839 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 1 Sep 2023 14:25:21 +0200 Subject: [PATCH 201/445] CHeck if value is not defined before defining it here in ACE * ACE/ace/os_include/os_fcntl.h: --- ACE/ace/os_include/os_fcntl.h | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/ACE/ace/os_include/os_fcntl.h b/ACE/ace/os_include/os_fcntl.h index 542a72e9f674e..f8b3de5687148 100644 --- a/ACE/ace/os_include/os_fcntl.h +++ b/ACE/ace/os_include/os_fcntl.h @@ -36,17 +36,37 @@ extern "C" #endif /* __cplusplus */ #if defined (__BORLANDC__) +# if !defined (_O_CREAT) # define _O_CREAT O_CREAT -# define _O_EXCL O_EXCL +# endif +# if !defined (_O_EXCL) +# define _O_EXCL O_EXCL +# endif +# if !defined (_O_TRUNC) # define _O_TRUNC O_TRUNC +# endif +# if !defined (_O_TEMPORARY) // 0x0800 is used for O_APPEND. 0x08 looks free. # define _O_TEMPORARY 0x08 /* see fcntl.h */ -# define _O_RDWR O_RDWR +# endif +# if !defined (_O_RDWR) +# define _O_RDWR O_RDWR +# endif +# if !defined (_O_WRONLY) # define _O_WRONLY O_WRONLY +# endif +# if !defined (_O_RDONLY) # define _O_RDONLY O_RDONLY +# endif +# if !defined (_O_APPEND) # define _O_APPEND O_APPEND +# endif +# if !defined (_O_BINARY) # define _O_BINARY O_BINARY -# define _O_TEXT O_TEXT +# endif +# if !defined (_O_TEXT) +# define _O_TEXT O_TEXT +# endif #endif /* __BORLANDC__ */ // defined Win32 specific macros for UNIX platforms From ed54a767da647199e7238d3f9eabe4ca9f22bde3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 16:37:49 +0200 Subject: [PATCH 202/445] C++17 removes std::auto_ptr so we don't provide the ACE auto_ptr templates anymore with C++17, use std::unique_ptr as replacement. Updated a lot of examples/tests to not use any ACE auto pointer templates but just std::unique_ptr * ACE/ACEXML/common/HttpCharStream.cpp: * ACE/ACEXML/common/URL_Addr.cpp: * ACE/ACEXML/common/XML_Codecs.cpp: * ACE/ACEXML/examples/SAXPrint/main.cpp: * ACE/ACEXML/parser/parser/Parser.cpp: * ACE/ACEXML/parser/parser/Parser.h: * ACE/Kokyu/Default_Dispatcher_Impl.cpp: * ACE/Kokyu/Kokyu_defs.h: * ACE/Kokyu/tests/DSRT_MIF/MIF.cpp: * ACE/ace/ACE.cpp: * ACE/ace/Auto_Functor.h: * ACE/ace/Auto_Ptr.cpp: * ACE/ace/Auto_Ptr.h: * ACE/ace/Auto_Ptr.inl: * ACE/ace/CDR_Stream.cpp: * ACE/ace/DLL_Manager.cpp: * ACE/ace/Log_Msg.h: * ACE/ace/Pagefile_Memory_Pool.cpp: * ACE/ace/Proactor.cpp: * ACE/ace/Refcounted_Auto_Ptr.h: * ACE/ace/SOCK_SEQPACK_Acceptor.cpp: * ACE/ace/SOCK_SEQPACK_Association.cpp: * ACE/ace/SString.h: * ACE/ace/Service_Gestalt.cpp: * ACE/ace/Sock_Connect.cpp: * ACE/ace/Svc_Conf_Lexer.cpp: * ACE/ace/TLI.cpp: * ACE/ace/UUID.cpp: * ACE/ace/config-win32-msvc-142.h: * ACE/apps/JAWS/clients/Caching/Locator_Request_Reply.cpp: * ACE/apps/JAWS/clients/Caching/URL_Properties.cpp: * ACE/apps/JAWS/server/JAWS_IO.cpp: * ACE/apps/gperf/src/Key_List.cpp: * ACE/bin/main2TMAIN.pl: * ACE/docs/exceptions.html: * ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp: * ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp: * ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp: * ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp: * ACE/examples/Threads/future1.cpp: * ACE/examples/Threads/future2.cpp: * ACE/examples/Web_Crawler/HTTP_URL.cpp: * ACE/include/makeinclude/platform_linux_icc.GNU: * ACE/netsvcs/lib/Name_Handler.cpp: * ACE/tests/CDR_File_Test.cpp: * ACE/tests/CDR_Test.cpp: * ACE/tests/Codecs_Test.cpp: * ACE/tests/Compiler_Features_09_Test.cpp: * ACE/tests/Conn_Test.cpp: * ACE/tests/Future_Set_Test.cpp: * ACE/tests/Future_Test.cpp: * ACE/tests/Log_Msg_Test.cpp: * ACE/tests/Logging_Strategy_Test.cpp: * ACE/tests/Message_Queue_Test_Ex.cpp: * ACE/tests/Reactor_Fairness_Test.cpp: * ACE/tests/Reactor_Performance_Test.cpp: * ACE/tests/Reactor_Timer_Test.cpp: * ACE/tests/Refcounted_Auto_Ptr_Test.cpp: * ACE/tests/SString_Test.cpp: * ACE/tests/UUID_Test.cpp: * TAO/docs/events_tutorial.html: * TAO/docs/tutorials/Quoter/Simple/ImprovedServer/index.html: * TAO/examples/Borland/ChatClientWnd.cpp: * TAO/examples/Borland/ChatClientWnd.h: * TAO/examples/Load_Balancing/Load_Balancer_i.cpp: * TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h: * TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: * TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp: * TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp: * TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp: * TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp: * TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp: * TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp: * TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp: * TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp: * TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: * TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp: * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp: * TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: * TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp: * TAO/orbsvcs/orbsvcs/Notify/EventChannel.h: * TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp: * TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h: * TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h: * TAO/orbsvcs/orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.cpp: * TAO/orbsvcs/orbsvcs/Notify/Object.cpp: * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h: * TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp: * TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp: * TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: * TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_List_Store.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp: * TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: * TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp: * TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp: * TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp: * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp: * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp: * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp: * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp: * TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp: * TAO/orbsvcs/performance-tests/RTEvent/lib/Control.cpp: * TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp: * TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h: * TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp: * TAO/tao/Acceptor_Registry.cpp: * TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl: * TAO/tao/DynamicAny/DynAnyUtils_T.cpp: * TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp: * TAO/tao/IIOP_Acceptor.cpp: * TAO/tao/IIOP_Connector.cpp: * TAO/tao/LocateRequest_Invocation.cpp: * TAO/tao/Messaging/ExceptionHolder_i.cpp: * TAO/tao/ORB_Core.cpp: * TAO/tao/PortableServer/Active_Object_Map.cpp: * TAO/tao/PortableServer/Object_Adapter.cpp: * TAO/tao/PortableServer/Root_POA.cpp: * TAO/tao/RTCORBA/Thread_Pool.cpp: * TAO/tao/Strategies/SCIOP_Acceptor.cpp: * TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp: * TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp: --- ACE/ACEXML/common/HttpCharStream.cpp | 5 ++--- ACE/ACEXML/common/URL_Addr.cpp | 4 ++-- ACE/ACEXML/common/XML_Codecs.cpp | 6 +++--- ACE/ACEXML/examples/SAXPrint/main.cpp | 1 - ACE/ACEXML/parser/parser/Parser.cpp | 6 +++--- ACE/ACEXML/parser/parser/Parser.h | 1 - ACE/Kokyu/Default_Dispatcher_Impl.cpp | 6 +++--- ACE/Kokyu/Kokyu_defs.h | 1 - ACE/Kokyu/tests/DSRT_MIF/MIF.cpp | 1 - ACE/ace/ACE.cpp | 1 - ACE/ace/Auto_Functor.h | 5 ++--- ACE/ace/Auto_Ptr.cpp | 4 ++++ ACE/ace/Auto_Ptr.h | 10 ++++++++-- ACE/ace/Auto_Ptr.inl | 6 +++++- ACE/ace/CDR_Stream.cpp | 10 +++++----- ACE/ace/DLL_Manager.cpp | 4 ++-- ACE/ace/Log_Msg.h | 2 +- ACE/ace/Pagefile_Memory_Pool.cpp | 1 - ACE/ace/Proactor.cpp | 1 - ACE/ace/Refcounted_Auto_Ptr.h | 12 ++++++------ ACE/ace/SOCK_SEQPACK_Acceptor.cpp | 1 - ACE/ace/SOCK_SEQPACK_Association.cpp | 14 +++++++------- ACE/ace/SString.h | 4 ++-- ACE/ace/Service_Gestalt.cpp | 1 - ACE/ace/Sock_Connect.cpp | 1 - ACE/ace/Svc_Conf_Lexer.cpp | 4 ++-- ACE/ace/TLI.cpp | 1 - ACE/ace/UUID.cpp | 4 ++-- ACE/ace/config-win32-msvc-142.h | 4 ---- .../clients/Caching/Locator_Request_Reply.cpp | 6 +++--- ACE/apps/JAWS/clients/Caching/URL_Properties.cpp | 6 +++--- ACE/apps/JAWS/server/JAWS_IO.cpp | 2 +- ACE/apps/gperf/src/Key_List.cpp | 4 ++-- ACE/bin/main2TMAIN.pl | 2 +- ACE/docs/exceptions.html | 4 ++-- ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp | 2 +- ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp | 4 ++-- .../Reactor/WFMO_Reactor/Handle_Close.cpp | 2 +- .../Reactor/WFMO_Reactor/Window_Messages.cpp | 2 +- ACE/examples/Threads/future1.cpp | 2 +- ACE/examples/Threads/future2.cpp | 2 +- ACE/examples/Web_Crawler/HTTP_URL.cpp | 2 +- ACE/include/makeinclude/platform_linux_icc.GNU | 2 -- ACE/netsvcs/lib/Name_Handler.cpp | 14 ++++++-------- ACE/tests/CDR_File_Test.cpp | 2 +- ACE/tests/CDR_Test.cpp | 4 ++-- ACE/tests/Codecs_Test.cpp | 4 ++-- ACE/tests/Compiler_Features_09_Test.cpp | 6 +++--- ACE/tests/Conn_Test.cpp | 2 +- ACE/tests/Future_Set_Test.cpp | 2 +- ACE/tests/Future_Test.cpp | 2 +- ACE/tests/Log_Msg_Test.cpp | 2 +- ACE/tests/Logging_Strategy_Test.cpp | 2 +- ACE/tests/Message_Queue_Test_Ex.cpp | 2 +- ACE/tests/Reactor_Fairness_Test.cpp | 2 +- ACE/tests/Reactor_Performance_Test.cpp | 4 ++-- ACE/tests/Reactor_Timer_Test.cpp | 3 +-- ACE/tests/Refcounted_Auto_Ptr_Test.cpp | 2 +- ACE/tests/SString_Test.cpp | 5 +---- ACE/tests/UUID_Test.cpp | 4 +--- TAO/docs/events_tutorial.html | 4 ++-- .../Quoter/Simple/ImprovedServer/index.html | 2 +- TAO/examples/Borland/ChatClientWnd.cpp | 2 +- TAO/examples/Borland/ChatClientWnd.h | 4 ++-- TAO/examples/Load_Balancing/Load_Balancer_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h | 1 - TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp | 6 +++--- TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp | 4 ++-- TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp | 1 - TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp | 1 - TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp | 1 - TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp | 8 +++----- TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp | 5 +---- TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp | 5 +---- TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp | 2 -- .../orbsvcs/Naming/Persistent_Context_Index.cpp | 8 ++++---- .../orbsvcs/Naming/Persistent_Naming_Context.cpp | 12 ++++++------ .../orbsvcs/Naming/Storable_Naming_Context.cpp | 12 ++++++------ .../Naming/Storable_Naming_Context_Activator.cpp | 6 +++--- .../orbsvcs/Naming/Transient_Naming_Context.cpp | 12 ++++++------ TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp | 2 +- TAO/orbsvcs/orbsvcs/Notify/EventChannel.h | 4 ++-- .../orbsvcs/Notify/EventChannelFactory.cpp | 2 +- TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h | 6 +++--- TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h | 7 +++---- .../NotificationServiceMonitor_i.cpp | 3 +-- TAO/orbsvcs/orbsvcs/Notify/Object.cpp | 10 +++++----- TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp | 2 +- TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h | 5 ++--- TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp | 9 ++++----- .../Structured/StructuredProxyPushConsumer.cpp | 1 - TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h | 4 ++-- .../PortableGroup/Fragments_Cleanup_Strategy.cpp | 11 +++++------ TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp | 2 -- .../orbsvcs/PortableGroup/PG_FactoryRegistry.cpp | 1 - .../orbsvcs/PortableGroup/PG_Group_List_Store.cpp | 9 +++------ .../PortableGroup/PG_Object_Group_Storable.cpp | 2 +- .../orbsvcs/Sched/Reconfig_Scheduler_T.cpp | 2 +- .../RTEvent/Colocated_Roundtrip/driver.cpp | 1 - .../RTEvent/Federated_Roundtrip/client.cpp | 1 - .../RTEvent/Federated_Roundtrip/server.cpp | 1 - .../RTEvent/RTCORBA_Baseline/client.cpp | 1 - .../RTEvent/RTCORBA_Baseline/server.cpp | 1 - .../RTEvent/RTCORBA_Callback/client.cpp | 1 - .../RTEvent/RTCORBA_Callback/server.cpp | 1 - .../RTEvent/Roundtrip/server.cpp | 1 - .../performance-tests/RTEvent/lib/Control.cpp | 15 +++++---------- .../RTEvent/lib/Low_Priority_Setup.cpp | 2 +- .../RTEvent/lib/Low_Priority_Setup.h | 9 ++++----- .../RTEvent/lib/RTEC_Initializer.cpp | 1 - TAO/tao/Acceptor_Registry.cpp | 2 +- .../CSD_TP_Collocated_Synch_Request.inl | 2 +- TAO/tao/DynamicAny/DynAnyUtils_T.cpp | 6 ++---- TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp | 2 +- TAO/tao/IIOP_Acceptor.cpp | 2 +- TAO/tao/IIOP_Connector.cpp | 2 +- TAO/tao/LocateRequest_Invocation.cpp | 2 +- TAO/tao/Messaging/ExceptionHolder_i.cpp | 4 ++-- TAO/tao/ORB_Core.cpp | 4 ++-- TAO/tao/PortableServer/Active_Object_Map.cpp | 14 +++++++------- TAO/tao/PortableServer/Object_Adapter.cpp | 6 +++--- TAO/tao/PortableServer/Root_POA.cpp | 2 +- TAO/tao/RTCORBA/Thread_Pool.cpp | 2 +- TAO/tao/Strategies/SCIOP_Acceptor.cpp | 14 +++++++------- TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp | 4 ++-- .../IOR_Endpoint_Hostnames/list_interfaces.cpp | 2 +- 126 files changed, 227 insertions(+), 283 deletions(-) diff --git a/ACE/ACEXML/common/HttpCharStream.cpp b/ACE/ACEXML/common/HttpCharStream.cpp index 4fc0a1178a30f..18ea22948fe83 100644 --- a/ACE/ACEXML/common/HttpCharStream.cpp +++ b/ACE/ACEXML/common/HttpCharStream.cpp @@ -1,6 +1,5 @@ #include "ace/ACE.h" #include "ace/ace_wchar.h" -#include "ace/Auto_Ptr.h" #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_string.h" #include "ace/Truncate.h" @@ -272,7 +271,7 @@ int ACEXML_HttpCharStream::send_request () { char* path = ACE::strnew (ACE_TEXT_ALWAYS_CHAR (this->url_addr_->get_path_name())); - ACE_Auto_Basic_Array_Ptr path_ptr (path); + std::unique_ptr path_ptr (path); size_t commandsize = ACE_OS::strlen (path) + ACE_OS::strlen (this->url_addr_->get_host_name ()) + 20 // Extra @@ -283,7 +282,7 @@ ACEXML_HttpCharStream::send_request () ACE_NEW_RETURN (command, char[commandsize], -1); // Ensure that the memory is deallocated. - ACE_Auto_Basic_Array_Ptr cmd_ptr (command); + std::unique_ptr cmd_ptr (command); int bytes = ACE_OS::sprintf (command, "GET %s HTTP/1.0\r\n", path); bytes += ACE_OS::sprintf (&command[bytes], "Host: %s\r\n", diff --git a/ACE/ACEXML/common/URL_Addr.cpp b/ACE/ACEXML/common/URL_Addr.cpp index ccd234d33d668..f136478a733ef 100644 --- a/ACE/ACEXML/common/URL_Addr.cpp +++ b/ACE/ACEXML/common/URL_Addr.cpp @@ -5,11 +5,11 @@ #endif /* __ACEXML_INLINE__ */ #include "ace/Log_Msg.h" -#include "ace/Auto_Ptr.h" #include "ace/OS_Memory.h" #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_stdlib.h" #include "ace/OS_NS_string.h" +#include ACEXML_URL_Addr::ACEXML_URL_Addr () : path_name_ (0), @@ -94,7 +94,7 @@ ACEXML_URL_Addr::string_to_addr (const ACEXML_Char* s, ACE_NEW_RETURN (host_name, ACEXML_Char[host_len + 1], -1); ACE_OS::strncpy (host_name, s + http_len, host_len); host_name[host_len] = '\0'; - ACE_Auto_Basic_Array_Ptr cleanup_host_name (host_name); + std::unique_ptr cleanup_host_name (host_name); // Get the port number (if any) unsigned short port = ACE_DEFAULT_HTTP_PORT; diff --git a/ACE/ACEXML/common/XML_Codecs.cpp b/ACE/ACEXML/common/XML_Codecs.cpp index 3e3860776e5e6..657154f31bc2c 100644 --- a/ACE/ACEXML/common/XML_Codecs.cpp +++ b/ACE/ACEXML/common/XML_Codecs.cpp @@ -1,9 +1,9 @@ // -*- C++ -*- -#include "ace/Auto_Ptr.h" #include "ace/OS_Memory.h" #include "ace/OS_NS_string.h" #include "ACEXML/common/XML_Codecs.h" +#include ACEXML_Char* ACEXML_Base64::encode (const ACEXML_Char* input, @@ -17,7 +17,7 @@ ACEXML_Base64::encode (const ACEXML_Char* input, ACE_NEW_RETURN (buf, ACE_Byte[len], 0); - ACE_Auto_Basic_Array_Ptr cleanup_buf (buf); + std::unique_ptr cleanup_buf (buf); for (size_t i = 0; i < len; ++i) buf[i] = (ACE_Byte)input[i]; @@ -59,7 +59,7 @@ ACEXML_Base64::decode (const ACEXML_Char* input, ACE_Byte[len], 0); - ACE_Auto_Basic_Array_Ptr cleanup (buf); + std::unique_ptr cleanup (buf); for (size_t i = 0; i < len; ++i) buf[i] = (ACE_Byte)input[i]; diff --git a/ACE/ACEXML/examples/SAXPrint/main.cpp b/ACE/ACEXML/examples/SAXPrint/main.cpp index e704d40c9bd76..aaae69da8acbd 100644 --- a/ACE/ACEXML/examples/SAXPrint/main.cpp +++ b/ACE/ACEXML/examples/SAXPrint/main.cpp @@ -6,7 +6,6 @@ #include "Print_Handler.h" #include "SAXPrint_Handler.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" #include "ace/Log_Msg.h" #include "ace/OS_main.h" diff --git a/ACE/ACEXML/parser/parser/Parser.cpp b/ACE/ACEXML/parser/parser/Parser.cpp index 48196f2672316..fa0d4c620bdc3 100644 --- a/ACE/ACEXML/parser/parser/Parser.cpp +++ b/ACE/ACEXML/parser/parser/Parser.cpp @@ -318,7 +318,7 @@ ACEXML_Parser::parse_external_dtd () if (this->validate_) { ACEXML_Char* uri = this->normalize_systemid (systemId); - ACE_Auto_Basic_Array_Ptr cleanup_uri (uri); + std::unique_ptr cleanup_uri (uri); ACEXML_InputSource* ip = 0; if (this->entity_resolver_) { @@ -2091,7 +2091,7 @@ ACEXML_Parser::parse_entity_reference () else { ACEXML_Char* uri = this->normalize_systemid (systemId); - ACE_Auto_Basic_Array_Ptr cleanup_uri (uri); + std::unique_ptr cleanup_uri (uri); ACEXML_InputSource* ip = 0; if (this->entity_resolver_) { @@ -2184,7 +2184,7 @@ ACEXML_Parser::parse_PE_reference () else if (this->external_entity_ && this->validate_) { ACEXML_Char* uri = this->normalize_systemid (systemId); - ACE_Auto_Basic_Array_Ptr cleanup_uri (uri); + std::unique_ptr cleanup_uri (uri); ACEXML_InputSource* ip = 0; if (this->entity_resolver_) { diff --git a/ACE/ACEXML/parser/parser/Parser.h b/ACE/ACEXML/parser/parser/Parser.h index 4fd5ae981c3e0..ad3213186a19e 100644 --- a/ACE/ACEXML/parser/parser/Parser.h +++ b/ACE/ACEXML/parser/parser/Parser.h @@ -29,7 +29,6 @@ #include "ace/Hash_Map_Manager.h" #include "ace/Unbounded_Set.h" #include "ace/Containers_T.h" -#include "ace/Auto_Ptr.h" #include "ACEXML/parser/parser/Entity_Manager.h" #include "ACEXML/parser/parser/ParserInternals.h" #include "ACEXML/parser/parser/ParserContext.h" diff --git a/ACE/Kokyu/Default_Dispatcher_Impl.cpp b/ACE/Kokyu/Default_Dispatcher_Impl.cpp index b82e96ecb3101..5b007663fd0db 100644 --- a/ACE/Kokyu/Default_Dispatcher_Impl.cpp +++ b/ACE/Kokyu/Default_Dispatcher_Impl.cpp @@ -36,7 +36,7 @@ Default_Dispatcher_Impl::init_i (const Dispatcher_Attributes& attrs) //ACE_DEBUG ((LM_DEBUG, "after new on task array\n" )); tasks_.reset(tasks_array); - //ACE_DEBUG ((LM_DEBUG, "task array auto_ptr set\n" )); + //ACE_DEBUG ((LM_DEBUG, "task array unique_ptr set\n" )); ConfigInfoSet& config_set = const_cast (attrs.config_info_set_); @@ -52,8 +52,8 @@ Default_Dispatcher_Impl::init_i (const Dispatcher_Attributes& attrs) Dispatcher_Task (*config, ACE_Thread_Manager::instance()), -1); - std::unique_ptr tmp_task_auto_ptr (task); - tasks_[i++] = std::move(tmp_task_auto_ptr); + std::unique_ptr tmp_task_unique_ptr (task); + tasks_[i++] = std::move(tmp_task_unique_ptr); } this->thr_creation_flags_ = attrs.thread_creation_flags (); diff --git a/ACE/Kokyu/Kokyu_defs.h b/ACE/Kokyu/Kokyu_defs.h index 9f8099dd08cd9..1eaedcb803f00 100644 --- a/ACE/Kokyu/Kokyu_defs.h +++ b/ACE/Kokyu/Kokyu_defs.h @@ -10,7 +10,6 @@ #include /**/ "ace/pre.h" #include "ace/Containers_T.h" #include "ace/Time_Value.h" -#include "ace/Auto_Ptr.h" #include "ace/Message_Block.h" #include "ace/Sched_Params.h" #include "ace/Malloc_Allocator.h" diff --git a/ACE/Kokyu/tests/DSRT_MIF/MIF.cpp b/ACE/Kokyu/tests/DSRT_MIF/MIF.cpp index 6bd96d9615021..c4da2b46de56c 100644 --- a/ACE/Kokyu/tests/DSRT_MIF/MIF.cpp +++ b/ACE/Kokyu/tests/DSRT_MIF/MIF.cpp @@ -1,5 +1,4 @@ #include "ace/ACE.h" -#include "ace/Auto_Ptr.h" #include "ace/Task.h" #include "ace/Sched_Params.h" #include "ace/Atomic_Op.h" diff --git a/ACE/ace/ACE.cpp b/ACE/ace/ACE.cpp index 88e75e8a9e486..7971232741118 100644 --- a/ACE/ace/ACE.cpp +++ b/ACE/ace/ACE.cpp @@ -2,7 +2,6 @@ #include "ace/Basic_Types.h" #include "ace/Handle_Set.h" -#include "ace/Auto_Ptr.h" #include "ace/SString.h" #include "ace/Version.h" #include "ace/Message_Block.h" diff --git a/ACE/ace/Auto_Functor.h b/ACE/ace/Auto_Functor.h index e64bcdf6bb315..278db800b1e23 100644 --- a/ACE/ace/Auto_Functor.h +++ b/ACE/ace/Auto_Functor.h @@ -59,7 +59,7 @@ class Auto_Functor typedef Functor functor_type; /// Constructor - explicit Auto_Functor (X * p = 0, + explicit Auto_Functor (X * p = nullptr, Functor functor = Functor()); // noexcept Auto_Functor (Auto_Functor & rhs); // noexcept @@ -82,7 +82,7 @@ class Auto_Functor X * release(); // noexcept - void reset (X * p = 0); // noexcept + void reset (X * p = nullptr); // noexcept void reset (X * p, Functor f); // noexcept @@ -98,7 +98,6 @@ class Auto_Functor private: X * p_; - Functor f_; }; } // namespace ACE_Utils diff --git a/ACE/ace/Auto_Ptr.cpp b/ACE/ace/Auto_Ptr.cpp index 09028186a67c1..88fab8cbc58e4 100644 --- a/ACE/ace/Auto_Ptr.cpp +++ b/ACE/ace/Auto_Ptr.cpp @@ -3,6 +3,8 @@ #include "ace/Auto_Ptr.h" +#if !defined (ACE_HAS_CPP17) + #if defined (ACE_HAS_ALLOC_HOOKS) # include "ace/Malloc_Base.h" #endif /* ACE_HAS_ALLOC_HOOKS */ @@ -18,4 +20,6 @@ ACE_ALLOC_HOOK_DEFINE_Tt(ACE_Auto_Basic_Array_Ptr) ACE_END_VERSIONED_NAMESPACE_DECL +#endif /* ACE_HAS_CPP17 */ + #endif /* ACE_AUTO_PTR_CPP */ diff --git a/ACE/ace/Auto_Ptr.h b/ACE/ace/Auto_Ptr.h index 308894510804e..4c4d97d2e013a 100644 --- a/ACE/ace/Auto_Ptr.h +++ b/ACE/ace/Auto_Ptr.h @@ -21,6 +21,10 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +// C++17 removed std::auto_ptr<>, so also disable the ACE versions when +// using C++17. +#if !defined (ACE_HAS_CPP17) + #if defined (_MSC_VER) // Suppress warning e.g. "return type for // 'ACE_Auto_Array_Pointer::operator ->' is 'type *' (i.e., not a UDT @@ -44,7 +48,7 @@ class ACE_Auto_Basic_Ptr public: typedef X element_type; - explicit ACE_Auto_Basic_Ptr (X * p = 0) : p_ (p) {} + explicit ACE_Auto_Basic_Ptr (X * p = nullptr) : p_ (p) {} ACE_Auto_Basic_Ptr (ACE_Auto_Basic_Ptr & ap); ACE_Auto_Basic_Ptr &operator= (ACE_Auto_Basic_Ptr & rhs); @@ -54,7 +58,7 @@ class ACE_Auto_Basic_Ptr X &operator *() const; X *get () const; X *release (); - void reset (X * p = 0); + void reset (X * p = nullptr); /// Dump the state of an object. void dump () const; @@ -198,5 +202,7 @@ ACE_END_VERSIONED_NAMESPACE_DECL # pragma warning(pop) #endif /* _MSC_VER */ +#endif /* ACE_HAS_CPP17 */ + #include /**/ "ace/post.h" #endif /* ACE_AUTO_PTR_H */ diff --git a/ACE/ace/Auto_Ptr.inl b/ACE/ace/Auto_Ptr.inl index e349e3202f70c..6657f5e20013d 100644 --- a/ACE/ace/Auto_Ptr.inl +++ b/ACE/ace/Auto_Ptr.inl @@ -1,6 +1,8 @@ // -*- C++ -*- #include "ace/Global_Macros.h" +#if !defined (ACE_HAS_CPP17) + #if defined (ACE_HAS_ALLOC_HOOKS) # include "ace/Malloc_Base.h" #endif /* ACE_HAS_ALLOC_HOOKS */ @@ -42,7 +44,7 @@ ACE_Auto_Basic_Ptr::release () { ACE_TRACE ("ACE_Auto_Basic_Ptr::release"); X *old = this->p_; - this->p_ = 0; + this->p_ = nullptr; return old; } @@ -175,3 +177,5 @@ ACE_Auto_Array_Ptr::operator->() const } ACE_END_VERSIONED_NAMESPACE_DECL + +#endif /* ACE_HAS_CPP17 */ diff --git a/ACE/ace/CDR_Stream.cpp b/ACE/ace/CDR_Stream.cpp index f30f3aa1fb599..b3f3dcf3db2ec 100644 --- a/ACE/ace/CDR_Stream.cpp +++ b/ACE/ace/CDR_Stream.cpp @@ -1,7 +1,7 @@ #include "ace/CDR_Stream.h" #include "ace/SString.h" -#include "ace/Auto_Ptr.h" #include "ace/Truncate.h" +#include #if !defined (__ACE_INLINE__) # include "ace/CDR_Stream.inl" @@ -1530,7 +1530,7 @@ ACE_InputCDR::read_string (ACE_CDR::Char *&x) 0); #endif /* ACE_HAS_ALLOC_HOOKS */ - ACE_Auto_Basic_Array_Ptr safe_data (x); + std::unique_ptr safe_data (x); if (this->read_char_array (x, len)) { @@ -1563,10 +1563,10 @@ ACE_InputCDR::read_string (ACE_CDR::Char *&x) ACE_CDR::Boolean ACE_InputCDR::read_string (ACE_CString &x) { - ACE_CDR::Char * data = 0; + ACE_CDR::Char * data = nullptr; if (this->read_string (data)) { - ACE_Auto_Basic_Array_Ptr safe_data (data); + std::unique_ptr safe_data (data); x = data; return true; } @@ -1604,7 +1604,7 @@ ACE_InputCDR::read_wstring (ACE_CDR::WChar*& x) // the memory is allocated. if (len > 0 && len <= this->length ()) { - ACE_Auto_Basic_Array_Ptr safe_data; + std::unique_ptr safe_data; if (static_cast (this->major_version_) == 1 && static_cast (this->minor_version_) == 2) diff --git a/ACE/ace/DLL_Manager.cpp b/ACE/ace/DLL_Manager.cpp index ec1a2a0e1b2a5..a6f0574334bf8 100644 --- a/ACE/ace/DLL_Manager.cpp +++ b/ACE/ace/DLL_Manager.cpp @@ -1,6 +1,5 @@ #include "ace/DLL_Manager.h" -#include "ace/Auto_Ptr.h" #include "ace/Log_Category.h" #include "ace/ACE.h" #include "ace/Framework_Component.h" @@ -12,6 +11,7 @@ #include "ace/Guard_T.h" #include "ace/OS_NS_dlfcn.h" #include "ace/OS_NS_string.h" +#include ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -243,7 +243,7 @@ ACE_DLL_Handle::symbol (const ACE_TCHAR *sym_name, bool ignore_errors, ACE_TStri ACE_TRACE ("ACE_DLL_Handle::symbol"); ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, 0)); - ACE_Auto_Array_Ptr auto_name (ACE::ldname (sym_name)); + std::unique_ptr auto_name (ACE::ldname (sym_name)); // handle_ can be invalid especially when ACE_DLL_Handle resigned ownership // BTW. Handle lifecycle management is a little crazy in ACE if (this->handle_ != ACE_SHLIB_INVALID_HANDLE) diff --git a/ACE/ace/Log_Msg.h b/ACE/ace/Log_Msg.h index 2608b6c0eb244..ebbac05573a03 100644 --- a/ACE/ace/Log_Msg.h +++ b/ACE/ace/Log_Msg.h @@ -657,7 +657,7 @@ class ACE_Export ACE_Log_Msg /// passed "true" for the delete_ostream argument to msg_ostream). /// If we are reference counting, this points to a shared count that will /// be deleted when it reaches zero. Since we want optional but shared - /// ownership neither std::auto_ptr nor ACE_Strong_Bound_Ptr have the right + /// ownership neither std::unique_ptr nor ACE_Strong_Bound_Ptr have the right /// semantics. *Bound_Ptr also doesn't take advantage of Atomic_Op. typedef ACE_Atomic_Op Atomic_ULong; Atomic_ULong *ostream_refcount_; diff --git a/ACE/ace/Pagefile_Memory_Pool.cpp b/ACE/ace/Pagefile_Memory_Pool.cpp index f5523223c685c..b536f8d1a3fc9 100644 --- a/ACE/ace/Pagefile_Memory_Pool.cpp +++ b/ACE/ace/Pagefile_Memory_Pool.cpp @@ -6,7 +6,6 @@ #endif /* __ACE_INLINE__ */ #include "ace/Log_Category.h" -#include "ace/Auto_Ptr.h" #include "ace/RW_Thread_Mutex.h" #include "ace/OS_NS_sys_mman.h" #include "ace/OS_NS_string.h" diff --git a/ACE/ace/Proactor.cpp b/ACE/ace/Proactor.cpp index f3230148e5ca8..061bcb930aaaa 100644 --- a/ACE/ace/Proactor.cpp +++ b/ACE/ace/Proactor.cpp @@ -4,7 +4,6 @@ // This only works on Win32 platforms and on Unix platforms with aio // calls. -#include "ace/Auto_Ptr.h" #include "ace/Proactor_Impl.h" #include "ace/Object_Manager.h" #include "ace/Task_T.h" diff --git a/ACE/ace/Refcounted_Auto_Ptr.h b/ACE/ace/Refcounted_Auto_Ptr.h index e63af3a048125..e2cb12072b260 100644 --- a/ACE/ace/Refcounted_Auto_Ptr.h +++ b/ACE/ace/Refcounted_Auto_Ptr.h @@ -13,8 +13,8 @@ #include /**/ "ace/pre.h" -#include "ace/Auto_Ptr.h" #include "ace/Atomic_Op.h" +#include #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once @@ -29,7 +29,7 @@ template class ACE_Refcounted_Auto_Ptr; /** * @class ACE_Refcounted_Auto_Ptr * - * @brief This class implements support for a reference counted auto_ptr. + * @brief This class implements support for a reference counted unique_ptr. * Assigning or copying instances of an ACE_Refcounted_Auto_Ptr * will automatically increment the reference count. When the last * instance that references a ACE_Refcounted_Auto_Ptr instance is @@ -51,7 +51,7 @@ class ACE_Refcounted_Auto_Ptr public: /// Constructor that initializes an ACE_Refcounted_Auto_Ptr to /// the specified pointer value. - explicit ACE_Refcounted_Auto_Ptr (X *p = 0); + explicit ACE_Refcounted_Auto_Ptr (X *p = nullptr); /// Copy constructor binds the new ACE_Refcounted_Auto_Ptr to the /// representation object referenced by @a r. @@ -98,7 +98,7 @@ class ACE_Refcounted_Auto_Ptr /// Releases the current pointer value and then sets a new /// pointer value specified by @a p. - void reset (X *p = 0); + void reset (X *p = nullptr); /// Get the pointer value. X *get () const; @@ -168,14 +168,14 @@ class ACE_Refcounted_Auto_Ptr_Rep static void detach (ACE_Refcounted_Auto_Ptr_Rep *&rep); /// Pointer to the result. - ACE_Auto_Basic_Ptr ptr_; + std::unique_ptr ptr_; /// Reference count. mutable ACE_Atomic_Op ref_count_; private: // = Constructor and destructor private. - ACE_Refcounted_Auto_Ptr_Rep (X *p = 0); + ACE_Refcounted_Auto_Ptr_Rep (X *p = nullptr); ~ACE_Refcounted_Auto_Ptr_Rep (); }; diff --git a/ACE/ace/SOCK_SEQPACK_Acceptor.cpp b/ACE/ace/SOCK_SEQPACK_Acceptor.cpp index 1a1272145a9fc..98e368550f539 100644 --- a/ACE/ace/SOCK_SEQPACK_Acceptor.cpp +++ b/ACE/ace/SOCK_SEQPACK_Acceptor.cpp @@ -1,6 +1,5 @@ #include "ace/SOCK_SEQPACK_Acceptor.h" -#include "ace/Auto_Ptr.h" #include "ace/Log_Category.h" #include "ace/OS_Memory.h" #include "ace/OS_NS_string.h" diff --git a/ACE/ace/SOCK_SEQPACK_Association.cpp b/ACE/ace/SOCK_SEQPACK_Association.cpp index 700c046f45542..73841eea7a47c 100644 --- a/ACE/ace/SOCK_SEQPACK_Association.cpp +++ b/ACE/ace/SOCK_SEQPACK_Association.cpp @@ -1,9 +1,9 @@ #include "ace/SOCK_SEQPACK_Association.h" -#include "ace/Auto_Ptr.h" #include "ace/Log_Category.h" #include "ace/OS_Memory.h" #include "ace/OS_NS_string.h" +#include #if !defined (__ACE_INLINE__) #include "ace/SOCK_SEQPACK_Association.inl" @@ -143,10 +143,10 @@ ACE_SOCK_SEQPACK_Association::get_local_addrs (ACE_INET_Addr *addrs, size_t &siz */ - // The array of sockaddr_in will be stored in an ACE_Auto_Array_Ptr, + // The array of sockaddr_in will be stored in an std::unique_ptr, // which causes dynamically-allocated memory to be released as soon - // as the ACE_Auto_Array_Ptr goes out of scope. - ACE_Auto_Array_Ptr addr_structs; + // as the std::unique_ptr goes out of scope. + std::unique_ptr addr_structs; // Allocate memory for this array. Return -1 if the memory cannot // be allocated. (This activity requires a temporary variable---a @@ -286,10 +286,10 @@ ACE_SOCK_SEQPACK_Association::get_remote_addrs (ACE_INET_Addr *addrs, size_t &si */ - // The array of sockaddr_in will be stored in an ACE_Auto_Array_Ptr, + // The array of sockaddr_in will be stored in an std::unique_ptr, // which causes dynamically-allocated memory to be released as soon - // as the ACE_Auto_Array_Ptr goes out of scope. - ACE_Auto_Array_Ptr addr_structs; + // as the std::unique_ptr goes out of scope. + std::unique_ptr addr_structs; // Allocate memory for this array. Return -1 if the memory cannot // be allocated. (This activity requires a temporary variable---a diff --git a/ACE/ace/SString.h b/ACE/ace/SString.h index 70031e5293b91..1473c2dee2632 100644 --- a/ACE/ace/SString.h +++ b/ACE/ace/SString.h @@ -269,8 +269,8 @@ typedef ACE_CString ACE_TString; * Keeps a pointer to a string and deallocates it (using * ) on its destructor. * If you need to delete using "delete[]" the - * ACE_Auto_Array_Ptr is your choice. - * The class plays the same role as auto_ptr<> + * std::unique_ptr is your choice. + * The class plays the same role as unique_ptr<> */ class ACE_Export ACE_Auto_String_Free { diff --git a/ACE/ace/Service_Gestalt.cpp b/ACE/ace/Service_Gestalt.cpp index bc82751959c3a..049c997fc2e49 100644 --- a/ACE/ace/Service_Gestalt.cpp +++ b/ACE/ace/Service_Gestalt.cpp @@ -5,7 +5,6 @@ #include "ace/Service_Manager.h" #include "ace/Service_Types.h" #include "ace/Containers.h" -#include "ace/Auto_Ptr.h" #include "ace/Reactor.h" #include "ace/Thread_Manager.h" #include "ace/DLL.h" diff --git a/ACE/ace/Sock_Connect.cpp b/ACE/ace/Sock_Connect.cpp index 6d7fd6b1282e7..bc855bb54fd6f 100644 --- a/ACE/ace/Sock_Connect.cpp +++ b/ACE/ace/Sock_Connect.cpp @@ -2,7 +2,6 @@ #include "ace/INET_Addr.h" #include "ace/Log_Category.h" #include "ace/Handle_Set.h" -#include "ace/Auto_Ptr.h" #include "ace/SString.h" #include "ace/OS_Memory.h" #include "ace/OS_NS_stdio.h" diff --git a/ACE/ace/Svc_Conf_Lexer.cpp b/ACE/ace/Svc_Conf_Lexer.cpp index 8406c152ef721..371fad474a321 100644 --- a/ACE/ace/Svc_Conf_Lexer.cpp +++ b/ACE/ace/Svc_Conf_Lexer.cpp @@ -18,7 +18,7 @@ #include "ace/os_include/os_ctype.h" #if !defined (__GNUG__) -# include "ace/Auto_Ptr.h" +# include #endif ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -34,7 +34,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL # define ACE_TEMPORARY_STRING(X,SIZE) \ char* X = 0; \ char X ## buf[ACE_YY_BUF_SIZE]; \ - ACE_Auto_Ptr X ## bufp (0); \ + std::unique_ptr X ## bufp (0); \ if (SIZE > ACE_YY_BUF_SIZE) { \ X ## bufp.reset (new char[SIZE]); \ X = X ## bufp.get (); \ diff --git a/ACE/ace/TLI.cpp b/ACE/ace/TLI.cpp index d0fbd289f3cbe..92eed1d3bd50b 100644 --- a/ACE/ace/TLI.cpp +++ b/ACE/ace/TLI.cpp @@ -6,7 +6,6 @@ #include "ace/OS_TLI.h" #include "ace/OS_NS_string.h" #include "ace/OS_NS_sys_socket.h" -#include "ace/Auto_Ptr.h" #include #if defined (ACE_HAS_TLI) diff --git a/ACE/ace/UUID.cpp b/ACE/ace/UUID.cpp index b481c53e3013a..9f57dbe0f8c4f 100644 --- a/ACE/ace/UUID.cpp +++ b/ACE/ace/UUID.cpp @@ -12,7 +12,7 @@ #include "ace/OS_NS_netdb.h" #include "ace/OS_NS_unistd.h" #include "ace/ACE.h" -#include "ace/Auto_Ptr.h" +#include ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -64,7 +64,7 @@ namespace ACE_Utils // Get a buffer exactly the correct size. Use the nil UUID as a // gauge. Don't forget the trailing nul. - ACE_Auto_Array_Ptr auto_clean; + std::unique_ptr auto_clean; size_t UUID_STRING_LENGTH = 36 + thr_id_.length () + pid_.length (); char *buf = 0; diff --git a/ACE/ace/config-win32-msvc-142.h b/ACE/ace/config-win32-msvc-142.h index daed397225952..157b4acb48099 100644 --- a/ACE/ace/config-win32-msvc-142.h +++ b/ACE/ace/config-win32-msvc-142.h @@ -29,9 +29,5 @@ # define ACE_HAS_CPP20 #endif /* _MSVC_LANG >= 202002L */ -#ifdef ACE_HAS_CPP17 -# define ACE_LACKS_AUTO_PTR -#endif - #include /**/ "ace/post.h" #endif /* ACE_CONFIG_WIN32_MSVC_142_H */ diff --git a/ACE/apps/JAWS/clients/Caching/Locator_Request_Reply.cpp b/ACE/apps/JAWS/clients/Caching/Locator_Request_Reply.cpp index 263688be3cf49..bca4ff1dd549c 100644 --- a/ACE/apps/JAWS/clients/Caching/Locator_Request_Reply.cpp +++ b/ACE/apps/JAWS/clients/Caching/Locator_Request_Reply.cpp @@ -7,10 +7,10 @@ #include "Locator_Request_Reply.inl" #endif -#include "ace/Auto_Ptr.h" #include "URL_Properties.h" #include "URL_Array_Helper.h" #include "URL_Locator.h" +#include int ACE_URL_Locator_Request::url_query (const int how, @@ -265,13 +265,13 @@ ACE_URL_Locator_Request::dump () const if (this->id_.length () > 0) ACE_DEBUG ((LM_DEBUG, "Offer ID: %s\n", - ACE_Auto_Basic_Array_Ptr (this->id_.char_rep ()).get ())); + std::unique_ptr (this->id_.char_rep ()).get ())); else ACE_DEBUG ((LM_DEBUG, "Offer ID: \"\"\n")); if (this->url_.length () > 0) ACE_DEBUG ((LM_DEBUG, "URL: %s\n", - ACE_Auto_Basic_Array_Ptr (this->url_.char_rep ()).get ())); + std::unique_ptr (this->url_.char_rep ()).get ())); else ACE_DEBUG ((LM_DEBUG, "URL: \"\"\n")); diff --git a/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp b/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp index c571f2a5f4f95..22750c4d1613e 100644 --- a/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp +++ b/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp @@ -63,13 +63,13 @@ ACE_URL_Property::dump () const if (this->name_.length () > 0) ACE_DEBUG ((LM_DEBUG, "\n name_: \"%s\"\n", - ACE_Auto_Basic_Array_Ptr (this->name_.char_rep ()).get ())); + std::unique_ptr (this->name_.char_rep ()).get ())); else ACE_DEBUG ((LM_DEBUG, "\n name_: \"\"\n")); if (this->value_.length () > 0) ACE_DEBUG ((LM_DEBUG, " value_: \"%s\"\n", - ACE_Auto_Basic_Array_Ptr (this->value_.char_rep ()).get ())); + std::unique_ptr (this->value_.char_rep ()).get ())); else ACE_DEBUG ((LM_DEBUG, " value_: \"\"\n")); @@ -122,7 +122,7 @@ ACE_URL_Offer::dump () const if (this->url_.length () > 0) ACE_DEBUG ((LM_DEBUG, "\n url_: \"%s\"\n", - ACE_Auto_Basic_Array_Ptr (this->url_.char_rep ()).get ())); + std::unique_ptr (this->url_.char_rep ()).get ())); else ACE_DEBUG ((LM_DEBUG, "\n url_: \"\"\n")); diff --git a/ACE/apps/JAWS/server/JAWS_IO.cpp b/ACE/apps/JAWS/server/JAWS_IO.cpp index a71289ebdde85..cc16af5d27fcf 100644 --- a/ACE/apps/JAWS/server/JAWS_IO.cpp +++ b/ACE/apps/JAWS/server/JAWS_IO.cpp @@ -508,7 +508,7 @@ JAWS_Synch_IO_No_Cache::transmit_file (const char *filename, } char* f = new char[size]; - ACE_Auto_Basic_Array_Ptr file (f); + std::unique_ptr file (f); ACE_OS::read_n (handle, f, size); diff --git a/ACE/apps/gperf/src/Key_List.cpp b/ACE/apps/gperf/src/Key_List.cpp index cdb6ee90851f1..28e82b6447eac 100644 --- a/ACE/apps/gperf/src/Key_List.cpp +++ b/ACE/apps/gperf/src/Key_List.cpp @@ -24,10 +24,10 @@ #include "Key_List.h" #include "Hash_Table.h" #include "ace/Read_Buffer.h" -#include "ace/Auto_Ptr.h" #include "ace/OS_Memory.h" #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_string.h" +#include /// Default type for generated code. const char *const Key_List::default_array_type = "char *"; @@ -556,7 +556,7 @@ Key_List::output_switch (int use_keyword_table) output_keyword_table (); } - ACE_Auto_Basic_Array_Ptr safe_comp_buffer; + std::unique_ptr safe_comp_buffer; char * comp_buffer; List_Node *curr = head; diff --git a/ACE/bin/main2TMAIN.pl b/ACE/bin/main2TMAIN.pl index cf5d26627cb22..f4378668e0f49 100755 --- a/ACE/bin/main2TMAIN.pl +++ b/ACE/bin/main2TMAIN.pl @@ -6,7 +6,7 @@ # You may want to run the "find" command with this script, which maybe # something like this: # -# find . -type f \( -name "*.C" -o -name "*.cc" -o -name "*.c" -o -name "*.cpp" \) -print | xargs $ACE_ROOT/bin/auto_ptr.perl +# find . -type f \( -name "*.C" -o -name "*.cc" -o -name "*.c" -o -name "*.cpp" \) -print | xargs $ACE_ROOT/bin/main2TMAIN.pl # The first three lines above let this script run without specifying the # full path to perl, as long as it is in the user's PATH. diff --git a/ACE/docs/exceptions.html b/ACE/docs/exceptions.html index efb723799028f..3ea5b3b4b42e6 100644 --- a/ACE/docs/exceptions.html +++ b/ACE/docs/exceptions.html @@ -488,7 +488,7 @@

          Examples

        • Instead of depending on ACE_CATCHALL, use - auto_ptr style mechanism to prevent memory leaks + std::unique_ptr style mechanism to prevent memory leaks from exceptions.

        • @@ -520,7 +520,7 @@

          General Guidelines for Exception Handling

        • Make sure an exception doesn't cause resource leak (memory, - socket, ...) (hint: Use auto_ptr to avoid memory leak, + socket, ...) (hint: Use std::unique_ptr to avoid memory leak, and ACE_Guard for locks.)

        • diff --git a/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp b/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp index f4eb783f9f8f0..17eebf92522ff 100644 --- a/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp +++ b/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp @@ -31,7 +31,7 @@ supplier (void *) ACE_UPIPE_Addr c_addr (ACE_TEXT("pattern")); - ACE_Auto_Basic_Array_Ptr mybuf (new char[size]); + std::unique_ptr mybuf (new char[size]); for (int i = 0; i < size; i++) mybuf[i] = 'a'; diff --git a/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp b/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp index 4e725621728a8..3f05109cebadf 100644 --- a/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp +++ b/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp @@ -41,7 +41,7 @@ supplier (void *) "(%t) %p\n", "ACE_UPIPE_Acceptor.connect failed")); - ACE_Auto_Basic_Array_Ptr mybuf (new char[size]); + std::unique_ptr mybuf (new char[size]); for (int i = 0; i < size; i++) mybuf[i] = 'a'; @@ -90,7 +90,7 @@ consumer (void *) "ACE_UPIPE_Acceptor.accept failed")); // Ensure deletion upon exit. - ACE_Auto_Basic_Array_Ptr mybuf (new char[size]); + std::unique_ptr mybuf (new char[size]); time_t currsec; ACE_OS::time (&currsec); diff --git a/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp b/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp index 9a2a4840559a3..eadb666357818 100644 --- a/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp +++ b/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp @@ -279,7 +279,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) Different_Handler different_handler (pipe2); // Manage memory automagically. - auto_ptr reactor (create_reactor ()); + std::unique_ptr reactor (create_reactor ()); // Register handlers ACE_Reactor_Mask handler_mask = diff --git a/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp b/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp index 6ee6a0de8cb7a..1a1ffb293a504 100644 --- a/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp +++ b/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp @@ -58,7 +58,7 @@ ACE_TMAIN (int, ACE_TCHAR*[]) { // Manage memory automagically. ACE_Reactor_Impl *impl = new ACE_Msg_WFMO_Reactor; - auto_ptr reactor (new ACE_Reactor (impl, 1)); + std::unique_ptr reactor (new ACE_Reactor (impl, 1)); ACE_Reactor::instance (reactor.get ()); Event_Handler event_handler; diff --git a/ACE/examples/Threads/future1.cpp b/ACE/examples/Threads/future1.cpp index 20d6c54332a53..47502302be9ac 100644 --- a/ACE/examples/Threads/future1.cpp +++ b/ACE/examples/Threads/future1.cpp @@ -215,7 +215,7 @@ Scheduler::svc () { for (;;) { - // Dequeue the next method object (we use an auto pointer in + // Dequeue the next method object (we use an unique pointer in // case an exception is thrown in the ). std::unique_ptr mo (this->activation_queue_.dequeue ()); diff --git a/ACE/examples/Threads/future2.cpp b/ACE/examples/Threads/future2.cpp index e8e19fe5cd0f2..18dc2a28ffa99 100644 --- a/ACE/examples/Threads/future2.cpp +++ b/ACE/examples/Threads/future2.cpp @@ -212,7 +212,7 @@ Scheduler::svc () // Main event loop for this active object. for (;;) { - // Dequeue the next method object (we use an auto pointer in + // Dequeue the next method object (we use an unique pointer in // case an exception is thrown in the ). std::unique_ptr mo (this->activation_queue_.dequeue ()); diff --git a/ACE/examples/Web_Crawler/HTTP_URL.cpp b/ACE/examples/Web_Crawler/HTTP_URL.cpp index 3a0206d04f813..adf80e8860cd2 100644 --- a/ACE/examples/Web_Crawler/HTTP_URL.cpp +++ b/ACE/examples/Web_Crawler/HTTP_URL.cpp @@ -36,7 +36,7 @@ HTTP_URL::send_request () -1); // Ensure that the memory is deallocated. - ACE_Auto_Basic_Array_Ptr cmd_ptr (command); + std::unique_ptr cmd_ptr (command); ACE_OS::sprintf (cmd_ptr.get (), "GET /%s HTTP/1.1\r\n", diff --git a/ACE/include/makeinclude/platform_linux_icc.GNU b/ACE/include/makeinclude/platform_linux_icc.GNU index ee8f728b21e85..b45bb70977e48 100644 --- a/ACE/include/makeinclude/platform_linux_icc.GNU +++ b/ACE/include/makeinclude/platform_linux_icc.GNU @@ -58,8 +58,6 @@ endif ifeq ($(c++11),1) CCFLAGS += -std=c++11 - # This is needed due to the use of the deprecated auto_ptr class - CCFLAGS += -Wno-deprecated endif CFLAGS += -w1 diff --git a/ACE/netsvcs/lib/Name_Handler.cpp b/ACE/netsvcs/lib/Name_Handler.cpp index 05a91eb309ead..e5b202a965b17 100644 --- a/ACE/netsvcs/lib/Name_Handler.cpp +++ b/ACE/netsvcs/lib/Name_Handler.cpp @@ -404,7 +404,7 @@ ACE_Name_Handler::resolve () char *atype; if (this->naming_context ()->resolve (a_name, avalue, atype) == 0) { - ACE_Auto_Basic_Array_Ptr avalue_urep (avalue.rep ()); + std::unique_ptr avalue_urep (avalue.rep ()); ACE_Name_Request nrq (ACE_Name_Request::RESOLVE, 0, 0, @@ -440,7 +440,7 @@ ACE_Name_Request ACE_Name_Handler::name_request (ACE_NS_WString *one_name) { ACE_TRACE ("ACE_Name_Handler::name_request"); - ACE_Auto_Basic_Array_Ptr one_name_urep (one_name->rep ()); + std::unique_ptr one_name_urep (one_name->rep ()); return ACE_Name_Request (ACE_Name_Request::LIST_NAMES, one_name_urep.get (), one_name->length () * sizeof (ACE_WCHAR_T), @@ -452,7 +452,7 @@ ACE_Name_Request ACE_Name_Handler::value_request (ACE_NS_WString *one_value) { ACE_TRACE ("ACE_Name_Handler::value_request"); - ACE_Auto_Basic_Array_Ptr one_value_urep (one_value->rep ()); + std::unique_ptr one_value_urep (one_value->rep ()); return ACE_Name_Request (ACE_Name_Request::LIST_VALUES, 0, 0, one_value_urep.get (), @@ -467,7 +467,7 @@ ACE_Name_Handler::type_request (ACE_NS_WString *one_type) return ACE_Name_Request (ACE_Name_Request::LIST_TYPES, 0, 0, 0, 0, - ACE_Auto_Basic_Array_Ptr (one_type->char_rep ()).get (), + std::unique_ptr (one_type->char_rep ()).get (), one_type->length ()); } @@ -577,10 +577,8 @@ ACE_Name_Handler::lists_entries () set_iterator.next (one_entry) !=0; set_iterator.advance()) { - ACE_Auto_Basic_Array_Ptr - name_urep (one_entry->name_.rep ()); - ACE_Auto_Basic_Array_Ptr - value_urep (one_entry->value_.rep ()); + std::unique_ptr name_urep (one_entry->name_.rep ()); + std::unique_ptr value_urep (one_entry->value_.rep ()); ACE_Name_Request mynrq (this->name_request_.msg_type (), name_urep.get (), one_entry->name_.length () * sizeof (ACE_WCHAR_T), diff --git a/ACE/tests/CDR_File_Test.cpp b/ACE/tests/CDR_File_Test.cpp index 40ccca78f0090..7aa9b75580160 100644 --- a/ACE/tests/CDR_File_Test.cpp +++ b/ACE/tests/CDR_File_Test.cpp @@ -225,7 +225,7 @@ run_test (int write_file, #endif /* ACE_INITIALIZE_MEMORY_BEFORE_USE */ // Make sure is released automagically. - ACE_Auto_Basic_Array_Ptr b (buffer); + std::unique_ptr b (buffer); // Move the file pointer back to the beginning of the file. if (file.seek (0, diff --git a/ACE/tests/CDR_Test.cpp b/ACE/tests/CDR_Test.cpp index c9fcf68dcf2ae..481f661a8e9a8 100644 --- a/ACE/tests/CDR_Test.cpp +++ b/ACE/tests/CDR_Test.cpp @@ -498,7 +498,7 @@ CDR_Test_Types::test_get (ACE_InputCDR &cdr) const ACE_TEXT ("read_string2[%d] failed\n"), i), 1); - ACE_Auto_Basic_Array_Ptr auto_xstr (xstr); + std::unique_ptr auto_xstr (xstr); if (ACE_OS::strcmp (auto_xstr.get (), this->str) != 0) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("string[%d] differs\n"), @@ -512,7 +512,7 @@ CDR_Test_Types::test_get (ACE_InputCDR &cdr) const i), 1); // zero length - ACE_Auto_Basic_Array_Ptr auto_xwstr (wstr1); + std::unique_ptr auto_xwstr (wstr1); if (ACE_OS::wslen(auto_xwstr.get () )) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("wstring[%d] differs\n"), diff --git a/ACE/tests/Codecs_Test.cpp b/ACE/tests/Codecs_Test.cpp index 24b65cb9c9ff9..79cd84b57c732 100644 --- a/ACE/tests/Codecs_Test.cpp +++ b/ACE/tests/Codecs_Test.cpp @@ -46,7 +46,7 @@ encode_decode_stream (const ACE_Byte* stream, size_t length) encodeBuf)); - ACE_Auto_Basic_Array_Ptr cleanup_encodeBuf (encodeBuf); + std::unique_ptr cleanup_encodeBuf (encodeBuf); size_t decode_len = 0; ACE_Byte* decodeBuf = ACE_Base64::decode (encodeBuf, &decode_len); @@ -58,7 +58,7 @@ encode_decode_stream (const ACE_Byte* stream, size_t length) return -1; } - ACE_Auto_Basic_Array_Ptr cleanup_decodeBuf (decodeBuf); + std::unique_ptr cleanup_decodeBuf (decodeBuf); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Decoded Base64 encoded stream = %C\n"), diff --git a/ACE/tests/Compiler_Features_09_Test.cpp b/ACE/tests/Compiler_Features_09_Test.cpp index 28e0be3cdc101..c94d5a8f4a720 100644 --- a/ACE/tests/Compiler_Features_09_Test.cpp +++ b/ACE/tests/Compiler_Features_09_Test.cpp @@ -2,7 +2,7 @@ * @file * * This program checks if the compiler / platform supports the - * std::auto_ptr<> correctly. The motivation for this test was a discussion + * std::unique_ptr<> correctly. The motivation for this test was a discussion * on the development mailing list, and the documentation was captured * in: * @@ -63,12 +63,12 @@ run_main (int, ACE_TCHAR *[]) // failure int status = 0; - // ... this works with the ACE version of auto_ptr (well, the + // ... this works with the ACE version of unique_ptr (well, the // namespace is broken, but you get the idea) ... std::unique_ptr x(new Base); std::unique_ptr y(new Derived); - // ... with a compliant implementation of std::auto_ptr<> you should be + // ... with a compliant implementation of std::unique_ptr<> you should be // able to write: // x = y; x.reset(y.release()); diff --git a/ACE/tests/Conn_Test.cpp b/ACE/tests/Conn_Test.cpp index b44f9547a9c91..63213cac2101b 100644 --- a/ACE/tests/Conn_Test.cpp +++ b/ACE/tests/Conn_Test.cpp @@ -517,7 +517,7 @@ spawn_processes (ACCEPTOR *acceptor, ACE_NEW_RETURN (children_ptr, pid_t[n_servers], -1); - ACE_Auto_Basic_Array_Ptr children (children_ptr); + std::unique_ptr children (children_ptr); int i; // Spawn off a number of server processes all of which will listen diff --git a/ACE/tests/Future_Set_Test.cpp b/ACE/tests/Future_Set_Test.cpp index bf57e1f05b5e0..7d9a0e3708acf 100644 --- a/ACE/tests/Future_Set_Test.cpp +++ b/ACE/tests/Future_Set_Test.cpp @@ -278,7 +278,7 @@ Prime_Scheduler::svc () { for (;;) { - // Dequeue the next method request (we use an auto pointer in + // Dequeue the next method request (we use an unique pointer in // case an exception is thrown in the ). std::unique_ptr mo (this->activation_queue_.dequeue ()); diff --git a/ACE/tests/Future_Test.cpp b/ACE/tests/Future_Test.cpp index 2340b684fe4e6..f0b1f6b24c6d9 100644 --- a/ACE/tests/Future_Test.cpp +++ b/ACE/tests/Future_Test.cpp @@ -287,7 +287,7 @@ Prime_Scheduler::svc () { for (;;) { - // Dequeue the next method request (we use an auto pointer in + // Dequeue the next method request (we use an unique pointer in // case an exception is thrown in the ). std::unique_ptr mo (this->activation_queue_.dequeue ()); diff --git a/ACE/tests/Log_Msg_Test.cpp b/ACE/tests/Log_Msg_Test.cpp index 045152faec2d5..d48f190b55b99 100644 --- a/ACE/tests/Log_Msg_Test.cpp +++ b/ACE/tests/Log_Msg_Test.cpp @@ -532,7 +532,7 @@ test_ostream () char[info.size_ + 1], -1); // Make sure is released automagically. - ACE_Auto_Basic_Array_Ptr b (buffer); + std::unique_ptr b (buffer); // Read the file into the buffer. ssize_t size = file.recv (buffer, diff --git a/ACE/tests/Logging_Strategy_Test.cpp b/ACE/tests/Logging_Strategy_Test.cpp index c3d61cadabb30..3b963bf1239a9 100644 --- a/ACE/tests/Logging_Strategy_Test.cpp +++ b/ACE/tests/Logging_Strategy_Test.cpp @@ -454,7 +454,7 @@ int run_main (int argc, ACE_TCHAR *argv []) // statically ACE_Logging_Strategy logging_strategy; unsigned char ls_argc = argc - 1; - ACE_Auto_Basic_Ptr ls_argv (new ACE_TCHAR *[ls_argc]); + std::unique_ptr ls_argv (new ACE_TCHAR *[ls_argc]); for (unsigned char c = 0; c < ls_argc; c++) (ls_argv.get ())[c] = argv[c+1]; diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index cd182fb722a09..08264a2091cc3 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -619,7 +619,7 @@ int queue_priority_test (ACE_Message_Queue_Ex& q) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Prio test queue not empty\n")), 1); // Set up a few objects with names for how they should come out of the queue. - ACE_Auto_Basic_Ptr b1, b2, b3, b4; + std::unique_ptr b1, b2, b3, b4; b1.reset (new User_Class ("first")); b2.reset (new User_Class ("second")); b3.reset (new User_Class ("third")); diff --git a/ACE/tests/Reactor_Fairness_Test.cpp b/ACE/tests/Reactor_Fairness_Test.cpp index 3a01da60f2325..d1a6c0b0d4d41 100644 --- a/ACE/tests/Reactor_Fairness_Test.cpp +++ b/ACE/tests/Reactor_Fairness_Test.cpp @@ -182,7 +182,7 @@ sender (void *arg) ACE_NEW_RETURN (temp_socks, ACE_SOCK_Stream [opt_nconnections], 0); - ACE_Auto_Basic_Array_Ptr socks (temp_socks); + std::unique_ptr socks (temp_socks); // Connection all connections before sending data. ACE_SOCK_Connector c; diff --git a/ACE/tests/Reactor_Performance_Test.cpp b/ACE/tests/Reactor_Performance_Test.cpp index 0578aea999725..a49037a4e9f77 100644 --- a/ACE/tests/Reactor_Performance_Test.cpp +++ b/ACE/tests/Reactor_Performance_Test.cpp @@ -183,13 +183,13 @@ client (void *arg) ACE_NEW_RETURN (temp_writers, Write_Handler *[opt_nconnections], 0); - ACE_Auto_Basic_Array_Ptr writers (temp_writers); + std::unique_ptr writers (temp_writers); ACE_TCHAR *temp_failed = 0; ACE_NEW_RETURN (temp_failed, ACE_TCHAR[opt_nconnections], 0); - ACE_Auto_Basic_Array_Ptr failed_svc_handlers (temp_failed); + std::unique_ptr failed_svc_handlers (temp_failed); // Automagic memory cleanup. ACE_INET_Addr *temp_addresses; diff --git a/ACE/tests/Reactor_Timer_Test.cpp b/ACE/tests/Reactor_Timer_Test.cpp index 06158decf5c76..04318c2e0dd63 100644 --- a/ACE/tests/Reactor_Timer_Test.cpp +++ b/ACE/tests/Reactor_Timer_Test.cpp @@ -1,4 +1,3 @@ - //============================================================================= /** * @file Reactor_Timer_Test.cpp @@ -20,7 +19,7 @@ #include "ace/Recursive_Thread_Mutex.h" #include "ace/Log_Msg.h" #include "ace/Timer_Heap.h" -#include "ace/Auto_Ptr.h" +#include static int done = 0; static int the_count = 0; diff --git a/ACE/tests/Refcounted_Auto_Ptr_Test.cpp b/ACE/tests/Refcounted_Auto_Ptr_Test.cpp index 5c79a13ef1bcc..bc06ea01139cc 100644 --- a/ACE/tests/Refcounted_Auto_Ptr_Test.cpp +++ b/ACE/tests/Refcounted_Auto_Ptr_Test.cpp @@ -229,7 +229,7 @@ Scheduler::svc () { for (;;) { - // Dequeue the next method request (we use an auto pointer in + // Dequeue the next method request (we use an unique pointer in // case an exception is thrown in the ). ACE_Method_Request *mo_p = this->activation_queue_.dequeue (); if (0 == mo_p) diff --git a/ACE/tests/SString_Test.cpp b/ACE/tests/SString_Test.cpp index 75d47ad8b847b..f2c02677ceae9 100644 --- a/ACE/tests/SString_Test.cpp +++ b/ACE/tests/SString_Test.cpp @@ -1,4 +1,3 @@ - //============================================================================= /** * @file SString_Test.cpp @@ -11,13 +10,11 @@ */ //============================================================================= - #include "test_config.h" #include "ace/OS_NS_string.h" #include "ace/Auto_Ptr.h" #include "ace/SString.h" - static int testConcatenation() { #ifdef ACE_HAS_WCHAR ACE_WString s1; @@ -281,7 +278,7 @@ run_main (int, ACE_TCHAR *[]) if (s0.length() != 0){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;} // Rep. Error if they are not equal - ACE_Auto_Basic_Array_Ptr s (s1.rep ()); + std::unique_ptr s (s1.rep ()); if (ACE_OS::strlen (s.get ()) != s1.length ()) { ACE_ERROR((LM_ERROR,"Auto_ptr s:\n")); diff --git a/ACE/tests/UUID_Test.cpp b/ACE/tests/UUID_Test.cpp index 972464ed2ceed..f505e1a6ae319 100644 --- a/ACE/tests/UUID_Test.cpp +++ b/ACE/tests/UUID_Test.cpp @@ -1,4 +1,3 @@ - //============================================================================= /** * @file UUID_Test.cpp @@ -9,10 +8,9 @@ */ //============================================================================= - #include "test_config.h" #include "ace/UUID.h" -#include "ace/Auto_Ptr.h" +#include class Tester { diff --git a/TAO/docs/events_tutorial.html b/TAO/docs/events_tutorial.html index 932407266c649..4fe9ac9a71d5b 100644 --- a/TAO/docs/events_tutorial.html +++ b/TAO/docs/events_tutorial.html @@ -1516,7 +1516,7 @@

          Caring for your Event Channel

          // of scope, its destructor is called, which in turn destroys // the servant. - auto_ptr scheduler_impl; + std::unique_ptr scheduler_impl; RtecScheduler::Scheduler_var scheduler; @@ -1534,7 +1534,7 @@

          Caring for your Event Channel

          if (global_scheduler == 0) { scheduler_impl = - auto_ptr(new ACE_Config_Scheduler); + std::unique_ptr(new ACE_Config_Scheduler); if (scheduler_impl.get () == 0) return 1; scheduler = scheduler_impl->_this (); diff --git a/TAO/docs/tutorials/Quoter/Simple/ImprovedServer/index.html b/TAO/docs/tutorials/Quoter/Simple/ImprovedServer/index.html index 6123dbc525277..80773ed2133bc 100644 --- a/TAO/docs/tutorials/Quoter/Simple/ImprovedServer/index.html +++ b/TAO/docs/tutorials/Quoter/Simple/ImprovedServer/index.html @@ -122,7 +122,7 @@

          Activating objects in the child POA

          PortableServer::ServantBase_var servant = new Quoter_Stock_i (symbol, full_name, price); -

          The ServantBase_var acts like an auto pointer and +

          The ServantBase_var acts like an unique pointer and will take care of deallocation in case there is an exception. This time we cannot use _this() to activate the servant though, because we want to create our own ids: diff --git a/TAO/examples/Borland/ChatClientWnd.cpp b/TAO/examples/Borland/ChatClientWnd.cpp index 777ceac534cd0..bb100e5009728 100644 --- a/TAO/examples/Borland/ChatClientWnd.cpp +++ b/TAO/examples/Borland/ChatClientWnd.cpp @@ -65,7 +65,7 @@ __fastcall TChatClientWindow::TChatClientWindow (TComponent* Owner) //--------------------------------------------------------------------------- void __fastcall TChatClientWindow::ReadIOR (String filename) { - auto_ptr ior (new TStringList); + std::unique_ptr ior (new TStringList); ior->LoadFromFile (filename); ior_ = ior->Text; } diff --git a/TAO/examples/Borland/ChatClientWnd.h b/TAO/examples/Borland/ChatClientWnd.h index 6887953ead9cc..296e70d4b506f 100644 --- a/TAO/examples/Borland/ChatClientWnd.h +++ b/TAO/examples/Borland/ChatClientWnd.h @@ -4,12 +4,12 @@ //--------------------------------------------------------------------------- #include "ReceiverImpl.h" #include "BroadcasterC.h" -#include "ace/Auto_Ptr.h" #include "ORBThread.h" #include #include #include #include +#include //--------------------------------------------------------------------------- // Message used to notify window of incoming data @@ -38,7 +38,7 @@ class TChatClientWindow : public TForm String nickname_; // We run the orb's main loop in a separate thread. - auto_ptr orb_thread_; + std::unique_ptr orb_thread_; // Our orb. Order is important! The orb must have a longer lifetime than // any of the servants or stub vars/ptrs. Therefore we declare the orb var diff --git a/TAO/examples/Load_Balancing/Load_Balancer_i.cpp b/TAO/examples/Load_Balancing/Load_Balancer_i.cpp index 66c1861d93662..2b6020662ccae 100644 --- a/TAO/examples/Load_Balancing/Load_Balancer_i.cpp +++ b/TAO/examples/Load_Balancing/Load_Balancer_i.cpp @@ -72,7 +72,7 @@ Object_Group_Factory_i::make_group (int random, CORBA::NO_MEMORY ()); // Temporarily put the servant into the auto_ptr. - ACE_Auto_Basic_Ptr temp (group_servant); + std::unique_ptr temp (group_servant); // Register with the poa, begin using ref. counting. group = group_servant->_this (); diff --git a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h index bde2dbdf45109..77d49c38f129f 100644 --- a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h +++ b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h @@ -32,7 +32,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL typedef ACE_Unbounded_Set Interface_Seq; typedef ACE_Unbounded_Set_Iterator Interface_Seq_Itor; -//typedef auto_ptr Interface_Seq_Ptr; typedef ACE_Hash_Map_Manager Secondary_Addr_Map; typedef ACE_Hash_Map_Entry Secondary_Addr_Map_Entry; typedef ACE_Hash_Map_Iterator Secondary_Addr_Map_Iterator; diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp index 8b11a9dd74672..8cfa10c972c65 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp @@ -113,7 +113,7 @@ TAO_EC_Basic_ObserverStrategy::create_observer_list ( ACE_NEW_RETURN (tmp, RtecEventChannelAdmin::Observer_var[size], 0); - ACE_Auto_Basic_Array_Ptr copy (tmp); + std::unique_ptr copy (tmp); Observer_Map_Iterator end = this->observers_.end (); int j = 0; @@ -156,7 +156,7 @@ TAO_EC_Basic_ObserverStrategy::supplier_qos_update ( RtecEventChannelAdmin::Observer_var *tmp = nullptr; int size = this->create_observer_list (tmp); - ACE_Auto_Basic_Array_Ptr copy (tmp); + std::unique_ptr copy (tmp); for (int i = 0; i != size; ++i) { @@ -198,7 +198,7 @@ TAO_EC_Basic_ObserverStrategy::consumer_qos_update ( RtecEventChannelAdmin::Observer_var *tmp = nullptr; int size = this->create_observer_list (tmp); - ACE_Auto_Basic_Array_Ptr copy (tmp); + std::unique_ptr copy (tmp); for (int i = 0; i != size; ++i) { diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp index 92fd68061397c..038515fc64550 100644 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp +++ b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp @@ -453,7 +453,7 @@ TAO::HTIOP::Acceptor::open_default (TAO_ORB_Core *orb_core, ACE::HTBP::ID_Requestor req(ht_env_); ACE_TCHAR *htid = req.get_HTID (); - ACE_Auto_Array_Ptr guard (htid); + std::unique_ptr guard (htid); this->addrs_[0] = ACE_TEXT_ALWAYS_CHAR (htid); return 0; } @@ -674,7 +674,7 @@ TAO::HTIOP::Acceptor::probe_interfaces (TAO_ORB_Core *orb_core) // The instantiation for this template is in // HTIOP/HTIOP_Connector.cpp. - ACE_Auto_Basic_Array_Ptr safe_if_addrs (inet_addrs); + std::unique_ptr safe_if_addrs (inet_addrs); // If the loopback interface is the only interface then include it // in the list of interfaces to query for a hostname, otherwise diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp index 283253def365e..78bde977a732f 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp @@ -1,7 +1,6 @@ #include "orbsvcs/IFRService/AliasDef_i.h" #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp index c31a73f0ba7ee..dc03a350af81c 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp @@ -1,7 +1,6 @@ #include "orbsvcs/IFRService/ArrayDef_i.h" #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp index dbddc089e7d0c..73aff0615dc61 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp @@ -3,7 +3,6 @@ #include "orbsvcs/IFRService/IDLType_i.h" #include "orbsvcs/IFRService/ExceptionDef_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp index 168af593a0884..12dec15136bfd 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp @@ -2,11 +2,9 @@ #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" #include "orbsvcs/IFRService/IDLType_i.h" - #include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" - -#include "ace/Auto_Ptr.h" #include "ace/SString.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -167,7 +165,7 @@ TAO_ConstantDef_i::value_i () ); char *data = static_cast (ref); - ACE_Auto_Basic_Array_Ptr safety (data); + std::unique_ptr safety (data); ACE_Message_Block mb (data, length); @@ -232,7 +230,7 @@ TAO_ConstantDef_i::value_i (const CORBA::Any &value) TAO_InputCDR in (out); mb = in.steal_contents (); } - ACE_Auto_Ptr safe (mb); + std::unique_ptr safe (mb); CORBA::TCKind kind = val_tc->kind (); diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp index dc711338a09b9..ca45f7da9e004 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp @@ -1,16 +1,13 @@ #include "orbsvcs/IFRService/concrete_classes.h" #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL const char *TAO_Contained_i::tmp_name_holder_ = 0; -TAO_Contained_i::TAO_Contained_i ( - TAO_Repository_i *repo - ) +TAO_Contained_i::TAO_Contained_i (TAO_Repository_i *repo) : TAO_IRObject_i (repo) { } diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp index 94b7fb9193112..bb42f5ea04894 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp @@ -4,13 +4,10 @@ #include "orbsvcs/IFRService/ExtValueDef_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" #include "orbsvcs/IFRService/IFR_Service_Utils_T.h" - #include "tao/IFR_Client/IFR_ComponentsC.h" - #include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" - -#include "ace/Auto_Ptr.h" #include "ace/SString.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp index 3b68903033205..7bf6493b41613 100644 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp +++ b/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp @@ -15,8 +15,6 @@ #include "orbsvcs/Event/EC_Event_Channel.h" #include "ace/OS_NS_stdio.h" -#include "ace/Auto_Ptr.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_RTEventLogFactory_i::TAO_RTEventLogFactory_i () : diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp index d042436d0883c..dc014b870bdee 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp @@ -167,7 +167,7 @@ TAO_Persistent_Context_Index::recreate_all () (CONTEXT_INDEX::ITERATOR) (*index_), -1); - ACE_Auto_Basic_Ptr it (index_iter); + std::unique_ptr it (index_iter); // Because of broken old g++!!! typedef ACE_Hash_Map_With_Allocatorint_id_.hash_map_, entry->int_id_.counter_); - // Put into the auto pointer temporarily, in case next + // Put into the unique pointer temporarily, in case next // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); + std::unique_ptr temp (context_impl); TAO_Naming_Context *context = 0; ACE_NEW_RETURN (context, @@ -204,7 +204,7 @@ TAO_Persistent_Context_Index::recreate_all () // Let know about it's . context_impl->interface (context); - // Release auto pointer and start using reference counting to + // Release unique pointer and start using reference counting to // control our servant. temp.release (); PortableServer::ServantBase_var s = context; diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp index 3dc96efb69f9c..1764ca20f97d5 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp @@ -301,9 +301,9 @@ TAO_Persistent_Naming_Context::make_new_context (PortableServer::POA_ptr poa, if (context_impl == 0) throw CORBA::NO_MEMORY (); - // Put into the auto pointer temporarily, in case next + // Put into the unique pointer temporarily, in case next // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); + std::unique_ptr temp (context_impl); if (context_impl->init (context_size) == -1) throw CORBA::NO_MEMORY (); @@ -328,7 +328,7 @@ TAO_Persistent_Naming_Context::make_new_context (PortableServer::POA_ptr poa, // Let know about it's . context_impl->interface (context); - // Release auto pointer, and start using reference counting to + // Release unique pointer, and start using reference counting to // control our servant. temp.release (); PortableServer::ServantBase_var s = context; @@ -396,9 +396,9 @@ TAO_Persistent_Naming_Context::list (CORBA::ULong how_many, (*persistent_context_->map ()), CORBA::NO_MEMORY ()); - // Store temp (hash_iter); + std::unique_ptr temp (hash_iter); // Silliness below is required because of broken old g++!!! E.g., // without it, we could have just said HASH_MAP::ITERATOR everywhere we use ITER_DEF. @@ -453,7 +453,7 @@ TAO_Persistent_Naming_Context::list (CORBA::ULong how_many, ITER_SERVANT (this, hash_iter, this->poa_.in ()), CORBA::NO_MEMORY ()); - // Release from auto pointer, and start using the + // Release from unique pointer, and start using the // reference counting to control our servant. temp.release (); PortableServer::ServantBase_var iter = bind_iter; diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp index abb5b1edd81a4..0a2c077ff5297 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp @@ -493,9 +493,9 @@ TAO_Storable_Naming_Context::make_new_context ( if (context_impl == 0) throw CORBA::NO_MEMORY (); - // Put into the auto pointer temporarily, in case next + // Put into the unique pointer temporarily, in case next // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); + std::unique_ptr temp (context_impl); TAO_Naming_Context *context = 0; ACE_NEW_THROW_EX (context, @@ -505,7 +505,7 @@ TAO_Storable_Naming_Context::make_new_context ( // Let know about it's . context_impl->interface (context); - // Release auto pointer, and start using reference counting to + // Release unique pointer, and start using reference counting to // control our servant. temp.release (); PortableServer::ServantBase_var s = context; @@ -948,9 +948,9 @@ TAO_Storable_Naming_Context::list (CORBA::ULong how_many, HASH_MAP::ITERATOR (storable_context_->map ()), CORBA::NO_MEMORY ()); - // Store temp (hash_iter); + std::unique_ptr temp (hash_iter); // Silliness below is required because of broken old g++!!! E.g., // without it, we could have just said HASH_MAP::ITERATOR everywhere we use ITER_DEF. @@ -1008,7 +1008,7 @@ TAO_Storable_Naming_Context::list (CORBA::ULong how_many, ITER_SERVANT (this, hash_iter, this->poa_.in ()), CORBA::NO_MEMORY ()); - // Release from auto pointer, and start using + // Release from unique pointer, and start using // reference counting to control our servant. temp.release (); PortableServer::ServantBase_var iter = bind_iter; diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp index b98b23b428ca0..43ce5707baf10 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp @@ -74,9 +74,9 @@ TAO_Storable_Naming_Context_Activator::incarnate ( poa_id.in (), persistence_factory_); - // Put into the auto pointer temporarily, in case next + // Put into the unique pointer temporarily, in case next // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); + std::unique_ptr temp (context_impl); TAO_Naming_Context *context = 0; ACE_NEW_THROW_EX (context, @@ -86,7 +86,7 @@ TAO_Storable_Naming_Context_Activator::incarnate ( // Let know about it's . context_impl->interface (context); - // Release auto pointer, and start using reference counting to + // Release unique pointer, and start using reference counting to // control our servant. temp.release (); diff --git a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp index 4f725cbb11e78..564b1991d5a2d 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp @@ -147,9 +147,9 @@ TAO_Transient_Naming_Context::make_new_context (PortableServer::POA_ptr poa, context_size), CORBA::NO_MEMORY ()); - // Put into the auto pointer temporarily, in case next + // Put into the unique pointer temporarily, in case next // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); + std::unique_ptr temp (context_impl); TAO_Naming_Context *context = 0; ACE_NEW_THROW_EX (context, @@ -159,7 +159,7 @@ TAO_Transient_Naming_Context::make_new_context (PortableServer::POA_ptr poa, // Let know about it's . context_impl->interface (context); - // Release auto pointer, and start using reference counting to + // Release unique pointer, and start using reference counting to // control our servant. temp.release (); PortableServer::ServantBase_var s = context; @@ -226,9 +226,9 @@ TAO_Transient_Naming_Context::list (CORBA::ULong how_many, HASH_MAP::ITERATOR (transient_context_->map ()), CORBA::NO_MEMORY ()); - // Store temp (hash_iter); + std::unique_ptr temp (hash_iter); // Silliness below is required because of broken old g++!!! E.g., // without it, we could have just said HASH_MAP::ITERATOR everywhere we use ITER_DEF. @@ -278,7 +278,7 @@ TAO_Transient_Naming_Context::list (CORBA::ULong how_many, ITER_SERVANT (this, hash_iter, this->poa_.in ()), CORBA::NO_MEMORY ()); - // Release from auto pointer, and start using + // Release from unique pointer, and start using // reference counting to control our servant. temp.release (); PortableServer::ServantBase_var iter = bind_iter; diff --git a/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp b/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp index 417c6ae8d8735..f3def874d991f 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp @@ -1,9 +1,9 @@ #include "orbsvcs/Log_Macros.h" #include "orbsvcs/Notify/ETCL_Filter.h" -#include "ace/Auto_Ptr.h" #include "tao/debug.h" #include "orbsvcs/Notify/Notify_Constraint_Visitors.h" #include "orbsvcs/Notify/Topology_Saver.h" +#include #ifndef DEBUG_LEVEL # define DEBUG_LEVEL TAO_debug_level diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h index 498032c2783d3..8b5379723eafb 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h +++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h @@ -172,10 +172,10 @@ class TAO_Notify_Serv_Export TAO_Notify_EventChannel TAO_Notify_SupplierAdmin_Container& sa_container(); /// ConsumerAdmin Container. - ACE_Auto_Ptr< TAO_Notify_ConsumerAdmin_Container > ca_container_; + std::unique_ptr ca_container_; /// SupplierAdmin Container. - ACE_Auto_Ptr< TAO_Notify_SupplierAdmin_Container > sa_container_; + std::unique_ptr sa_container_; /// The default filter factory. CosNotifyFilter::FilterFactory_var default_filter_factory_; diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp index ad4ff082cd830..4a7fc942e3f17 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp @@ -95,7 +95,7 @@ TAO_Notify_EventChannelFactory::init (PortableServer::POA_ptr poa) TAO_Notify_POA_Helper (), CORBA::NO_MEMORY ()); - ACE_Auto_Ptr auto_object_poa (object_poa); + std::unique_ptr auto_object_poa (object_poa); ACE_CString poa_name = object_poa->get_unique_id (); #if defined (CORBA_E_MICRO) diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h index 9541518d2b1b1..525065c36a8a9 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h +++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h @@ -25,7 +25,7 @@ #include "orbsvcs/CosNotifyChannelAdminS.h" #include "orbsvcs/NotifyExtS.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -155,7 +155,7 @@ class TAO_Notify_Serv_Export TAO_Notify_EventChannelFactory TAO_Notify_EventChannel_Container& ec_container(); /// Container for Event Channels. - ACE_Auto_Ptr< TAO_Notify_EventChannel_Container > ec_container_; + std::unique_ptr< TAO_Notify_EventChannel_Container > ec_container_; TAO_SYNCH_MUTEX topology_save_lock_; @@ -172,7 +172,7 @@ class TAO_Notify_Serv_Export TAO_Notify_EventChannelFactory /// Release this object. virtual void release (); - ACE_Auto_Ptr validate_client_task_; + std::unique_ptr validate_client_task_; PortableServer::POA_var poa_; }; diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h index 517733dbc0940..7666c5bcb7f3f 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h +++ b/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h @@ -9,7 +9,6 @@ #define TAO_Notify_EVENT_MANAGER_H #include /**/ "ace/pre.h" -#include "ace/Auto_Ptr.h" #include "orbsvcs/Notify/Refcountable.h" @@ -20,8 +19,8 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "tao/orbconf.h" - #include "ace/CORBA_macros.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -116,10 +115,10 @@ class TAO_Notify_Serv_Export TAO_Notify_Event_Manager : public TAO_Notify_Refcou TAO_Notify_Event_Manager& operator= (TAO_Notify_Event_Manager&&) = delete; /// Consumer Map - ACE_Auto_Ptr< TAO_Notify_Consumer_Map > consumer_map_; + std::unique_ptr consumer_map_; /// Supplier Map - ACE_Auto_Ptr< TAO_Notify_Supplier_Map > supplier_map_; + std::unique_ptr supplier_map_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.cpp index d8806831e2e9d..02adf80b875a1 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.cpp @@ -3,7 +3,6 @@ #include "orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.h" #include "tao/Monitor/Monitor_Impl.h" -#include "ace/Auto_Ptr.h" #include "ace/Monitor_Point_Registry.h" #include "ace/Monitor_Base.h" @@ -90,7 +89,7 @@ NotificationServiceMonitor_i::get_statistics (const Monitor::NameList& names) Monitor::DataList ( length), 0); - ACE_Auto_Basic_Ptr safe_data (data); + std::unique_ptr safe_data (data); data->length (length); diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object.cpp b/TAO/orbsvcs/orbsvcs/Notify/Object.cpp index 3fe20a72ab338..9879e2919f5e0 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Object.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/Object.cpp @@ -152,7 +152,7 @@ TAO_Notify_Object::destroy_proxy_poa () if ( this->own_proxy_poa_ == true ) { this->own_proxy_poa_ = false; - ACE_Auto_Ptr< TAO_Notify_POA_Helper > app( proxy_poa_ ); + std::unique_ptr< TAO_Notify_POA_Helper > app( proxy_poa_ ); this->proxy_poa_->destroy (); } this->proxy_poa_ = 0; @@ -172,13 +172,13 @@ TAO_Notify_Object::destroy_object_poa () { try { - if ( this->object_poa_ == this->proxy_poa_ ) this->proxy_poa_ = 0; - if ( this->object_poa_ == this->poa_ ) this->poa_ = 0; + if (this->object_poa_ == this->proxy_poa_) this->proxy_poa_ = 0; + if (this->object_poa_ == this->poa_) this->poa_ = 0; - if ( this->own_object_poa_ == true ) + if (this->own_object_poa_ == true) { this->own_object_poa_ = false; - ACE_Auto_Ptr< TAO_Notify_POA_Helper > aop( object_poa_ ); + std::unique_ptr aop (object_poa_); this->object_poa_->destroy (); } this->object_poa_ = 0; diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp index 533dcced5023d..1a8c759fe2bc6 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp @@ -67,7 +67,7 @@ void TAO_Notify_ProxyConsumer::connect (TAO_Notify_Supplier *supplier) { // Adopt the supplier - ACE_Auto_Ptr< TAO_Notify_Supplier > auto_supplier (supplier); + std::unique_ptr auto_supplier (supplier); TAO_Notify_Atomic_Property_Long& supplier_count = this->admin_properties().suppliers (); const TAO_Notify_Property_Long& max_suppliers = this->admin_properties().max_suppliers (); diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h index 2230a958c20f4..76119b3cc9b0e 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h +++ b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h @@ -21,8 +21,7 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "orbsvcs/CosEventChannelAdminC.h" - -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -88,7 +87,7 @@ class TAO_Notify_Serv_Export TAO_Notify_ProxyConsumer TAO_Notify_SupplierAdmin::Ptr supplier_admin_; /// The Supplier that we're connect to. - ACE_Auto_Ptr supplier_; + std::unique_ptr supplier_; /// Access our Peer. virtual TAO_Notify_Peer* peer (); diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp b/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp index b9efd07001eed..8adfaa057a20d 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp @@ -1,12 +1,11 @@ #include "orbsvcs/Notify/RT_Builder.h" - -#include "ace/Auto_Ptr.h" -#include "ace/Dynamic_Service.h" #include "orbsvcs/Notify/ETCL_FilterFactory.h" #include "orbsvcs/Notify/RT_POA_Helper.h" #include "orbsvcs/Notify/Properties.h" #include "orbsvcs/NotifyExtC.h" #include "orbsvcs/Notify/Object.h" +#include "ace/Dynamic_Service.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -29,7 +28,7 @@ TAO_Notify_RT_Builder::apply_thread_pool_concurrency (TAO_Notify_Object& object TAO_Notify_RT_POA_Helper (), CORBA::NO_MEMORY ()); - ACE_Auto_Ptr auto_proxy_poa (proxy_poa); + std::unique_ptr auto_proxy_poa (proxy_poa); PortableServer::POA_var default_poa = TAO_Notify_PROPERTIES::instance ()->default_poa (); @@ -50,7 +49,7 @@ TAO_Notify_RT_Builder::apply_lane_concurrency (TAO_Notify_Object& object TAO_Notify_RT_POA_Helper (), CORBA::NO_MEMORY ()); - ACE_Auto_Ptr auto_proxy_poa (proxy_poa); + std::unique_ptr auto_proxy_poa (proxy_poa); PortableServer::POA_var default_poa = TAO_Notify_PROPERTIES::instance ()->default_poa (); diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp index 420f6bce8693f..5d25409af3c75 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp @@ -1,7 +1,6 @@ #include "orbsvcs/Log_Macros.h" #include "orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h" #include "ace/Bound_Ptr.h" -#include "ace/Auto_Ptr.h" #include "tao/debug.h" #include "orbsvcs/Notify/Structured/StructuredPushSupplier.h" #include "orbsvcs/Notify/Structured/StructuredEvent.h" diff --git a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h b/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h index 42684e8445cab..51a67fc702854 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h +++ b/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h @@ -21,7 +21,7 @@ #include "ace/Message_Queue.h" #include "ace/Reactor.h" #include "ace/Null_Condition.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once @@ -82,7 +82,7 @@ class TAO_Notify_Serv_Export TAO_Notify_ThreadPool_Task virtual void release (); /// The buffering strategy to use. - ACE_Auto_Ptr< TAO_Notify_Buffering_Strategy > buffering_strategy_; + std::unique_ptr buffering_strategy_; /// Shutdown bool shutdown_; diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp index 20b70b75e1784..9ab146a241e76 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp @@ -1,8 +1,7 @@ #include "orbsvcs/Log_Macros.h" #include "orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.h" #include "orbsvcs/PortableGroup/UIPMC_Transport_Recv_Packet.h" - -#include "ace/Auto_Ptr.h" +#include #if !defined (__ACE_INLINE__) # include "orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.inl" @@ -102,7 +101,7 @@ namespace TAO_PG (*cur_iter).key ())); } - ACE_Auto_Ptr guard ((*cur_iter).item ()); + std::unique_ptr guard ((*cur_iter).item ()); packets.unbind (cur_iter); } } @@ -152,7 +151,7 @@ namespace TAO_PG sorted_set[i]->key ())); } - ACE_Auto_Ptr guard (sorted_set[i]->item ()); + std::unique_ptr guard (sorted_set[i]->item ()); packets.unbind (sorted_set[i]); } } @@ -182,7 +181,7 @@ namespace TAO_PG (*cur_iter).item ()->data_length (), (*cur_iter).key ())); - ACE_Auto_Ptr guard ((*cur_iter).item ()); + std::unique_ptr guard ((*cur_iter).item ()); packets.unbind (cur_iter); } else @@ -223,7 +222,7 @@ namespace TAO_PG sorted_set[i]->key ())); size -= sorted_set[i]->item ()->data_length (); - ACE_Auto_Ptr guard (sorted_set[i]->item ()); + std::unique_ptr guard (sorted_set[i]->item ()); packets.unbind (sorted_set[i]); } } diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp index a409ee0873c1c..6b792efaef25d 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp @@ -9,8 +9,6 @@ #include "tao/Profile.h" #include "tao/CDR.h" -#include "ace/Auto_Ptr.h" - TAO_BEGIN_VERSIONED_NAMESPACE_DECL PortableServer::ObjectId * diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp index 4f46abd4cfc3b..4e46b4c5b79bc 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp @@ -6,7 +6,6 @@ #include "ace/Vector_T.h" #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_unistd.h" -#include "ace/Auto_Ptr.h" #include "tao/debug.h" #include "tao/ORB_Constants.h" #include "tao/PortableServer/POAManagerC.h" diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_List_Store.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_List_Store.cpp index 51b466aca48f6..2e7b888468947 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_List_Store.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_List_Store.cpp @@ -14,10 +14,8 @@ #include "tao/Storable_Base.h" #include "tao/Storable_Factory.h" #include "tao/Storable_File_Guard.h" - -#include "ace/Auto_Ptr.h" - #include +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -144,8 +142,7 @@ TAO::PG_Group_List_Store::PG_Group_List_Store ( // version already exists. bool stream_exists = false; { - ACE_Auto_Ptr stream ( - this->create_stream ("r")); + std::unique_ptr stream (this->create_stream ("r")); if (stream->exists ()) stream_exists = true; @@ -260,7 +257,7 @@ bool TAO::PG_Group_List_Store::list_obsolete () { // TODO: Update if obsolete flag is set based on CORBA call. - ACE_Auto_Ptr stream (this->create_stream ("r")); + std::unique_ptr stream (this->create_stream ("r")); if (!stream->exists ()) throw CORBA::INTERNAL (); if (stream->open () != 0) diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp index 21953ce862120..14d31d42c8240 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp @@ -17,7 +17,7 @@ namespace char *tmp = 0; ACE_NEW_THROW_EX (tmp, char [size], CORBA::NO_MEMORY ()); - ACE_Auto_Basic_Array_Ptr buf (tmp); + std::unique_ptr buf (tmp); stream.read (size, buf.get ()); TAO_InputCDR cdr (buf.get (), size); diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp index fc548a13ac99d..2da4db4fccc76 100644 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp +++ b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp @@ -1591,7 +1591,7 @@ create_i (const char *entry_point, // Store the new entry in the scheduling entry pointer array. entry_ptr_array_ [handle - 1] = new_sched_entry; - // Release the auto pointers, so their destruction does not + // Release the unique pointers, so their destruction does not // remove the new rt_info that is now in the map and tree, // or the scheduling entry attached to the rt_info. new_rt_info_ptr.release (); diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp index b9b51ce70536b..13aa7bbbe5ef9 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp @@ -22,7 +22,6 @@ #include "tao/Strategies/advanced_resource.h" #include "tao/Messaging/Messaging.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" #include "ace/High_Res_Timer.h" #include "ace/Sample_History.h" #include "ace/Basic_Stats.h" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp index 93af9abe2dd04..0ffab5ea551c4 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp @@ -18,7 +18,6 @@ #include "tao/RTCORBA/Continuous_Priority_Mapping.h" #include "tao/RTPortableServer/RTPortableServer.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" #include "ace/High_Res_Timer.h" #include "ace/Sample_History.h" #include "ace/Basic_Stats.h" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp index 7c7e0fbe6cc40..d55712a7a1876 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp @@ -10,7 +10,6 @@ #include "tao/Strategies/advanced_resource.h" #include "tao/Messaging/Messaging.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" const ACE_TCHAR *ior_output_file = ACE_TEXT ("test.ior"); int iterations = 10000; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp index 1644dbca3b509..0487adc7225aa 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp @@ -9,7 +9,6 @@ #include "tao/Strategies/advanced_resource.h" #include "tao/RTPortableServer/RTPortableServer.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" #include "ace/High_Res_Timer.h" #include "ace/Sample_History.h" #include "ace/Basic_Stats.h" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp index 946e204ead760..34167fd298e00 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp @@ -10,7 +10,6 @@ #include "tao/Strategies/advanced_resource.h" #include "tao/Messaging/Messaging.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" const ACE_TCHAR *ior_output_file = ACE_TEXT ("test.ior"); int use_rt_corba = 0; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp index c493bbfe72f16..80d2a4d3e09d9 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp @@ -16,7 +16,6 @@ #include "tao/Strategies/advanced_resource.h" #include "tao/Messaging/Messaging.h" #include "ace/Auto_Functor.h" -#include "ace/Auto_Ptr.h" #include "ace/High_Res_Timer.h" #include "ace/Basic_Stats.h" #include "ace/Stats.h" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp index 5eda28852ecc9..56f5180838d25 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp @@ -13,7 +13,6 @@ #include "tao/Strategies/advanced_resource.h" #include "tao/Messaging/Messaging.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" const ACE_TCHAR *ior_output_file = ACE_TEXT ("test.ior"); int use_rt_corba = 0; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp index 17fb3f4f5d07e..394f388124257 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp @@ -15,7 +15,6 @@ #include "tao/Strategies/advanced_resource.h" #include "tao/Messaging/Messaging.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" const ACE_TCHAR *ior_output_file = ACE_TEXT ("test.ior"); int use_rt_corba = 0; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Control.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Control.cpp index f47b21d8dac51..160652c5637b3 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Control.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Control.cpp @@ -14,7 +14,6 @@ #include "ace/High_Res_Timer.h" #include "ace/Sample_History.h" #include "ace/Basic_Stats.h" -#include "ace/Auto_Ptr.h" #include Control::Control (size_t peers_expected, @@ -57,9 +56,7 @@ Control::join (Federated_Test::Peer_ptr peer) /// Automatically shutdown the peers typedef ACE_Utils::Auto_Functor > Peer_Shutdown; - ACE_Auto_Basic_Array_Ptr peer_shutdown ( - new Peer_Shutdown[this->peers_count_] - ); + std::unique_ptr peer_shutdown (new Peer_Shutdown[this->peers_count_]); size_t i; for (i = 0; i != this->peers_count_; ++i) @@ -86,15 +83,13 @@ Control::join (Federated_Test::Peer_ptr peer) for (i = 0; i != this->peers_count_; ++i) { /// ... automatically release the object references ... - ACE_Auto_Basic_Array_Ptr loopbacks ( - new Federated_Test::Loopback_var[2*this->peers_count_] - ); + std::unique_ptr loopbacks ( + new Federated_Test::Loopback_var[2*this->peers_count_]); /// ... and automatically disconnect the loopbacks ... typedef Auto_Disconnect Loopback_Disconnect; - ACE_Auto_Basic_Array_Ptr > disconnects ( - new std::unique_ptr[2*this->peers_count_] - ); + std::unique_ptr[] > disconnects ( + new std::unique_ptr[2*this->peers_count_]); ACE_DEBUG ((LM_DEBUG, "Control (%P|%t) Running test for peer %d\n", diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp index e3823cddb70ec..a15f7031cc418 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp @@ -91,7 +91,7 @@ Low_Priority_Setup::stop_all_threads () ACE_DEBUG ((LM_DEBUG, "\n")); this->thr_mgr_.wait (); - /// Resetting the auto_ptr<> destroys all the objects. The + /// Resetting the unique_ptr<> destroys all the objects. The /// destructors automatically stop and wait for all the threads. /// Depending on your personal bias this is either "super neat" or /// "a horrible kludge", IMHO is just good use of the language :-) diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h index 2f8206ada5b21..2baa541bf6fdd 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h @@ -10,7 +10,6 @@ #include "Auto_Disconnect.h" #include "Send_Task.h" #include "Send_Task_Stopper.h" -#include "ace/Auto_Ptr.h" #include "ace/High_Res_Timer.h" #include @@ -56,12 +55,12 @@ class Low_Priority_Setup /// Collect the stats from all the clients void collect_basic_stats (ACE_Basic_Stats &stats); - typedef ACE_Auto_Basic_Array_Ptr Client_Array; + typedef std::unique_ptr Client_Array; typedef Auto_Disconnect Client_Auto_Disconnect; - typedef ACE_Auto_Basic_Array_Ptr Client_Auto_Disconnect_Array; - typedef ACE_Auto_Basic_Array_Ptr Send_Task_Array; + typedef std::unique_ptr Client_Auto_Disconnect_Array; + typedef std::unique_ptr Send_Task_Array; typedef std::unique_ptr Auto_Send_Task_Stopper; - typedef ACE_Auto_Basic_Array_Ptr Send_Task_Stopper_Array; + typedef std::unique_ptr Send_Task_Stopper_Array; private: int consumer_count_; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp index b5eaf940bfcec..bb1ac2a9419fd 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp @@ -12,7 +12,6 @@ #include "orbsvcs/Event/EC_RTCORBA_Factory.h" #include "ace/Dynamic_Service.h" -#include "ace/Auto_Ptr.h" TAO_EC_Event_Channel * RTEC_Initializer::create (PortableServer::POA_ptr consumer_poa, diff --git a/TAO/tao/Acceptor_Registry.cpp b/TAO/tao/Acceptor_Registry.cpp index 20c35ef484f74..2bee9cb505fb9 100644 --- a/TAO/tao/Acceptor_Registry.cpp +++ b/TAO/tao/Acceptor_Registry.cpp @@ -682,7 +682,7 @@ TAO_Acceptor_Registry::open_i (TAO_ORB_Core *orb_core, } char *last_addr = nullptr; - ACE_Auto_Basic_Array_Ptr addr_str (addrs.rep ()); + std::unique_ptr addr_str (addrs.rep ()); const char *astr = ACE_OS::strtok_r (addr_str.get (), ",", &last_addr); diff --git a/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl b/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl index 89f5e6db71560..f5c799175a7be 100644 --- a/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl +++ b/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl @@ -40,7 +40,7 @@ TAO::CSD::TP_Collocated_Synch_Request::wait() CORBA::Exception* ex = this->exception_; this->exception_ = 0; - ACE_Auto_Basic_Ptr ex_holder(ex); + std::unique_ptr ex_holder(ex); ex->_raise (); } } diff --git a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp index 7e96685a9627a..2b4d94130ee25 100644 --- a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp +++ b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp @@ -118,7 +118,7 @@ namespace TAO DA_IMPL (allow_truncation), CORBA::NO_MEMORY ()); - ACE_Auto_Basic_Ptr dp (p); + std::unique_ptr dp (p); try { p->init (any_tc); @@ -129,7 +129,6 @@ namespace TAO // of a previously found TAO_DynValue_i). The new BLANK one created // above on which we called init() will be deleted automatically by // the ACE_Auto_Basic_Ptr. - return original; } @@ -148,7 +147,7 @@ namespace TAO DA_IMPL (allow_truncation), CORBA::NO_MEMORY ()); - ACE_Auto_Basic_Ptr dp (p); + std::unique_ptr dp (p); try { p->init (tc, any_tc); @@ -159,7 +158,6 @@ namespace TAO // of a previously found TAO_DynValue_i). The new BLANK one created // above on which we called init() will be deleted automatically by // the ACE_Auto_Basic_Ptr. - return original; } diff --git a/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp b/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp index 18627baba14ad..6bb2d87cfb360 100644 --- a/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp +++ b/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp @@ -312,7 +312,7 @@ TAO_DTP_Thread_Pool::create_threads_i (size_t count) // Make sure the dynamically created stack size array is properly // deleted. - ACE_Auto_Basic_Array_Ptr auto_stack_size_array (stack_size_array); + std::unique_ptr auto_stack_size_array (stack_size_array); TAO_ORB_Core &orb_core = manager_.orb_core (); diff --git a/TAO/tao/IIOP_Acceptor.cpp b/TAO/tao/IIOP_Acceptor.cpp index 0362bb59c838f..43c336826098a 100644 --- a/TAO/tao/IIOP_Acceptor.cpp +++ b/TAO/tao/IIOP_Acceptor.cpp @@ -899,7 +899,7 @@ TAO_IIOP_Acceptor::probe_interfaces (TAO_ORB_Core *orb_core, int def_type) // The instantiation for this template is in // tao/IIOP_Connector.cpp. - ACE_Auto_Basic_Array_Ptr safe_if_addrs (if_addrs); + std::unique_ptr safe_if_addrs (if_addrs); #if defined (ACE_HAS_IPV6) bool ipv4_only = def_type == AF_INET; diff --git a/TAO/tao/IIOP_Connector.cpp b/TAO/tao/IIOP_Connector.cpp index aab4244dcd254..068759189d6c9 100644 --- a/TAO/tao/IIOP_Connector.cpp +++ b/TAO/tao/IIOP_Connector.cpp @@ -40,7 +40,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL /** * @class TAO_Event_Handler_Array_var * - * @brief Auto pointer like class for an array of Event Handlers. + * @brief Unique pointer like class for an array of Event Handlers. * * Used to manage lifecycle of handlers. This class calls * ACE_Event_Handler::remove_reference() on each handler in its destructor diff --git a/TAO/tao/LocateRequest_Invocation.cpp b/TAO/tao/LocateRequest_Invocation.cpp index 55fba32925560..cd3f4c0f5f9f9 100644 --- a/TAO/tao/LocateRequest_Invocation.cpp +++ b/TAO/tao/LocateRequest_Invocation.cpp @@ -21,7 +21,7 @@ namespace TAO /** * @class First_Request_Guard * - * @brief Auto pointer like class for first_request flag in transport. + * @brief Unique pointer like class for first_request flag in transport. * * Since codeset service context is only sent in the first request it might * happen that after LocateRequest (which doesn't include service context) diff --git a/TAO/tao/Messaging/ExceptionHolder_i.cpp b/TAO/tao/Messaging/ExceptionHolder_i.cpp index 12378b020b496..f7f789e926035 100644 --- a/TAO/tao/Messaging/ExceptionHolder_i.cpp +++ b/TAO/tao/Messaging/ExceptionHolder_i.cpp @@ -89,7 +89,7 @@ namespace TAO exception->completed (CORBA::CompletionStatus (completion)); // Raise the exception. - ACE_Auto_Basic_Ptr e_ptr(exception); + std::unique_ptr e_ptr(exception); exception->_raise (); return; @@ -115,7 +115,7 @@ namespace TAO } // Raise the exception. - ACE_Auto_Basic_Ptr e_ptr (exception); + std::unique_ptr e_ptr (exception); exception->_raise (); return; diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index a938793e1ee02..acad4ace82fd4 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -2757,7 +2757,7 @@ TAO_ORB_Core::resolve_ior_table_i () this->adapter_registry_.insert (iortable_adapter.get ()); - // It is now (exception) safe to release ownership from the auto pointers + // It is now (exception) safe to release ownership from the unique pointers this->ior_table_= tmp_root._retn (); iortable_adapter.release (); } @@ -2791,7 +2791,7 @@ TAO_ORB_Core::resolve_async_ior_table_i () this->adapter_registry_.insert (iortable_adapter.get ()); - // It is now (exception) safe to release ownership from the auto pointers + // It is now (exception) safe to release ownership from the unique pointers this->async_ior_table_= tmp_root._retn (); iortable_adapter.release (); } diff --git a/TAO/tao/PortableServer/Active_Object_Map.cpp b/TAO/tao/PortableServer/Active_Object_Map.cpp index 1ddf7e457cd5a..f7dbe2791dafb 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.cpp +++ b/TAO/tao/PortableServer/Active_Object_Map.cpp @@ -115,7 +115,7 @@ TAO_Active_Object_Map::TAO_Active_Object_Map ( #endif } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_id_uniqueness_strategy (id_uniqueness_strategy); TAO_Lifespan_Strategy *lifespan_strategy = 0; @@ -139,7 +139,7 @@ TAO_Active_Object_Map::TAO_Active_Object_Map ( CORBA::NO_MEMORY ()); } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_lifespan_strategy (lifespan_strategy); TAO_Id_Assignment_Strategy *id_assignment_strategy = 0; @@ -174,7 +174,7 @@ TAO_Active_Object_Map::TAO_Active_Object_Map ( #endif } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_id_assignment_strategy (id_assignment_strategy); TAO_Id_Hint_Strategy *id_hint_strategy = 0; @@ -196,7 +196,7 @@ TAO_Active_Object_Map::TAO_Active_Object_Map ( CORBA::NO_MEMORY ()); } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_id_hint_strategy (id_hint_strategy); servant_map *sm = 0; @@ -230,7 +230,7 @@ TAO_Active_Object_Map::TAO_Active_Object_Map ( } } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_servant_map (sm); user_id_map *uim = 0; @@ -300,7 +300,7 @@ TAO_Active_Object_Map::TAO_Active_Object_Map ( } } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_user_id_map (uim); id_uniqueness_strategy->set_active_object_map (this); @@ -308,7 +308,7 @@ TAO_Active_Object_Map::TAO_Active_Object_Map ( id_assignment_strategy->set_active_object_map (this); // Finally everything is fine. Make sure to take ownership away - // from the auto pointer. + // from the unique pointer. this->id_uniqueness_strategy_ = std::move(new_id_uniqueness_strategy); this->lifespan_strategy_ = std::move(new_lifespan_strategy); this->id_assignment_strategy_ = std::move(new_id_assignment_strategy); diff --git a/TAO/tao/PortableServer/Object_Adapter.cpp b/TAO/tao/PortableServer/Object_Adapter.cpp index 77a78f08282a9..958f18f7fb6ec 100644 --- a/TAO/tao/PortableServer/Object_Adapter.cpp +++ b/TAO/tao/PortableServer/Object_Adapter.cpp @@ -165,7 +165,7 @@ TAO_Object_Adapter::TAO_Object_Adapter (const TAO_Server_Strategy_Factory::Activ ACE_NEW (hint_strategy, No_Hint_Strategy); - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_hint_strategy (hint_strategy); new_hint_strategy->object_adapter (this); @@ -192,7 +192,7 @@ TAO_Object_Adapter::TAO_Object_Adapter (const TAO_Server_Strategy_Factory::Activ persistent_poa_name_hash_map (creation_parameters.poa_map_size_)); break; } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_persistent_poa_name_map (ppnm); transient_poa_map *tpm = 0; @@ -222,7 +222,7 @@ TAO_Object_Adapter::TAO_Object_Adapter (const TAO_Server_Strategy_Factory::Activ transient_poa_active_map (creation_parameters.poa_map_size_)); break; } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_transient_poa_map (tpm); this->hint_strategy_ = new_hint_strategy.release (); diff --git a/TAO/tao/PortableServer/Root_POA.cpp b/TAO/tao/PortableServer/Root_POA.cpp index f894825dd50ba..38af7843129b5 100644 --- a/TAO/tao/PortableServer/Root_POA.cpp +++ b/TAO/tao/PortableServer/Root_POA.cpp @@ -2024,7 +2024,7 @@ TAO_Root_POA::key_to_stub_i (const TAO::ObjectKey &key, 0); } - // Give ownership to the auto pointer. + // Give ownership to the unique pointer. std::unique_ptr new_filter (filter); TAO_Stub *data = diff --git a/TAO/tao/RTCORBA/Thread_Pool.cpp b/TAO/tao/RTCORBA/Thread_Pool.cpp index a525540132074..99fcf1597c742 100644 --- a/TAO/tao/RTCORBA/Thread_Pool.cpp +++ b/TAO/tao/RTCORBA/Thread_Pool.cpp @@ -451,7 +451,7 @@ TAO_Thread_Lane::create_threads_i (TAO_Thread_Pool_Threads &thread_pool, // Make sure the dynamically created stack size array is properly // deleted. - ACE_Auto_Basic_Array_Ptr auto_stack_size_array (stack_size_array); + std::unique_ptr auto_stack_size_array (stack_size_array); TAO_ORB_Core &orb_core = this->pool ().manager ().orb_core (); diff --git a/TAO/tao/Strategies/SCIOP_Acceptor.cpp b/TAO/tao/Strategies/SCIOP_Acceptor.cpp index b5ae1ccca8ad3..d4d4c68e908a0 100644 --- a/TAO/tao/Strategies/SCIOP_Acceptor.cpp +++ b/TAO/tao/Strategies/SCIOP_Acceptor.cpp @@ -238,7 +238,7 @@ TAO_SCIOP_Acceptor::open (TAO_ORB_Core *orb_core, ACE_Multihomed_INET_Addr addr; const char *port_separator_loc = std::strchr (address, ':'); - ACE_Auto_Basic_Array_Ptr tmp_host_auto; + std::unique_ptr tmp_host_auto; if (port_separator_loc == address) { @@ -329,7 +329,7 @@ TAO_SCIOP_Acceptor::open (TAO_ORB_Core *orb_core, { // Obtain a char* for the primary hostname. ACE_CString & primary_hostname_obj = hostnames[0]; - ACE_Auto_Basic_Array_Ptr primary_hostname_auto(primary_hostname_obj.rep()); + std::unique_ptr primary_hostname_auto(primary_hostname_obj.rep()); const char* primary_hostname = primary_hostname_auto.get(); // Convert the primary hostname to ACE_UINT32 @@ -342,7 +342,7 @@ TAO_SCIOP_Acceptor::open (TAO_ORB_Core *orb_core, // Allocate an array of secondary ip addresses. ACE_UINT32 *secondary_ip_addrs = 0; - ACE_Auto_Basic_Array_Ptr secondary_ip_addrs_auto; + std::unique_ptr secondary_ip_addrs_auto; size_t num_secondary_ip_addrs = hostnames.size() - 1; if (num_secondary_ip_addrs > 0) { ACE_NEW_RETURN(secondary_ip_addrs, @@ -357,7 +357,7 @@ TAO_SCIOP_Acceptor::open (TAO_ORB_Core *orb_core, while (i < num_secondary_ip_addrs) { // Obtain a char* for a single secondary hostname. ACE_CString & hostname_obj = hostnames[i + 1]; - ACE_Auto_Basic_Array_Ptr hostname_auto(hostname_obj.rep()); + std::unique_ptr hostname_auto(hostname_obj.rep()); const char* hostname = hostname_auto.get(); // Obtain the ip address for this secondary hostname. @@ -424,7 +424,7 @@ TAO_SCIOP_Acceptor::open (TAO_ORB_Core *orb_core, { // Obtain a char* for the hostname. ACE_CString & hostname_obj = hostnames[i]; - ACE_Auto_Basic_Array_Ptr hostname_auto(hostname_obj.rep()); + std::unique_ptr hostname_auto(hostname_obj.rep()); const char* hostname = hostname_auto.get(); if (this->hostname (orb_core, @@ -728,7 +728,7 @@ TAO_SCIOP_Acceptor::probe_interfaces (TAO_ORB_Core *orb_core) // The instantiation for this template is in // tao/SCIOP_Connector.cpp. - ACE_Auto_Basic_Array_Ptr safe_if_addrs (if_addrs); + std::unique_ptr safe_if_addrs (if_addrs); // If the loopback interface is the only interface then include it // in the list of interfaces to query for a hostname, otherwise @@ -806,7 +806,7 @@ TAO_SCIOP_Acceptor::parse_multiple_hostnames (const char *hostnames, ACE_NEW_RETURN (hostnames_copy, char[hostnames_string_length], -1); - ACE_Auto_Basic_Array_Ptr hostnames_copy_auto(hostnames_copy); + std::unique_ptr hostnames_copy_auto(hostnames_copy); ACE_OS::strncpy(hostnames_copy, hostnames, hostnames_string_length); // Count the number of hostnames separated by "+" diff --git a/TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp b/TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp index 03295ed6c2f10..5caee7f27e078 100644 --- a/TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp +++ b/TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp @@ -58,7 +58,7 @@ TAO_ZIOP_Service_Context_Handler::process_service_context ( { TAO::CompressionEnablingPolicy *enabled= 0; ACE_NEW_RETURN (enabled, TAO::CompressionEnablingPolicy (), 0); - ACE_Auto_Basic_Ptr guard (enabled); + std::unique_ptr guard (enabled); if (enabled->_tao_decode (policy_cdr)) { req->clientCompressionEnablingPolicy (guard.release ()); @@ -70,7 +70,7 @@ TAO_ZIOP_Service_Context_Handler::process_service_context ( { TAO::CompressorIdLevelListPolicy *id_list= 0; ACE_NEW_RETURN (id_list, TAO::CompressorIdLevelListPolicy (), 0); - ACE_Auto_Basic_Ptr guard (id_list); + std::unique_ptr guard (id_list); if (id_list->_tao_decode (policy_cdr)) { req->clientCompressorIdLevelListPolicy (guard.release ()); diff --git a/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp b/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp index f906c35dec6dc..038e18d9be6d1 100644 --- a/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp +++ b/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp @@ -89,7 +89,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) } #endif /* ACE_HAS_IPV6 */ - ACE_Auto_Basic_Array_Ptr safe_if_addrs (if_addrs); + std::unique_ptr safe_if_addrs (if_addrs); #if defined (ACE_HAS_IPV6) bool ipv4_only = def_type == AF_INET; From e6e9ef494569e7cbe9653e5ea29de235830a22d1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 17:22:28 +0200 Subject: [PATCH 203/445] Update Svc_Conf_Lexer.cpp --- ACE/ace/Svc_Conf_Lexer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/Svc_Conf_Lexer.cpp b/ACE/ace/Svc_Conf_Lexer.cpp index 371fad474a321..3c408d5e0249d 100644 --- a/ACE/ace/Svc_Conf_Lexer.cpp +++ b/ACE/ace/Svc_Conf_Lexer.cpp @@ -34,7 +34,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL # define ACE_TEMPORARY_STRING(X,SIZE) \ char* X = 0; \ char X ## buf[ACE_YY_BUF_SIZE]; \ - std::unique_ptr X ## bufp (0); \ + std::unique_ptr X ## bufp (nullptr); \ if (SIZE > ACE_YY_BUF_SIZE) { \ X ## bufp.reset (new char[SIZE]); \ X = X ## bufp.get (); \ From babc33f87eacaff8b45ec09e666cee482937c901 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 20:20:11 +0200 Subject: [PATCH 204/445] Get rid of ACE_Auto_Array_Ptr * ACE/Kokyu/Default_Dispatcher_Impl.h: * ACE/ace/Sock_Connect.cpp: * ACE/ace/TLI.cpp: * ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: * ACE/examples/C++NPv2/TP_Logging_Server.h: * ACE/examples/Reactor/TP_Reactor/client.cpp: * ACE/protocols/ace/HTBP/HTBP_Channel.cpp: * ACE/protocols/ace/HTBP/HTBP_Session.cpp: * ACE/protocols/ace/INet/BidirStreamBuffer.h: * ACE/protocols/ace/INet/BufferedStreamBuffer.h: * ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp: * ACE/protocols/ace/RMCast/Link.cpp: * ACE/tests/CDR_Test.cpp: * ACE/tests/Reactor_Performance_Test.cpp: * TAO/examples/Simple/grid/Grid_i.cpp: * TAO/examples/Simple/grid/Grid_i.h: * TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp: * TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp: * TAO/tests/Oneway_Send_Timeouts/Client.cpp: --- ACE/Kokyu/Default_Dispatcher_Impl.h | 2 +- ACE/ace/Sock_Connect.cpp | 2 +- ACE/ace/TLI.cpp | 8 ++++---- ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp | 2 +- ACE/examples/C++NPv2/TP_Logging_Server.h | 2 +- ACE/examples/Reactor/TP_Reactor/client.cpp | 2 +- ACE/protocols/ace/HTBP/HTBP_Channel.cpp | 2 +- ACE/protocols/ace/HTBP/HTBP_Session.cpp | 4 ++-- ACE/protocols/ace/INet/BidirStreamBuffer.h | 4 ++-- ACE/protocols/ace/INet/BufferedStreamBuffer.h | 2 +- ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp | 4 ++-- ACE/protocols/ace/RMCast/Link.cpp | 2 +- ACE/tests/CDR_Test.cpp | 4 ++-- ACE/tests/Reactor_Performance_Test.cpp | 2 +- TAO/examples/Simple/grid/Grid_i.cpp | 2 +- TAO/examples/Simple/grid/Grid_i.h | 2 +- TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp | 4 ++-- .../orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp | 4 ++-- .../orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp | 2 +- TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp | 2 +- TAO/tests/Oneway_Send_Timeouts/Client.cpp | 4 ++-- 21 files changed, 31 insertions(+), 31 deletions(-) diff --git a/ACE/Kokyu/Default_Dispatcher_Impl.h b/ACE/Kokyu/Default_Dispatcher_Impl.h index 2eb559f454c6d..ec17f76c713e4 100644 --- a/ACE/Kokyu/Default_Dispatcher_Impl.h +++ b/ACE/Kokyu/Default_Dispatcher_Impl.h @@ -49,7 +49,7 @@ namespace Kokyu private: typedef std::unique_ptr Dispatcher_Task_Auto_Ptr; - ACE_Auto_Array_Ptr tasks_; + std::unique_ptr tasks_; int ntasks_; ConfigInfoSet curr_config_info_; int activated_; diff --git a/ACE/ace/Sock_Connect.cpp b/ACE/ace/Sock_Connect.cpp index bc855bb54fd6f..ae3ce1ace0f32 100644 --- a/ACE/ace/Sock_Connect.cpp +++ b/ACE/ace/Sock_Connect.cpp @@ -680,7 +680,7 @@ ACE::get_ip_interfaces (size_t &count, ACE_INET_Addr *&addrs) -1); ACE_OS::memset (ifs, 0, num_ifs * sizeof (struct IFREQ)); - ACE_Auto_Array_Ptr p_ifs (ifs); + std::unique_ptr p_ifs (ifs); if (p_ifs.get() == 0) { diff --git a/ACE/ace/TLI.cpp b/ACE/ace/TLI.cpp index 92eed1d3bd50b..2c16a70857a4b 100644 --- a/ACE/ace/TLI.cpp +++ b/ACE/ace/TLI.cpp @@ -99,7 +99,7 @@ ACE_TLI::set_option (int level, int option, void *optval, int optlen) # if (_XOPEN_SOURCE - 0 >= 500) std::unique_ptr req_opt_buf_p (reinterpret_cast (req.opt.buf)); # else - ACE_Auto_Array_Ptr req_opt_buf_p (req.opt.buf); + std::unique_ptr req_opt_buf_p (req.opt.buf); # endif /* XPG5 vs XPG4 */ struct t_opthdr *opthdr = reinterpret_cast (req.opt.buf); @@ -107,7 +107,7 @@ ACE_TLI::set_option (int level, int option, void *optval, int optlen) # if (_XOPEN_SOURCE - 0 >= 500) std::unique_ptr ret_opt_buf_p (reinterpret_cast (ret.opt.buf)); # else - ACE_Auto_Array_Ptr ret_opt_buf_p (ret.opt.buf); + std::unique_ptr ret_opt_buf_p (ret.opt.buf); # endif /* XPG5 vs XPG4 */ req.flags = T_NEGOTIATE; @@ -138,7 +138,7 @@ ACE_TLI::get_option (int level, int option, void *optval, int &optlen) # if (_XOPEN_SOURCE - 0 >= 500) std::unique_ptr req_opt_buf_p (reinterpret_cast (req.opt.buf)); # else - ACE_Auto_Array_Ptr req_opt_buf_p (req.opt.buf); + std::unique_ptr req_opt_buf_p (req.opt.buf); # endif /* XPG5 vs XPG4 */ struct t_opthdr *opthdr = reinterpret_cast (req.opt.buf); @@ -146,7 +146,7 @@ ACE_TLI::get_option (int level, int option, void *optval, int &optlen) # if (_XOPEN_SOURCE - 0 >= 500) std::unique_ptr ret_opt_buf_p (reinterpret_cast (ret.opt.buf)); # else - ACE_Auto_Array_Ptr ret_opt_buf_p (ret.opt.buf); + std::unique_ptr ret_opt_buf_p (ret.opt.buf); # endif /* XPG5 vs XPG4 */ req.flags = T_CURRENT; diff --git a/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp b/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp index df15596844266..45569cc81f1a0 100644 --- a/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp +++ b/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp @@ -19,7 +19,7 @@ Reactor_Logging_Server_Adapter::init (int argc, int i; char **array = 0; ACE_NEW_RETURN (array, char*[argc], -1); - ACE_Auto_Array_Ptr char_argv (array); + std::unique_ptr char_argv (array); for (i = 0; i < argc; ++i) char_argv[i] = ACE::strnew (ACE_TEXT_ALWAYS_CHAR (argv[i])); diff --git a/ACE/examples/C++NPv2/TP_Logging_Server.h b/ACE/examples/C++NPv2/TP_Logging_Server.h index fe2c20f825ed0..2286f06b04d6d 100644 --- a/ACE/examples/C++NPv2/TP_Logging_Server.h +++ b/ACE/examples/C++NPv2/TP_Logging_Server.h @@ -102,7 +102,7 @@ class TP_Logging_Server : public ACE_Service_Object { int i; char **array = 0; ACE_NEW_RETURN (array, char*[argc], -1); - ACE_Auto_Array_Ptr char_argv (array); + std::unique_ptr char_argv (array); for (i = 0; i < argc; ++i) char_argv[i] = ACE::strnew (ACE_TEXT_ALWAYS_CHAR (argv[i])); diff --git a/ACE/examples/Reactor/TP_Reactor/client.cpp b/ACE/examples/Reactor/TP_Reactor/client.cpp index ef6bc7d1a394b..4a3234d2a8dc1 100644 --- a/ACE/examples/Reactor/TP_Reactor/client.cpp +++ b/ACE/examples/Reactor/TP_Reactor/client.cpp @@ -51,7 +51,7 @@ int ACE_TMAIN(int argc, ACE_TCHAR **argv) { ACE_TEXT ("data buffer.\n")), -1); // put someData in a kind of auto_ptr so it gets deleted automatically - ACE_Auto_Array_Ptr pSomeData(someData); + std::unique_ptr pSomeData(someData); // parse the argument if available if ((argc == 3) && (((count = ACE_OS::strtol(argv[2], 0, 10)) < 1) || diff --git a/ACE/protocols/ace/HTBP/HTBP_Channel.cpp b/ACE/protocols/ace/HTBP/HTBP_Channel.cpp index b7c6ca1caab84..c6aba406adc6c 100644 --- a/ACE/protocols/ace/HTBP/HTBP_Channel.cpp +++ b/ACE/protocols/ace/HTBP/HTBP_Channel.cpp @@ -415,7 +415,7 @@ ACE::HTBP::Channel::recvv (iovec iov[], { int ndx = 0; iovec *iov2 = new iovec[iovcnt]; - ACE_Auto_Array_Ptr guard (iov2); + std::unique_ptr guard (iov2); for (int i = 0; i < iovcnt; i++) { size_t n = ACE_MIN ((size_t) iov[i].iov_len , diff --git a/ACE/protocols/ace/HTBP/HTBP_Session.cpp b/ACE/protocols/ace/HTBP/HTBP_Session.cpp index d488e446a9a73..0680e71131544 100644 --- a/ACE/protocols/ace/HTBP/HTBP_Session.cpp +++ b/ACE/protocols/ace/HTBP/HTBP_Session.cpp @@ -69,7 +69,7 @@ ACE::HTBP::Session::Session () { ACE::HTBP::ID_Requestor req; ACE_TCHAR * htid = req.get_HTID(); - ACE_Auto_Array_Ptr guard (htid); + std::unique_ptr guard (htid); session_id_.local_ = ACE_TEXT_ALWAYS_CHAR(htid); session_id_.id_ = ACE::HTBP::Session::next_session_id(); ACE_NEW (inbound_, ACE::HTBP::Channel (this)); @@ -248,7 +248,7 @@ ACE::HTBP::Session::flush_outbound_queue () ACE_NEW_RETURN (iov, iovec[this->outbound_queue_.message_count()], -1); - ACE_Auto_Array_Ptr guard (iov); + std::unique_ptr guard (iov); this->outbound_queue_.peek_dequeue_head (msg); for (size_t i = 0; i < this->outbound_queue_.message_count(); i++) { diff --git a/ACE/protocols/ace/INet/BidirStreamBuffer.h b/ACE/protocols/ace/INet/BidirStreamBuffer.h index 1b5f0e4a76bf2..f9fa03a821bd1 100644 --- a/ACE/protocols/ace/INet/BidirStreamBuffer.h +++ b/ACE/protocols/ace/INet/BidirStreamBuffer.h @@ -87,8 +87,8 @@ namespace ACE int flush_buffer (); std::streamsize bufsize_; - ACE_Auto_Array_Ptr read_buffer_; - ACE_Auto_Array_Ptr write_buffer_; + std::unique_ptr read_buffer_; + std::unique_ptr write_buffer_; openmode mode_; STREAM_HANDLER *stream_; interceptor_type* interceptor_; diff --git a/ACE/protocols/ace/INet/BufferedStreamBuffer.h b/ACE/protocols/ace/INet/BufferedStreamBuffer.h index 56bae21bb221e..8f163b26f235c 100644 --- a/ACE/protocols/ace/INet/BufferedStreamBuffer.h +++ b/ACE/protocols/ace/INet/BufferedStreamBuffer.h @@ -80,7 +80,7 @@ namespace ACE int flush_buffer (); std::streamsize bufsize_; - ACE_Auto_Array_Ptr buffer_; + std::unique_ptr buffer_; typename std::basic_ios::openmode mode_; interceptor_type* interceptor_; diff --git a/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp b/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp index 1454898d3eb8f..b724ec83c3daf 100644 --- a/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp +++ b/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp @@ -34,7 +34,7 @@ namespace ACE if (scheme == SCHEME) { size_t out_len = 0; - ACE_Auto_Array_Ptr safe_buf (ACE_Base64::decode ((const ACE_Byte*)info.c_str (), + std::unique_ptr safe_buf (ACE_Base64::decode ((const ACE_Byte*)info.c_str (), &out_len)); ACE_CString credentials ((char*)safe_buf.get (), out_len); ACE_CString::size_type pos = credentials.find (':'); @@ -57,7 +57,7 @@ namespace ACE credentials += ':'; credentials += this->passwd_; size_t out_len = 0; - ACE_Auto_Array_Ptr safe_buf ( + std::unique_ptr safe_buf ( ACE_Base64::encode ((const ACE_Byte*)credentials.c_str (), credentials.length (), &out_len, diff --git a/ACE/protocols/ace/RMCast/Link.cpp b/ACE/protocols/ace/RMCast/Link.cpp index fb5bc709de3c3..b15cae36a874a 100644 --- a/ACE/protocols/ace/RMCast/Link.cpp +++ b/ACE/protocols/ace/RMCast/Link.cpp @@ -184,7 +184,7 @@ namespace ACE_RMCast { size_t max_packet_size (params_.max_packet_size ()); - ACE_Auto_Array_Ptr holder (new char[max_packet_size + ACE_CDR::MAX_ALIGNMENT]); + std::unique_ptr holder (new char[max_packet_size + ACE_CDR::MAX_ALIGNMENT]); char* data = ACE_ptr_align_binary (holder.get (), ACE_CDR::MAX_ALIGNMENT); diff --git a/ACE/tests/CDR_Test.cpp b/ACE/tests/CDR_Test.cpp index 481f661a8e9a8..c6cac48b4ccdb 100644 --- a/ACE/tests/CDR_Test.cpp +++ b/ACE/tests/CDR_Test.cpp @@ -242,9 +242,9 @@ short_stream () is >> str1; ACE_InputCDR::to_wstring twstr (wstr1, 0); is >> twstr; - // @todo Lose the ACE_Auto_Array_Ptr. We should be using a + // @todo Lose the std::unique_ptr. We should be using a // std::string, or the like. - ACE_Auto_Array_Ptr safe_wstr (wstr1); + std::unique_ptr safe_wstr (wstr1); is >> std_str1; #if !defined(ACE_LACKS_STD_WSTRING) is >> std_wstr1; diff --git a/ACE/tests/Reactor_Performance_Test.cpp b/ACE/tests/Reactor_Performance_Test.cpp index a49037a4e9f77..87a66daf61772 100644 --- a/ACE/tests/Reactor_Performance_Test.cpp +++ b/ACE/tests/Reactor_Performance_Test.cpp @@ -196,7 +196,7 @@ client (void *arg) ACE_NEW_RETURN (temp_addresses, ACE_INET_Addr [opt_nconnections], 0); - ACE_Auto_Array_Ptr addresses (temp_addresses); + std::unique_ptr addresses (temp_addresses); // Initialize array. for (i = 0; i < opt_nconnections; i++) diff --git a/TAO/examples/Simple/grid/Grid_i.cpp b/TAO/examples/Simple/grid/Grid_i.cpp index 6906f8585d737..b35020f196706 100644 --- a/TAO/examples/Simple/grid/Grid_i.cpp +++ b/TAO/examples/Simple/grid/Grid_i.cpp @@ -121,7 +121,7 @@ void Grid_i::destroy () { // Delete the array. - ACE_Auto_Array_Ptr tmp (this->array_.release ()); + std::unique_ptr tmp (this->array_.release ()); this->width_ = 0; this->height_ = 0; diff --git a/TAO/examples/Simple/grid/Grid_i.h b/TAO/examples/Simple/grid/Grid_i.h index fcce738f501fd..da302bff8aa49 100644 --- a/TAO/examples/Simple/grid/Grid_i.h +++ b/TAO/examples/Simple/grid/Grid_i.h @@ -71,7 +71,7 @@ class Grid_i: public POA_Grid CORBA::Short height_; /// Pointer to the matrix. This is organized as an "array of arrays." - typedef ACE_Auto_Array_Ptr GridArray; + typedef std::unique_ptr GridArray; GridArray array_; /// Some Windows compilers don't have min in std namespaces diff --git a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp index 1a7cc09f55cf0..0ac4dc0ae7d85 100644 --- a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp +++ b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp @@ -171,7 +171,7 @@ TAO_AV_SCTP_SEQ_Base_Acceptor::acceptor_open (TAO_AV_SCTP_SEQ_Acceptor *acceptor this->reactor_ = reactor; this->entry_ = entry; - ACE_Auto_Array_Ptr local_ip_addr + std::unique_ptr local_ip_addr (new ACE_UINT32[entry->num_local_sec_addrs ()]); ACE_INET_Addr ip_addr; char** addrs = entry->get_local_sec_addr (); @@ -491,7 +491,7 @@ TAO_AV_SCTP_SEQ_Connector::connect (TAO_FlowSpec_Entry *entry, -1); } - ACE_Auto_Array_Ptr local_ip_addr + std::unique_ptr local_ip_addr (new ACE_UINT32[entry->num_peer_sec_addrs ()]); ACE_INET_Addr ip_addr; char** addrs = entry->get_peer_sec_addr (); diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp index 9ab146a241e76..2201c0d9a067a 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp @@ -118,7 +118,7 @@ namespace TAO_PG DESCRIPTOR_SET sorted_set; ACE_NEW (sorted_set, HASH_MAP_ENTRY*[current_size]); - ACE_Auto_Array_Ptr owner (sorted_set); + std::unique_ptr owner (sorted_set); HASH_MAP_ITER iter = packets.begin (); @@ -196,7 +196,7 @@ namespace TAO_PG DESCRIPTOR_SET sorted_set; ACE_NEW (sorted_set, HASH_MAP_ENTRY*[current_size]); - ACE_Auto_Array_Ptr owner (sorted_set); + std::unique_ptr owner (sorted_set); iter = packets.begin (); diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp index 942408b46c3eb..a8a0ad1b5a024 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp @@ -534,7 +534,7 @@ TAO_UIPMC_Mcast_Transport::handle_input ( TAO::VMCID, ENOMEM), CORBA::COMPLETED_NO)); - ACE_Auto_Array_Ptr owner_buffer (buffer); + std::unique_ptr owner_buffer (buffer); ACE_Data_Block db (complete->data_length () + ACE_CDR::MAX_ALIGNMENT, ACE_Message_Block::MB_DATA, buffer, diff --git a/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp b/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp index caa1748ee6403..0be4100e289a4 100644 --- a/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp +++ b/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp @@ -114,7 +114,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) ACE_NEW_RETURN (servers, Test::Hello_var [number_of_servers], -1); - ACE_Auto_Array_Ptr owner (servers); + std::unique_ptr owner (servers); for (CORBA::ULong i = 0; i < number_of_servers; ++ i) { diff --git a/TAO/tests/Oneway_Send_Timeouts/Client.cpp b/TAO/tests/Oneway_Send_Timeouts/Client.cpp index 47e8bdf21fee7..62305572c76a4 100644 --- a/TAO/tests/Oneway_Send_Timeouts/Client.cpp +++ b/TAO/tests/Oneway_Send_Timeouts/Client.cpp @@ -241,7 +241,7 @@ Client::test_oneway_timeout (bool flood) { bool status = true; - ACE_Auto_Array_Ptr tmp (new char [6000000]); + std::unique_ptr tmp (new char [6000000]); char* msg = tmp.get(); ACE_OS::memset (msg,'A',5999999); @@ -513,7 +513,7 @@ Client::flood_connection (ACE_Time_Value& tv) policy_list[0]->destroy (); policy_list.length(0); - ACE_Auto_Array_Ptr tmp (new char [2000000]); + std::unique_ptr tmp (new char [2000000]); char* msg = tmp.get(); ACE_OS::memset (msg,'A',1999999); From 292335d6048ac7a54e2339271da8de5af9ecd194 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 20:22:40 +0200 Subject: [PATCH 205/445] Use std::unique_ptr * ACE/ACEXML/parser/parser/Parser.cpp: * ACE/apps/JAWS/server/HTTP_Server.cpp: * ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp: * ACE/protocols/ace/INet/HTTPS_Context.h: * ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp: * ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp: * ACE/protocols/ace/RMCast/Socket.cpp: * ACE/protocols/ace/RMCast/Socket.h: * ACE/protocols/examples/INet/FTP_Simple_exec.cpp: * ACE/protocols/examples/INet/HTTP_Simple_exec.cpp: * ACE/tests/Bug_3539_Regression_Test.cpp: * TAO/DevGuideExamples/Multithreading/GracefulShutdown/MessengerServer.cpp: * TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h: * TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h: * TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h: * TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h: * TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp: * TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Naming_Manager.cpp: * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp: * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h: * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp: * TAO/orbsvcs/orbsvcs/Notify/Admin.h: * TAO/orbsvcs/orbsvcs/Notify/Consumer.h: * TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h: * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp: * TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp: * TAO/tests/Bug_3524_Regression/test_i.cpp: * TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h: * TAO/tests/Storable/Savable.cpp: --- ACE/ACEXML/parser/parser/Parser.cpp | 1 + ACE/apps/JAWS/server/HTTP_Server.cpp | 2 +- ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp | 2 +- ACE/protocols/ace/INet/HTTPS_Context.h | 2 +- ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp | 2 +- ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp | 2 +- ACE/protocols/ace/RMCast/Socket.cpp | 12 ++++++------ ACE/protocols/ace/RMCast/Socket.h | 2 +- ACE/protocols/examples/INet/FTP_Simple_exec.cpp | 2 +- ACE/protocols/examples/INet/HTTP_Simple_exec.cpp | 4 ++-- ACE/tests/Bug_3539_Regression_Test.cpp | 2 +- .../GracefulShutdown/MessengerServer.cpp | 2 +- TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h | 2 +- TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h | 2 +- TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h | 2 +- .../examples/ImR/Combined_Service/dynserver.h | 2 +- TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp | 2 +- .../Naming/FaultTolerant/FT_Naming_Manager.cpp | 2 +- .../orbsvcs/Naming/Storable_Naming_Context.cpp | 6 +++--- TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h | 2 +- .../Naming/Storable_Naming_Context_Activator.cpp | 2 +- TAO/orbsvcs/orbsvcs/Notify/Admin.h | 2 +- TAO/orbsvcs/orbsvcs/Notify/Consumer.h | 2 +- TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h | 4 ++-- .../PortableGroup/PG_Object_Group_Storable.cpp | 6 +++--- .../orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp | 4 ++-- .../tests/CosEvent/Timeout/TimeoutTestMain.cpp | 2 +- TAO/tests/Bug_3524_Regression/test_i.cpp | 4 ++-- TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h | 4 ++-- TAO/tests/Storable/Savable.cpp | 2 +- 30 files changed, 44 insertions(+), 43 deletions(-) diff --git a/ACE/ACEXML/parser/parser/Parser.cpp b/ACE/ACEXML/parser/parser/Parser.cpp index fa0d4c620bdc3..bafeedef8d6a0 100644 --- a/ACE/ACEXML/parser/parser/Parser.cpp +++ b/ACE/ACEXML/parser/parser/Parser.cpp @@ -12,6 +12,7 @@ #include "ACEXML/parser/parser/ParserInternals.h" #include "ace/OS_NS_string.h" #include "ace/OS_NS_strings.h" +#include static const ACEXML_Char default_attribute_type[] = ACE_TEXT ("CDATA"); static const ACEXML_Char empty_string[] = { 0 }; diff --git a/ACE/apps/JAWS/server/HTTP_Server.cpp b/ACE/apps/JAWS/server/HTTP_Server.cpp index 9894cab64bfdc..89e9dce140f52 100644 --- a/ACE/apps/JAWS/server/HTTP_Server.cpp +++ b/ACE/apps/JAWS/server/HTTP_Server.cpp @@ -154,7 +154,7 @@ HTTP_Server::init (int argc, ACE_TCHAR *argv[]) //NOTE: At this point f better not be a NULL pointer, //so please do not change the ACE_NEW_RETURN macros unless //you know what you are doing - ACE_Auto_Ptr factory (f); + std::unique_ptr factory (f); // Choose what concurrency strategy to run. switch (this->strategy_) diff --git a/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp b/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp index dda846531078d..4bf6f71c34413 100644 --- a/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp +++ b/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp @@ -48,7 +48,7 @@ namespace ACE ACE_NEW_RETURN (session_holder, SessionHolder (), 0); - ACE_Auto_Ptr session_safe_ref (session_holder); + std::unique_ptr session_safe_ref (session_holder); (*session_holder)->set_host (ikey.host (), ikey.port ()); diff --git a/ACE/protocols/ace/INet/HTTPS_Context.h b/ACE/protocols/ace/INet/HTTPS_Context.h index f0e533c09c6ba..9ab8c05e312fc 100644 --- a/ACE/protocols/ace/INet/HTTPS_Context.h +++ b/ACE/protocols/ace/INet/HTTPS_Context.h @@ -83,7 +83,7 @@ namespace ACE Context (const Context&); ACE_SSL_Context* ssl_ctx_; - ACE_Auto_Ptr alloc_safe; + std::unique_ptr alloc_safe; static int ssl_mode_; static bool ssl_strict_; diff --git a/ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp b/ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp index ef54eb8262b16..8428341e61b76 100644 --- a/ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp +++ b/ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp @@ -51,7 +51,7 @@ namespace ACE ACE_NEW_RETURN (session_holder, SessionHolder_Impl (), 0); - ACE_Auto_Ptr session_safe_ref (session_holder); + std::unique_ptr session_safe_ref (session_holder); (*session_holder)->set_host (ikey.host (), ikey.port ()); if (ikey.is_proxy_connection ()) diff --git a/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp b/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp index 5f510650abbcb..fda529e84304a 100644 --- a/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp +++ b/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp @@ -96,7 +96,7 @@ namespace ACE ACE_NEW_RETURN (session_holder, SessionHolder_Impl (), 0); - ACE_Auto_Ptr session_safe_ref (session_holder); + std::unique_ptr session_safe_ref (session_holder); (*session_holder)->set_host (ikey.host (), ikey.port ()); if (ikey.is_proxy_connection ()) diff --git a/ACE/protocols/ace/RMCast/Socket.cpp b/ACE/protocols/ace/RMCast/Socket.cpp index 8158ff4c74752..e9587d4b477e6 100644 --- a/ACE/protocols/ace/RMCast/Socket.cpp +++ b/ACE/protocols/ace/RMCast/Socket.cpp @@ -70,12 +70,12 @@ namespace ACE_RMCast ACE_Pipe signal_pipe_; - ACE_Auto_Ptr fragment_; - ACE_Auto_Ptr reassemble_; - ACE_Auto_Ptr acknowledge_; - ACE_Auto_Ptr retransmit_; - ACE_Auto_Ptr flow_; - ACE_Auto_Ptr link_; + std::unique_ptr fragment_; + std::unique_ptr reassemble_; + std::unique_ptr acknowledge_; + std::unique_ptr retransmit_; + std::unique_ptr flow_; + std::unique_ptr link_; }; diff --git a/ACE/protocols/ace/RMCast/Socket.h b/ACE/protocols/ace/RMCast/Socket.h index f3df325b367d3..ad23a458d08a2 100644 --- a/ACE/protocols/ace/RMCast/Socket.h +++ b/ACE/protocols/ace/RMCast/Socket.h @@ -89,7 +89,7 @@ namespace ACE_RMCast get_handle (); private: - ACE_Auto_Ptr impl_; + std::unique_ptr impl_; }; } diff --git a/ACE/protocols/examples/INet/FTP_Simple_exec.cpp b/ACE/protocols/examples/INet/FTP_Simple_exec.cpp index b2db0f45abfb2..9b0b35c9b7e7e 100644 --- a/ACE/protocols/examples/INet/FTP_Simple_exec.cpp +++ b/ACE/protocols/examples/INet/FTP_Simple_exec.cpp @@ -133,7 +133,7 @@ class My_FTP_RequestHandler int ACE_TMAIN (int argc, ACE_TCHAR *argv []) { - ACE_Auto_Ptr fout; + std::unique_ptr fout; std::ostream* sout = &std::cout; if (!parse_args (argc, argv)) diff --git a/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp b/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp index 35abddb6b89a1..f8844c91097c3 100644 --- a/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp +++ b/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp @@ -154,7 +154,7 @@ class My_HTTP_RequestHandler int ACE_TMAIN (int argc, ACE_TCHAR *argv []) { - ACE_Auto_Ptr fout; + std::unique_ptr fout; std::ostream* sout = &std::cout; if (!parse_args (argc, argv)) @@ -212,7 +212,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv []) std::cout << "Parsing url [" << url.c_str () << "]" << std::endl; - ACE_Auto_Ptr url_safe (ACE::INet::URL_Base::create_from_string (url)); + std::unique_ptr url_safe (ACE::INet::URL_Base::create_from_string (url)); if (url_safe.get () == 0 || url != url_safe->to_string ()) { diff --git a/ACE/tests/Bug_3539_Regression_Test.cpp b/ACE/tests/Bug_3539_Regression_Test.cpp index 428b33b928228..b1041937a7f6e 100644 --- a/ACE/tests/Bug_3539_Regression_Test.cpp +++ b/ACE/tests/Bug_3539_Regression_Test.cpp @@ -85,7 +85,7 @@ run_main (int, ACE_TCHAR *[]) { ObjectWithTSS *o = 0; ACE_NEW_RETURN (o, ObjectWithTSS, 1); - ACE_Auto_Ptr owner (o); + std::unique_ptr owner (o); if (ACE_Thread_Manager::instance ()->spawn_n (threads, diff --git a/TAO/DevGuideExamples/Multithreading/GracefulShutdown/MessengerServer.cpp b/TAO/DevGuideExamples/Multithreading/GracefulShutdown/MessengerServer.cpp index 7ee82018714a0..4bef4422ce4c3 100644 --- a/TAO/DevGuideExamples/Multithreading/GracefulShutdown/MessengerServer.cpp +++ b/TAO/DevGuideExamples/Multithreading/GracefulShutdown/MessengerServer.cpp @@ -152,7 +152,7 @@ int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) // Create a MessengerServer object. MessengerServer * server = new MessengerServer (orb.in()); - ACE_Auto_Ptr safe_ptr (server); + std::unique_ptr safe_ptr (server); // Parse arguments to determine how we should shutdown. if (server->parse_args (argc, argv) != 0) diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h index deb6a53607a9c..224c8b5e66167 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h +++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h @@ -34,7 +34,7 @@ class Activator_Export ImR_Activator_Loader : public TAO_Object_Loader private: ImR_Activator_i service_; Activator_Options opts_; - ACE_Auto_Ptr runner_; + std::unique_ptr runner_; private: ImR_Activator_Loader (const ImR_Activator_Loader &) = delete; diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h index 76f39081061f9..abcf629f0e232 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h +++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h @@ -33,7 +33,7 @@ class Locator_Export ImR_Locator_Loader : public TAO_Object_Loader private: ImR_Locator_i service_; Options opts_; - ACE_Auto_Ptr runner_; + std::unique_ptr runner_; private: ImR_Locator_Loader (const ImR_Locator_Loader &) = delete; ImR_Locator_Loader &operator = (const ImR_Locator_Loader &) = delete; diff --git a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h index f24b40bdb0618..f464359b6cad0 100644 --- a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h +++ b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h @@ -61,7 +61,7 @@ class TAO_IMR_i ImplementationRepository::Administration_var imr_; /// What we need to do. - ACE_Auto_Ptr op_; + std::unique_ptr op_; }; diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h index 6591ba81d09b6..a8575ceee9fd9 100644 --- a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h +++ b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h @@ -44,7 +44,7 @@ class DynServer_Export DynServer_Loader : public TAO_Object_Loader CORBA::ORB_var orb_; PortableServer::POA_var root_poa_; DynServer service_; - ACE_Auto_Ptr runner_; + std::unique_ptr runner_; private: DynServer_Loader (const DynServer_Loader &) = delete; diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp index bb42f5ea04894..52c331b70f7f2 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp @@ -832,7 +832,7 @@ TAO_Container_i::create_constant_i (const char *id, TAO_InputCDR in (out); mb = in.steal_contents (); } - ACE_Auto_Ptr safe (mb); + std::unique_ptr safe (mb); CORBA::TypeCode_var val_tc = value.type (); diff --git a/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Naming_Manager.cpp b/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Naming_Manager.cpp index 8d86516f2a98e..ee934acd06772 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Naming_Manager.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Naming_Manager.cpp @@ -781,7 +781,7 @@ TAO_FT_Naming_Manager::next_member (PortableGroup::ObjectGroup_ptr object_group) ::FT_Naming::LoadBalancingStrategyValue load_bal_strategy = this->global_strategy_; if (!this->use_global_) { - ACE_Auto_Ptr props + std::unique_ptr props (this->get_properties (object_group)); PortableGroup::Value value; CORBA::Boolean found = diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp index 0a2c077ff5297..96315152c2efe 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp @@ -16,7 +16,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL const char * TAO_Storable_Naming_Context::root_name_; ACE_UINT32 TAO_Storable_Naming_Context::gcounter_; -ACE_Auto_Ptr TAO_Storable_Naming_Context::gfl_; +std::unique_ptr TAO_Storable_Naming_Context::gfl_; int TAO_Storable_Naming_Context::redundant_; TAO_Storable_IntId::TAO_Storable_IntId () @@ -414,7 +414,7 @@ TAO_Storable_Naming_Context::~TAO_Storable_Naming_Context () ACE_CString file_name = this->context_name_; // Now delete the file - ACE_Auto_Ptr + std::unique_ptr fl ( this->factory_->create_stream(file_name.c_str(), "r") ); @@ -1074,7 +1074,7 @@ TAO_Storable_Naming_Context::recreate_all ( // Now does this already exist on disk? ACE_CString file_name = poa_id; - ACE_Auto_Ptr fl ( + std::unique_ptr fl ( pers_factory->create_stream (file_name.c_str (), "r")); if (fl->exists ()) { diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h index ef6222589ed46..f95624b4eb33c 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h @@ -418,7 +418,7 @@ class TAO_Naming_Serv_Export TAO_Storable_Naming_Context : public TAO_Hash_Namin static const char * root_name_; /// The pointer to the global file used to allocate new contexts - static ACE_Auto_Ptr gfl_; + static std::unique_ptr gfl_; /** * @class File_Open_Lock_and_Check diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp index 43ce5707baf10..a48eac4e573a3 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp @@ -57,7 +57,7 @@ TAO_Storable_Naming_Context_Activator::incarnate ( { // Does this already exist on disk? ACE_CString file_name = poa_id.in (); - ACE_Auto_Ptr fl ( + std::unique_ptr fl ( persistence_factory_->create_stream (file_name.c_str (), "rw")); diff --git a/TAO/orbsvcs/orbsvcs/Notify/Admin.h b/TAO/orbsvcs/orbsvcs/Notify/Admin.h index accd1590bc8e1..f997c07456d27 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Admin.h +++ b/TAO/orbsvcs/orbsvcs/Notify/Admin.h @@ -112,7 +112,7 @@ class TAO_Notify_Serv_Export TAO_Notify_Admin : public TAO_Notify::Topology_Pare void remove (TAO_Notify_Proxy *proxy); /// The Proxy Container. - ACE_Auto_Ptr< TAO_Notify_Proxy_Container > proxy_container_; + std::unique_ptr< TAO_Notify_Proxy_Container > proxy_container_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Consumer.h b/TAO/orbsvcs/orbsvcs/Notify/Consumer.h index bacb92f417fda..d7a3bf3ed37ae 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Consumer.h +++ b/TAO/orbsvcs/orbsvcs/Notify/Consumer.h @@ -203,7 +203,7 @@ typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Consumer > Ptr; private: /// Events pending to be delivered. - ACE_Auto_Ptr pending_events_; + std::unique_ptr pending_events_; CORBA::Object_var rtt_obj_; }; diff --git a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h b/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h index 1509d8e294904..839f9f83a438f 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h +++ b/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h @@ -83,10 +83,10 @@ class TAO_Notify_Serv_Export TAO_CosNotify_Service : public TAO_Notify_Service TAO_Notify_Builder& builder(); /// Service component for object factory operations. - ACE_Auto_Ptr< TAO_Notify_Factory > factory_; + std::unique_ptr< TAO_Notify_Factory > factory_; /// Service component for building NS participants. - ACE_Auto_Ptr< TAO_Notify_Builder > builder_; + std::unique_ptr< TAO_Notify_Builder > builder_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp index 14d31d42c8240..279b35b260dad 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp @@ -246,7 +246,7 @@ TAO::PG_Object_Group_Storable::PG_Object_Group_Storable ( // version already exists. bool stream_exists = false; { - ACE_Auto_Ptr stream (this->create_stream ("r")); + std::unique_ptr stream (this->create_stream ("r")); if (stream->exists ()) stream_exists = true; @@ -284,7 +284,7 @@ TAO::PG_Object_Group_Storable::PG_Object_Group_Storable ( // version already exists. bool stream_exists = false; { - ACE_Auto_Ptr stream (this->create_stream ("r")); + std::unique_ptr stream (this->create_stream ("r")); if (stream->exists ()) stream_exists = true; @@ -304,7 +304,7 @@ TAO::PG_Object_Group_Storable::~PG_Object_Group_Storable () { if (destroyed_) { - ACE_Auto_Ptr stream (this->create_stream ("r")); + std::unique_ptr stream (this->create_stream ("r")); if (stream->exists ()) { diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp index a8a0ad1b5a024..90ad07a0553b1 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp @@ -81,7 +81,7 @@ TAO_UIPMC_Mcast_Transport::cleanup_packets (bool expired_only) (*cur_iter).item ()->data_length ())); } - ACE_Auto_Ptr guard ((*cur_iter).item ()); + std::unique_ptr guard ((*cur_iter).item ()); this->incomplete_.unbind (cur_iter); } } @@ -514,7 +514,7 @@ TAO_UIPMC_Mcast_Transport::handle_input ( } // Grab the next completed MIOP message to process from the FIFO Queue. - ACE_Auto_Ptr complete_owner (this->recv_all (rh)); + std::unique_ptr complete_owner (this->recv_all (rh)); if (TAO_PG::UIPMC_Recv_Packet *complete = complete_owner.get ()) { if (TAO_debug_level >= 9) diff --git a/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp b/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp index 98172797c7bb1..23583a5711c22 100644 --- a/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp +++ b/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp @@ -125,7 +125,7 @@ int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) servant.activate (); } - ACE_Auto_Ptr pST; + std::unique_ptr pST; if (supplier) { // The supplier will use its own ORB. diff --git a/TAO/tests/Bug_3524_Regression/test_i.cpp b/TAO/tests/Bug_3524_Regression/test_i.cpp index 30fd7e9185f3e..46bf15869abde 100644 --- a/TAO/tests/Bug_3524_Regression/test_i.cpp +++ b/TAO/tests/Bug_3524_Regression/test_i.cpp @@ -149,7 +149,7 @@ A_i::arr_method (::Test::A::FailOn where, ::Test::arr_bd_str_slice *res = ::Test::arr_bd_str_alloc (); - ACE_Auto_Ptr< ::Test::arr_bd_str_slice> safe (res); + std::unique_ptr< ::Test::arr_bd_str_slice> safe (res); switch (where) { @@ -184,7 +184,7 @@ A_i::arr_method_s (::Test::A::FailOn where, ::Test::arr_bds_str_slice *res = ::Test::arr_bds_str_alloc (); - ACE_Auto_Ptr< ::Test::arr_bds_str_slice > safe (res); + std::unique_ptr< ::Test::arr_bds_str_slice > safe (res); switch (where) { diff --git a/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h b/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h index 1977726f11816..3d5265126fba8 100644 --- a/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h +++ b/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h @@ -94,8 +94,8 @@ class Service_Config_ORB_DLL_Export Service_Config_ORB_DLL private: signed char is_server_; - ACE_Auto_Ptr worker_; - ACE_Auto_Ptr argv_; + std::unique_ptr worker_; + std::unique_ptr argv_; }; ACE_FACTORY_DECLARE (Service_Config_ORB_DLL, Service_Config_ORB_DLL) diff --git a/TAO/tests/Storable/Savable.cpp b/TAO/tests/Storable/Savable.cpp index ee4667f0fb833..11dd4a7ce373b 100644 --- a/TAO/tests/Storable/Savable.cpp +++ b/TAO/tests/Storable/Savable.cpp @@ -102,7 +102,7 @@ Savable::Savable (TAO::Storable_Factory & storable_factory) } } - ACE_Auto_Ptr stream (storable_factory_.create_stream("test.dat", "r")); + std::unique_ptr stream (storable_factory_.create_stream("test.dat", "r")); if (stream->exists ()) { Savable_File_Guard fg(*this, SFG::CREATE_WITH_FILE); From 5fd8963e1e7d973d3740c16e18538ab7d8da1985 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 20:25:15 +0200 Subject: [PATCH 206/445] Include fix * TAO/tao/PortableServer/Root_POA.cpp: --- TAO/tao/PortableServer/Root_POA.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/TAO/tao/PortableServer/Root_POA.cpp b/TAO/tao/PortableServer/Root_POA.cpp index 38af7843129b5..212fdb8e32b03 100644 --- a/TAO/tao/PortableServer/Root_POA.cpp +++ b/TAO/tao/PortableServer/Root_POA.cpp @@ -46,14 +46,12 @@ #include "tao/TSS_Resources.h" #include "tao/IORInterceptor_Adapter.h" #include "tao/debug.h" - -// auto_ptr class -#include "ace/Auto_Ptr.h" #include "ace/Dynamic_Service.h" #include "ace/OS_NS_netdb.h" #include "ace/OS_NS_string.h" #include "ace/OS_NS_unistd.h" #include "ace/Log_Msg.h" +#include #if !defined (__ACE_INLINE__) # include "tao/PortableServer/Root_POA.inl" From bf716f7573aa4962ba56b080b9b5448f28a1f9cb Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 21:03:01 +0200 Subject: [PATCH 207/445] Update EventChannel.cpp --- TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp index 4301182362cb8..21b8c24878852 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp @@ -45,7 +45,7 @@ TAO_Notify_EventChannel::TAO_Notify_EventChannel () , ca_container_ (0) , sa_container_ (0) , default_filter_factory_ (CosNotifyFilter::FilterFactory::_nil ()) - , default_filter_factory_servant_ (0) + , default_filter_factory_servant_ (nullptr) { } From eaf09c218662e8a9e7a5c1b9047721729258645b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 21:17:49 +0200 Subject: [PATCH 208/445] Update HTBP_Session.cpp --- ACE/protocols/ace/HTBP/HTBP_Session.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/protocols/ace/HTBP/HTBP_Session.cpp b/ACE/protocols/ace/HTBP/HTBP_Session.cpp index 0680e71131544..e0802247f04ab 100644 --- a/ACE/protocols/ace/HTBP/HTBP_Session.cpp +++ b/ACE/protocols/ace/HTBP/HTBP_Session.cpp @@ -5,7 +5,7 @@ #include "ace/SOCK_Connector.h" #include "ace/Event_Handler.h" #include "ace/os_include/netinet/os_tcp.h" -#include "ace/Auto_Ptr.h" +#include #include "HTBP_Filter.h" #include "HTBP_ID_Requestor.h" From 6771ed92528428c275f2b7a6a6da8278dd2454e9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 2 Sep 2023 21:33:14 +0200 Subject: [PATCH 209/445] Update BufferedStreamBuffer.h --- ACE/protocols/ace/INet/BufferedStreamBuffer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/protocols/ace/INet/BufferedStreamBuffer.h b/ACE/protocols/ace/INet/BufferedStreamBuffer.h index 8f163b26f235c..4c0bc48429b86 100644 --- a/ACE/protocols/ace/INet/BufferedStreamBuffer.h +++ b/ACE/protocols/ace/INet/BufferedStreamBuffer.h @@ -15,11 +15,11 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "ace/Auto_Ptr.h" #include "ace/INet/StreamInterceptor.h" #include #include #include +#include ACE_BEGIN_VERSIONED_NAMESPACE_DECL From 552b2a809408d9b78d44547c5d30b378ad6bb813 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sun, 3 Sep 2023 09:02:45 +0200 Subject: [PATCH 210/445] Include changes memory --- ACE/apps/JAWS/clients/Caching/URL_Properties.cpp | 2 +- ACE/apps/JAWS/server/HTTP_Server.cpp | 2 +- ACE/apps/JAWS/server/JAWS_IO.cpp | 2 +- ACE/examples/APG/Active_Objects/AO.cpp | 3 ++- ACE/examples/APG/Active_Objects/AO2.cpp | 2 +- ACE/examples/APG/Naming/Name_Binding.h | 2 +- ACE/examples/APG/Reactor/HAStatus.cpp | 2 +- ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp | 2 +- ACE/examples/C++NPv2/TP_Logging_Server.h | 2 +- ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp | 3 +-- ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp | 4 +--- ACE/examples/Reactor/TP_Reactor/client.cpp | 3 +-- ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp | 3 +-- ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp | 2 +- ACE/examples/Smart_Pointers/gadget_test.cpp | 2 +- ACE/examples/Threads/future1.cpp | 3 +-- ACE/examples/Threads/future2.cpp | 2 +- ACE/examples/Timer_Queue/Driver.cpp | 4 +--- ACE/examples/Web_Crawler/HTTP_URL.cpp | 3 +-- ACE/examples/Web_Crawler/Mem_Map_Stream.cpp | 2 +- ACE/netsvcs/lib/Client_Logging_Handler.cpp | 2 +- ACE/netsvcs/lib/Name_Handler.cpp | 2 +- ACE/netsvcs/lib/Server_Logging_Handler_T.cpp | 2 +- ACE/protocols/ace/HTBP/HTBP_Channel.cpp | 2 +- ACE/protocols/ace/INet/BidirStreamBuffer.h | 2 +- ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp | 2 +- ACE/protocols/ace/INet/HTTPS_Context.h | 2 +- ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp | 2 +- ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp | 2 +- ACE/protocols/ace/RMCast/Bits.h | 2 +- ACE/protocols/ace/RMCast/Protocol.h | 2 +- ACE/protocols/ace/RMCast/Socket.h | 2 +- ACE/protocols/examples/INet/FTP_Simple_exec.cpp | 2 +- ACE/protocols/examples/INet/HTTP_Simple_exec.cpp | 2 +- ACE/tests/Bug_1890_Regression_Test.cpp | 2 +- ACE/tests/Bug_2540_Regression_Test.cpp | 2 +- ACE/tests/Bug_2820_Regression_Test.cpp | 2 +- ACE/tests/Bug_3539_Regression_Test.cpp | 2 +- ACE/tests/CDR_File_Test.cpp | 2 +- ACE/tests/CDR_Test.cpp | 2 +- ACE/tests/Codecs_Test.cpp | 2 +- ACE/tests/Conn_Test.cpp | 2 +- ACE/tests/DLL_Test.cpp | 2 +- ACE/tests/Future_Set_Test.cpp | 2 +- ACE/tests/Future_Test.cpp | 2 +- ACE/tests/Log_Msg_Test.cpp | 2 +- ACE/tests/Logging_Strategy_Test.cpp | 2 +- ACE/tests/Malloc_Test.cpp | 2 +- ACE/tests/Message_Queue_Test_Ex.cpp | 2 +- ACE/tests/Network_Adapters_Test.cpp | 2 +- ACE/tests/Notify_Performance_Test.cpp | 2 +- ACE/tests/Priority_Reactor_Test.cpp | 2 +- ACE/tests/Proactor_Timer_Test.cpp | 2 +- ACE/tests/Reactor_Fairness_Test.cpp | 2 +- ACE/tests/Reactor_Notify_Test.cpp | 2 +- ACE/tests/Reactor_Performance_Test.cpp | 2 +- ACE/tests/Reactor_Remove_Resume_Test.cpp | 2 +- ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp | 2 +- ACE/tests/SString_Test.cpp | 2 +- ACE/tests/Task_Ex_Test.cpp | 2 +- TAO/TAO_IDL/be/be_visitor_interface/interface.h | 2 +- TAO/examples/Load_Balancing/Load_Balancer_i.cpp | 2 +- TAO/examples/Load_Balancing_persistent/Load_Balancer_i.cpp | 2 +- TAO/examples/Simple/grid/Grid_i.cpp | 4 ++-- TAO/examples/Simple/grid/Grid_i.h | 2 +- TAO/orbsvcs/Event_Service/Event_Service.cpp | 2 +- TAO/orbsvcs/IFR_Service/IFR_Service.cpp | 2 +- TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h | 2 +- TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h | 2 +- TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h | 2 +- TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h | 2 +- TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h | 2 +- TAO/orbsvcs/Scheduling_Service/Scheduling_Service.cpp | 2 +- .../examples/CosEC/RtEC_Based/lib/CosEvent_Utilities.cpp | 2 +- .../examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp | 2 +- TAO/orbsvcs/examples/ImR/Advanced/TestServer.h | 2 +- TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h | 2 +- TAO/orbsvcs/examples/RtEC/Kokyu/Service.cpp | 2 +- TAO/orbsvcs/examples/RtEC/Schedule/Service.cpp | 2 +- TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h | 2 +- TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp | 2 +- TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp | 2 +- .../FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp | 2 +- .../orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp | 2 +- TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp | 2 +- TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp | 2 +- .../Naming/FaultTolerant/FT_Persistent_Naming_Context.cpp | 2 +- .../Naming/FaultTolerant/FT_Storable_Naming_Context.cpp | 2 +- TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp | 2 +- TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp | 2 +- TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp | 2 +- TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp | 2 +- TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp | 2 +- TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h | 2 +- .../orbsvcs/Naming/Storable_Naming_Context_Activator.cpp | 2 +- TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp | 2 +- TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp | 2 +- TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp | 6 +++--- TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp | 2 +- TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp | 2 +- TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp | 2 +- TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp | 2 +- TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp | 2 +- TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp | 2 +- TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp | 2 +- TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp | 2 +- TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp | 2 +- TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp | 2 +- TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp | 2 +- TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp | 2 +- TAO/orbsvcs/tests/ImplRepo/MT_stress/server_i.h | 2 +- TAO/orbsvcs/tests/ImplRepo/scale/server_i.h | 2 +- TAO/orbsvcs/tests/Trading/export_test.cpp | 2 +- TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp | 2 +- TAO/tao/Acceptor_Registry.cpp | 2 +- TAO/tao/AnyTypeCode/Any_Array_Impl_T.cpp | 2 +- TAO/tao/AnyTypeCode/Any_Basic_Impl.cpp | 2 +- TAO/tao/AnyTypeCode/Any_Basic_Impl_T.cpp | 2 +- TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp | 2 +- TAO/tao/AnyTypeCode/Any_Impl_T.cpp | 2 +- TAO/tao/AnyTypeCode/Any_SystemException.cpp | 2 +- TAO/tao/AnyTypeCode/NVList.cpp | 2 +- TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl | 2 +- TAO/tao/Connector_Registry.cpp | 2 +- TAO/tao/DynamicAny/DynAnyFactory.cpp | 2 +- TAO/tao/DynamicAny/DynAnyUtils_T.cpp | 2 +- TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp | 2 +- TAO/tao/IORManipulation/IORManipulation.cpp | 2 +- TAO/tao/Load_Protocol_Factory_T.h | 2 +- TAO/tao/Messaging/ExceptionHolder_i.cpp | 2 +- TAO/tao/ORB_Core.cpp | 2 +- TAO/tao/PortableServer/Active_Object_Map.cpp | 2 +- TAO/tao/PortableServer/Active_Object_Map.h | 2 +- TAO/tao/PortableServer/Object_Adapter.cpp | 2 +- TAO/tao/RTCORBA/Thread_Pool.cpp | 2 +- TAO/tao/RTPortableServer/RT_POA.cpp | 2 +- TAO/tao/Resource_Factory.h | 2 +- TAO/tao/Strategies/COIOP_Acceptor.cpp | 2 +- TAO/tao/Strategies/advanced_resource.cpp | 2 +- TAO/tao/Stub.cpp | 2 +- TAO/tao/Synch_Invocation.cpp | 2 +- TAO/tests/Bug_3524_Regression/test_i.cpp | 2 +- TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp | 2 +- TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp | 4 ++-- TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h | 2 +- TAO/tests/Oneway_Send_Timeouts/Client.cpp | 2 +- TAO/tests/Storable/Savable.cpp | 2 +- 156 files changed, 161 insertions(+), 169 deletions(-) diff --git a/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp b/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp index 22750c4d1613e..8c1ab1a7444a2 100644 --- a/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp +++ b/ACE/apps/JAWS/clients/Caching/URL_Properties.cpp @@ -7,8 +7,8 @@ #include "URL_Properties.inl" #endif /* __ACE_INLINE__ */ -#include "ace/Auto_Ptr.h" #include "URL_Array_Helper.h" +#include size_t ACE_WString_Helper::encode (void *buf, const ACE_WString &wstr) diff --git a/ACE/apps/JAWS/server/HTTP_Server.cpp b/ACE/apps/JAWS/server/HTTP_Server.cpp index 89e9dce140f52..4fdd569027032 100644 --- a/ACE/apps/JAWS/server/HTTP_Server.cpp +++ b/ACE/apps/JAWS/server/HTTP_Server.cpp @@ -8,10 +8,10 @@ #include "ace/LOCK_SOCK_Acceptor.h" #include "ace/Proactor.h" #include "ace/Signal.h" -#include "ace/Auto_Ptr.h" #include "JAWS_IO.h" #include "HTTP_Server.h" +#include // class is overkill class JAWS diff --git a/ACE/apps/JAWS/server/JAWS_IO.cpp b/ACE/apps/JAWS/server/JAWS_IO.cpp index cc16af5d27fcf..9699073850bd0 100644 --- a/ACE/apps/JAWS/server/JAWS_IO.cpp +++ b/ACE/apps/JAWS/server/JAWS_IO.cpp @@ -11,8 +11,8 @@ #include "ace/OS_NS_fcntl.h" #include "ace/OS_NS_unistd.h" #include "ace/OS_NS_sys_stat.h" -#include "ace/Auto_Ptr.h" #include "ace/Basic_Types.h" +#include JAWS_IO::JAWS_IO () : handler_ (0) diff --git a/ACE/examples/APG/Active_Objects/AO.cpp b/ACE/examples/APG/Active_Objects/AO.cpp index 9600e99560ec3..c2b0dd57a660f 100644 --- a/ACE/examples/APG/Active_Objects/AO.cpp +++ b/ACE/examples/APG/Active_Objects/AO.cpp @@ -6,7 +6,8 @@ #include "ace/Method_Request.h" #include "ace/Task.h" #include "ace/Future.h" -#include "ace/Auto_Ptr.h" +#include + // Listing 1 code/ch15 class HA_ControllerAgent { diff --git a/ACE/examples/APG/Active_Objects/AO2.cpp b/ACE/examples/APG/Active_Objects/AO2.cpp index 9543f6480d05a..d552b2c2d4838 100644 --- a/ACE/examples/APG/Active_Objects/AO2.cpp +++ b/ACE/examples/APG/Active_Objects/AO2.cpp @@ -6,7 +6,7 @@ #include "ace/Method_Request.h" #include "ace/Task.h" #include "ace/Future.h" -#include "ace/Auto_Ptr.h" +#include class HA_ControllerAgent { diff --git a/ACE/examples/APG/Naming/Name_Binding.h b/ACE/examples/APG/Naming/Name_Binding.h index 069ef1eae2a03..01e45500e4e88 100644 --- a/ACE/examples/APG/Naming/Name_Binding.h +++ b/ACE/examples/APG/Naming/Name_Binding.h @@ -4,8 +4,8 @@ #include "ace/OS_NS_stdlib.h" #include "ace/OS_NS_string.h" -#include "ace/Auto_Ptr.h" #include "ace/Name_Space.h" +#include // Listing 1 code/ch21 class Name_Binding diff --git a/ACE/examples/APG/Reactor/HAStatus.cpp b/ACE/examples/APG/Reactor/HAStatus.cpp index 7ea76a5c9a61d..c25165317eea5 100644 --- a/ACE/examples/APG/Reactor/HAStatus.cpp +++ b/ACE/examples/APG/Reactor/HAStatus.cpp @@ -2,11 +2,11 @@ #include "ace/os_include/os_netdb.h" // Listing 1 code/ch07 -#include "ace/Auto_Ptr.h" #include "ace/Log_Msg.h" #include "ace/INET_Addr.h" #include "ace/SOCK_Acceptor.h" #include "ace/Reactor.h" +#include class ClientAcceptor : public ACE_Event_Handler { diff --git a/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp b/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp index 45569cc81f1a0..37e6fd6232537 100644 --- a/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp +++ b/ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp @@ -6,12 +6,12 @@ #define _REACTOR_LOGGING_SERVER_ADAPTER_C #include "ace/ACE.h" -#include "ace/Auto_Ptr.h" #include "ace/INET_Addr.h" #include "ace/Truncate.h" #include "Reactor_Logging_Server_Adapter.h" #include "ace/OS_NS_string.h" #include "ace/OS_NS_stdio.h" +#include template int Reactor_Logging_Server_Adapter::init (int argc, diff --git a/ACE/examples/C++NPv2/TP_Logging_Server.h b/ACE/examples/C++NPv2/TP_Logging_Server.h index 2286f06b04d6d..d1a43b9b8626b 100644 --- a/ACE/examples/C++NPv2/TP_Logging_Server.h +++ b/ACE/examples/C++NPv2/TP_Logging_Server.h @@ -5,7 +5,6 @@ #ifndef _TP_LOGGING_SERVER_H #define _TP_LOGGING_SERVER_H -#include "ace/Auto_Ptr.h" #include "ace/Singleton.h" #include "ace/Synch.h" #include "ace/Task.h" @@ -13,6 +12,7 @@ #include "Logging_Event_Handler.h" #include "Reactor_Logging_Server_T.h" #include "TPLS_export.h" +#include class TP_Logging_Task : public ACE_Task { // Instantiated with an MT synchronization trait. diff --git a/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp b/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp index 17eebf92522ff..9ab4125b16bfc 100644 --- a/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp +++ b/ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp @@ -14,9 +14,8 @@ #include "ace/OS_main.h" #include "ace/UPIPE_Connector.h" #include "ace/UPIPE_Acceptor.h" -#include "ace/Auto_Ptr.h" #include "ace/OS_NS_time.h" - +#include #if defined (ACE_HAS_THREADS) diff --git a/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp b/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp index 3f05109cebadf..83d1ba39725be 100644 --- a/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp +++ b/ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp @@ -11,13 +11,11 @@ */ //============================================================================= - #include "ace/OS_main.h" #include "ace/UPIPE_Connector.h" #include "ace/UPIPE_Acceptor.h" -#include "ace/Auto_Ptr.h" #include "ace/OS_NS_time.h" - +#include #if defined (ACE_HAS_THREADS) diff --git a/ACE/examples/Reactor/TP_Reactor/client.cpp b/ACE/examples/Reactor/TP_Reactor/client.cpp index 4a3234d2a8dc1..9012a9f140c05 100644 --- a/ACE/examples/Reactor/TP_Reactor/client.cpp +++ b/ACE/examples/Reactor/TP_Reactor/client.cpp @@ -4,7 +4,6 @@ * Date: 26-Jan-2006 */ -#include #include #include #include @@ -12,7 +11,7 @@ #include #include #include - +#include #include "common.h" /** diff --git a/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp b/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp index eadb666357818..0b783827f96d7 100644 --- a/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp +++ b/ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp @@ -16,10 +16,9 @@ #include "ace/Reactor.h" #include "ace/WFMO_Reactor.h" #include "ace/Select_Reactor.h" -#include "ace/Auto_Ptr.h" #include "ace/Pipe.h" #include "ace/OS_main.h" - +#include // Use the WFMO_Reactor static int opt_wfmo_reactor = 0; diff --git a/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp b/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp index 1a1ffb293a504..383bb3def373c 100644 --- a/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp +++ b/ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp @@ -17,8 +17,8 @@ #include "ace/Msg_WFMO_Reactor.h" #include "ace/Reactor.h" -#include "ace/Auto_Ptr.h" #include "ace/Auto_Event.h" +#include class Event_Handler : public ACE_Event_Handler { diff --git a/ACE/examples/Smart_Pointers/gadget_test.cpp b/ACE/examples/Smart_Pointers/gadget_test.cpp index fc92fad153a49..32890ae311290 100644 --- a/ACE/examples/Smart_Pointers/gadget_test.cpp +++ b/ACE/examples/Smart_Pointers/gadget_test.cpp @@ -7,13 +7,13 @@ */ //============================================================================= -#include "ace/Auto_Ptr.h" #include "ace/Refcounted_Auto_Ptr.h" #include "ace/Unbounded_Queue.h" #include "Gadget.h" #include "Gadget_Factory.h" #include "Gadget_Part.h" #include "Gadget_Part_Factory.h" +#include int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { diff --git a/ACE/examples/Threads/future1.cpp b/ACE/examples/Threads/future1.cpp index 47502302be9ac..2565fe5ce207b 100644 --- a/ACE/examples/Threads/future1.cpp +++ b/ACE/examples/Threads/future1.cpp @@ -20,9 +20,8 @@ #include "ace/Future.h" #include "ace/Method_Request.h" #include "ace/Activation_Queue.h" -#include "ace/Auto_Ptr.h" #include "ace/Atomic_Op.h" - +#include #if defined (ACE_HAS_THREADS) diff --git a/ACE/examples/Threads/future2.cpp b/ACE/examples/Threads/future2.cpp index 18dc2a28ffa99..d883c747420f0 100644 --- a/ACE/examples/Threads/future2.cpp +++ b/ACE/examples/Threads/future2.cpp @@ -20,8 +20,8 @@ #include "ace/Future.h" #include "ace/Method_Request.h" #include "ace/Activation_Queue.h" -#include "ace/Auto_Ptr.h" #include "ace/Atomic_Op.h" +#include #if defined (ACE_HAS_THREADS) diff --git a/ACE/examples/Timer_Queue/Driver.cpp b/ACE/examples/Timer_Queue/Driver.cpp index 345a1fc68f14d..4663ffaa95fcd 100644 --- a/ACE/examples/Timer_Queue/Driver.cpp +++ b/ACE/examples/Timer_Queue/Driver.cpp @@ -17,12 +17,10 @@ #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_string.h" #include "ace/OS_NS_unistd.h" -#include "ace/Auto_Ptr.h" #include "Driver.h" - +#include // constructor - template Command::Command (RECEIVER &recvr, ACTION action) diff --git a/ACE/examples/Web_Crawler/HTTP_URL.cpp b/ACE/examples/Web_Crawler/HTTP_URL.cpp index adf80e8860cd2..026ff4db1873c 100644 --- a/ACE/examples/Web_Crawler/HTTP_URL.cpp +++ b/ACE/examples/Web_Crawler/HTTP_URL.cpp @@ -1,10 +1,9 @@ #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_string.h" -#include "ace/Auto_Ptr.h" #include "URL_Visitor.h" #include "Options.h" #include "HTTP_URL.h" - +#include const ACE_URL_Addr & HTTP_URL::url_addr () const diff --git a/ACE/examples/Web_Crawler/Mem_Map_Stream.cpp b/ACE/examples/Web_Crawler/Mem_Map_Stream.cpp index 47a0f54e1f258..b1503a831ba08 100644 --- a/ACE/examples/Web_Crawler/Mem_Map_Stream.cpp +++ b/ACE/examples/Web_Crawler/Mem_Map_Stream.cpp @@ -1,5 +1,5 @@ #include "ace/FILE_Addr.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Truncate.h" #include "Options.h" #include "Mem_Map_Stream.h" diff --git a/ACE/netsvcs/lib/Client_Logging_Handler.cpp b/ACE/netsvcs/lib/Client_Logging_Handler.cpp index ceef4fccbb8ec..9ee40d609e40b 100644 --- a/ACE/netsvcs/lib/Client_Logging_Handler.cpp +++ b/ACE/netsvcs/lib/Client_Logging_Handler.cpp @@ -9,7 +9,7 @@ #include "ace/OS_NS_sys_socket.h" #include "ace/OS_NS_unistd.h" #include "ace/CDR_Stream.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" #include "ace/INET_Addr.h" #include "Client_Logging_Handler.h" diff --git a/ACE/netsvcs/lib/Name_Handler.cpp b/ACE/netsvcs/lib/Name_Handler.cpp index e5b202a965b17..c0418fe8e2553 100644 --- a/ACE/netsvcs/lib/Name_Handler.cpp +++ b/ACE/netsvcs/lib/Name_Handler.cpp @@ -1,7 +1,7 @@ #include "ace/Containers.h" #include "ace/Get_Opt.h" #include "ace/Singleton.h" -#include "ace/Auto_Ptr.h" +#include #include "Name_Handler.h" #include "ace/Signal.h" #include "ace/OS_NS_string.h" diff --git a/ACE/netsvcs/lib/Server_Logging_Handler_T.cpp b/ACE/netsvcs/lib/Server_Logging_Handler_T.cpp index 73c6f7dc5e998..b52d99b4ddc4e 100644 --- a/ACE/netsvcs/lib/Server_Logging_Handler_T.cpp +++ b/ACE/netsvcs/lib/Server_Logging_Handler_T.cpp @@ -2,7 +2,7 @@ #define ACE_SERVER_LOGGING_HANDLERT_C #include "ace/config-all.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Get_Opt.h" #include "ace/Log_Record.h" #include "ace/CDR_Stream.h" diff --git a/ACE/protocols/ace/HTBP/HTBP_Channel.cpp b/ACE/protocols/ace/HTBP/HTBP_Channel.cpp index c6aba406adc6c..d3df409fc998d 100644 --- a/ACE/protocols/ace/HTBP/HTBP_Channel.cpp +++ b/ACE/protocols/ace/HTBP/HTBP_Channel.cpp @@ -16,7 +16,7 @@ #include "HTBP_Session.h" #include "HTBP_Filter_Factory.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Message_Block.h" #include "ace/Reactor.h" #include "ace/os_include/netinet/os_tcp.h" diff --git a/ACE/protocols/ace/INet/BidirStreamBuffer.h b/ACE/protocols/ace/INet/BidirStreamBuffer.h index f9fa03a821bd1..424ee6aa0983b 100644 --- a/ACE/protocols/ace/INet/BidirStreamBuffer.h +++ b/ACE/protocols/ace/INet/BidirStreamBuffer.h @@ -15,7 +15,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "ace/Auto_Ptr.h" +#include #include "ace/INet/StreamInterceptor.h" #include #include diff --git a/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp b/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp index 4bf6f71c34413..554a71c4ca0d1 100644 --- a/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp +++ b/ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp @@ -6,7 +6,7 @@ #include "ace/INet/INet_Log.h" #include "ace/INet/String_IOStream.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_ctype.h" #include "ace/Connector.h" #include "ace/Acceptor.h" diff --git a/ACE/protocols/ace/INet/HTTPS_Context.h b/ACE/protocols/ace/INet/HTTPS_Context.h index 9ab8c05e312fc..2b37ac70df975 100644 --- a/ACE/protocols/ace/INet/HTTPS_Context.h +++ b/ACE/protocols/ace/INet/HTTPS_Context.h @@ -10,7 +10,7 @@ #include /**/ "ace/pre.h" #include "ace/SString.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Singleton.h" #include "ace/SSL/SSL_Context.h" #include "ace/INet/SSL_CallbackManager.h" diff --git a/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp b/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp index b724ec83c3daf..60bb1655a2e09 100644 --- a/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp +++ b/ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp @@ -1,6 +1,6 @@ #include "ace/INet/HTTP_BasicAuthentication.h" #include "ace/Codecs.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (__ACE_INLINE__) #include "ace/INet/HTTP_BasicAuthentication.inl" diff --git a/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp b/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp index fda529e84304a..dd916369dddbe 100644 --- a/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp +++ b/ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp @@ -5,7 +5,7 @@ #endif #include "ace/INet/INet_Log.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Functor_String.h" ACE_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/ACE/protocols/ace/RMCast/Bits.h b/ACE/protocols/ace/RMCast/Bits.h index 3d4f646da8dfb..3b8eb88a07ee4 100644 --- a/ACE/protocols/ace/RMCast/Bits.h +++ b/ACE/protocols/ace/RMCast/Bits.h @@ -3,7 +3,7 @@ #ifndef ACE_RMCAST_BITS_H #define ACE_RMCAST_BITS_H -#include "ace/Auto_Ptr.h" +#include #include "ace/Thread_Mutex.h" #include "ace/Condition_T.h" #include "ace/Synch_Traits.h" diff --git a/ACE/protocols/ace/RMCast/Protocol.h b/ACE/protocols/ace/RMCast/Protocol.h index 9bbd6ee49e7e1..2f53fcea03735 100644 --- a/ACE/protocols/ace/RMCast/Protocol.h +++ b/ACE/protocols/ace/RMCast/Protocol.h @@ -3,7 +3,7 @@ #ifndef ACE_RMCAST_PROTOCOL_H #define ACE_RMCAST_PROTOCOL_H -#include "ace/Auto_Ptr.h" +#include #include "ace/Bound_Ptr.h" #include "ace/Vector_T.h" diff --git a/ACE/protocols/ace/RMCast/Socket.h b/ACE/protocols/ace/RMCast/Socket.h index ad23a458d08a2..bb5f73d7fa302 100644 --- a/ACE/protocols/ace/RMCast/Socket.h +++ b/ACE/protocols/ace/RMCast/Socket.h @@ -5,7 +5,7 @@ #include "ace/config-lite.h" // ACE_HANDLE -#include "ace/Auto_Ptr.h" +#include #include "ace/INET_Addr.h" #include "ace/Time_Value.h" diff --git a/ACE/protocols/examples/INet/FTP_Simple_exec.cpp b/ACE/protocols/examples/INet/FTP_Simple_exec.cpp index 9b0b35c9b7e7e..a43308cc6f1aa 100644 --- a/ACE/protocols/examples/INet/FTP_Simple_exec.cpp +++ b/ACE/protocols/examples/INet/FTP_Simple_exec.cpp @@ -1,5 +1,5 @@ #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_errno.h" #include "ace/INet/FTP_URL.h" #include "ace/INet/FTP_ClientRequestHandler.h" diff --git a/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp b/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp index f8844c91097c3..12fb301c96384 100644 --- a/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp +++ b/ACE/protocols/examples/INet/HTTP_Simple_exec.cpp @@ -1,5 +1,5 @@ #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_errno.h" #include "ace/INet/HTTP_URL.h" #include "ace/INet/HTTP_ClientRequestHandler.h" diff --git a/ACE/tests/Bug_1890_Regression_Test.cpp b/ACE/tests/Bug_1890_Regression_Test.cpp index 7445b5b819cbd..0ca496a7c5a32 100644 --- a/ACE/tests/Bug_1890_Regression_Test.cpp +++ b/ACE/tests/Bug_1890_Regression_Test.cpp @@ -14,7 +14,7 @@ #include "ace/Event_Handler.h" #include "ace/Reactor.h" #include "ace/Select_Reactor.h" -#include "ace/Auto_Ptr.h" +#include int const nhandlers = 3; diff --git a/ACE/tests/Bug_2540_Regression_Test.cpp b/ACE/tests/Bug_2540_Regression_Test.cpp index 9812966170307..abce77036251a 100644 --- a/ACE/tests/Bug_2540_Regression_Test.cpp +++ b/ACE/tests/Bug_2540_Regression_Test.cpp @@ -14,7 +14,7 @@ #include "ace/Event_Handler.h" #include "ace/Reactor.h" #include "ace/Select_Reactor.h" -#include "ace/Auto_Ptr.h" +#include int const nhandlers = 3; diff --git a/ACE/tests/Bug_2820_Regression_Test.cpp b/ACE/tests/Bug_2820_Regression_Test.cpp index 1dde2f92aed22..ca504860ec0d1 100644 --- a/ACE/tests/Bug_2820_Regression_Test.cpp +++ b/ACE/tests/Bug_2820_Regression_Test.cpp @@ -14,7 +14,7 @@ */ #include "test_config.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Reactor.h" #include "ace/Select_Reactor.h" diff --git a/ACE/tests/Bug_3539_Regression_Test.cpp b/ACE/tests/Bug_3539_Regression_Test.cpp index b1041937a7f6e..c4a5ba453cddb 100644 --- a/ACE/tests/Bug_3539_Regression_Test.cpp +++ b/ACE/tests/Bug_3539_Regression_Test.cpp @@ -13,7 +13,7 @@ #include "test_config.h" #include "TSS_Test_Errno.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/TSS_T.h" #include "ace/Thread_Manager.h" #include "ace/Atomic_Op_T.h" diff --git a/ACE/tests/CDR_File_Test.cpp b/ACE/tests/CDR_File_Test.cpp index 7aa9b75580160..15e9a4d0c6ed9 100644 --- a/ACE/tests/CDR_File_Test.cpp +++ b/ACE/tests/CDR_File_Test.cpp @@ -16,7 +16,7 @@ #include "ace/OS_NS_string.h" #include "ace/CDR_Stream.h" #include "ace/FILE_Connector.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Get_Opt.h" #include "ace/ACE.h" #include "ace/Truncate.h" diff --git a/ACE/tests/CDR_Test.cpp b/ACE/tests/CDR_Test.cpp index c6cac48b4ccdb..ccbf14f55a821 100644 --- a/ACE/tests/CDR_Test.cpp +++ b/ACE/tests/CDR_Test.cpp @@ -12,7 +12,7 @@ #include "test_config.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/CDR_Stream.h" #include "ace/CDR_Size.h" #include "ace/SString.h" diff --git a/ACE/tests/Codecs_Test.cpp b/ACE/tests/Codecs_Test.cpp index 79cd84b57c732..675c6ef1188a3 100644 --- a/ACE/tests/Codecs_Test.cpp +++ b/ACE/tests/Codecs_Test.cpp @@ -12,7 +12,7 @@ #include "test_config.h" #include "ace/Codecs.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/ACE.h" diff --git a/ACE/tests/Conn_Test.cpp b/ACE/tests/Conn_Test.cpp index 63213cac2101b..f3a1ded085910 100644 --- a/ACE/tests/Conn_Test.cpp +++ b/ACE/tests/Conn_Test.cpp @@ -23,7 +23,7 @@ #include "ace/Acceptor.h" #include "ace/Handle_Set.h" #include "ace/Connector.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Get_Opt.h" #include "ace/Process_Mutex.h" #include "ace/Signal.h" diff --git a/ACE/tests/DLL_Test.cpp b/ACE/tests/DLL_Test.cpp index 6539deccb62fd..72bed911a430c 100644 --- a/ACE/tests/DLL_Test.cpp +++ b/ACE/tests/DLL_Test.cpp @@ -11,7 +11,7 @@ #include "test_config.h" #include "ace/DLL.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/ACE.h" #include "ace/DLL_Manager.h" #include "ace/SString.h" diff --git a/ACE/tests/Future_Set_Test.cpp b/ACE/tests/Future_Set_Test.cpp index 7d9a0e3708acf..83dd24ddf20fe 100644 --- a/ACE/tests/Future_Set_Test.cpp +++ b/ACE/tests/Future_Set_Test.cpp @@ -24,7 +24,7 @@ #include "ace/Future_Set.h" #include "ace/Method_Request.h" #include "ace/Activation_Queue.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Atomic_Op.h" #include "ace/Null_Mutex.h" diff --git a/ACE/tests/Future_Test.cpp b/ACE/tests/Future_Test.cpp index f0b1f6b24c6d9..77ea6f027e277 100644 --- a/ACE/tests/Future_Test.cpp +++ b/ACE/tests/Future_Test.cpp @@ -25,7 +25,7 @@ #include "ace/Future.h" #include "ace/Method_Request.h" #include "ace/Activation_Queue.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Atomic_Op.h" #if defined (ACE_HAS_THREADS) diff --git a/ACE/tests/Log_Msg_Test.cpp b/ACE/tests/Log_Msg_Test.cpp index d48f190b55b99..579dddd1e8c6d 100644 --- a/ACE/tests/Log_Msg_Test.cpp +++ b/ACE/tests/Log_Msg_Test.cpp @@ -18,7 +18,7 @@ #include "ace/streams.h" #include "ace/FILE_Connector.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Log_Msg_Callback.h" #include "ace/Log_Record.h" #include "ace/OS_NS_fcntl.h" diff --git a/ACE/tests/Logging_Strategy_Test.cpp b/ACE/tests/Logging_Strategy_Test.cpp index 3b963bf1239a9..9132100a912bf 100644 --- a/ACE/tests/Logging_Strategy_Test.cpp +++ b/ACE/tests/Logging_Strategy_Test.cpp @@ -30,7 +30,7 @@ #include "ace/OS_NS_string.h" #include "ace/OS_NS_unistd.h" #include "ace/OS_NS_sys_stat.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Service_Config.h" #include "ace/Reactor.h" #include "ace/Thread_Manager.h" diff --git a/ACE/tests/Malloc_Test.cpp b/ACE/tests/Malloc_Test.cpp index c93ea9b304e8b..2240e1648fe44 100644 --- a/ACE/tests/Malloc_Test.cpp +++ b/ACE/tests/Malloc_Test.cpp @@ -17,7 +17,7 @@ #include "ace/Malloc_T.h" #include "ace/MMAP_Memory_Pool.h" #include "ace/Process.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Process_Mutex.h" #include "ace/PI_Malloc.h" #include "ace/RW_Thread_Mutex.h" diff --git a/ACE/tests/Message_Queue_Test_Ex.cpp b/ACE/tests/Message_Queue_Test_Ex.cpp index 08264a2091cc3..97d4bd99aa4cf 100644 --- a/ACE/tests/Message_Queue_Test_Ex.cpp +++ b/ACE/tests/Message_Queue_Test_Ex.cpp @@ -20,7 +20,7 @@ #include "test_config.h" #include "ace/Thread_Manager.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Message_Queue.h" #include "ace/Synch_Traits.h" #include "ace/Null_Mutex.h" diff --git a/ACE/tests/Network_Adapters_Test.cpp b/ACE/tests/Network_Adapters_Test.cpp index 248387827043e..54c3c0087634d 100644 --- a/ACE/tests/Network_Adapters_Test.cpp +++ b/ACE/tests/Network_Adapters_Test.cpp @@ -27,7 +27,7 @@ #include "ace/OS_NS_string.h" #include "ace/OS_NS_signal.h" #include "ace/Timer_Heap.h" -#include "ace/Auto_Ptr.h" +#include #include "Network_Adapters_Test.h" diff --git a/ACE/tests/Notify_Performance_Test.cpp b/ACE/tests/Notify_Performance_Test.cpp index 5bfb42076325b..d47751394b04d 100644 --- a/ACE/tests/Notify_Performance_Test.cpp +++ b/ACE/tests/Notify_Performance_Test.cpp @@ -21,7 +21,7 @@ #include "ace/WFMO_Reactor.h" #include "ace/Select_Reactor.h" #include "ace/Dev_Poll_Reactor.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Atomic_Op.h" #if defined (ACE_HAS_THREADS) diff --git a/ACE/tests/Priority_Reactor_Test.cpp b/ACE/tests/Priority_Reactor_Test.cpp index c37451a61893d..259de386a6994 100644 --- a/ACE/tests/Priority_Reactor_Test.cpp +++ b/ACE/tests/Priority_Reactor_Test.cpp @@ -23,7 +23,7 @@ #include "ace/Acceptor.h" #include "ace/Handle_Set.h" #include "ace/Connector.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Priority_Reactor.h" #include "Priority_Reactor_Test.h" diff --git a/ACE/tests/Proactor_Timer_Test.cpp b/ACE/tests/Proactor_Timer_Test.cpp index 8fdc0af8a892b..dad2adb5388b3 100644 --- a/ACE/tests/Proactor_Timer_Test.cpp +++ b/ACE/tests/Proactor_Timer_Test.cpp @@ -26,7 +26,7 @@ #include "ace/High_Res_Timer.h" #include "ace/Asynch_IO.h" #include "ace/Timer_Heap.h" -#include "ace/Auto_Ptr.h" +#include static int done = 0; static size_t counter = 0; diff --git a/ACE/tests/Reactor_Fairness_Test.cpp b/ACE/tests/Reactor_Fairness_Test.cpp index d1a6c0b0d4d41..f84ceafd4495c 100644 --- a/ACE/tests/Reactor_Fairness_Test.cpp +++ b/ACE/tests/Reactor_Fairness_Test.cpp @@ -22,7 +22,7 @@ #include "ace/WFMO_Reactor.h" #include "ace/Select_Reactor.h" #include "ace/TP_Reactor.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Numeric_Limits.h" #include "ace/Signal.h" #include "ace/Atomic_Op.h" diff --git a/ACE/tests/Reactor_Notify_Test.cpp b/ACE/tests/Reactor_Notify_Test.cpp index 89afd26e4fc96..e317a659199ab 100644 --- a/ACE/tests/Reactor_Notify_Test.cpp +++ b/ACE/tests/Reactor_Notify_Test.cpp @@ -19,7 +19,7 @@ #include "ace/Synch_Traits.h" #include "ace/Task.h" #include "ace/Pipe.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Reactor.h" #include "ace/Select_Reactor.h" #include "ace/Thread_Semaphore.h" diff --git a/ACE/tests/Reactor_Performance_Test.cpp b/ACE/tests/Reactor_Performance_Test.cpp index 87a66daf61772..6329aaa3642f7 100644 --- a/ACE/tests/Reactor_Performance_Test.cpp +++ b/ACE/tests/Reactor_Performance_Test.cpp @@ -15,7 +15,7 @@ #include "Reactor_Performance_Test.h" #include "ace/Acceptor.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Connector.h" #include "ace/Get_Opt.h" #include "ace/Profile_Timer.h" diff --git a/ACE/tests/Reactor_Remove_Resume_Test.cpp b/ACE/tests/Reactor_Remove_Resume_Test.cpp index 6fa52a697ec6b..d0b4fd40bacca 100644 --- a/ACE/tests/Reactor_Remove_Resume_Test.cpp +++ b/ACE/tests/Reactor_Remove_Resume_Test.cpp @@ -17,7 +17,7 @@ #include "ace/Reactor.h" #include "ace/TP_Reactor.h" #include "ace/Pipe.h" -#include "ace/Auto_Ptr.h" +#include #include #include diff --git a/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp b/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp index 61a46779914d2..7b593fe33eb5a 100644 --- a/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp +++ b/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp @@ -21,7 +21,7 @@ #include "ace/ACE.h" #include "ace/Dev_Poll_Reactor.h" #include "ace/Pipe.h" -#include "ace/Auto_Ptr.h" +#include #include #include diff --git a/ACE/tests/SString_Test.cpp b/ACE/tests/SString_Test.cpp index f2c02677ceae9..793bf6a5df6fe 100644 --- a/ACE/tests/SString_Test.cpp +++ b/ACE/tests/SString_Test.cpp @@ -12,7 +12,7 @@ #include "test_config.h" #include "ace/OS_NS_string.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" static int testConcatenation() { diff --git a/ACE/tests/Task_Ex_Test.cpp b/ACE/tests/Task_Ex_Test.cpp index c362de4c6fb25..9681e1fc267df 100644 --- a/ACE/tests/Task_Ex_Test.cpp +++ b/ACE/tests/Task_Ex_Test.cpp @@ -13,7 +13,7 @@ #include "Task_Ex_Test.h" #include "ace/Task_Ex_T.h" #include "ace/Log_Msg.h" -#include "ace/Auto_Ptr.h" +#include #if defined (ACE_HAS_THREADS) diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface.h b/TAO/TAO_IDL/be/be_visitor_interface/interface.h index dc4b3ce034589..8c8fb61bfa344 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface.h +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface.h @@ -9,7 +9,7 @@ */ //============================================================================= -#include "ace/Auto_Ptr.h" +#include #include "utl_identifier.h" #include "utl_exceptlist.h" diff --git a/TAO/examples/Load_Balancing/Load_Balancer_i.cpp b/TAO/examples/Load_Balancing/Load_Balancer_i.cpp index 2b6020662ccae..0aad497d12f77 100644 --- a/TAO/examples/Load_Balancing/Load_Balancer_i.cpp +++ b/TAO/examples/Load_Balancing/Load_Balancer_i.cpp @@ -8,7 +8,7 @@ #include "Load_Balancer_i.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_time.h" Object_Group_Factory_i::Object_Group_Factory_i () diff --git a/TAO/examples/Load_Balancing_persistent/Load_Balancer_i.cpp b/TAO/examples/Load_Balancing_persistent/Load_Balancer_i.cpp index 787623fdf5175..bf502bed7b0f8 100644 --- a/TAO/examples/Load_Balancing_persistent/Load_Balancer_i.cpp +++ b/TAO/examples/Load_Balancing_persistent/Load_Balancer_i.cpp @@ -1,5 +1,5 @@ #include "Load_Balancer_i.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Hash_Map_Manager_T.h" const char *rr_name_bind = "RR_Group"; diff --git a/TAO/examples/Simple/grid/Grid_i.cpp b/TAO/examples/Simple/grid/Grid_i.cpp index b35020f196706..30b90d65d1d6a 100644 --- a/TAO/examples/Simple/grid/Grid_i.cpp +++ b/TAO/examples/Simple/grid/Grid_i.cpp @@ -93,7 +93,7 @@ Grid_i::width (CORBA::Short x) ACE_OS::memcpy (array.get () + x * ctr, this->array_.get () + this->width_ * ctr, Grid_i::ushort_min (this->width_, x) * sizeof (CORBA::Long)); } - this->array_ = array; + this->array_ = std::move(array); array.release (); this->width_ = x; } @@ -110,7 +110,7 @@ Grid_i::height (CORBA::Short y) ACE_OS::memcpy (array.get () + this->width_ * ctr, this->array_.get () + this->width_ * ctr, this->width_ * sizeof (CORBA::Long)); } - this->array_ = array; + this->array_ = std::move(array); array.release (); this->height_ = y; } diff --git a/TAO/examples/Simple/grid/Grid_i.h b/TAO/examples/Simple/grid/Grid_i.h index da302bff8aa49..54773e31b21ca 100644 --- a/TAO/examples/Simple/grid/Grid_i.h +++ b/TAO/examples/Simple/grid/Grid_i.h @@ -14,7 +14,7 @@ #include "GridS.h" #include "ace/Vector_T.h" -#include "ace/Auto_Ptr.h" +#include /** * @class Grid_i: diff --git a/TAO/orbsvcs/Event_Service/Event_Service.cpp b/TAO/orbsvcs/Event_Service/Event_Service.cpp index 78814972504b8..455ec6d9bf58c 100644 --- a/TAO/orbsvcs/Event_Service/Event_Service.cpp +++ b/TAO/orbsvcs/Event_Service/Event_Service.cpp @@ -2,7 +2,7 @@ #include "Event_Service.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Argv_Type_Converter.h" #include "ace/OS_main.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/IFR_Service/IFR_Service.cpp b/TAO/orbsvcs/IFR_Service/IFR_Service.cpp index cfc41f9e38740..52cee031222c1 100644 --- a/TAO/orbsvcs/IFR_Service/IFR_Service.cpp +++ b/TAO/orbsvcs/IFR_Service/IFR_Service.cpp @@ -7,7 +7,7 @@ #include "orbsvcs/IOR_Multicast.h" #include "tao/IORTable/IORTable.h" #include "tao/ORB_Core.h" -#include "ace/Auto_Ptr.h" +#include IFR_Service::IFR_Service () { diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h index 224c8b5e66167..b12b8d345061f 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h +++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h @@ -7,7 +7,7 @@ #include "tao/Object_Loader.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h index da3bc7db9407d..c64bfc6cc978b 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h +++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h @@ -12,7 +12,7 @@ #include "ImR_ResponseHandler.h" #include "Locator_Options.h" #include "UpdateableServerInfo.h" -#include "ace/Auto_Ptr.h" +#include #include "AsyncAccessManager.h" #include "tao/IORTable/IORTable.h" diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h index abcf629f0e232..535de5a84a0c8 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h +++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h @@ -6,7 +6,7 @@ #include "tao/Object_Loader.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h index f32a1f7d1ac35..0785ea4ccf730 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h +++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h @@ -25,7 +25,7 @@ #include "ace/Hash_Map_Manager.h" #include "ace/Configuration.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Reactor.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) diff --git a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h index f464359b6cad0..0e2d8725bbcfb 100644 --- a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h +++ b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h @@ -15,7 +15,7 @@ #include "tao/ImR_Client/ImplRepoC.h" #include "tao/corba.h" #include "ace/SString.h" -#include "ace/Auto_Ptr.h" +#include // Forward Declaration class TAO_IMR_Op; diff --git a/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.cpp b/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.cpp index b268cab6d8d94..e19c59b7b05c4 100644 --- a/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.cpp +++ b/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.cpp @@ -1,7 +1,7 @@ #include "Scheduling_Service.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Argv_Type_Converter.h" #include "orbsvcs/CosNamingC.h" #include "ace/OS_main.h" diff --git a/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEvent_Utilities.cpp b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEvent_Utilities.cpp index b95e8c9fcce56..9eaf274f649fe 100644 --- a/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEvent_Utilities.cpp +++ b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/CosEvent_Utilities.cpp @@ -3,7 +3,7 @@ #include "orbsvcs/Event/EC_Event_Channel.h" #include "orbsvcs/Event_Service_Constants.h" #include "EventChannel_i.h" -#include "ace/Auto_Ptr.h" +#include #include CosEC_ServantBase::CosEC_ServantBase () diff --git a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp index 4786b8435e3fd..a9fd605960de2 100644 --- a/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp +++ b/TAO/orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp @@ -1,6 +1,6 @@ // file : RolyPoly/ORB_Initializer.cpp // author : Boris Kolpackov -#include "ace/Auto_Ptr.h" +#include #include "tao/corba.h" #include "tao/PI/ORBInitInfo.h" #include "tao/ORB_Core.h" diff --git a/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h b/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h index b3e200d3786a0..dcfb52906632d 100644 --- a/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h +++ b/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h @@ -1,6 +1,6 @@ #include "Messenger_i.h" -#include "ace/Auto_Ptr.h" +#include #include "tao/IORTable/IORTable.h" diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h index a8575ceee9fd9..36fc88d390243 100644 --- a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h +++ b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h @@ -7,7 +7,7 @@ #include "tao/Object_Loader.h" -#include "ace/Auto_Ptr.h" +#include // Trivial test corba object class DynServer_Export DynServer diff --git a/TAO/orbsvcs/examples/RtEC/Kokyu/Service.cpp b/TAO/orbsvcs/examples/RtEC/Kokyu/Service.cpp index 5032ec9520ab3..29e36ed45c047 100644 --- a/TAO/orbsvcs/examples/RtEC/Kokyu/Service.cpp +++ b/TAO/orbsvcs/examples/RtEC/Kokyu/Service.cpp @@ -14,7 +14,7 @@ #include "ace/Get_Opt.h" #include "ace/Sched_Params.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" #include "ace/OS_NS_strings.h" #include "ace/Thread.h" diff --git a/TAO/orbsvcs/examples/RtEC/Schedule/Service.cpp b/TAO/orbsvcs/examples/RtEC/Schedule/Service.cpp index 3afa9f99684ca..0889cdd0cd943 100644 --- a/TAO/orbsvcs/examples/RtEC/Schedule/Service.cpp +++ b/TAO/orbsvcs/examples/RtEC/Schedule/Service.cpp @@ -11,7 +11,7 @@ #include "ace/Get_Opt.h" #include "ace/Sched_Params.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h index 77d49c38f129f..1d5b173173a47 100644 --- a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h +++ b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h @@ -16,7 +16,7 @@ #if defined (ACE_HAS_SCTP) -#include "ace/Auto_Ptr.h" +#include #include "ace/Service_Config.h" #include "orbsvcs/AV/Protocol_Factory.h" #include "ace/SOCK_SEQPACK_Association.h" diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp index 8cfa10c972c65..54e0f43e36e48 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp @@ -5,7 +5,7 @@ #include "orbsvcs/Event/EC_ConsumerAdmin.h" #include "orbsvcs/Event/EC_SupplierAdmin.h" #include "orbsvcs/Event_Service_Constants.h" -#include "ace/Auto_Ptr.h" +#include #if ! defined (__ACE_INLINE__) #include "orbsvcs/Event/EC_ObserverStrategy.inl" diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp index 2875d17ab8342..1bab62abd5eae 100644 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp +++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp @@ -8,7 +8,7 @@ #include "tao/Tagged_Components.h" #include "tao/CDR.h" -#include "ace/Auto_Ptr.h" +#include #include "tao/debug.h" #if !defined (__ACE_INLINE__) diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp index 7ebb7de55a937..9240d37704dc6 100644 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp +++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp @@ -1,7 +1,7 @@ #include "orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h" #include "orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp index 124d4dfaad536..9fbeaefc6474e 100644 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp +++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp @@ -7,7 +7,7 @@ #include "tao/ORBInitializer_Registry.h" #include "tao/CDR.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_strings.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp index 038515fc64550..2bbe6d7a9f7bb 100644 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp +++ b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp @@ -13,7 +13,7 @@ #include "tao/CDR.h" #include "tao/Codeset_Manager.h" -#include "ace/Auto_Ptr.h" +#include #if !defined(__ACE_INLINE__) #include "orbsvcs/HTIOP/HTIOP_Acceptor.inl" diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp index 83aca20e401e1..f80d5f6b1ebb0 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp @@ -2,7 +2,7 @@ #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IDLType_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp index 9497487226bce..b9e581a0154dc 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp @@ -15,7 +15,7 @@ #include "tao/Stub.h" #include "tao/Profile.h" #include "tao/AnyTypeCode/ValueModifierC.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_fcntl.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp index e4981989d82fb..6deebb1ef5ccf 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp @@ -6,7 +6,7 @@ #include "orbsvcs/IFRService/ExceptionDef_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp index d194744b79a3f..7fa021b0bf5e5 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp @@ -9,7 +9,7 @@ #include "tao/ORB.h" #include "tao/Object_KeyC.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Lock_Adapter_T.h" #include "ace/SString.h" diff --git a/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp index d537a2c5d900f..e8d29896ffc5e 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp @@ -2,7 +2,7 @@ #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp index b085d10321ad3..a72b36a9e0ac3 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp @@ -3,7 +3,7 @@ #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp index 99eac21a96a52..ac54342e48eab 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp @@ -6,7 +6,7 @@ #include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" #include "tao/CDR.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp index 496a915607be9..e87a2ab64f6cc 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp @@ -2,7 +2,7 @@ #include "orbsvcs/IFRService/Repository_i.h" #include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp index d2e0a1955cc9e..460a843502adf 100644 --- a/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp +++ b/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp @@ -1,7 +1,7 @@ #include "orbsvcs/Log/EventLogFactory_i.h" #include "orbsvcs/Log/LogNotification.h" #include "orbsvcs/Log/EventLogNotification.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_stdio.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp b/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp index 60e527cd359df..d56d5ed296e97 100644 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp +++ b/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp @@ -1,7 +1,7 @@ #include "orbsvcs/Log/Hash_LogStore.h" #include "orbsvcs/Log/Hash_LogRecordStore.h" #include "orbsvcs/Log/LogMgr_i.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Persistent_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Persistent_Naming_Context.cpp index b1fbdc028a05b..86541810b6d4a 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Persistent_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Persistent_Naming_Context.cpp @@ -8,7 +8,7 @@ #include "orbsvcs/Naming/Persistent_Context_Index.h" #include "ace/OS_NS_stdio.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Storable_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Storable_Naming_Context.cpp index a7e0034a1f9fa..18f2df1973bd1 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Storable_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Storable_Naming_Context.cpp @@ -11,7 +11,7 @@ #include "orbsvcs/Naming/Persistent_Context_Index.h" #include "ace/OS_NS_stdio.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp index 16ebeaa7b85a6..57313401dfd76 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp @@ -9,7 +9,7 @@ #include "orbsvcs/Naming/Hash_Naming_Context.h" #include "orbsvcs/Naming/nsconf.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp b/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp index c6634e80d49b3..773602b3ec1c4 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp @@ -32,7 +32,7 @@ #include "tao/AnyTypeCode/Any.h" #include "ace/Arg_Shifter.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Get_Opt.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp index dc014b870bdee..a02061be48245 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp @@ -5,7 +5,7 @@ #include "tao/debug.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_unistd.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp index 1764ca20f97d5..233c1872f047f 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp @@ -3,7 +3,7 @@ #include "orbsvcs/Naming/Bindings_Iterator_T.h" #include "ace/OS_NS_stdio.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp index 96315152c2efe..5aa873c3fc17d 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp @@ -8,7 +8,7 @@ #include "tao/Storable_Base.h" #include "tao/Storable_Factory.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_sys_time.h" diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h index f95624b4eb33c..624bf724f5f70 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h @@ -15,7 +15,7 @@ #include "orbsvcs/Naming/Hash_Naming_Context.h" #include "tao/Storable_File_Guard.h" #include "ace/Hash_Map_Manager.h" -#include "ace/Auto_Ptr.h" +#include #include "orbsvcs/Naming/Storable.h" diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp index a48eac4e573a3..6c3966fabb9f4 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp @@ -14,7 +14,7 @@ #include "orbsvcs/Naming/Storable_Naming_Context_Factory.h" #include "orbsvcs/Naming/Storable.h" #include "tao/Storable_Factory.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp index 564b1991d5a2d..57670a6dd4268 100644 --- a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp +++ b/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp @@ -6,7 +6,7 @@ */ //============================================================================= -#include "ace/Auto_Ptr.h" +#include #include "orbsvcs/Naming/Transient_Naming_Context.h" #include "orbsvcs/Naming/Bindings_Iterator_T.h" #include "ace/OS_NS_stdio.h" diff --git a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp index 881d397d4ca1e..e5456eefef111 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp @@ -14,7 +14,7 @@ #include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "ace/Auto_Ptr.h" +#include //#define DEBUG_LEVEL 9 #ifndef DEBUG_LEVEL diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp index 21b8c24878852..faa5bef662446 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp @@ -41,9 +41,9 @@ typedef TAO_Notify_Seq_Worker_T TAO_Notify_ConsumerAdm typedef TAO_Notify_Seq_Worker_T TAO_Notify_SupplierAdmin_Seq_Worker; TAO_Notify_EventChannel::TAO_Notify_EventChannel () - : ecf_ (0) - , ca_container_ (0) - , sa_container_ (0) + : ecf_ (nullptr) + , ca_container_ (nullptr) + , sa_container_ (nullptr) , default_filter_factory_ (CosNotifyFilter::FilterFactory::_nil ()) , default_filter_factory_servant_ (nullptr) { diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp index b1ffb6120b623..e3d36678dcf04 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp @@ -7,7 +7,7 @@ #include "tao/debug.h" #include "tao/ORB_Constants.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Reverse_Lock_T.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp index 50a2d07f3fdc9..84531a8052974 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp @@ -17,7 +17,7 @@ #include "tao/Blocked_Connect_Strategy.h" #include "tao/Wait_Strategy.h" #include "tao/Profile_Transport_Resolver.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/os_include/os_netdb.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp index a4fefe0482742..b77ef08e51063 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp @@ -15,7 +15,7 @@ #include "tao/PI/ORBInitInfo.h" #include "tao/debug.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp b/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp index 0be4100e289a4..6033c8bcb1dd7 100644 --- a/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp +++ b/TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp @@ -5,7 +5,7 @@ #include "tao/PI/PI.h" #include "orbsvcs/FaultTolerance/FT_ClientService_Activate.h" #include "orbsvcs/FaultTolerance/FT_IOGR_Property.h" -#include "ace/Auto_Ptr.h" +#include //const ACE_TCHAR *ior = ACE_TEXT("file://test.ior"); diff --git a/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp b/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp index 23583a5711c22..56fb393dd5101 100644 --- a/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp +++ b/TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp @@ -4,7 +4,7 @@ #include "orbsvcs/CosEventChannelAdminC.h" #include "orbsvcs/CosNamingC.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Task.h" #include "ace/Log_Msg.h" #include "ace/OS_NS_strings.h" diff --git a/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp b/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp index 8ec3b162ffed4..9ce7e5ae6bfc4 100644 --- a/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp +++ b/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp @@ -11,7 +11,7 @@ #include "tao/CDR.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Sched_Params.h" #include "ace/OS_NS_errno.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp b/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp index 0202dcaee91fa..775d1e0d34b1c 100644 --- a/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp +++ b/TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp @@ -1,5 +1,5 @@ #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Sched_Params.h" #include "ace/ACE.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp b/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp index cfba8db9ba9e7..f95e0969f70e8 100644 --- a/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp +++ b/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp @@ -10,7 +10,7 @@ #include "tao/ORB_Core.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Sched_Params.h" #include "ace/Read_Buffer.h" #include "ace/OS_NS_sys_time.h" diff --git a/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp b/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp index afefd875ca2b2..91d8a20440e02 100644 --- a/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp +++ b/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp @@ -8,7 +8,7 @@ #include "tao/debug.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Sched_Params.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp b/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp index 403a38f8f7526..5e63b9380b628 100644 --- a/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp +++ b/TAO/orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp @@ -9,7 +9,7 @@ #include "tao/debug.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Sched_Params.h" #include "ace/OS_NS_errno.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp b/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp index 869c4277d903e..f369a6fe10a3e 100644 --- a/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp +++ b/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp @@ -8,7 +8,7 @@ #include "tao/debug.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Sched_Params.h" #include "ace/High_Res_Timer.h" #include "ace/ACE.h" diff --git a/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp b/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp index 4dc0053f3b64b..8cb6fa28a5bea 100644 --- a/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp +++ b/TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp @@ -9,7 +9,7 @@ #include "tao/debug.h" #include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Sched_Params.h" #include "ace/OS_NS_errno.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/orbsvcs/tests/ImplRepo/MT_stress/server_i.h b/TAO/orbsvcs/tests/ImplRepo/MT_stress/server_i.h index 52f0b223f14da..4fd2dc305d66b 100644 --- a/TAO/orbsvcs/tests/ImplRepo/MT_stress/server_i.h +++ b/TAO/orbsvcs/tests/ImplRepo/MT_stress/server_i.h @@ -5,7 +5,7 @@ #include "testS.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" class Server_i diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/server_i.h b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.h index e7c6e2f879331..29bf90e87cf71 100644 --- a/TAO/orbsvcs/tests/ImplRepo/scale/server_i.h +++ b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.h @@ -4,7 +4,7 @@ #include "testS.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/SString.h" class Server_i diff --git a/TAO/orbsvcs/tests/Trading/export_test.cpp b/TAO/orbsvcs/tests/Trading/export_test.cpp index f786547ff6ac9..69fe66fd66fd6 100644 --- a/TAO/orbsvcs/tests/Trading/export_test.cpp +++ b/TAO/orbsvcs/tests/Trading/export_test.cpp @@ -2,7 +2,7 @@ #include "Offer_Exporter.h" #include "Offer_Importer.h" #include "Service_Type_Exporter.h" -#include "ace/Auto_Ptr.h" +#include #include "orbsvcs/Trader/Trader.h" #include "orbsvcs/Trader/Service_Type_Repository.h" #include "ace/Get_Opt.h" diff --git a/TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp b/TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp index 84176f01398f1..ef8a4e803fd47 100644 --- a/TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp +++ b/TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp @@ -17,7 +17,7 @@ #include "tao/debug.h" #include "tao/Timeprobe.h" -#include "ace/Auto_Ptr.h" +#include #if defined (ACE_ENABLE_TIMEPROBES) diff --git a/TAO/tao/Acceptor_Registry.cpp b/TAO/tao/Acceptor_Registry.cpp index 2bee9cb505fb9..75af19e49b358 100644 --- a/TAO/tao/Acceptor_Registry.cpp +++ b/TAO/tao/Acceptor_Registry.cpp @@ -14,7 +14,7 @@ # include "tao/IIOP_Acceptor.h" #endif /* ACE_WIN32 && ACE_HAS_IPV6 */ -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_string.h" #include "ace/OS_NS_ctype.h" #include diff --git a/TAO/tao/AnyTypeCode/Any_Array_Impl_T.cpp b/TAO/tao/AnyTypeCode/Any_Array_Impl_T.cpp index e5f4e1faba823..a37b95f48c571 100644 --- a/TAO/tao/AnyTypeCode/Any_Array_Impl_T.cpp +++ b/TAO/tao/AnyTypeCode/Any_Array_Impl_T.cpp @@ -10,7 +10,7 @@ #include "tao/CDR.h" #include "tao/SystemException.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (__ACE_INLINE__) # include "tao/AnyTypeCode/Any_Array_Impl_T.inl" diff --git a/TAO/tao/AnyTypeCode/Any_Basic_Impl.cpp b/TAO/tao/AnyTypeCode/Any_Basic_Impl.cpp index aac5767ffc292..eea744dadba35 100644 --- a/TAO/tao/AnyTypeCode/Any_Basic_Impl.cpp +++ b/TAO/tao/AnyTypeCode/Any_Basic_Impl.cpp @@ -6,7 +6,7 @@ #include "tao/CDR.h" #include "tao/SystemException.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_string.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/AnyTypeCode/Any_Basic_Impl_T.cpp b/TAO/tao/AnyTypeCode/Any_Basic_Impl_T.cpp index 80af1e45323bc..266af6d552491 100644 --- a/TAO/tao/AnyTypeCode/Any_Basic_Impl_T.cpp +++ b/TAO/tao/AnyTypeCode/Any_Basic_Impl_T.cpp @@ -9,7 +9,7 @@ #include "tao/SystemException.h" #include "tao/CDR.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (__ACE_INLINE__) # include "tao/AnyTypeCode/Any_Basic_Impl_T.inl" diff --git a/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp b/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp index 4cf81560d31a4..768402db2e643 100644 --- a/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp +++ b/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp @@ -10,7 +10,7 @@ #include "tao/CDR.h" #include "tao/AnyTypeCode/TypeCode.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_Memory.h" #if !defined (__ACE_INLINE__) diff --git a/TAO/tao/AnyTypeCode/Any_Impl_T.cpp b/TAO/tao/AnyTypeCode/Any_Impl_T.cpp index abf5d0c2ff891..5d01a591de3c6 100644 --- a/TAO/tao/AnyTypeCode/Any_Impl_T.cpp +++ b/TAO/tao/AnyTypeCode/Any_Impl_T.cpp @@ -10,7 +10,7 @@ #include "tao/SystemException.h" #include "tao/debug.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_Memory.h" #if !defined (__ACE_INLINE__) diff --git a/TAO/tao/AnyTypeCode/Any_SystemException.cpp b/TAO/tao/AnyTypeCode/Any_SystemException.cpp index 1e905894b6473..188777f78d928 100644 --- a/TAO/tao/AnyTypeCode/Any_SystemException.cpp +++ b/TAO/tao/AnyTypeCode/Any_SystemException.cpp @@ -10,7 +10,7 @@ #include "tao/CORBA_String.h" #include "tao/SystemException.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/AnyTypeCode/NVList.cpp b/TAO/tao/AnyTypeCode/NVList.cpp index 557b80f158295..b11f54c3d9aa7 100644 --- a/TAO/tao/AnyTypeCode/NVList.cpp +++ b/TAO/tao/AnyTypeCode/NVList.cpp @@ -11,7 +11,7 @@ #include "tao/debug.h" #include "tao/SystemException.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Log_Msg.h" #include "ace/CORBA_macros.h" diff --git a/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl b/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl index f5c799175a7be..cbfb4be02de8b 100644 --- a/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl +++ b/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl @@ -1,5 +1,5 @@ // -*- C++ -*- -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Connector_Registry.cpp b/TAO/tao/Connector_Registry.cpp index 6de1485a595e9..004a3a801c1ca 100644 --- a/TAO/tao/Connector_Registry.cpp +++ b/TAO/tao/Connector_Registry.cpp @@ -7,7 +7,7 @@ #include "tao/ORB_Constants.h" #include "tao/CDR.h" #include "tao/SystemException.h" -#include "ace/Auto_Ptr.h" +#include #if !defined(__ACE_INLINE__) #include "tao/Connector_Registry.inl" diff --git a/TAO/tao/DynamicAny/DynAnyFactory.cpp b/TAO/tao/DynamicAny/DynAnyFactory.cpp index eb03d1253a729..5b2669179ee7f 100644 --- a/TAO/tao/DynamicAny/DynAnyFactory.cpp +++ b/TAO/tao/DynamicAny/DynAnyFactory.cpp @@ -19,7 +19,7 @@ #include "tao/DynamicAny/DynUnion_i.h" #include "tao/DynamicAny/DynAnyUtils_T.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp index 2b4d94130ee25..5c22e0f962e32 100644 --- a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp +++ b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp @@ -26,7 +26,7 @@ #include "tao/DynamicAny/DynAnyFactory.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp b/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp index 6bb2d87cfb360..3e1e90e2eee2b 100644 --- a/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp +++ b/TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp @@ -15,7 +15,7 @@ #include "tao/debug.h" #include "tao/LF_Follower.h" #include "tao/Leader_Follower.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/IORManipulation/IORManipulation.cpp b/TAO/tao/IORManipulation/IORManipulation.cpp index e9122d13c5e58..d46abceb6a041 100644 --- a/TAO/tao/IORManipulation/IORManipulation.cpp +++ b/TAO/tao/IORManipulation/IORManipulation.cpp @@ -6,7 +6,7 @@ #include "tao/Stub.h" #include "tao/ORB_Core.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_string.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Load_Protocol_Factory_T.h b/TAO/tao/Load_Protocol_Factory_T.h index 5928452f5d3d8..42475f085389f 100644 --- a/TAO/tao/Load_Protocol_Factory_T.h +++ b/TAO/tao/Load_Protocol_Factory_T.h @@ -18,7 +18,7 @@ #include "tao/Protocol_Factory.h" #include "tao/Resource_Factory.h" #include "tao/debug.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Dynamic_Service.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Messaging/ExceptionHolder_i.cpp b/TAO/tao/Messaging/ExceptionHolder_i.cpp index f7f789e926035..4fb71b15a0d3b 100644 --- a/TAO/tao/Messaging/ExceptionHolder_i.cpp +++ b/TAO/tao/Messaging/ExceptionHolder_i.cpp @@ -5,7 +5,7 @@ #include "tao/Exception_Data.h" #include "tao/CDR.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index acad4ace82fd4..6cd1c1fe8ca47 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -52,7 +52,7 @@ #include "ace/Arg_Shifter.h" #include "ace/Argv_Type_Converter.h" #include "ace/Static_Object_Lock.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/CORBA_macros.h" #include "ace/Logging_Strategy.h" diff --git a/TAO/tao/PortableServer/Active_Object_Map.cpp b/TAO/tao/PortableServer/Active_Object_Map.cpp index f7dbe2791dafb..29242635a7555 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.cpp +++ b/TAO/tao/PortableServer/Active_Object_Map.cpp @@ -7,7 +7,7 @@ #include "tao/SystemException.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/CORBA_macros.h" #include "tao/debug.h" #include "PortableServer_Functions.h" diff --git a/TAO/tao/PortableServer/Active_Object_Map.h b/TAO/tao/PortableServer/Active_Object_Map.h index d9c99565c45ba..7c9bdca71da86 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.h +++ b/TAO/tao/PortableServer/Active_Object_Map.h @@ -23,7 +23,7 @@ #include "tao/PortableServer/Servant_Base.h" #include "tao/Server_Strategy_Factory.h" #include "ace/Map_T.h" -#include "ace/Auto_Ptr.h" +#include #if defined (TAO_HAS_MONITOR_POINTS) && (TAO_HAS_MONITOR_POINTS == 1) #include "ace/Monitor_Size.h" diff --git a/TAO/tao/PortableServer/Object_Adapter.cpp b/TAO/tao/PortableServer/Object_Adapter.cpp index 958f18f7fb6ec..5669bbd2065cd 100644 --- a/TAO/tao/PortableServer/Object_Adapter.cpp +++ b/TAO/tao/PortableServer/Object_Adapter.cpp @@ -13,7 +13,7 @@ #include "tao/PortableServer/Servant_Base.h" // -- ACE Include -- -#include "ace/Auto_Ptr.h" +#include #include "ace/Log_Msg.h" #include "ace/OS_NS_string.h" diff --git a/TAO/tao/RTCORBA/Thread_Pool.cpp b/TAO/tao/RTCORBA/Thread_Pool.cpp index 99fcf1597c742..72b409d0167e5 100644 --- a/TAO/tao/RTCORBA/Thread_Pool.cpp +++ b/TAO/tao/RTCORBA/Thread_Pool.cpp @@ -16,7 +16,7 @@ #include "tao/RTCORBA/Priority_Mapping_Manager.h" #include "tao/LF_Follower.h" #include "tao/Leader_Follower.h" -#include "ace/Auto_Ptr.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/RTPortableServer/RT_POA.cpp b/TAO/tao/RTPortableServer/RT_POA.cpp index 87830403e45d6..a15c7982a567c 100644 --- a/TAO/tao/RTPortableServer/RT_POA.cpp +++ b/TAO/tao/RTPortableServer/RT_POA.cpp @@ -22,7 +22,7 @@ #include "tao/PortableServer/Default_Acceptor_Filter.h" #include "tao/RTPortableServer/RT_Policy_Validator.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (__ACE_INLINE__) # include "tao/RTPortableServer/RT_POA.inl" diff --git a/TAO/tao/Resource_Factory.h b/TAO/tao/Resource_Factory.h index afc7bf8d1ebc8..7e06b646e7df8 100644 --- a/TAO/tao/Resource_Factory.h +++ b/TAO/tao/Resource_Factory.h @@ -23,7 +23,7 @@ #include /**/ "tao/Versioned_Namespace.h" #include "tao/Basic_Types.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Service_Object.h" #include "ace/Unbounded_Set.h" #include "ace/SString.h" diff --git a/TAO/tao/Strategies/COIOP_Acceptor.cpp b/TAO/tao/Strategies/COIOP_Acceptor.cpp index a37e0b9f936dc..3e3be97e9c5cd 100644 --- a/TAO/tao/Strategies/COIOP_Acceptor.cpp +++ b/TAO/tao/Strategies/COIOP_Acceptor.cpp @@ -10,7 +10,7 @@ #include "tao/Codeset_Manager.h" #include "tao/CDR.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_string.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Strategies/advanced_resource.cpp b/TAO/tao/Strategies/advanced_resource.cpp index ba09fe8cc9378..ce24613ba06b9 100644 --- a/TAO/tao/Strategies/advanced_resource.cpp +++ b/TAO/tao/Strategies/advanced_resource.cpp @@ -33,7 +33,7 @@ #include "ace/Local_Memory_Pool.h" #include "ace/Null_Mutex.h" #include "ace/OS_NS_strings.h" -#include "ace/Auto_Ptr.h" +#include #if !defined (TAO_DEFAULT_REACTOR_TYPE) #define TAO_DEFAULT_REACTOR_TYPE TAO_REACTOR_TP diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp index 4517c74742820..c66e874e6138b 100644 --- a/TAO/tao/Stub.cpp +++ b/TAO/tao/Stub.cpp @@ -22,7 +22,7 @@ # include "tao/Stub.inl" #endif /* ! __ACE_INLINE__ */ -#include "ace/Auto_Ptr.h" +#include #include "ace/CORBA_macros.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Synch_Invocation.cpp b/TAO/tao/Synch_Invocation.cpp index 1d838b888889d..9fe06b5a013fd 100644 --- a/TAO/tao/Synch_Invocation.cpp +++ b/TAO/tao/Synch_Invocation.cpp @@ -20,7 +20,7 @@ # include "tao/PortableInterceptorC.h" #endif /*TAO_HAS_INTERCEPTORS */ -#include "ace/Auto_Ptr.h" +#include #include "ace/OS_NS_string.h" #include "tao/ORB_Time_Policy.h" diff --git a/TAO/tests/Bug_3524_Regression/test_i.cpp b/TAO/tests/Bug_3524_Regression/test_i.cpp index 46bf15869abde..efff623384fea 100644 --- a/TAO/tests/Bug_3524_Regression/test_i.cpp +++ b/TAO/tests/Bug_3524_Regression/test_i.cpp @@ -1,6 +1,6 @@ // -*- C++ -*- #include "test_i.h" -#include "ace/Auto_Ptr.h" +#include A_i::A_i (CORBA::ORB_ptr orb, CORBA::ValueFactoryBase *vtp_factory) diff --git a/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp b/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp index 038e18d9be6d1..d8678f70aca5c 100644 --- a/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp +++ b/TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp @@ -7,7 +7,7 @@ #include "tao/corba.h" #include "ace/ACE.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/INET_Addr.h" #include "ace/Log_Msg.h" #include "ace/OS_NS_stdio.h" diff --git a/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp b/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp index b8aea2d755265..fd1da26caebb9 100644 --- a/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp +++ b/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp @@ -20,8 +20,8 @@ Abstract_Worker::~Abstract_Worker () // Service_Config_ORB_DLL::Service_Config_ORB_DLL () : is_server_ (-1) - , worker_ (0) - , argv_ (0) + , worker_ (nullptr) + , argv_ (nullptr) { } diff --git a/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h b/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h index 3d5265126fba8..d7d3877060273 100644 --- a/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h +++ b/TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h @@ -19,7 +19,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "ace/Auto_Ptr.h" +#include #include "ace/Task.h" #include "ace/ARGV.h" #include "ace/String_Base.h" diff --git a/TAO/tests/Oneway_Send_Timeouts/Client.cpp b/TAO/tests/Oneway_Send_Timeouts/Client.cpp index 62305572c76a4..c238630423db7 100644 --- a/TAO/tests/Oneway_Send_Timeouts/Client.cpp +++ b/TAO/tests/Oneway_Send_Timeouts/Client.cpp @@ -1,7 +1,7 @@ #include "tao/Messaging/Messaging.h" #include "tao/AnyTypeCode/Any.h" -#include "ace/Auto_Ptr.h" +#include #include "ace/Get_Opt.h" #include "ace/Time_Value.h" #include "ace/OS_NS_unistd.h" diff --git a/TAO/tests/Storable/Savable.cpp b/TAO/tests/Storable/Savable.cpp index 11dd4a7ce373b..26b870ba68bba 100644 --- a/TAO/tests/Storable/Savable.cpp +++ b/TAO/tests/Storable/Savable.cpp @@ -3,7 +3,7 @@ #include "tao/Storable_Factory.h" #include "tao/Storable_File_Guard.h" -#include "ace/Auto_Ptr.h" +#include const int Savable::bytes_size_max = 128; From b91f32118c92deca2ef6841fdfd2ef46e62b9c22 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sun, 3 Sep 2023 09:12:34 +0200 Subject: [PATCH 211/445] Use std::move * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: --- TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp index 1a8c759fe2bc6..a12135b6c700a 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp @@ -88,7 +88,7 @@ TAO_Notify_ProxyConsumer::connect (TAO_Notify_Supplier *supplier) } // Adopt the supplier - this->supplier_ = auto_supplier; + this->supplier_ = std::move(auto_supplier); this->supplier_admin_->subscribed_types (this->subscribed_types_); // get the parents subscribed types. } From 4e006ad5b3c805794256e2d683c56489d972037c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sun, 3 Sep 2023 09:16:00 +0200 Subject: [PATCH 212/445] Document change * ACE/NEWS: --- ACE/NEWS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 9af0a7693f010..d5cbee617598f 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,12 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.1 and ACE-7.1.2 ==================================================== +. C++17 removed std::auto_ptr, updated ACE/TAO to not + use std::auto_ptr anymore and also not provide our + own auto_ptr. With C++17 ACE doesn't provide ACE_Auto_Ptr, + ACE_Auto_Basic_Ptr, ACE_Auto_Basic_Array_Ptr, ACE_Auto_Array_Ptr, + and ACE_auto_ptr_reset anymore, just use std::unique_ptr + USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 ==================================================== From c5fbb6372bb3264100d97e0b54520af5b2f67851 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 4 Sep 2023 09:23:27 +0200 Subject: [PATCH 213/445] More auto_ptr cleanup * TAO/TAO_IDL/be/be_codegen.cpp: * TAO/docs/events_tutorial.html: --- TAO/TAO_IDL/be/be_codegen.cpp | 2 +- TAO/docs/events_tutorial.html | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index a78e2c8c8a10a..e8218aed417ed 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -2746,7 +2746,7 @@ TAO_CodeGen::gen_stub_src_includes () if (be_global->gen_amh_classes ()) { this->gen_standard_include (this->client_stubs_, - "ace/Auto_Ptr.h"); + "memory"); } } diff --git a/TAO/docs/events_tutorial.html b/TAO/docs/events_tutorial.html index 4fe9ac9a71d5b..28aef50aee7f7 100644 --- a/TAO/docs/events_tutorial.html +++ b/TAO/docs/events_tutorial.html @@ -1511,11 +1511,10 @@

          Caring for your Event Channel

          CosNaming::NamingContext_var naming_context = CosNaming::NamingContext::_narrow (naming_obj.in ()); - // Notice the use of auto_ptr<> to automagically manage the - // destruction of the servant. When the auto_ptr goes out + // Notice the use of unique_ptr<> to automagically manage the + // destruction of the servant. When the unique_ptr goes out // of scope, its destructor is called, which in turn destroys // the servant. - std::unique_ptr scheduler_impl; RtecScheduler::Scheduler_var scheduler; From da225741f576bbd94bc7b75c371d89c062c7d092 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 4 Sep 2023 12:18:47 +0200 Subject: [PATCH 214/445] Reimplement TAO_Stub_Auto_Ptr with a std::unique_ptr with a custom deleter, reduces our code, also simplified the _this, no magic ACE macros anymore * TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp: * TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO/tao/ORB_Core.h: * TAO/tao/Stub.h: * TAO/tao/Stub.inl: --- .../be/be_visitor_interface/amh_ss.cpp | 33 ++++---- .../be/be_visitor_interface/interface_ss.cpp | 37 ++++----- TAO/tao/ORB_Core.h | 5 +- TAO/tao/Stub.h | 31 +++----- TAO/tao/Stub.inl | 77 ------------------- 5 files changed, 38 insertions(+), 145 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp index 6333aae01d4e1..87642de80f33d 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp @@ -67,38 +67,31 @@ be_visitor_amh_interface_ss::this_method (be_interface *node) << full_skel_name << "::_this ()" << be_nl << "{" << be_idt_nl - << "TAO_Stub *stub = this->_create_stub ();" << be_nl_2; + << "TAO_Stub_Auto_Ptr stub (this->_create_stub ());" << be_nl; - *os << "TAO_Stub_Auto_Ptr safe_stub (stub);" << be_nl - << "::CORBA::Object_ptr tmp {};" << be_nl - << be_nl - << "::CORBA::Boolean _tao_opt_colloc =" << be_idt_nl + *os << "::CORBA::Boolean _tao_opt_colloc = " << "stub->servant_orb_var ()->orb_core ()->" - << "optimize_collocation_objects ();" << be_uidt_nl << be_nl - << "ACE_NEW_RETURN (" << be_idt << be_idt_nl - << "tmp," << be_nl - << "::CORBA::Object (stub, _tao_opt_colloc, this)," << be_nl - << "nullptr" << be_uidt_nl - << ");" << be_uidt_nl << be_nl; + << "optimize_collocation_objects ();" << be_nl + << "::CORBA::Object_var obj = " + << "new (std::nothrow) ::CORBA::Object (stub.get (), _tao_opt_colloc, this);" << be_nl + << "if (obj.ptr ())" << be_idt_nl + << "{" << be_idt_nl; - *os << "::CORBA::Object_var obj = tmp;" << be_nl - << "(void) safe_stub.release ();" << be_nl_2; - - *os << "typedef ::" << node->name () << " STUB_SCOPED_NAME;" << be_nl - << "return" << be_idt_nl; + *os << "(void) stub.release ();" << be_nl; if (!node->is_abstract ()) { - *os << "TAO::Narrow_Utils::unchecked_narrow ("; + *os << "return TAO::Narrow_Utils<::" << node->name () << ">::unchecked_narrow ("; } else { - *os << "TAO::AbstractBase_Narrow_Utils::unchecked_narrow ("; + *os << "return TAO::AbstractBase_Narrow_Utils<::" << node->name () << ">::unchecked_narrow ("; } *os << "obj.in ());" << be_nl; - *os << be_uidt << be_uidt_nl - << "}"; + *os << be_uidt_nl + << "}" + << be_uidt_nl << "return {};" << be_uidt_nl << "}"; } void diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp index 33c5ee3bdabed..d87a9d64457e7 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp @@ -360,37 +360,28 @@ be_visitor_interface_ss::this_method (be_interface *node) << node->full_skel_name () << "::_this ()" << be_nl << "{" << be_idt_nl - << "TAO_Stub *stub = this->_create_stub ();" - << be_nl_2 - << "TAO_Stub_Auto_Ptr safe_stub (stub);" << be_nl; - - /* Coverity whines about an unused return value from _nil() when - initializing tmp. Just use zero instead. */ - *os << "::CORBA::Object_ptr tmp {};" - << be_nl_2; + << "TAO_Stub_Auto_Ptr stub (this->_create_stub ());" + << be_nl; - *os << "::CORBA::Boolean const _tao_opt_colloc =" - << be_idt_nl + *os << "::CORBA::Boolean const _tao_opt_colloc = " << "stub->servant_orb_var ()->orb_core ()->" - << "optimize_collocation_objects ();" << be_uidt_nl << be_nl; + << "optimize_collocation_objects ();" << be_nl; - *os << "ACE_NEW_RETURN (" << be_idt << be_idt_nl - << "tmp," << be_nl - << "::CORBA::Object (stub, "; - - *os << "_tao_opt_colloc"; - - *os << ", this)," << be_nl - << "nullptr);" << be_uidt << be_uidt_nl << be_nl; + /* Coverity whines about an unused return value from _nil() when + initializing tmp. Just use zero instead. */ + *os << "::CORBA::Object_var obj = " + << "new (std::nothrow) ::CORBA::Object (stub.get (), _tao_opt_colloc, this);" << be_nl + << "if (obj.ptr ())" << be_idt_nl + << "{" << be_idt_nl; - *os << "::CORBA::Object_var obj = tmp;" << be_nl - << "(void) safe_stub.release ();" << be_nl_2 + *os << "(void) stub.release ();" << be_nl << "return " - << "TAO::Narrow_Utils< ::" << node->name () << ">::unchecked_narrow (" + << "TAO::Narrow_Utils<::" << node->name () << ">::unchecked_narrow (" << "obj.in ());"; *os << be_uidt_nl - << "}"; + << "}" + << be_uidt_nl << "return {};" << be_uidt_nl << "}"; } void diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 84f2af9e92595..f0b82382f7a80 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -157,7 +157,7 @@ namespace PortableInterceptor */ class TAO_Export TAO_ORB_Core { - friend class TAO_ORB_Core_Auto_Ptr; + friend class TAO_ORB_Core_Decr_Refcnt; friend TAO_Export CORBA::ORB_ptr CORBA::ORB_init (int &, ACE_TCHAR *argv[], const char *); @@ -1362,8 +1362,7 @@ class TAO_Export TAO_ORB_Core_Static_Resources : public ACE_Service_Object //private: /// Constructor. TAO_ORB_Core_Static_Resources (); - TAO_ORB_Core_Static_Resources& operator= - (const TAO_ORB_Core_Static_Resources&); + TAO_ORB_Core_Static_Resources& operator= (const TAO_ORB_Core_Static_Resources&); private: /// Mostly unused variable whose sole purpose is to enforce diff --git a/TAO/tao/Stub.h b/TAO/tao/Stub.h index 153a3d8207d0c..a44c33af78e80 100644 --- a/TAO/tao/Stub.h +++ b/TAO/tao/Stub.h @@ -313,7 +313,6 @@ class TAO_Export TAO_Stub * * This must be the first field of the class, otherwise the * TAO_ORB_Core is destroyed too early! - * */ TAO_ORB_Core_Auto_Ptr orb_core_; @@ -405,32 +404,20 @@ class TAO_Export TAO_Stub std::atomic forwarded_on_exception_; }; -// Define a TAO_Stub auto_ptr class. /** - * @class TAO_Stub_Auto_Ptr - * - * @brief Implements the draft C++ standard auto_ptr abstraction. - * This class allows one to work Stub Objects *Only*! + * Custom deleter to decrement the refcount when called */ -class TAO_Export TAO_Stub_Auto_Ptr +struct TAO_Export TAO_Stub_Decr_Refcnt { -public: - explicit TAO_Stub_Auto_Ptr (TAO_Stub *p = nullptr); - TAO_Stub_Auto_Ptr (TAO_Stub_Auto_Ptr &ap); - TAO_Stub_Auto_Ptr &operator= (TAO_Stub_Auto_Ptr &rhs); - ~TAO_Stub_Auto_Ptr (); - - // = Accessor methods. - TAO_Stub &operator *() const; - TAO_Stub *get () const; - TAO_Stub *release (); - void reset (TAO_Stub *p = 0); - TAO_Stub *operator-> () const; - -protected: - TAO_Stub *p_; + void operator()(TAO_Stub* stub) const { if (stub) stub->_decr_refcnt(); } }; +/** + * TAO_Stub_Auto_Ptr will decrement the refcount when going our of scope + * using std::unique_ptr and a custom deleter + */ +using TAO_Stub_Auto_Ptr = std::unique_ptr; + TAO_END_VERSIONED_NAMESPACE_DECL #if defined (__ACE_INLINE__) diff --git a/TAO/tao/Stub.inl b/TAO/tao/Stub.inl index 30c4653160bed..02dc6e925830f 100644 --- a/TAO/tao/Stub.inl +++ b/TAO/tao/Stub.inl @@ -418,81 +418,4 @@ TAO_Stub::at_starting_profile () const return profile_in_use_ == base_profiles_.get_profile(0); } -// --------------------------------------------------------------- - -// Creator methods for TAO_Stub_Auto_Ptr (TAO_Stub Auto Pointer) -ACE_INLINE -TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr (TAO_Stub *p) - : p_ (p) -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr"); -} - -ACE_INLINE TAO_Stub * -TAO_Stub_Auto_Ptr::get () const -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::get"); - return this->p_; -} - -ACE_INLINE TAO_Stub * -TAO_Stub_Auto_Ptr::release () -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::release"); - TAO_Stub *old = this->p_; - this->p_ = nullptr; - return old; -} - -ACE_INLINE void -TAO_Stub_Auto_Ptr::reset (TAO_Stub *p) -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::reset"); - if (this->get () != p && this->get () != nullptr) - this->get ()->_decr_refcnt (); - this->p_ = p; -} - -ACE_INLINE TAO_Stub * -TAO_Stub_Auto_Ptr::operator-> () const -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::operator->"); - return this->get (); -} - -ACE_INLINE -TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr (TAO_Stub_Auto_Ptr &rhs) - : p_ (rhs.release ()) -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr"); -} - -ACE_INLINE TAO_Stub_Auto_Ptr & -TAO_Stub_Auto_Ptr::operator= (TAO_Stub_Auto_Ptr &rhs) -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::operator="); - if (this != &rhs) - { - this->reset (rhs.release ()); - } - return *this; -} - -ACE_INLINE -TAO_Stub_Auto_Ptr::~TAO_Stub_Auto_Ptr () -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::~TAO_Stub_Auto_Ptr"); - if (this->get() != nullptr) - this->get ()->_decr_refcnt (); -} - -// Accessor methods to the underlying Stub Object -ACE_INLINE TAO_Stub & -TAO_Stub_Auto_Ptr::operator *() const -{ - ACE_TRACE ("TAO_Stub_Auto_Ptr::operator *()"); - // @@ Potential problem if this->p_ is zero! - return *this->get (); -} - TAO_END_VERSIONED_NAMESPACE_DECL From e1531d7792cf3bd15cdd4e11f34650e8eced26db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 12:32:00 +0000 Subject: [PATCH 215/445] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/cmake.yml | 4 ++-- .github/workflows/face.yml | 4 ++-- .github/workflows/fuzz.yml | 2 +- .github/workflows/linux.yml | 4 ++-- .github/workflows/macosx.yml | 4 ++-- .github/workflows/windows.yml | 8 ++++---- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index fdd9bd839002e..9f2b8ae0876ca 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -36,9 +36,9 @@ jobs: CXX: ${{ matrix.CXX }} steps: - name: checkout ACE/TAO - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: checkout MPC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: DOCGroup/MPC path: ${{ env.MPC_ROOT }} diff --git a/.github/workflows/face.yml b/.github/workflows/face.yml index 5c029196cecf9..f4c14fdec7662 100644 --- a/.github/workflows/face.yml +++ b/.github/workflows/face.yml @@ -35,9 +35,9 @@ jobs: CXX: ${{ matrix.CXX }} steps: - name: checkout ACE/TAO - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: checkout MPC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: DOCGroup/MPC path: ${{ env.MPC_ROOT }} diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index 94e9934846d41..67680c480dc51 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -23,7 +23,7 @@ jobs: steps: - name: checkout ACE/TAO - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Run fuzz run: | perl ${env:ACE_ROOT}/bin/fuzz.pl diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 79f1b7c6ddc12..63ca1ef7865c2 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -168,9 +168,9 @@ jobs: CXX: ${{ matrix.CXX }} steps: - name: Checkout ACE_TAO - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout MPC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: DOCGroup/MPC path: ${{ env.MPC_ROOT }} diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 365dec69a0780..91e90be6eb331 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -30,9 +30,9 @@ jobs: MPC_ROOT: ${{ github.workspace }}/MPC steps: - name: checkout ACE/TAO - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: checkout MPC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: DOCGroup/MPC path: ${{ env.MPC_ROOT }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index f0a664761c055..8245444c68e46 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -118,9 +118,9 @@ jobs: VCPKG_INSTALLED_DIR: ${{ github.workspace }}/vcpkg_installed steps: - name: checkout ACE/TAO - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: checkout MPC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: DOCGroup/MPC path: ${{ env.MPC_ROOT }} @@ -187,9 +187,9 @@ jobs: MPC_ROOT: ${{ github.workspace }}/MPC steps: - name: checkout ACE/TAO - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: checkout MPC - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: DOCGroup/MPC path: ${{ env.MPC_ROOT }} From d636e1c235db6f510393e49284d449f1dd4a3c01 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 5 Sep 2023 09:33:27 +0200 Subject: [PATCH 216/445] Reorder defines * ACE/ace/OS_NS_sys_stat.h: --- ACE/ace/OS_NS_sys_stat.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ACE/ace/OS_NS_sys_stat.h b/ACE/ace/OS_NS_sys_stat.h index 3891f716b2644..fa044aa1dcc4b 100644 --- a/ACE/ace/OS_NS_sys_stat.h +++ b/ACE/ace/OS_NS_sys_stat.h @@ -33,11 +33,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL # if defined (_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 && defined (ACE_WIN32) -# if defined (__BORLANDC__) -typedef struct stati64 ACE_stat; -# define ACE_STAT_FUNC_NAME ::_stati64 -# define ACE_WSTAT_FUNC_NAME ::_wstati64 -# elif defined (_MSC_VER) +# if defined (_MSC_VER) typedef struct _stat64 ACE_stat; # define ACE_STAT_FUNC_NAME ::_stat64 # define ACE_WSTAT_FUNC_NAME ::_wstat64 @@ -45,6 +41,10 @@ typedef struct _stat64 ACE_stat; typedef struct _stati64 ACE_stat; # define ACE_STAT_FUNC_NAME ::_stati64 # define ACE_WSTAT_FUNC_NAME ::_wstati64 +# elif defined (__BORLANDC__) +typedef struct stati64 ACE_stat; +# define ACE_STAT_FUNC_NAME ::_stati64 +# define ACE_WSTAT_FUNC_NAME ::_wstati64 # else typedef struct stat ACE_stat; # define ACE_STAT_FUNC_NAME ::stat From 800a332bea49f9117ad69d3522ee346600d992f4 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 5 Sep 2023 14:27:33 +0200 Subject: [PATCH 217/445] Use std::unique_ptr with a custom deleter for TAO_ORB_Core_Auto_Ptr * TAO/tao/ORB_Core_Auto_Ptr.inl: Deleted. * TAO/tao/Collocated_Invocation.cpp: * TAO/tao/ORB_Core.cpp: * TAO/tao/ORB_Core_Auto_Ptr.cpp: * TAO/tao/ORB_Core_Auto_Ptr.h: * TAO/tests/Bug_2084_Regression/EventNode.cpp: * TAO/tests/Bug_2084_Regression/Hello.cpp: * TAO/tests/COIOP/Hello.cpp: * TAO/tests/Collocated_Best/Collocated_Best_Direct/Hello.cpp: * TAO/tests/Collocated_Best/Collocated_Best_NoColl/Hello.cpp: * TAO/tests/Collocated_Best/Collocated_Best_ThuP/Hello.cpp: * TAO/tests/Collocated_NoColl/Hello.cpp: * TAO/tests/Collocation_Exception_Test/Hello.cpp: * TAO/tests/Collocation_Oneway_Tests/Hello.cpp: * TAO/tests/Collocation_Tests/Hello.cpp: * TAO/tests/DII_Collocation_Tests/oneway/Hello.cpp: * TAO/tests/DII_Collocation_Tests/twoway/Hello.cpp: --- TAO/tao/Collocated_Invocation.cpp | 4 +- TAO/tao/ORB_Core.cpp | 9 +-- TAO/tao/ORB_Core_Auto_Ptr.cpp | 22 +------- TAO/tao/ORB_Core_Auto_Ptr.h | 46 ++++----------- TAO/tao/ORB_Core_Auto_Ptr.inl | 56 ------------------- TAO/tests/Bug_2084_Regression/EventNode.cpp | 2 +- TAO/tests/Bug_2084_Regression/Hello.cpp | 2 +- TAO/tests/COIOP/Hello.cpp | 2 +- .../Collocated_Best_Direct/Hello.cpp | 2 +- .../Collocated_Best_NoColl/Hello.cpp | 2 +- .../Collocated_Best_ThuP/Hello.cpp | 2 +- TAO/tests/Collocated_NoColl/Hello.cpp | 2 +- .../Collocation_Exception_Test/Hello.cpp | 2 +- TAO/tests/Collocation_Oneway_Tests/Hello.cpp | 2 +- TAO/tests/Collocation_Tests/Hello.cpp | 2 +- .../DII_Collocation_Tests/oneway/Hello.cpp | 2 +- .../DII_Collocation_Tests/twoway/Hello.cpp | 2 +- 17 files changed, 28 insertions(+), 133 deletions(-) delete mode 100644 TAO/tao/ORB_Core_Auto_Ptr.inl diff --git a/TAO/tao/Collocated_Invocation.cpp b/TAO/tao/Collocated_Invocation.cpp index e4b01c4a88207..bcbfd4b99a716 100644 --- a/TAO/tao/Collocated_Invocation.cpp +++ b/TAO/tao/Collocated_Invocation.cpp @@ -66,9 +66,7 @@ namespace TAO orb_core->_incr_refcnt (); TAO_ORB_Core_Auto_Ptr my_orb_core (orb_core); - dispatcher->dispatch (orb_core, - request, - this->forwarded_to_.out ()); + dispatcher->dispatch (orb_core, request, this->forwarded_to_.out ()); if (request.is_forwarded ()) { diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 6cd1c1fe8ca47..b607500dec2b3 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -2089,8 +2089,7 @@ TAO_ORB_Core::create_object (TAO_Stub *stub) if (this->is_collocation_enabled (other_core, mprofile)) { other_core->_incr_refcnt(); - TAO_ORB_Core_Auto_Ptr tmp_auto_ptr (other_core); - collocated_orb_core = tmp_auto_ptr; + collocated_orb_core.reset(other_core); break; } } @@ -2154,12 +2153,10 @@ TAO_ORB_Core::initialize_object_i (TAO_Stub *stub, const TAO_MProfile &mprofile) { TAO_ORB_Core * const other_core = (*i).second.core (); - if (this->is_collocation_enabled (other_core, - mprofile)) + if (this->is_collocation_enabled (other_core, mprofile)) { other_core->_incr_refcnt (); - TAO_ORB_Core_Auto_Ptr tmp_auto_ptr (other_core); - collocated_orb_core = tmp_auto_ptr; + collocated_orb_core.reset(other_core); break; } } diff --git a/TAO/tao/ORB_Core_Auto_Ptr.cpp b/TAO/tao/ORB_Core_Auto_Ptr.cpp index e3904b7661e19..fff93b50909fd 100644 --- a/TAO/tao/ORB_Core_Auto_Ptr.cpp +++ b/TAO/tao/ORB_Core_Auto_Ptr.cpp @@ -2,29 +2,11 @@ #include "tao/ORB_Core_Auto_Ptr.h" #include "tao/ORB_Core.h" -#if !defined (__ACE_INLINE__) -# include "tao/ORB_Core_Auto_Ptr.inl" -#endif /* !__ACE_INLINE */ - TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_ORB_Core_Auto_Ptr::~TAO_ORB_Core_Auto_Ptr () +void TAO_ORB_Core_Decr_Refcnt::operator()(TAO_ORB_Core* core) const { - if (this->get () != nullptr) - { - this->get ()->_decr_refcnt (); - } -} - -void -TAO_ORB_Core_Auto_Ptr::reset (TAO_ORB_Core *p) -{ - if (this->get () != p && this->get () != nullptr) - { - this->get ()->_decr_refcnt (); - } - - this->p_ = p; + if (core) core->_decr_refcnt(); } TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/ORB_Core_Auto_Ptr.h b/TAO/tao/ORB_Core_Auto_Ptr.h index 0b7a3f6f6a330..dad591b2a0967 100644 --- a/TAO/tao/ORB_Core_Auto_Ptr.h +++ b/TAO/tao/ORB_Core_Auto_Ptr.h @@ -21,53 +21,27 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include /**/ "tao/Versioned_Namespace.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL class TAO_ORB_Core; /** - * @class TAO_ORB_Core_Auto_Ptr - * - * @brief Define a TAO_ORB_Core auto_ptr class. - * - * This class is used as an aid to make ORB initialization exception - * safe. It ensures that the ORB core is deallocated through its - * reference counting mechanism if an exception is thrown. + * Custom deleter to decrement the refcount when called */ -class TAO_Export TAO_ORB_Core_Auto_Ptr +struct TAO_Export TAO_ORB_Core_Decr_Refcnt { -public: - /** - * @name Initialization and termination methods - */ - //@{ - explicit TAO_ORB_Core_Auto_Ptr (TAO_ORB_Core *p = 0); - TAO_ORB_Core_Auto_Ptr (TAO_ORB_Core_Auto_Ptr &ap); - TAO_ORB_Core_Auto_Ptr &operator= (TAO_ORB_Core_Auto_Ptr &rhs); - ~TAO_ORB_Core_Auto_Ptr (); - //@} - - /** - * @name Accessor methods. - */ - //@{ - TAO_ORB_Core &operator *() const; - TAO_ORB_Core *get () const; - TAO_ORB_Core *release (); - void reset (TAO_ORB_Core *p = 0); - TAO_ORB_Core *operator-> () const; - //@} - -protected: - TAO_ORB_Core *p_; + void operator()(TAO_ORB_Core* core) const; }; -TAO_END_VERSIONED_NAMESPACE_DECL +/** + * TAO_ORB_Core_Auto_Ptr will decrement the refcount when going our of scope + * using std::unique_ptr and a custom deleter + */ +using TAO_ORB_Core_Auto_Ptr = std::unique_ptr; -#if defined (__ACE_INLINE__) -# include "tao/ORB_Core_Auto_Ptr.inl" -#endif /* __ACE_INLINE__ */ +TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" diff --git a/TAO/tao/ORB_Core_Auto_Ptr.inl b/TAO/tao/ORB_Core_Auto_Ptr.inl deleted file mode 100644 index 5381056e570fa..0000000000000 --- a/TAO/tao/ORB_Core_Auto_Ptr.inl +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_ORB_Core_Auto_Ptr::TAO_ORB_Core_Auto_Ptr (TAO_ORB_Core *p) - : p_ (p) -{ -} - -ACE_INLINE TAO_ORB_Core * -TAO_ORB_Core_Auto_Ptr::get () const -{ - return this->p_; -} - -ACE_INLINE TAO_ORB_Core * -TAO_ORB_Core_Auto_Ptr::release () -{ - TAO_ORB_Core *old = this->p_; - this->p_ = 0; - return old; -} - -ACE_INLINE TAO_ORB_Core * -TAO_ORB_Core_Auto_Ptr::operator-> () const -{ - return this->get (); -} - -ACE_INLINE -TAO_ORB_Core_Auto_Ptr::TAO_ORB_Core_Auto_Ptr (TAO_ORB_Core_Auto_Ptr &rhs) - : p_ (rhs.release ()) -{ -} - -ACE_INLINE TAO_ORB_Core_Auto_Ptr & -TAO_ORB_Core_Auto_Ptr::operator= (TAO_ORB_Core_Auto_Ptr &rhs) -{ - if (this != &rhs) - { - this->reset (rhs.release ()); - } - return *this; -} - -// Accessor methods to the underlying ORB_Core Object - -ACE_INLINE TAO_ORB_Core & -TAO_ORB_Core_Auto_Ptr::operator *() const -{ - // @@ Potential problem if this->p_ is zero! - return *this->get (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tests/Bug_2084_Regression/EventNode.cpp b/TAO/tests/Bug_2084_Regression/EventNode.cpp index a5f2ad5b655ab..72bdd5623a407 100644 --- a/TAO/tests/Bug_2084_Regression/EventNode.cpp +++ b/TAO/tests/Bug_2084_Regression/EventNode.cpp @@ -32,7 +32,7 @@ void EventNode::registerHello (::Test::Hello_ptr h) TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Bug_2084_Regression/Hello.cpp b/TAO/tests/Bug_2084_Regression/Hello.cpp index 4a7e3042fb95d..af049b27ecc03 100644 --- a/TAO/tests/Bug_2084_Regression/Hello.cpp +++ b/TAO/tests/Bug_2084_Regression/Hello.cpp @@ -34,7 +34,7 @@ Hello::get_string (::Test::ThreadId caller_threadid) TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/COIOP/Hello.cpp b/TAO/tests/COIOP/Hello.cpp index baa9705bec308..4eb6a02aa41d0 100644 --- a/TAO/tests/COIOP/Hello.cpp +++ b/TAO/tests/COIOP/Hello.cpp @@ -40,7 +40,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Collocated_Best/Collocated_Best_Direct/Hello.cpp b/TAO/tests/Collocated_Best/Collocated_Best_Direct/Hello.cpp index 5e21009c3e4f9..33e94c85f01b5 100644 --- a/TAO/tests/Collocated_Best/Collocated_Best_Direct/Hello.cpp +++ b/TAO/tests/Collocated_Best/Collocated_Best_Direct/Hello.cpp @@ -41,7 +41,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Collocated_Best/Collocated_Best_NoColl/Hello.cpp b/TAO/tests/Collocated_Best/Collocated_Best_NoColl/Hello.cpp index c6cfa8478f05a..d516f1a298452 100644 --- a/TAO/tests/Collocated_Best/Collocated_Best_NoColl/Hello.cpp +++ b/TAO/tests/Collocated_Best/Collocated_Best_NoColl/Hello.cpp @@ -39,7 +39,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Collocated_Best/Collocated_Best_ThuP/Hello.cpp b/TAO/tests/Collocated_Best/Collocated_Best_ThuP/Hello.cpp index 57283fe299599..7c37d42b72eeb 100644 --- a/TAO/tests/Collocated_Best/Collocated_Best_ThuP/Hello.cpp +++ b/TAO/tests/Collocated_Best/Collocated_Best_ThuP/Hello.cpp @@ -39,7 +39,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Collocated_NoColl/Hello.cpp b/TAO/tests/Collocated_NoColl/Hello.cpp index c6cfa8478f05a..d516f1a298452 100644 --- a/TAO/tests/Collocated_NoColl/Hello.cpp +++ b/TAO/tests/Collocated_NoColl/Hello.cpp @@ -39,7 +39,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Collocation_Exception_Test/Hello.cpp b/TAO/tests/Collocation_Exception_Test/Hello.cpp index c9db9959f605c..d4816a90d7405 100644 --- a/TAO/tests/Collocation_Exception_Test/Hello.cpp +++ b/TAO/tests/Collocation_Exception_Test/Hello.cpp @@ -62,7 +62,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Collocation_Oneway_Tests/Hello.cpp b/TAO/tests/Collocation_Oneway_Tests/Hello.cpp index c40645c4deecd..e417c60447398 100644 --- a/TAO/tests/Collocation_Oneway_Tests/Hello.cpp +++ b/TAO/tests/Collocation_Oneway_Tests/Hello.cpp @@ -46,7 +46,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/Collocation_Tests/Hello.cpp b/TAO/tests/Collocation_Tests/Hello.cpp index 93b8163225874..0953b9e67228b 100644 --- a/TAO/tests/Collocation_Tests/Hello.cpp +++ b/TAO/tests/Collocation_Tests/Hello.cpp @@ -38,7 +38,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/DII_Collocation_Tests/oneway/Hello.cpp b/TAO/tests/DII_Collocation_Tests/oneway/Hello.cpp index 4d4d797c70f0b..3fba674730e78 100644 --- a/TAO/tests/DII_Collocation_Tests/oneway/Hello.cpp +++ b/TAO/tests/DII_Collocation_Tests/oneway/Hello.cpp @@ -292,7 +292,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, diff --git a/TAO/tests/DII_Collocation_Tests/twoway/Hello.cpp b/TAO/tests/DII_Collocation_Tests/twoway/Hello.cpp index 9f8445cd6b707..2d9afbb205a5a 100644 --- a/TAO/tests/DII_Collocation_Tests/twoway/Hello.cpp +++ b/TAO/tests/DII_Collocation_Tests/twoway/Hello.cpp @@ -309,7 +309,7 @@ Hello::get_string () TAO::ORB_Table::instance (); TAO_ORB_Core_Auto_Ptr tmp (orb_table->find ("server_orb")); - if (tmp.get () == 0) + if (tmp.get () == nullptr) { // We are running on a single ORB and this is an error. ACE_ERROR ((LM_ERROR, From 45ac78686bae84642d5b2812a9af13dd18105ca2 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 7 Sep 2023 13:05:41 +0200 Subject: [PATCH 218/445] Fixed friend * TAO/tao/ORB_Core.h: --- TAO/tao/ORB_Core.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index f0b82382f7a80..4802fd6e5fb61 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -157,7 +157,7 @@ namespace PortableInterceptor */ class TAO_Export TAO_ORB_Core { - friend class TAO_ORB_Core_Decr_Refcnt; + friend struct TAO_ORB_Core_Decr_Refcnt; friend TAO_Export CORBA::ORB_ptr CORBA::ORB_init (int &, ACE_TCHAR *argv[], const char *); From d1a1e205295667ec2f61d3eee57db4cf4fb265c1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 7 Sep 2023 13:05:50 +0200 Subject: [PATCH 219/445] Use nullptr * TAO/tao/Valuetype/AbstractBase.cpp: --- TAO/tao/Valuetype/AbstractBase.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/TAO/tao/Valuetype/AbstractBase.cpp b/TAO/tao/Valuetype/AbstractBase.cpp index f9bddb40e1167..62531ec55521c 100644 --- a/TAO/tao/Valuetype/AbstractBase.cpp +++ b/TAO/tao/Valuetype/AbstractBase.cpp @@ -20,7 +20,7 @@ CORBA::AbstractBase::AbstractBase () : is_objref_ (false) , refcount_ (1) , is_collocated_ (false) - , servant_ (0) + , servant_ (nullptr) , equivalent_obj_ (CORBA::Object::_nil ()) { } @@ -105,12 +105,12 @@ CORBA::AbstractBase::_to_value () { if (this->is_objref_) { - return 0; + return nullptr; } CORBA::ValueBase *retval = this->_tao_to_value (); - if (retval != 0) + if (retval != nullptr) { retval->_add_ref (); } @@ -229,10 +229,10 @@ operator<< (TAO_OutputCDR &strm, const CORBA::AbstractBase_ptr abs) CORBA::Boolean operator>> (TAO_InputCDR &strm, CORBA::AbstractBase_ptr &abs) { - abs = 0; + abs = nullptr; CORBA::Boolean discriminator = false; ACE_InputCDR::to_boolean tb (discriminator); - TAO_ORB_Core *orb_core = 0; + TAO_ORB_Core *orb_core = nullptr; if (strm >> tb) { @@ -378,7 +378,7 @@ CORBA::AbstractBase::_tao_stream_v (std::ostream &strm) const CORBA::ValueBase * CORBA::AbstractBase::_tao_to_value () { - return 0; + return nullptr; } CORBA::Object_ptr From a8ea1c4c8f7c50107e668237508b8b62ee88ff86 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 7 Sep 2023 14:27:17 +0200 Subject: [PATCH 220/445] Embarcadero C++ Builder changes * ACE/ace/config-win32-borland.h: --- ACE/ace/config-win32-borland.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/ACE/ace/config-win32-borland.h b/ACE/ace/config-win32-borland.h index 1ffc9968e9873..14e146cb59640 100644 --- a/ACE/ace/config-win32-borland.h +++ b/ACE/ace/config-win32-borland.h @@ -103,7 +103,11 @@ #define ACE_HAS_WREWINDDIR #define ACE_LACKS_STRRECVFD -#define ACE_USES_EXPLICIT_STD_NAMESPACE + +#if !defined (__MINGW64__) +# define ACE_USES_EXPLICIT_STD_NAMESPACE +# define ACE_LACKS_PID_T +#endif #if defined (ACE_HAS_BCC64) # define ACE_HAS_TIME_T_LONG_MISMATCH @@ -163,7 +167,20 @@ #define ACE_HAS_BUILTIN_BSWAP32 #define ACE_HAS_BUILTIN_BSWAP64 #define ACE_LACKS_INLINE_ASSEMBLY -#define ACE_LACKS_PID_T + +#if defined(__MINGW64__) +# define ACE_LACKS_PID_T +# define ACE_LACKS_GID_T +# undef ACE_LACKS_USECONDS_T +# define ACE_HAS_POSIX_TIME +# define ACE_LACKS_TIMESPEC_T +# define ACE_LACKS_UID_T +# define ACE_LACKS_GMTIME_R +# define ACE_LACKS_LOCALTIME_R +# define ACE_LACKS_NLINK_T +# define ACE_HAS_3_PARAM_WCSTOK +# define ACE_LACKS_STRPTIME +#endif #if __cplusplus >= 201103L # define ACE_HAS_CPP11 From 65566a4be54cc015f34811a96436e9483524f25b Mon Sep 17 00:00:00 2001 From: Nick Williams Date: Fri, 8 Sep 2023 13:40:20 -0500 Subject: [PATCH 221/445] Improve documentation for TAO_UIPMC_Protocol_Factory and TAO_MIOP_Resource_Factory --- TAO/docs/Options.html | 54 +++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/TAO/docs/Options.html b/TAO/docs/Options.html index 7c6d234aa88de..09552d66d6d61 100644 --- a/TAO/docs/Options.html +++ b/TAO/docs/Options.html @@ -35,10 +35,10 @@

          Table of Contents

        • TAO_Advanced_Resource_Factory
        • -
        • Server_Strategy_Factory
        • -
        • Client_Strategy_Factory
        • -
        • TAO_UIPMC_Protocol_Factory
        • -
        • MIOP_Strategy_Factory
        • +
        • Server_Strategy_Factory
        • +
        • Client_Strategy_Factory
        • +
        • TAO_UIPMC_Protocol_Factory
        • +
        • TAO_MIOP_Resource_Factory
        • Time_Policy_Manager
        • @@ -1834,10 +1834,10 @@

          3. Client_Strategy_Factory

          4. TAO_UIPMC_Protocol_Factory

          This factory is located in the TAO_PortableGroup library and - is used with the DIOP and MIOP protocols managing the UDP connectionless - sockets (normally one-way calls only) instead of the standard IIOP TCP/IP - two-way connection based sockets. It accepts the options shown below. - (Any options required should be given + implements the MIOP protocol. It uses the + TAO_MIOP_Resource_Factory to manage UDP connection options + shared with the TAO_DIOP_Protocol_Factory. It accepts its own un-shared + options shown below. (Any options required should be given to the TAO_UIPMC_Protocol_Factory between the two double-quotes at the end of the line as a space separated list; however none are required as all options take default values if not specified.) This factory can be loaded @@ -1909,15 +1909,15 @@

          4. TAO_UIPMC_Protocol_Factory

          -

          5. MIOP_Strategy_Factory

          +

          5. TAO_MIOP_Resource_Factory

          This factory is located in the TAO_PortableGroup library and - uses the TAO_UIPMC_Protocol_Factory (see above) to - manage its UDP sockets, you should also look at that factories configuration - options. The MIOP factory accepts it own options detailed below which - should be specified between the two double-quotes shown here as a space - separated list; however none are required as all options take default - values if not specified. This factory can be loaded dynamically using a - service configurator directive of the form (all on one line): + manages UDP connection options shared between the TAO_DIOP_Protocol_Factory + and the TAO_UIPMC_Protocol_Factory (see above). It + accepts the options detailed below, which should be specified between the + two double-quotes shown here as a space-separated list; however none are + required as all options take default values if not specified. This factory + can be loaded dynamically using a service configurator directive of the + form (all on one line):

          dynamic MIOP_Resource_Factory Service_Object * TAO_PortableGroup:_make_TAO_MIOP_Resource_Factory () ""

          You would normally have to use other service configurator @@ -1930,17 +1930,17 @@

          5. MIOP_Strategy_Factory

          TAO_PortableGroup:_make_TAO_PortableGroup_Loader() ""
          dynamic MIOP_Resource_Factory Service_Object * TAO_PortableGroup:_make_TAO_MIOP_Resource_Factory () ""

          - Since MIOP uses UDP sockets (which is not a "reliable" transport unlike tcp/ip) - it is easy to configure MIOP in such a way that messages will not actually - reach the servant. The options below are intended to maximize MIOP reliability - but they must be used with care; users of MIOP must understand that large - messages are sent in fragments and they have to be reassembled by the server in - their entirety to be usable by the servant. If even a single data - fragment/packet is lost, the whole message cannot be reconstructed and will be - unusable. There is no way for the servant to even know it has missed such a - MIOP message, and being a one-way protocol, neither will the client be aware - that the message has been lost. Fragments can be lost due to a variety of - reasons: + Since DIOP and MIOP use UDP sockets (which is not a "reliable" transport unlike + TCP/IP), it is easy to configure them in such a way that messages will not + actually reach the servant. The options below are intended to maximize DIOP and + MIOP reliability, but they must be used with care; users of DIOP and MIOP must + understand that large messages are sent in fragments and they have to be + reassembled by the server in their entirety to be usable by the servant. If + even a single data fragment/packet is lost, the whole message cannot be + reconstructed and will be unusable. There is no way for the servant to even + know it has missed such a DIOP or MIOP message, and being a one-way protocol, + neither will the client be aware that the message has been lost. Fragments + can be lost due to a variety of reasons:

          • From f5dd3c0f41aea5ac4dc2a2fc27faba3532c83a41 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 11 Sep 2023 09:10:10 +0200 Subject: [PATCH 222/445] Updated documentation for new Embarcadero C++ Builder compiler selection * ACE/ACE-INSTALL.html: --- ACE/ACE-INSTALL.html | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index 185fe6d9d5235..17a2ca5b2db02 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -675,15 +675,10 @@

            Building and Installing ACE on Windows with Embarcader Codeguard support. Should only be used when DEBUG is also set
            set CODEGUARD=1

            - By default we are using the clang based compilers. At the moment you - want to compile using the old bcc32 compiler set the CLASIC environment variable
            - set CLASSIC=1
            -
            - Set the environment variable below to build a version of ACE optimized - for a certain CPU. For this there are special compiler flags - (-3/-4/-5/-6), see the Embarcadero help for more info.
            - set CPU_FLAG=-6
            + Set one of the following environment variable to 1 to select which Embarcadero + C++ compiler has to be used. Valid environment variables are BCC32, BCC32C, and BCC64.
            + set BCC32=1
            You can then start the build with the command
            make -f Makefile.bmak all

            From 33104f3296898ac1af7fe7e20f45649d038fd481 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 12 Sep 2023 13:56:28 +0200 Subject: [PATCH 223/445] Use default * TAO/tao/Base_Transport_Property.h: * TAO/tao/Base_Transport_Property.inl: --- TAO/tao/Base_Transport_Property.h | 2 +- TAO/tao/Base_Transport_Property.inl | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/TAO/tao/Base_Transport_Property.h b/TAO/tao/Base_Transport_Property.h index 7f6a33180ae9e..ad69a5d2ddfac 100644 --- a/TAO/tao/Base_Transport_Property.h +++ b/TAO/tao/Base_Transport_Property.h @@ -36,7 +36,7 @@ class TAO_Export TAO_Base_Transport_Property { public: /// Default constructor - TAO_Base_Transport_Property (); + TAO_Base_Transport_Property () = default; /// Constructor TAO_Base_Transport_Property (TAO_Endpoint *endpoint, diff --git a/TAO/tao/Base_Transport_Property.inl b/TAO/tao/Base_Transport_Property.inl index 4f7ce5ebd51d0..7409a75609f81 100644 --- a/TAO/tao/Base_Transport_Property.inl +++ b/TAO/tao/Base_Transport_Property.inl @@ -1,25 +1,16 @@ // -*- C++ -*- TAO_BEGIN_VERSIONED_NAMESPACE_DECL -ACE_INLINE -TAO_Base_Transport_Property::TAO_Base_Transport_Property () -{ -} - ACE_INLINE TAO_Base_Transport_Property:: - TAO_Base_Transport_Property (TAO_Endpoint *endpoint, - CORBA::Boolean flag) - : TAO_Transport_Descriptor_Interface (endpoint, - flag) + TAO_Base_Transport_Property (TAO_Endpoint *endpoint, CORBA::Boolean flag) + : TAO_Transport_Descriptor_Interface (endpoint, flag) { } ACE_INLINE -TAO_Base_Transport_Property::TAO_Base_Transport_Property ( - const TAO_Base_Transport_Property &rhs) - : TAO_Transport_Descriptor_Interface (rhs.endpoint_->duplicate (), - true) +TAO_Base_Transport_Property::TAO_Base_Transport_Property (const TAO_Base_Transport_Property &rhs) + : TAO_Transport_Descriptor_Interface (rhs.endpoint_->duplicate (), true) { } From 4e5ea5306a40b13182f46af92b364a610f14db9c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 15 Sep 2023 09:15:06 +0200 Subject: [PATCH 224/445] Removed gcc 4 workaround for C++11, we require C++14 as minimum * ACE/include/makeinclude/platform_g++_common.GNU: --- ACE/include/makeinclude/platform_g++_common.GNU | 9 --------- 1 file changed, 9 deletions(-) diff --git a/ACE/include/makeinclude/platform_g++_common.GNU b/ACE/include/makeinclude/platform_g++_common.GNU index 5deb509623d0f..bed583c7f7a06 100644 --- a/ACE/include/makeinclude/platform_g++_common.GNU +++ b/ACE/include/makeinclude/platform_g++_common.GNU @@ -72,15 +72,6 @@ else CXX_MINOR_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/^[0-9]*\.//' | sed -e 's/\..*$$//') endif -# gcc 4 has C++03 as default C++ version, enable this to be C++11 -ifeq ($(findstring $(CXX_MAJOR_VERSION),4),$(CXX_MAJOR_VERSION)) - c++11 ?= 1 - # gcc 4 has a problem that it warnings about missing initializers - # for an std::array containing std::string even when {{}} is used - # as it should - FLAGS_C_CC += -Wno-missing-field-initializers -endif - CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) # Only modify LDFLAGS if DLD has been set. From 0e37c17462d26d73fcd89ad12687fd1a497397ba Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 15 Sep 2023 10:11:10 +0200 Subject: [PATCH 225/445] Removed support for c++11=1, we require C++14 as minimum * ACE/include/makeinclude/platform_gcc_clang_common.GNU: * ACE/include/makeinclude/platform_linux_clang.GNU: * ACE/include/makeinclude/platform_linux_icc.GNU: * ACE/include/makeinclude/platform_qnx_gcc.GNU: --- ACE/include/makeinclude/platform_gcc_clang_common.GNU | 4 ---- ACE/include/makeinclude/platform_linux_clang.GNU | 4 ---- ACE/include/makeinclude/platform_linux_icc.GNU | 4 ---- ACE/include/makeinclude/platform_qnx_gcc.GNU | 2 +- 4 files changed, 1 insertion(+), 13 deletions(-) diff --git a/ACE/include/makeinclude/platform_gcc_clang_common.GNU b/ACE/include/makeinclude/platform_gcc_clang_common.GNU index 6f441190458d1..a808d0246c4d7 100644 --- a/ACE/include/makeinclude/platform_gcc_clang_common.GNU +++ b/ACE/include/makeinclude/platform_gcc_clang_common.GNU @@ -61,10 +61,6 @@ else else ifeq ($(c++14),1) CCFLAGS += -std=c++14 - else - ifeq ($(c++11),1) - CCFLAGS += -std=c++11 - endif # c++11 endif # c++14 endif #c++17 endif #c++20 diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index a0fed4aa60432..23cd17cb53eee 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -35,10 +35,6 @@ ifeq ($(optimize),0) CPPFLAGS += -O0 endif -ifeq ($(c++11),1) - CCFLAGS += -std=c++11 -endif - ifeq ($(c++14),1) CCFLAGS += -std=c++14 endif diff --git a/ACE/include/makeinclude/platform_linux_icc.GNU b/ACE/include/makeinclude/platform_linux_icc.GNU index b45bb70977e48..f14b7d78e393e 100644 --- a/ACE/include/makeinclude/platform_linux_icc.GNU +++ b/ACE/include/makeinclude/platform_linux_icc.GNU @@ -56,10 +56,6 @@ ifeq ($(ipo),1) CPPFLAGS += -ipo endif -ifeq ($(c++11),1) - CCFLAGS += -std=c++11 -endif - CFLAGS += -w1 ifeq ($(threads),1) CPPFLAGS += -D_REENTRANT diff --git a/ACE/include/makeinclude/platform_qnx_gcc.GNU b/ACE/include/makeinclude/platform_qnx_gcc.GNU index 6bdc061e8ef63..71736988bee49 100644 --- a/ACE/include/makeinclude/platform_qnx_gcc.GNU +++ b/ACE/include/makeinclude/platform_qnx_gcc.GNU @@ -34,7 +34,7 @@ SOFLAGS += $(CPPFLAGS) -shared SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true -# Test for template instantiation, add to SOFLAGS if SONAME set, +# Test for template instantiation, add to SOFLAGS if SONAME set, # add -E to LDFLAGS if using GNU ld # include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU From 3acac498f88eb0c53e529106cdc29d370b413daa Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 15 Sep 2023 16:27:19 +0200 Subject: [PATCH 226/445] Add support for c++std in platform_macros.GNU * .github/workflows/linux.yml: * ACE/NEWS: * ACE/include/makeinclude/platform_gcc_clang_common.GNU: --- .github/workflows/linux.yml | 6 +++--- ACE/NEWS | 3 +++ ACE/include/makeinclude/platform_gcc_clang_common.GNU | 4 ++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 63ca1ef7865c2..66f116a7f6189 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -48,19 +48,19 @@ jobs: - CC: gcc-11 CXX: g++-11 PackageDeps: g++-11 - optional_macros: CCFLAGS+=-std=c++20 + optional_macros: c++std=c++20 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU os: ubuntu-22.04 - CC: gcc-12 CXX: g++-12 PackageDeps: g++-12 - optional_macros: CCFLAGS+=-std=c++20 + optional_macros: c++std=c++20 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU os: ubuntu-22.04 - CC: gcc-13 CXX: g++-13 PackageDeps: g++-13 - optional_macros: CCFLAGS+=-std=c++20 + optional_macros: c++std=c++20 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU os: ubuntu-22.04 - CC: clang-6.0 diff --git a/ACE/NEWS b/ACE/NEWS index d5cbee617598f..b42d6906b4ee4 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -7,6 +7,9 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.1 and ACE-7.1.2 ACE_Auto_Basic_Ptr, ACE_Auto_Basic_Array_Ptr, ACE_Auto_Array_Ptr, and ACE_auto_ptr_reset anymore, just use std::unique_ptr +. Add c++std which can be used in the platform_macros.GNU + to set the C++ revision to be used (results in -std= flag) + USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 ==================================================== diff --git a/ACE/include/makeinclude/platform_gcc_clang_common.GNU b/ACE/include/makeinclude/platform_gcc_clang_common.GNU index a808d0246c4d7..6827c9ebe63c9 100644 --- a/ACE/include/makeinclude/platform_gcc_clang_common.GNU +++ b/ACE/include/makeinclude/platform_gcc_clang_common.GNU @@ -53,6 +53,10 @@ else CPPFLAGS += -DACE_HAS_CUSTOM_EXPORT_MACROS=0 endif # shared_libs +ifneq ($(c++std),) + CCFLAGS += -std=$(c++std) +endif + ifeq ($(c++20),1) CCFLAGS += -std=c++20 else From 5547c0465b8a6abef7caad1b5f961b6d0a73f9c8 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 19 Sep 2023 09:32:54 +0200 Subject: [PATCH 227/445] Embarcadero C++ Builder fixes * ACE/ace/config-win32-borland.h: --- ACE/ace/config-win32-borland.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ACE/ace/config-win32-borland.h b/ACE/ace/config-win32-borland.h index 14e146cb59640..3502742130d23 100644 --- a/ACE/ace/config-win32-borland.h +++ b/ACE/ace/config-win32-borland.h @@ -64,7 +64,6 @@ #define ACE_HAS_DIRENT #define ACE_HAS_WIN32_STRUCTURED_EXCEPTIONS -#define ACE_USES_STD_NAMESPACE_FOR_STDC_LIB 1 #define ACE_LACKS_TERMIOS_H #define ACE_LACKS_NETINET_TCP_H @@ -107,6 +106,7 @@ #if !defined (__MINGW64__) # define ACE_USES_EXPLICIT_STD_NAMESPACE # define ACE_LACKS_PID_T +# define ACE_USES_STD_NAMESPACE_FOR_STDC_LIB 1 #endif #if defined (ACE_HAS_BCC64) @@ -169,7 +169,6 @@ #define ACE_LACKS_INLINE_ASSEMBLY #if defined(__MINGW64__) -# define ACE_LACKS_PID_T # define ACE_LACKS_GID_T # undef ACE_LACKS_USECONDS_T # define ACE_HAS_POSIX_TIME From cb3fa988846cd7a3e7f4a8cc3f615d8efaf25c16 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 19 Sep 2023 12:18:38 +0200 Subject: [PATCH 228/445] QNX changes * ACE/include/makeinclude/platform_qnx_gcc.GNU: --- ACE/include/makeinclude/platform_qnx_gcc.GNU | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ACE/include/makeinclude/platform_qnx_gcc.GNU b/ACE/include/makeinclude/platform_qnx_gcc.GNU index 71736988bee49..79952c7798665 100644 --- a/ACE/include/makeinclude/platform_qnx_gcc.GNU +++ b/ACE/include/makeinclude/platform_qnx_gcc.GNU @@ -6,6 +6,7 @@ debug ?= 1 optimize ?= 0 threads ?= 1 pipes ?= 0 +c++std ?= gnu++14 CCFLAGS += -fexceptions LDFLAGS += -fexceptions @@ -16,6 +17,7 @@ else CCFLAGS += -fno-inline endif # inline +CCFLAGS += -fno-builtin DCFLAGS += -ggdb DCCFLAGS += -ggdb @@ -23,8 +25,10 @@ ifeq ($(optimize),1) OCFLAGS += -O3 endif #optimize -DLD = $(CXX) -LD = $(CXX) +CC ?= qcc +CXX ?= q++ +DLD = $(CXX) +LD = $(CXX) LIBS += -lsocket -lstdc++ -lm From 1e2da3173a498909230f3f12617e663c5aa20190 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 19 Sep 2023 13:49:41 +0200 Subject: [PATCH 229/445] Remove not needed line * ACE/include/makeinclude/platform_qnx_gcc.GNU: --- ACE/include/makeinclude/platform_qnx_gcc.GNU | 1 - 1 file changed, 1 deletion(-) diff --git a/ACE/include/makeinclude/platform_qnx_gcc.GNU b/ACE/include/makeinclude/platform_qnx_gcc.GNU index 79952c7798665..0912ee9d27310 100644 --- a/ACE/include/makeinclude/platform_qnx_gcc.GNU +++ b/ACE/include/makeinclude/platform_qnx_gcc.GNU @@ -17,7 +17,6 @@ else CCFLAGS += -fno-inline endif # inline -CCFLAGS += -fno-builtin DCFLAGS += -ggdb DCCFLAGS += -ggdb From 1f9ea6a45c90ae380175763f0ec624cebaaf395a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 19 Sep 2023 15:30:03 +0200 Subject: [PATCH 230/445] Use nullptr/std::addressof * ACE/ace/SOCK_Dgram.cpp: --- ACE/ace/SOCK_Dgram.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/ACE/ace/SOCK_Dgram.cpp b/ACE/ace/SOCK_Dgram.cpp index d23422f422588..9a50e1c8f9806 100644 --- a/ACE/ace/SOCK_Dgram.cpp +++ b/ACE/ace/SOCK_Dgram.cpp @@ -308,7 +308,6 @@ ACE_SOCK_Dgram::send (const iovec iov[], // Recv an iovec of size N to ADDR as a datagram (connectionless // version). - ssize_t ACE_SOCK_Dgram::recv (iovec iov[], int n, @@ -346,16 +345,14 @@ ACE_SOCK_Dgram::recv (iovec iov[], recv_msg.msg_namelen = addr.get_size (); #ifdef ACE_USE_MSG_CONTROL - recv_msg.msg_control = to_addr ? &cbuf : 0; + recv_msg.msg_control = to_addr ? std::addressof(cbuf) : nullptr; recv_msg.msg_controllen = to_addr ? sizeof (cbuf) : 0; #elif !defined ACE_LACKS_SENDMSG - recv_msg.msg_accrights = 0; + recv_msg.msg_accrights = nullptr; recv_msg.msg_accrightslen = 0; #endif - ssize_t status = ACE_OS::recvmsg (this->get_handle (), - &recv_msg, - flags); + ssize_t const status = ACE_OS::recvmsg (this->get_handle (), std::addressof(recv_msg), flags); addr.set_size (recv_msg.msg_namelen); addr.set_type (((sockaddr_in *) addr.get_addr())->sin_family); @@ -404,8 +401,8 @@ ACE_SOCK_Dgram::recv (iovec iov[], #else /* ACE_HAS_MSG */ -// Send an iovec of size N to ADDR as a datagram (connectionless -// version). +/// Send an iovec of size N to ADDR as a datagram (connectionless +/// version). ssize_t ACE_SOCK_Dgram::send (const iovec iov[], int n, @@ -489,7 +486,7 @@ ACE_SOCK_Dgram::recv (iovec iov[], #endif length += iov[i].iov_len; - char *buf = 0; + char *buf = nullptr; #if defined (ACE_HAS_ALLOCA) buf = alloca (length); From 3989eaefd4ac1331a2f0d5f0270e4a16df283f95 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 19 Sep 2023 17:03:43 +0200 Subject: [PATCH 231/445] Layout/nullptr changes * ACE/ace/SOCK_Dgram.cpp: --- ACE/ace/SOCK_Dgram.cpp | 35 +++++++++-------------------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/ACE/ace/SOCK_Dgram.cpp b/ACE/ace/SOCK_Dgram.cpp index 9a50e1c8f9806..8b8e1a6f0b95b 100644 --- a/ACE/ace/SOCK_Dgram.cpp +++ b/ACE/ace/SOCK_Dgram.cpp @@ -145,9 +145,7 @@ ACE_SOCK_Dgram::shared_open (const ACE_Addr &local, #endif /* ACE_HAS_IPV6 */ ) { - if (ACE::bind_port (this->get_handle (), - INADDR_ANY, - protocol_family) == -1) + if (ACE::bind_port (this->get_handle (), INADDR_ANY, protocol_family) == -1) error = true; } } @@ -180,9 +178,7 @@ ACE_SOCK_Dgram::open (const ACE_Addr &local, flags, reuse_addr) == -1) return -1; - else if (this->shared_open (local, - protocol_family, - ipv6_only) == -1) + else if (this->shared_open (local, protocol_family, ipv6_only) == -1) return -1; else return 0; @@ -210,15 +206,10 @@ ACE_SOCK_Dgram::open (const ACE_Addr &local, #endif /* ACE_HAS_IPV6 */ } - if (ACE_SOCK::open (SOCK_DGRAM, - protocol_family, - protocol, - reuse_addr) == -1) + if (ACE_SOCK::open (SOCK_DGRAM, protocol_family, protocol, reuse_addr) == -1) return -1; else - return this->shared_open (local, - protocol_family, - ipv6_only); + return this->shared_open (local, protocol_family, ipv6_only); } // Here's the general-purpose constructor used by a connectionless @@ -301,9 +292,7 @@ ACE_SOCK_Dgram::send (const iovec iov[], send_msg.msg_controllen = 0; #endif - return ACE_OS::sendmsg (this->get_handle (), - &send_msg, - flags); + return ACE_OS::sendmsg (this->get_handle (), &send_msg, flags); } // Recv an iovec of size N to ADDR as a datagram (connectionless @@ -508,9 +497,7 @@ ACE_SOCK_Dgram::recv (iovec iov[], char *ptr = buf; int copyn = length; - for (i = 0; - i < n && copyn > 0; - i++) + for (i = 0; i < n && copyn > 0; i++) { ACE_OS::memcpy (iov[i].iov_base, ptr, // iov_len is int on some platforms, size_t on others @@ -611,9 +598,7 @@ ACE_SOCK_Dgram::set_nic (const ACE_TCHAR *net_if, { ACE_INET_Addr addr (static_cast (0)); ip_mreq send_mreq; - if (this->make_multicast_ifaddr (&send_mreq, - addr, - net_if) == -1) + if (this->make_multicast_ifaddr (&send_mreq, addr, net_if) == -1) { if (!ipv6_mif_set) return -1; @@ -765,9 +750,7 @@ ACE_SOCK_Dgram::make_multicast_ifaddr6 (ipv6_mreq *ret_mreq, ACE_TRACE ("ACE_SOCK_Dgram::make_multicast_ifaddr6"); ipv6_mreq lmreq; // Scratch copy. - ACE_OS::memset (&lmreq, - 0, - sizeof (lmreq)); + ACE_OS::memset (&lmreq, 0, sizeof (lmreq)); #if defined (ACE_WIN32) || !defined (ACE_LACKS_IF_NAMETOINDEX) if (net_if != 0) @@ -779,7 +762,7 @@ ACE_SOCK_Dgram::make_multicast_ifaddr6 (ipv6_mreq *ret_mreq, (if_ix = ACE_OS::atoi (net_if)) > 0; ULONG bufLen = 15000; // Initial size as per Microsoft - char *buf = 0; + char *buf = nullptr; ACE_NEW_RETURN (buf, char[bufLen], -1); DWORD dwRetVal = 0; ULONG iterations = 0; From d3f1c845346abca0dc9d44a2f2d44a201495a14f Mon Sep 17 00:00:00 2001 From: Nick Williams Date: Thu, 21 Sep 2023 13:34:17 -0500 Subject: [PATCH 232/445] Add missing and update .gitignore files to prevent untracked files Git status --- .gitignore | 8 ++++++++ TAO/orbsvcs/tests/BiDir_CORBALOC/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_1395_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2112_Regression/.gitignore | 1 + TAO/orbsvcs/tests/Bug_2247_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2248_Regression/.gitignore | 10 ++++++++++ TAO/orbsvcs/tests/Bug_2285_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2287_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2316_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2377_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2615_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2709_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Bug_2800_Regression/.gitignore | 8 ++++++++ TAO/orbsvcs/tests/Bug_2925_Regression/.gitignore | 7 +++++++ TAO/orbsvcs/tests/Bug_3215_Regression/.gitignore | 7 +++++++ TAO/orbsvcs/tests/Bug_3216_Regression/.gitignore | 7 +++++++ TAO/orbsvcs/tests/Bug_3387_Regression/.gitignore | 8 ++++++++ TAO/orbsvcs/tests/Bug_3418_Regression/.gitignore | 1 + TAO/orbsvcs/tests/Bug_3444_Regression/.gitignore | 7 +++++++ TAO/orbsvcs/tests/Bug_3486_Regression/.gitignore | 1 + TAO/orbsvcs/tests/Bug_3598b_Regression/.gitignore | 7 +++++++ TAO/orbsvcs/tests/Bug_3673_Regression/.gitignore | 8 ++++++++ TAO/orbsvcs/tests/Bug_3891_Regression/.gitignore | 6 ++++++ TAO/orbsvcs/tests/Bug_4080_Regression/.gitignore | 7 +++++++ TAO/orbsvcs/tests/COIOP_Naming_Test/.gitignore | 6 ++++++ TAO/orbsvcs/tests/CosEvent/Basic/.gitignore | 6 ++++++ TAO/orbsvcs/tests/EC_Custom_Marshal/.gitignore | 5 +++++ TAO/orbsvcs/tests/Event/Basic/.gitignore | 15 +++++++++++++++ .../tests/Event/Mcast/AddrServer/.gitignore | 2 ++ TAO/orbsvcs/tests/Event/Mcast/Complex/.gitignore | 3 +++ TAO/orbsvcs/tests/Event/Mcast/Simple/.gitignore | 3 +++ TAO/orbsvcs/tests/Event/Mcast/Two_Way/.gitignore | 2 ++ TAO/orbsvcs/tests/Event/Performance/.gitignore | 5 +++++ TAO/orbsvcs/tests/Event/UDP/.gitignore | 5 +++++ TAO/orbsvcs/tests/FT_App/.gitignore | 5 +++++ .../tests/FT_Naming/FaultTolerant/.gitignore | 12 ++++++++++++ TAO/orbsvcs/tests/FT_Naming/Federation/.gitignore | 7 +++++++ .../tests/FT_Naming/Load_Balancing/.gitignore | 7 +++++++ .../tests/FT_Naming/Replication/.gitignore | 6 ++++++ .../tests/FT_Naming/stress_storable/.gitignore | 7 +++++++ .../GroupRef_Manipulation/.gitignore | 5 +++++ TAO/orbsvcs/tests/FaultTolerance/IOGR/.gitignore | 5 +++++ TAO/orbsvcs/tests/HTIOP/AMI/.gitignore | 5 +++++ TAO/orbsvcs/tests/HTIOP/BiDirectional/.gitignore | 5 +++++ TAO/orbsvcs/tests/HTIOP/Hello/.gitignore | 5 +++++ TAO/orbsvcs/tests/IOR_MCast/.gitignore | 5 +++++ TAO/orbsvcs/tests/ImplRepo/.gitignore | 10 ++++++++++ .../tests/ImplRepo/Bug_2604_Regression/.gitignore | 5 +++++ .../tests/ImplRepo/Bug_4152_Regression/.gitignore | 7 +++++++ .../tests/ImplRepo/Bug_689_Regression/.gitignore | 7 +++++++ TAO/orbsvcs/tests/ImplRepo/MT_stress/.gitignore | 7 +++++++ .../tests/ImplRepo/NotifyService/.gitignore | 1 + TAO/orbsvcs/tests/ImplRepo/PICurrent/.gitignore | 7 +++++++ .../tests/ImplRepo/ReconnectServer/.gitignore | 8 ++++++++ TAO/orbsvcs/tests/ImplRepo/RestartIMR/.gitignore | 6 ++++++ .../tests/ImplRepo/RestartServer/.gitignore | 5 +++++ .../tests/ImplRepo/double_start/.gitignore | 7 +++++++ TAO/orbsvcs/tests/ImplRepo/kill_server/.gitignore | 7 +++++++ .../tests/ImplRepo/kill_slow_server/.gitignore | 7 +++++++ TAO/orbsvcs/tests/ImplRepo/link_poas/.gitignore | 7 +++++++ .../tests/ImplRepo/manual_start/.gitignore | 7 +++++++ TAO/orbsvcs/tests/ImplRepo/oneway/.gitignore | 8 ++++++++ .../tests/ImplRepo/ping_interrupt/.gitignore | 6 ++++++ TAO/orbsvcs/tests/ImplRepo/scale/.gitignore | 5 +++++ .../tests/ImplRepo/scale_clients/.gitignore | 7 +++++++ .../servers_interact_on_startup/.gitignore | 7 +++++++ .../tests/ImplRepo/servers_list/.gitignore | 7 +++++++ .../InterfaceRepo/Application_Test/.gitignore | 5 +++++ .../InterfaceRepo/Bug_2962_Regression/.gitignore | 1 + .../InterfaceRepo/Bug_3155_Regression/.gitignore | 1 + .../InterfaceRepo/Bug_3174_Regression/.gitignore | 1 + .../InterfaceRepo/Bug_3495_Regression/.gitignore | 7 +++++++ .../IFR_Self_Recursive_IDL_Test/.gitignore | 7 +++++++ .../InterfaceRepo/Union_Forward_Test/.gitignore | 1 + TAO/orbsvcs/tests/Interoperable_Naming/.gitignore | 5 +++++ .../Application_Controlled/.gitignore | 5 +++++ .../DeadMemberDetection_App_Ctrl/.gitignore | 7 +++++++ .../DeadMemberDetection_Inf_Ctrl/.gitignore | 8 ++++++++ .../Infrastructure_Controlled/.gitignore | 5 +++++ .../GenericFactory/Manage_Object_Group/.gitignore | 5 +++++ .../tests/Miop/McastFragmentation/.gitignore | 7 +++++++ TAO/orbsvcs/tests/Miop/McastHello/.gitignore | 5 +++++ TAO/orbsvcs/tests/Miop/McastLocal/.gitignore | 7 +++++++ .../Miop/McastPreferredInterfaces/.gitignore | 7 +++++++ TAO/orbsvcs/tests/Miop/McastZIOP/.gitignore | 5 +++++ TAO/orbsvcs/tests/Notify/Basic/.gitignore | 1 + TAO/orbsvcs/tests/Notify/Blocking/.gitignore | 5 +++++ .../tests/Notify/Bug_1385_Regression/.gitignore | 7 +++++++ .../tests/Notify/Bug_1884_Regression/.gitignore | 3 +++ .../tests/Notify/Bug_2415_Regression/.gitignore | 7 +++++++ .../tests/Notify/Bug_2561_Regression/.gitignore | 7 +++++++ .../tests/Notify/Bug_2926_Regression/.gitignore | 1 + .../tests/Notify/Bug_3252_Regression/.gitignore | 1 + .../tests/Notify/Bug_3646a_Regression/.gitignore | 1 + .../tests/Notify/Bug_3646b_Regression/.gitignore | 1 + .../tests/Notify/Bug_3646c_Regression/.gitignore | 2 ++ .../tests/Notify/Bug_3646d_Regression/.gitignore | 1 + .../tests/Notify/Bug_3663_Regression/.gitignore | 1 + .../tests/Notify/Bug_3688_Regression/.gitignore | 2 ++ .../tests/Notify/Bug_3688b_Regression/.gitignore | 1 + TAO/orbsvcs/tests/Notify/Discarding/.gitignore | 5 +++++ TAO/orbsvcs/tests/Notify/MC/.gitignore | 8 ++++++++ .../tests/Notify/MT_Dispatching/.gitignore | 5 +++++ TAO/orbsvcs/tests/Notify/Ordering/.gitignore | 5 +++++ .../tests/Notify/Persistent_Filter/.gitignore | 2 ++ .../tests/Notify/Persistent_POA/.gitignore | 6 ++++++ .../Notify/Sequence_Multi_ETCL_Filter/.gitignore | 5 +++++ .../tests/Notify/Sequence_Multi_Filter/.gitignore | 5 +++++ .../tests/Notify/Structured_Filter/.gitignore | 5 +++++ .../Notify/Structured_Multi_Filter/.gitignore | 5 +++++ TAO/orbsvcs/tests/Notify/Timeout/.gitignore | 7 +++++++ .../tests/Notify/Validate_Client/.gitignore | 1 + TAO/orbsvcs/tests/Notify/lib/.gitignore | 5 +++++ .../Notify/performance-tests/Filter/.gitignore | 5 +++++ TAO/orbsvcs/tests/Redundant_Naming/.gitignore | 5 +++++ .../tests/Security/BiDirectional/.gitignore | 5 +++++ TAO/orbsvcs/tests/Security/Big_Request/.gitignore | 7 +++++++ .../tests/Security/Bug_1107_Regression/.gitignore | 7 +++++++ .../tests/Security/Bug_2908_Regression/.gitignore | 5 +++++ TAO/orbsvcs/tests/Security/Callback/.gitignore | 10 ++++++++++ TAO/orbsvcs/tests/Security/Crash_Test/.gitignore | 5 +++++ .../tests/Security/MT_BiDir_SSL/.gitignore | 12 ++++++++++++ TAO/orbsvcs/tests/Security/MT_IIOP_SSL/.gitignore | 5 +++++ TAO/orbsvcs/tests/Security/MT_SSLIOP/.gitignore | 5 +++++ TAO/orbsvcs/tests/Security/Null_Cipher/.gitignore | 6 ++++++ .../tests/Security/Secure_Invocation/.gitignore | 5 +++++ .../tests/Security/mixed_security_test/.gitignore | 6 ++++++ TAO/orbsvcs/tests/Security/ssliop_CSD/.gitignore | 5 +++++ TAO/orbsvcs/tests/Simple_Naming/.gitignore | 5 +++++ TAO/orbsvcs/tests/Trading/.gitignore | 8 ++++++++ TAO/orbsvcs/tests/ior_corbaname/.gitignore | 5 +++++ .../tests/unit/Notify/MC/Control/.gitignore | 1 + .../unit/Notify/MC/MonitorControlExt/.gitignore | 1 + .../unit/Notify/MC/MonitorManager/.gitignore | 2 ++ .../MC/NotificationServiceMonitor/.gitignore | 1 + .../tests/unit/Notify/MC/Statistic/.gitignore | 1 + .../unit/Notify/MC/Statistic_Registry/.gitignore | 1 + 137 files changed, 714 insertions(+) create mode 100644 TAO/orbsvcs/tests/Bug_2112_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_2800_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_2925_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3215_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3216_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3387_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3418_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3444_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3486_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3598b_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3673_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_3891_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Bug_4080_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/COIOP_Naming_Test/.gitignore create mode 100644 TAO/orbsvcs/tests/CosEvent/Basic/.gitignore create mode 100644 TAO/orbsvcs/tests/Event/Basic/.gitignore create mode 100644 TAO/orbsvcs/tests/Event/Mcast/AddrServer/.gitignore create mode 100644 TAO/orbsvcs/tests/Event/Mcast/Complex/.gitignore create mode 100644 TAO/orbsvcs/tests/Event/Mcast/Simple/.gitignore create mode 100644 TAO/orbsvcs/tests/Event/Mcast/Two_Way/.gitignore create mode 100644 TAO/orbsvcs/tests/Event/Performance/.gitignore create mode 100644 TAO/orbsvcs/tests/FT_Naming/FaultTolerant/.gitignore create mode 100644 TAO/orbsvcs/tests/FT_Naming/Federation/.gitignore create mode 100644 TAO/orbsvcs/tests/FT_Naming/Load_Balancing/.gitignore create mode 100644 TAO/orbsvcs/tests/FT_Naming/Replication/.gitignore create mode 100644 TAO/orbsvcs/tests/FT_Naming/stress_storable/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/Bug_689_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/MT_stress/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/NotifyService/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/PICurrent/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/ReconnectServer/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/RestartIMR/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/double_start/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/kill_server/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/kill_slow_server/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/link_poas/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/manual_start/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/oneway/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/ping_interrupt/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/scale_clients/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/.gitignore create mode 100644 TAO/orbsvcs/tests/ImplRepo/servers_list/.gitignore create mode 100644 TAO/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/InterfaceRepo/Bug_3174_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/InterfaceRepo/Bug_3495_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test/.gitignore create mode 100644 TAO/orbsvcs/tests/InterfaceRepo/Union_Forward_Test/.gitignore create mode 100644 TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_App_Ctrl/.gitignore create mode 100644 TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_Inf_Ctrl/.gitignore create mode 100644 TAO/orbsvcs/tests/Miop/McastFragmentation/.gitignore create mode 100644 TAO/orbsvcs/tests/Miop/McastLocal/.gitignore create mode 100644 TAO/orbsvcs/tests/Miop/McastPreferredInterfaces/.gitignore create mode 100644 TAO/orbsvcs/tests/Miop/McastZIOP/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_1385_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_1884_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_2415_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_2561_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_2926_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3252_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3646a_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3663_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3688_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Persistent_Filter/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Persistent_POA/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Timeout/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/Validate_Client/.gitignore create mode 100644 TAO/orbsvcs/tests/Notify/lib/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/Big_Request/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/Bug_1107_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/Bug_2908_Regression/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/Callback/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/Crash_Test/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/MT_BiDir_SSL/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/MT_SSLIOP/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/Null_Cipher/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/mixed_security_test/.gitignore create mode 100644 TAO/orbsvcs/tests/Security/ssliop_CSD/.gitignore create mode 100644 TAO/orbsvcs/tests/Trading/.gitignore create mode 100644 TAO/orbsvcs/tests/unit/Notify/MC/Control/.gitignore create mode 100644 TAO/orbsvcs/tests/unit/Notify/MC/MonitorControlExt/.gitignore create mode 100644 TAO/orbsvcs/tests/unit/Notify/MC/MonitorManager/.gitignore create mode 100644 TAO/orbsvcs/tests/unit/Notify/MC/NotificationServiceMonitor/.gitignore create mode 100644 TAO/orbsvcs/tests/unit/Notify/MC/Statistic/.gitignore create mode 100644 TAO/orbsvcs/tests/unit/Notify/MC/Statistic_Registry/.gitignore diff --git a/.gitignore b/.gitignore index 8d1ca1d523e79..1c3193d09f824 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ .depend.* GNUmakefile* +local.mwc *.ior .obj/ *.iobj @@ -50,3 +51,10 @@ ipch/ *.*codeanalysis* read.lock fileList.bin + +# compiled test binaries, so that git status doesn't show untracked files +/ACE/protocols/examples/INet/ftp_simple_wget +/ACE/protocols/examples/INet/http_simple_wget +/ACE/protocols/tests/HTBP/Send_Recv_Tests/client +/ACE/protocols/tests/HTBP/Send_Recv_Tests/server +/ACE/protocols/tests/INet/MT_Get/mt_get diff --git a/TAO/orbsvcs/tests/BiDir_CORBALOC/.gitignore b/TAO/orbsvcs/tests/BiDir_CORBALOC/.gitignore index 22bfe8e9c88e5..f5845463f4612 100644 --- a/TAO/orbsvcs/tests/BiDir_CORBALOC/.gitignore +++ b/TAO/orbsvcs/tests/BiDir_CORBALOC/.gitignore @@ -1 +1,6 @@ /TimeServer +TimeModuleC.cpp +TimeModuleC.h +TimeModuleC.inl +TimeModuleS.cpp +TimeModuleS.h diff --git a/TAO/orbsvcs/tests/Bug_1395_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_1395_Regression/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/Bug_1395_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_1395_Regression/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Bug_2112_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2112_Regression/.gitignore new file mode 100644 index 0000000000000..b051c6c57fa8b --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_2112_Regression/.gitignore @@ -0,0 +1 @@ +client diff --git a/TAO/orbsvcs/tests/Bug_2247_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2247_Regression/.gitignore index 9a88cc7388265..929c07a4c7861 100644 --- a/TAO/orbsvcs/tests/Bug_2247_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2247_Regression/.gitignore @@ -1,2 +1,7 @@ /Manager /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/Bug_2248_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2248_Regression/.gitignore index 3d33a15f7517e..553eadc248e5a 100644 --- a/TAO/orbsvcs/tests/Bug_2248_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2248_Regression/.gitignore @@ -1,2 +1,12 @@ /client /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h +testsC.cpp +testsC.h +testsC.inl +testsS.cpp +testsS.h diff --git a/TAO/orbsvcs/tests/Bug_2285_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2285_Regression/.gitignore index 27ea6866dfe1b..0d2088aa47590 100644 --- a/TAO/orbsvcs/tests/Bug_2285_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2285_Regression/.gitignore @@ -2,3 +2,8 @@ /client2 /server /server2 +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Bug_2287_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2287_Regression/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/Bug_2287_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2287_Regression/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Bug_2316_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2316_Regression/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/Bug_2316_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2316_Regression/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Bug_2377_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2377_Regression/.gitignore index c370ae9a0d4b9..692701c494d60 100644 --- a/TAO/orbsvcs/tests/Bug_2377_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2377_Regression/.gitignore @@ -1 +1,6 @@ /uipmc_test +HelloC.cpp +HelloC.h +HelloC.inl +HelloS.cpp +HelloS.h diff --git a/TAO/orbsvcs/tests/Bug_2615_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2615_Regression/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/Bug_2615_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2615_Regression/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Bug_2709_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2709_Regression/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/Bug_2709_Regression/.gitignore +++ b/TAO/orbsvcs/tests/Bug_2709_Regression/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Bug_2800_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2800_Regression/.gitignore new file mode 100644 index 0000000000000..a8c2ba5b3f787 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_2800_Regression/.gitignore @@ -0,0 +1,8 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +nsmain +server diff --git a/TAO/orbsvcs/tests/Bug_2925_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_2925_Regression/.gitignore new file mode 100644 index 0000000000000..7d6682a99740f --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_2925_Regression/.gitignore @@ -0,0 +1,7 @@ +HelloC.cpp +HelloC.h +HelloC.inl +HelloS.cpp +HelloS.h +client +server diff --git a/TAO/orbsvcs/tests/Bug_3215_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3215_Regression/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3215_Regression/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/Bug_3216_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3216_Regression/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3216_Regression/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/Bug_3387_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3387_Regression/.gitignore new file mode 100644 index 0000000000000..35c5b8bb55d9d --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3387_Regression/.gitignore @@ -0,0 +1,8 @@ +MessengerC.cpp +MessengerC.h +MessengerC.inl +MessengerClient +MessengerConsumer +MessengerS.cpp +MessengerS.h +MessengerServer diff --git a/TAO/orbsvcs/tests/Bug_3418_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3418_Regression/.gitignore new file mode 100644 index 0000000000000..345e6aef71320 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3418_Regression/.gitignore @@ -0,0 +1 @@ +Test diff --git a/TAO/orbsvcs/tests/Bug_3444_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3444_Regression/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3444_Regression/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/Bug_3486_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3486_Regression/.gitignore new file mode 100644 index 0000000000000..254defddb53c5 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3486_Regression/.gitignore @@ -0,0 +1 @@ +server diff --git a/TAO/orbsvcs/tests/Bug_3598b_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3598b_Regression/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3598b_Regression/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/Bug_3673_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3673_Regression/.gitignore new file mode 100644 index 0000000000000..a8c2ba5b3f787 --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3673_Regression/.gitignore @@ -0,0 +1,8 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +nsmain +server diff --git a/TAO/orbsvcs/tests/Bug_3891_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_3891_Regression/.gitignore new file mode 100644 index 0000000000000..431b8cbce0f6f --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_3891_Regression/.gitignore @@ -0,0 +1,6 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +server diff --git a/TAO/orbsvcs/tests/Bug_4080_Regression/.gitignore b/TAO/orbsvcs/tests/Bug_4080_Regression/.gitignore new file mode 100644 index 0000000000000..2a97a0a6b0abe --- /dev/null +++ b/TAO/orbsvcs/tests/Bug_4080_Regression/.gitignore @@ -0,0 +1,7 @@ +bug4080_client +bug4080_server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/COIOP_Naming_Test/.gitignore b/TAO/orbsvcs/tests/COIOP_Naming_Test/.gitignore new file mode 100644 index 0000000000000..b6d50e96e6232 --- /dev/null +++ b/TAO/orbsvcs/tests/COIOP_Naming_Test/.gitignore @@ -0,0 +1,6 @@ +COIOP_Naming_Test +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/CosEvent/Basic/.gitignore b/TAO/orbsvcs/tests/CosEvent/Basic/.gitignore new file mode 100644 index 0000000000000..f6d10eda0987c --- /dev/null +++ b/TAO/orbsvcs/tests/CosEvent/Basic/.gitignore @@ -0,0 +1,6 @@ +Disconnect +MT_Disconnect +Pull_Push_Event +Push_Event +Random +Shutdown diff --git a/TAO/orbsvcs/tests/EC_Custom_Marshal/.gitignore b/TAO/orbsvcs/tests/EC_Custom_Marshal/.gitignore index 08d23dea4cc65..6409fba555d76 100644 --- a/TAO/orbsvcs/tests/EC_Custom_Marshal/.gitignore +++ b/TAO/orbsvcs/tests/EC_Custom_Marshal/.gitignore @@ -1,2 +1,7 @@ /ECM_Consumer /ECM_Supplier +dataC.cpp +dataC.h +dataC.inl +dataS.cpp +dataS.h diff --git a/TAO/orbsvcs/tests/Event/Basic/.gitignore b/TAO/orbsvcs/tests/Event/Basic/.gitignore new file mode 100644 index 0000000000000..698e55e123406 --- /dev/null +++ b/TAO/orbsvcs/tests/Event/Basic/.gitignore @@ -0,0 +1,15 @@ +Atomic_Reconnect +BCast +Bitmask +Complex +Control +Disconnect +Gateway +MT_Disconnect +Negation +Observer +Random +Reconnect +Shutdown +Timeout +Wildcard diff --git a/TAO/orbsvcs/tests/Event/Mcast/AddrServer/.gitignore b/TAO/orbsvcs/tests/Event/Mcast/AddrServer/.gitignore new file mode 100644 index 0000000000000..f2ad85300ebd7 --- /dev/null +++ b/TAO/orbsvcs/tests/Event/Mcast/AddrServer/.gitignore @@ -0,0 +1,2 @@ +client +server diff --git a/TAO/orbsvcs/tests/Event/Mcast/Complex/.gitignore b/TAO/orbsvcs/tests/Event/Mcast/Complex/.gitignore new file mode 100644 index 0000000000000..96022c8215a86 --- /dev/null +++ b/TAO/orbsvcs/tests/Event/Mcast/Complex/.gitignore @@ -0,0 +1,3 @@ +consumer +gateway-ec +supplier diff --git a/TAO/orbsvcs/tests/Event/Mcast/Simple/.gitignore b/TAO/orbsvcs/tests/Event/Mcast/Simple/.gitignore new file mode 100644 index 0000000000000..96022c8215a86 --- /dev/null +++ b/TAO/orbsvcs/tests/Event/Mcast/Simple/.gitignore @@ -0,0 +1,3 @@ +consumer +gateway-ec +supplier diff --git a/TAO/orbsvcs/tests/Event/Mcast/Two_Way/.gitignore b/TAO/orbsvcs/tests/Event/Mcast/Two_Way/.gitignore new file mode 100644 index 0000000000000..d254ad84c6584 --- /dev/null +++ b/TAO/orbsvcs/tests/Event/Mcast/Two_Way/.gitignore @@ -0,0 +1,2 @@ +application +gateway-ec diff --git a/TAO/orbsvcs/tests/Event/Performance/.gitignore b/TAO/orbsvcs/tests/Event/Performance/.gitignore new file mode 100644 index 0000000000000..f022e0fdd4e4b --- /dev/null +++ b/TAO/orbsvcs/tests/Event/Performance/.gitignore @@ -0,0 +1,5 @@ +Connect +Inversion +Latency +Latency_Server +Throughput diff --git a/TAO/orbsvcs/tests/Event/UDP/.gitignore b/TAO/orbsvcs/tests/Event/UDP/.gitignore index 969d6fe394123..107b155dafdde 100644 --- a/TAO/orbsvcs/tests/Event/UDP/.gitignore +++ b/TAO/orbsvcs/tests/Event/UDP/.gitignore @@ -1,2 +1,7 @@ /receiver /sender +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/FT_App/.gitignore b/TAO/orbsvcs/tests/FT_App/.gitignore index b6d7a9b3be0de..c103193c541f0 100644 --- a/TAO/orbsvcs/tests/FT_App/.gitignore +++ b/TAO/orbsvcs/tests/FT_App/.gitignore @@ -6,3 +6,8 @@ /ft_registry /ft_replica /replmgr_controller +FT_TestReplicaC.cpp +FT_TestReplicaC.h +FT_TestReplicaC.inl +FT_TestReplicaS.cpp +FT_TestReplicaS.h diff --git a/TAO/orbsvcs/tests/FT_Naming/FaultTolerant/.gitignore b/TAO/orbsvcs/tests/FT_Naming/FaultTolerant/.gitignore new file mode 100644 index 0000000000000..f8b8715cde0ea --- /dev/null +++ b/TAO/orbsvcs/tests/FT_Naming/FaultTolerant/.gitignore @@ -0,0 +1,12 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server +test_objectC.cpp +test_objectC.h +test_objectC.inl +test_objectS.cpp +test_objectS.h diff --git a/TAO/orbsvcs/tests/FT_Naming/Federation/.gitignore b/TAO/orbsvcs/tests/FT_Naming/Federation/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/FT_Naming/Federation/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/FT_Naming/Load_Balancing/.gitignore b/TAO/orbsvcs/tests/FT_Naming/Load_Balancing/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/FT_Naming/Load_Balancing/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/FT_Naming/Replication/.gitignore b/TAO/orbsvcs/tests/FT_Naming/Replication/.gitignore new file mode 100644 index 0000000000000..cd45ae975db7e --- /dev/null +++ b/TAO/orbsvcs/tests/FT_Naming/Replication/.gitignore @@ -0,0 +1,6 @@ +client +test_objectC.cpp +test_objectC.h +test_objectC.inl +test_objectS.cpp +test_objectS.h diff --git a/TAO/orbsvcs/tests/FT_Naming/stress_storable/.gitignore b/TAO/orbsvcs/tests/FT_Naming/stress_storable/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/FT_Naming/stress_storable/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/.gitignore b/TAO/orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/.gitignore index 3d33a15f7517e..23f4ce5ed5550 100644 --- a/TAO/orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/.gitignore +++ b/TAO/orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/.gitignore @@ -1,2 +1,7 @@ /client /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/FaultTolerance/IOGR/.gitignore b/TAO/orbsvcs/tests/FaultTolerance/IOGR/.gitignore index 9a88cc7388265..929c07a4c7861 100644 --- a/TAO/orbsvcs/tests/FaultTolerance/IOGR/.gitignore +++ b/TAO/orbsvcs/tests/FaultTolerance/IOGR/.gitignore @@ -1,2 +1,7 @@ /Manager /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/HTIOP/AMI/.gitignore b/TAO/orbsvcs/tests/HTIOP/AMI/.gitignore index e5c224e681b62..25f2857f1fbcd 100644 --- a/TAO/orbsvcs/tests/HTIOP/AMI/.gitignore +++ b/TAO/orbsvcs/tests/HTIOP/AMI/.gitignore @@ -1,3 +1,8 @@ /client /server /simple_client +ami_testC.cpp +ami_testC.h +ami_testC.inl +ami_testS.cpp +ami_testS.h diff --git a/TAO/orbsvcs/tests/HTIOP/BiDirectional/.gitignore b/TAO/orbsvcs/tests/HTIOP/BiDirectional/.gitignore index 3d33a15f7517e..23f4ce5ed5550 100644 --- a/TAO/orbsvcs/tests/HTIOP/BiDirectional/.gitignore +++ b/TAO/orbsvcs/tests/HTIOP/BiDirectional/.gitignore @@ -1,2 +1,7 @@ /client /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/HTIOP/Hello/.gitignore b/TAO/orbsvcs/tests/HTIOP/Hello/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/HTIOP/Hello/.gitignore +++ b/TAO/orbsvcs/tests/HTIOP/Hello/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/IOR_MCast/.gitignore b/TAO/orbsvcs/tests/IOR_MCast/.gitignore index 3d33a15f7517e..d19f94a06f162 100644 --- a/TAO/orbsvcs/tests/IOR_MCast/.gitignore +++ b/TAO/orbsvcs/tests/IOR_MCast/.gitignore @@ -1,2 +1,7 @@ /client /server +MCastC.cpp +MCastC.h +MCastC.inl +MCastS.cpp +MCastS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/.gitignore b/TAO/orbsvcs/tests/ImplRepo/.gitignore index 908c48dd27703..a29ea3f3cbbfd 100644 --- a/TAO/orbsvcs/tests/ImplRepo/.gitignore +++ b/TAO/orbsvcs/tests/ImplRepo/.gitignore @@ -2,3 +2,13 @@ /airplane_server /nestea_client /nestea_server +AirplaneC.cpp +AirplaneC.h +AirplaneC.inl +AirplaneS.cpp +AirplaneS.h +NesteaC.cpp +NesteaC.h +NesteaC.inl +NesteaS.cpp +NesteaS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/Bug_2604_Regression/.gitignore b/TAO/orbsvcs/tests/ImplRepo/Bug_2604_Regression/.gitignore index c4f67b85875fc..1a89148d96b1d 100644 --- a/TAO/orbsvcs/tests/ImplRepo/Bug_2604_Regression/.gitignore +++ b/TAO/orbsvcs/tests/ImplRepo/Bug_2604_Regression/.gitignore @@ -1,2 +1,7 @@ /MessengerClient /MessengerServer +MessengerC.cpp +MessengerC.h +MessengerC.inl +MessengerS.cpp +MessengerS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/.gitignore b/TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/Bug_689_Regression/.gitignore b/TAO/orbsvcs/tests/ImplRepo/Bug_689_Regression/.gitignore new file mode 100644 index 0000000000000..3813d12e3c85d --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/Bug_689_Regression/.gitignore @@ -0,0 +1,7 @@ +bug_689_regressionC.cpp +bug_689_regressionC.h +bug_689_regressionC.inl +bug_689_regressionS.cpp +bug_689_regressionS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/MT_stress/.gitignore b/TAO/orbsvcs/tests/ImplRepo/MT_stress/.gitignore new file mode 100644 index 0000000000000..05885b9a19dad --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/MT_stress/.gitignore @@ -0,0 +1,7 @@ +client +server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/NotifyService/.gitignore b/TAO/orbsvcs/tests/ImplRepo/NotifyService/.gitignore new file mode 100644 index 0000000000000..9daeafb9864cf --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/NotifyService/.gitignore @@ -0,0 +1 @@ +test diff --git a/TAO/orbsvcs/tests/ImplRepo/PICurrent/.gitignore b/TAO/orbsvcs/tests/ImplRepo/PICurrent/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/PICurrent/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/ReconnectServer/.gitignore b/TAO/orbsvcs/tests/ImplRepo/ReconnectServer/.gitignore new file mode 100644 index 0000000000000..ab06fca503e75 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/ReconnectServer/.gitignore @@ -0,0 +1,8 @@ +client +serverA +serverB +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/RestartIMR/.gitignore b/TAO/orbsvcs/tests/ImplRepo/RestartIMR/.gitignore new file mode 100644 index 0000000000000..4ad32228ff37a --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/RestartIMR/.gitignore @@ -0,0 +1,6 @@ +server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/RestartServer/.gitignore b/TAO/orbsvcs/tests/ImplRepo/RestartServer/.gitignore index c4f67b85875fc..1a89148d96b1d 100644 --- a/TAO/orbsvcs/tests/ImplRepo/RestartServer/.gitignore +++ b/TAO/orbsvcs/tests/ImplRepo/RestartServer/.gitignore @@ -1,2 +1,7 @@ /MessengerClient /MessengerServer +MessengerC.cpp +MessengerC.h +MessengerC.inl +MessengerS.cpp +MessengerS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/double_start/.gitignore b/TAO/orbsvcs/tests/ImplRepo/double_start/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/double_start/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/kill_server/.gitignore b/TAO/orbsvcs/tests/ImplRepo/kill_server/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/kill_server/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/kill_slow_server/.gitignore b/TAO/orbsvcs/tests/ImplRepo/kill_slow_server/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/kill_slow_server/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/link_poas/.gitignore b/TAO/orbsvcs/tests/ImplRepo/link_poas/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/link_poas/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/manual_start/.gitignore b/TAO/orbsvcs/tests/ImplRepo/manual_start/.gitignore new file mode 100644 index 0000000000000..05885b9a19dad --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/manual_start/.gitignore @@ -0,0 +1,7 @@ +client +server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/oneway/.gitignore b/TAO/orbsvcs/tests/ImplRepo/oneway/.gitignore new file mode 100644 index 0000000000000..2baf5901ac50a --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/oneway/.gitignore @@ -0,0 +1,8 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +client_ds +server diff --git a/TAO/orbsvcs/tests/ImplRepo/ping_interrupt/.gitignore b/TAO/orbsvcs/tests/ImplRepo/ping_interrupt/.gitignore new file mode 100644 index 0000000000000..431b8cbce0f6f --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/ping_interrupt/.gitignore @@ -0,0 +1,6 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +server diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/.gitignore b/TAO/orbsvcs/tests/ImplRepo/scale/.gitignore index 3d33a15f7517e..23f4ce5ed5550 100644 --- a/TAO/orbsvcs/tests/ImplRepo/scale/.gitignore +++ b/TAO/orbsvcs/tests/ImplRepo/scale/.gitignore @@ -1,2 +1,7 @@ /client /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/ImplRepo/scale_clients/.gitignore b/TAO/orbsvcs/tests/ImplRepo/scale_clients/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/scale_clients/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/.gitignore b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/ImplRepo/servers_list/.gitignore b/TAO/orbsvcs/tests/ImplRepo/servers_list/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/ImplRepo/servers_list/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/InterfaceRepo/Application_Test/.gitignore b/TAO/orbsvcs/tests/InterfaceRepo/Application_Test/.gitignore index 3d33a15f7517e..23f4ce5ed5550 100644 --- a/TAO/orbsvcs/tests/InterfaceRepo/Application_Test/.gitignore +++ b/TAO/orbsvcs/tests/InterfaceRepo/Application_Test/.gitignore @@ -1,2 +1,7 @@ /client /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/.gitignore b/TAO/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/.gitignore new file mode 100644 index 0000000000000..b051c6c57fa8b --- /dev/null +++ b/TAO/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/.gitignore @@ -0,0 +1 @@ +client diff --git a/TAO/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/.gitignore b/TAO/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/.gitignore new file mode 100644 index 0000000000000..232a1b2732765 --- /dev/null +++ b/TAO/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/.gitignore @@ -0,0 +1 @@ +test_idl diff --git a/TAO/orbsvcs/tests/InterfaceRepo/Bug_3174_Regression/.gitignore b/TAO/orbsvcs/tests/InterfaceRepo/Bug_3174_Regression/.gitignore new file mode 100644 index 0000000000000..232a1b2732765 --- /dev/null +++ b/TAO/orbsvcs/tests/InterfaceRepo/Bug_3174_Regression/.gitignore @@ -0,0 +1 @@ +test_idl diff --git a/TAO/orbsvcs/tests/InterfaceRepo/Bug_3495_Regression/.gitignore b/TAO/orbsvcs/tests/InterfaceRepo/Bug_3495_Regression/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/InterfaceRepo/Bug_3495_Regression/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test/.gitignore b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/InterfaceRepo/Union_Forward_Test/.gitignore b/TAO/orbsvcs/tests/InterfaceRepo/Union_Forward_Test/.gitignore new file mode 100644 index 0000000000000..b051c6c57fa8b --- /dev/null +++ b/TAO/orbsvcs/tests/InterfaceRepo/Union_Forward_Test/.gitignore @@ -0,0 +1 @@ +client diff --git a/TAO/orbsvcs/tests/Interoperable_Naming/.gitignore b/TAO/orbsvcs/tests/Interoperable_Naming/.gitignore index 7149778f20e77..ce11c63eb0ba8 100644 --- a/TAO/orbsvcs/tests/Interoperable_Naming/.gitignore +++ b/TAO/orbsvcs/tests/Interoperable_Naming/.gitignore @@ -1 +1,6 @@ /client +Web_ServerC.cpp +Web_ServerC.h +Web_ServerC.inl +Web_ServerS.cpp +Web_ServerS.h diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/.gitignore b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/.gitignore +++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_App_Ctrl/.gitignore b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_App_Ctrl/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_App_Ctrl/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_Inf_Ctrl/.gitignore b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_Inf_Ctrl/.gitignore new file mode 100644 index 0000000000000..73c3ae1015834 --- /dev/null +++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/DeadMemberDetection_Inf_Ctrl/.gitignore @@ -0,0 +1,8 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +factory_server +server diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/.gitignore b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/.gitignore +++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/.gitignore b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/.gitignore index 06845b19f5275..21c9938538b80 100644 --- a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/.gitignore +++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/.gitignore @@ -1 +1,6 @@ /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Miop/McastFragmentation/.gitignore b/TAO/orbsvcs/tests/Miop/McastFragmentation/.gitignore new file mode 100644 index 0000000000000..7d6682a99740f --- /dev/null +++ b/TAO/orbsvcs/tests/Miop/McastFragmentation/.gitignore @@ -0,0 +1,7 @@ +HelloC.cpp +HelloC.h +HelloC.inl +HelloS.cpp +HelloS.h +client +server diff --git a/TAO/orbsvcs/tests/Miop/McastHello/.gitignore b/TAO/orbsvcs/tests/Miop/McastHello/.gitignore index 3d33a15f7517e..e198595acf4f2 100644 --- a/TAO/orbsvcs/tests/Miop/McastHello/.gitignore +++ b/TAO/orbsvcs/tests/Miop/McastHello/.gitignore @@ -1,2 +1,7 @@ /client /server +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Miop/McastLocal/.gitignore b/TAO/orbsvcs/tests/Miop/McastLocal/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/Miop/McastLocal/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/Miop/McastPreferredInterfaces/.gitignore b/TAO/orbsvcs/tests/Miop/McastPreferredInterfaces/.gitignore new file mode 100644 index 0000000000000..a87aec98393e9 --- /dev/null +++ b/TAO/orbsvcs/tests/Miop/McastPreferredInterfaces/.gitignore @@ -0,0 +1,7 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h +client +server diff --git a/TAO/orbsvcs/tests/Miop/McastZIOP/.gitignore b/TAO/orbsvcs/tests/Miop/McastZIOP/.gitignore new file mode 100644 index 0000000000000..4c765b33098ac --- /dev/null +++ b/TAO/orbsvcs/tests/Miop/McastZIOP/.gitignore @@ -0,0 +1,5 @@ +TestC.cpp +TestC.h +TestC.inl +TestS.cpp +TestS.h diff --git a/TAO/orbsvcs/tests/Notify/Basic/.gitignore b/TAO/orbsvcs/tests/Notify/Basic/.gitignore index 89d228391f53d..9dae4a1db012b 100644 --- a/TAO/orbsvcs/tests/Notify/Basic/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Basic/.gitignore @@ -8,3 +8,4 @@ /Sequence /Simple /Updates +ExtendedFilter diff --git a/TAO/orbsvcs/tests/Notify/Blocking/.gitignore b/TAO/orbsvcs/tests/Notify/Blocking/.gitignore index deb18037833d3..8c5bee4ed609d 100644 --- a/TAO/orbsvcs/tests/Notify/Blocking/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Blocking/.gitignore @@ -1,2 +1,7 @@ /Structured_Consumer /Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Bug_1385_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_1385_Regression/.gitignore new file mode 100644 index 0000000000000..54e2444cd7907 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_1385_Regression/.gitignore @@ -0,0 +1,7 @@ +Structured_Consumer +Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Bug_1884_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_1884_Regression/.gitignore new file mode 100644 index 0000000000000..189840f58ea8c --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_1884_Regression/.gitignore @@ -0,0 +1,3 @@ +consumer +filter +supplier diff --git a/TAO/orbsvcs/tests/Notify/Bug_2415_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_2415_Regression/.gitignore new file mode 100644 index 0000000000000..0a6ded8d05bd6 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_2415_Regression/.gitignore @@ -0,0 +1,7 @@ +Consumer +Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Bug_2561_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_2561_Regression/.gitignore new file mode 100644 index 0000000000000..0a6ded8d05bd6 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_2561_Regression/.gitignore @@ -0,0 +1,7 @@ +Consumer +Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Bug_2926_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_2926_Regression/.gitignore new file mode 100644 index 0000000000000..254defddb53c5 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_2926_Regression/.gitignore @@ -0,0 +1 @@ +server diff --git a/TAO/orbsvcs/tests/Notify/Bug_3252_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3252_Regression/.gitignore new file mode 100644 index 0000000000000..254defddb53c5 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3252_Regression/.gitignore @@ -0,0 +1 @@ +server diff --git a/TAO/orbsvcs/tests/Notify/Bug_3646a_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3646a_Regression/.gitignore new file mode 100644 index 0000000000000..1ab0e10d46f90 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3646a_Regression/.gitignore @@ -0,0 +1 @@ +Consumer diff --git a/TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/.gitignore new file mode 100644 index 0000000000000..254defddb53c5 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/.gitignore @@ -0,0 +1 @@ +server diff --git a/TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/.gitignore new file mode 100644 index 0000000000000..a311632e2ba02 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/.gitignore @@ -0,0 +1,2 @@ +Consumer +server diff --git a/TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/.gitignore new file mode 100644 index 0000000000000..254defddb53c5 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/.gitignore @@ -0,0 +1 @@ +server diff --git a/TAO/orbsvcs/tests/Notify/Bug_3663_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3663_Regression/.gitignore new file mode 100644 index 0000000000000..254defddb53c5 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3663_Regression/.gitignore @@ -0,0 +1 @@ +server diff --git a/TAO/orbsvcs/tests/Notify/Bug_3688_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3688_Regression/.gitignore new file mode 100644 index 0000000000000..2c0fe2edcaf9f --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3688_Regression/.gitignore @@ -0,0 +1,2 @@ +consumer +supplier diff --git a/TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/.gitignore b/TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/.gitignore new file mode 100644 index 0000000000000..254defddb53c5 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/.gitignore @@ -0,0 +1 @@ +server diff --git a/TAO/orbsvcs/tests/Notify/Discarding/.gitignore b/TAO/orbsvcs/tests/Notify/Discarding/.gitignore index a3a199de4555b..2146be2d7dc00 100644 --- a/TAO/orbsvcs/tests/Notify/Discarding/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Discarding/.gitignore @@ -2,3 +2,8 @@ /Sequence_Supplier /Structured_Consumer /Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/MC/.gitignore b/TAO/orbsvcs/tests/Notify/MC/.gitignore index 4ffa0e3055a0a..37e3a825a3aee 100644 --- a/TAO/orbsvcs/tests/Notify/MC/.gitignore +++ b/TAO/orbsvcs/tests/Notify/MC/.gitignore @@ -1 +1,9 @@ notify.conf +MonitorTestInterfaceC.cpp +MonitorTestInterfaceC.h +MonitorTestInterfaceC.inl +MonitorTestInterfaceS.cpp +MonitorTestInterfaceS.h +Structured_Consumer +Structured_Supplier +test_monitor diff --git a/TAO/orbsvcs/tests/Notify/MT_Dispatching/.gitignore b/TAO/orbsvcs/tests/Notify/MT_Dispatching/.gitignore index deb18037833d3..8c5bee4ed609d 100644 --- a/TAO/orbsvcs/tests/Notify/MT_Dispatching/.gitignore +++ b/TAO/orbsvcs/tests/Notify/MT_Dispatching/.gitignore @@ -1,2 +1,7 @@ /Structured_Consumer /Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Ordering/.gitignore b/TAO/orbsvcs/tests/Notify/Ordering/.gitignore index a3a199de4555b..2146be2d7dc00 100644 --- a/TAO/orbsvcs/tests/Notify/Ordering/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Ordering/.gitignore @@ -2,3 +2,8 @@ /Sequence_Supplier /Structured_Consumer /Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Persistent_Filter/.gitignore b/TAO/orbsvcs/tests/Notify/Persistent_Filter/.gitignore new file mode 100644 index 0000000000000..2c0fe2edcaf9f --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Persistent_Filter/.gitignore @@ -0,0 +1,2 @@ +consumer +supplier diff --git a/TAO/orbsvcs/tests/Notify/Persistent_POA/.gitignore b/TAO/orbsvcs/tests/Notify/Persistent_POA/.gitignore new file mode 100644 index 0000000000000..8e4b45f967dc0 --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Persistent_POA/.gitignore @@ -0,0 +1,6 @@ +Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/.gitignore b/TAO/orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/.gitignore index 15776be7bd0b6..d1b1d75e3ea13 100644 --- a/TAO/orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/.gitignore @@ -1,2 +1,7 @@ /Sequence_Consumer /Sequence_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Sequence_Multi_Filter/.gitignore b/TAO/orbsvcs/tests/Notify/Sequence_Multi_Filter/.gitignore index 15776be7bd0b6..d1b1d75e3ea13 100644 --- a/TAO/orbsvcs/tests/Notify/Sequence_Multi_Filter/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Sequence_Multi_Filter/.gitignore @@ -1,2 +1,7 @@ /Sequence_Consumer /Sequence_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Structured_Filter/.gitignore b/TAO/orbsvcs/tests/Notify/Structured_Filter/.gitignore index deb18037833d3..8c5bee4ed609d 100644 --- a/TAO/orbsvcs/tests/Notify/Structured_Filter/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Structured_Filter/.gitignore @@ -1,2 +1,7 @@ /Structured_Consumer /Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Structured_Multi_Filter/.gitignore b/TAO/orbsvcs/tests/Notify/Structured_Multi_Filter/.gitignore index deb18037833d3..8c5bee4ed609d 100644 --- a/TAO/orbsvcs/tests/Notify/Structured_Multi_Filter/.gitignore +++ b/TAO/orbsvcs/tests/Notify/Structured_Multi_Filter/.gitignore @@ -1,2 +1,7 @@ /Structured_Consumer /Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Notify/Timeout/.gitignore b/TAO/orbsvcs/tests/Notify/Timeout/.gitignore new file mode 100644 index 0000000000000..8e3480dd5f9fe --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Timeout/.gitignore @@ -0,0 +1,7 @@ +Structured_Consumer +Structured_Supplier +sigC.cpp +sigC.h +sigC.inl +sigS.cpp +sigS.h diff --git a/TAO/orbsvcs/tests/Notify/Validate_Client/.gitignore b/TAO/orbsvcs/tests/Notify/Validate_Client/.gitignore new file mode 100644 index 0000000000000..01e95577eb78f --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/Validate_Client/.gitignore @@ -0,0 +1 @@ +proxy_dummy diff --git a/TAO/orbsvcs/tests/Notify/lib/.gitignore b/TAO/orbsvcs/tests/Notify/lib/.gitignore new file mode 100644 index 0000000000000..d7bb94fd519bc --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/lib/.gitignore @@ -0,0 +1,5 @@ +Activation_ManagerC.cpp +Activation_ManagerC.h +Activation_ManagerC.inl +Activation_ManagerS.cpp +Activation_ManagerS.h diff --git a/TAO/orbsvcs/tests/Notify/performance-tests/Filter/.gitignore b/TAO/orbsvcs/tests/Notify/performance-tests/Filter/.gitignore index a3a199de4555b..2146be2d7dc00 100644 --- a/TAO/orbsvcs/tests/Notify/performance-tests/Filter/.gitignore +++ b/TAO/orbsvcs/tests/Notify/performance-tests/Filter/.gitignore @@ -2,3 +2,8 @@ /Sequence_Supplier /Structured_Consumer /Structured_Supplier +goC.cpp +goC.h +goC.inl +goS.cpp +goS.h diff --git a/TAO/orbsvcs/tests/Redundant_Naming/.gitignore b/TAO/orbsvcs/tests/Redundant_Naming/.gitignore index 7149778f20e77..1aa5ac1993c0e 100644 --- a/TAO/orbsvcs/tests/Redundant_Naming/.gitignore +++ b/TAO/orbsvcs/tests/Redundant_Naming/.gitignore @@ -1 +1,6 @@ /client +test_objectC.cpp +test_objectC.h +test_objectC.inl +test_objectS.cpp +test_objectS.h diff --git a/TAO/orbsvcs/tests/Security/BiDirectional/.gitignore b/TAO/orbsvcs/tests/Security/BiDirectional/.gitignore index 3d33a15f7517e..23f4ce5ed5550 100644 --- a/TAO/orbsvcs/tests/Security/BiDirectional/.gitignore +++ b/TAO/orbsvcs/tests/Security/BiDirectional/.gitignore @@ -1,2 +1,7 @@ /client /server +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/Security/Big_Request/.gitignore b/TAO/orbsvcs/tests/Security/Big_Request/.gitignore new file mode 100644 index 0000000000000..d4a67388f4301 --- /dev/null +++ b/TAO/orbsvcs/tests/Security/Big_Request/.gitignore @@ -0,0 +1,7 @@ +TX_ObjectC.cpp +TX_ObjectC.h +TX_ObjectC.inl +TX_ObjectS.cpp +TX_ObjectS.h +client +server diff --git a/TAO/orbsvcs/tests/Security/Bug_1107_Regression/.gitignore b/TAO/orbsvcs/tests/Security/Bug_1107_Regression/.gitignore new file mode 100644 index 0000000000000..c703bd38da629 --- /dev/null +++ b/TAO/orbsvcs/tests/Security/Bug_1107_Regression/.gitignore @@ -0,0 +1,7 @@ +FooC.cpp +FooC.h +FooC.inl +FooS.cpp +FooS.h +client +server diff --git a/TAO/orbsvcs/tests/Security/Bug_2908_Regression/.gitignore b/TAO/orbsvcs/tests/Security/Bug_2908_Regression/.gitignore new file mode 100644 index 0000000000000..454128fea47ed --- /dev/null +++ b/TAO/orbsvcs/tests/Security/Bug_2908_Regression/.gitignore @@ -0,0 +1,5 @@ +MessengerC.cpp +MessengerC.h +MessengerC.inl +MessengerS.cpp +MessengerS.h diff --git a/TAO/orbsvcs/tests/Security/Callback/.gitignore b/TAO/orbsvcs/tests/Security/Callback/.gitignore new file mode 100644 index 0000000000000..de05eb6b89a83 --- /dev/null +++ b/TAO/orbsvcs/tests/Security/Callback/.gitignore @@ -0,0 +1,10 @@ +clientC.cpp +clientC.h +clientC.inl +clientS.cpp +clientS.h +serverC.cpp +serverC.h +serverC.inl +serverS.cpp +serverS.h diff --git a/TAO/orbsvcs/tests/Security/Crash_Test/.gitignore b/TAO/orbsvcs/tests/Security/Crash_Test/.gitignore new file mode 100644 index 0000000000000..39f5ae458333d --- /dev/null +++ b/TAO/orbsvcs/tests/Security/Crash_Test/.gitignore @@ -0,0 +1,5 @@ +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/Security/MT_BiDir_SSL/.gitignore b/TAO/orbsvcs/tests/Security/MT_BiDir_SSL/.gitignore new file mode 100644 index 0000000000000..2d85df0053d13 --- /dev/null +++ b/TAO/orbsvcs/tests/Security/MT_BiDir_SSL/.gitignore @@ -0,0 +1,12 @@ +ReceiverC.cpp +ReceiverC.h +ReceiverC.inl +ReceiverS.cpp +ReceiverS.h +SenderC.cpp +SenderC.h +SenderC.inl +SenderS.cpp +SenderS.h +client +server diff --git a/TAO/orbsvcs/tests/Security/MT_IIOP_SSL/.gitignore b/TAO/orbsvcs/tests/Security/MT_IIOP_SSL/.gitignore index 7149778f20e77..d9ce4986280db 100644 --- a/TAO/orbsvcs/tests/Security/MT_IIOP_SSL/.gitignore +++ b/TAO/orbsvcs/tests/Security/MT_IIOP_SSL/.gitignore @@ -1 +1,6 @@ /client +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/Security/MT_SSLIOP/.gitignore b/TAO/orbsvcs/tests/Security/MT_SSLIOP/.gitignore new file mode 100644 index 0000000000000..39f5ae458333d --- /dev/null +++ b/TAO/orbsvcs/tests/Security/MT_SSLIOP/.gitignore @@ -0,0 +1,5 @@ +testC.cpp +testC.h +testC.inl +testS.cpp +testS.h diff --git a/TAO/orbsvcs/tests/Security/Null_Cipher/.gitignore b/TAO/orbsvcs/tests/Security/Null_Cipher/.gitignore new file mode 100644 index 0000000000000..6ae9daa807fa4 --- /dev/null +++ b/TAO/orbsvcs/tests/Security/Null_Cipher/.gitignore @@ -0,0 +1,6 @@ +FooC.cpp +FooC.h +FooC.inl +FooS.cpp +FooS.h +client diff --git a/TAO/orbsvcs/tests/Security/Secure_Invocation/.gitignore b/TAO/orbsvcs/tests/Security/Secure_Invocation/.gitignore index 7149778f20e77..330c1fdd6f430 100644 --- a/TAO/orbsvcs/tests/Security/Secure_Invocation/.gitignore +++ b/TAO/orbsvcs/tests/Security/Secure_Invocation/.gitignore @@ -1 +1,6 @@ /client +FooC.cpp +FooC.h +FooC.inl +FooS.cpp +FooS.h diff --git a/TAO/orbsvcs/tests/Security/mixed_security_test/.gitignore b/TAO/orbsvcs/tests/Security/mixed_security_test/.gitignore new file mode 100644 index 0000000000000..6ae9daa807fa4 --- /dev/null +++ b/TAO/orbsvcs/tests/Security/mixed_security_test/.gitignore @@ -0,0 +1,6 @@ +FooC.cpp +FooC.h +FooC.inl +FooS.cpp +FooS.h +client diff --git a/TAO/orbsvcs/tests/Security/ssliop_CSD/.gitignore b/TAO/orbsvcs/tests/Security/ssliop_CSD/.gitignore new file mode 100644 index 0000000000000..454128fea47ed --- /dev/null +++ b/TAO/orbsvcs/tests/Security/ssliop_CSD/.gitignore @@ -0,0 +1,5 @@ +MessengerC.cpp +MessengerC.h +MessengerC.inl +MessengerS.cpp +MessengerS.h diff --git a/TAO/orbsvcs/tests/Simple_Naming/.gitignore b/TAO/orbsvcs/tests/Simple_Naming/.gitignore index 7149778f20e77..1aa5ac1993c0e 100644 --- a/TAO/orbsvcs/tests/Simple_Naming/.gitignore +++ b/TAO/orbsvcs/tests/Simple_Naming/.gitignore @@ -1 +1,6 @@ /client +test_objectC.cpp +test_objectC.h +test_objectC.inl +test_objectS.cpp +test_objectS.h diff --git a/TAO/orbsvcs/tests/Trading/.gitignore b/TAO/orbsvcs/tests/Trading/.gitignore new file mode 100644 index 0000000000000..b1338c3f9bedd --- /dev/null +++ b/TAO/orbsvcs/tests/Trading/.gitignore @@ -0,0 +1,8 @@ +TTestC.cpp +TTestC.h +TTestC.inl +TTestS.cpp +TTestS.h +colocated_test +export_test +import_test diff --git a/TAO/orbsvcs/tests/ior_corbaname/.gitignore b/TAO/orbsvcs/tests/ior_corbaname/.gitignore index 3d33a15f7517e..3ab31966cfb0e 100644 --- a/TAO/orbsvcs/tests/ior_corbaname/.gitignore +++ b/TAO/orbsvcs/tests/ior_corbaname/.gitignore @@ -1,2 +1,7 @@ /client /server +corbanameC.cpp +corbanameC.h +corbanameC.inl +corbanameS.cpp +corbanameS.h diff --git a/TAO/orbsvcs/tests/unit/Notify/MC/Control/.gitignore b/TAO/orbsvcs/tests/unit/Notify/MC/Control/.gitignore new file mode 100644 index 0000000000000..6ba80ac5b5a5d --- /dev/null +++ b/TAO/orbsvcs/tests/unit/Notify/MC/Control/.gitignore @@ -0,0 +1 @@ +Control diff --git a/TAO/orbsvcs/tests/unit/Notify/MC/MonitorControlExt/.gitignore b/TAO/orbsvcs/tests/unit/Notify/MC/MonitorControlExt/.gitignore new file mode 100644 index 0000000000000..446e1d30dd844 --- /dev/null +++ b/TAO/orbsvcs/tests/unit/Notify/MC/MonitorControlExt/.gitignore @@ -0,0 +1 @@ +MonitorControlExt diff --git a/TAO/orbsvcs/tests/unit/Notify/MC/MonitorManager/.gitignore b/TAO/orbsvcs/tests/unit/Notify/MC/MonitorManager/.gitignore new file mode 100644 index 0000000000000..14dc618983da0 --- /dev/null +++ b/TAO/orbsvcs/tests/unit/Notify/MC/MonitorManager/.gitignore @@ -0,0 +1,2 @@ +MonitorClient +MonitorManager diff --git a/TAO/orbsvcs/tests/unit/Notify/MC/NotificationServiceMonitor/.gitignore b/TAO/orbsvcs/tests/unit/Notify/MC/NotificationServiceMonitor/.gitignore new file mode 100644 index 0000000000000..1b8144b7fb47f --- /dev/null +++ b/TAO/orbsvcs/tests/unit/Notify/MC/NotificationServiceMonitor/.gitignore @@ -0,0 +1 @@ +NotificationServiceMonitor diff --git a/TAO/orbsvcs/tests/unit/Notify/MC/Statistic/.gitignore b/TAO/orbsvcs/tests/unit/Notify/MC/Statistic/.gitignore new file mode 100644 index 0000000000000..e644ecf846914 --- /dev/null +++ b/TAO/orbsvcs/tests/unit/Notify/MC/Statistic/.gitignore @@ -0,0 +1 @@ +Statistic diff --git a/TAO/orbsvcs/tests/unit/Notify/MC/Statistic_Registry/.gitignore b/TAO/orbsvcs/tests/unit/Notify/MC/Statistic_Registry/.gitignore new file mode 100644 index 0000000000000..2c25e86b626cf --- /dev/null +++ b/TAO/orbsvcs/tests/unit/Notify/MC/Statistic_Registry/.gitignore @@ -0,0 +1 @@ +Statistic_Registry From c85e45ef3c5c3f17fe183b5eca15c0ec882c940c Mon Sep 17 00:00:00 2001 From: Nick Williams Date: Thu, 28 Sep 2023 15:07:20 -0500 Subject: [PATCH 233/445] Review feedback --- .gitignore | 7 ------- ACE/protocols/examples/INet/.gitignore | 2 ++ ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore | 2 ++ ACE/protocols/tests/INet/MT_Get/.gitignore | 1 + 4 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 ACE/protocols/examples/INet/.gitignore create mode 100644 ACE/protocols/tests/INet/MT_Get/.gitignore diff --git a/.gitignore b/.gitignore index 1c3193d09f824..74e9997a0eec6 100644 --- a/.gitignore +++ b/.gitignore @@ -51,10 +51,3 @@ ipch/ *.*codeanalysis* read.lock fileList.bin - -# compiled test binaries, so that git status doesn't show untracked files -/ACE/protocols/examples/INet/ftp_simple_wget -/ACE/protocols/examples/INet/http_simple_wget -/ACE/protocols/tests/HTBP/Send_Recv_Tests/client -/ACE/protocols/tests/HTBP/Send_Recv_Tests/server -/ACE/protocols/tests/INet/MT_Get/mt_get diff --git a/ACE/protocols/examples/INet/.gitignore b/ACE/protocols/examples/INet/.gitignore new file mode 100644 index 0000000000000..dc9d093f1691b --- /dev/null +++ b/ACE/protocols/examples/INet/.gitignore @@ -0,0 +1,2 @@ +ftp_simple_wget +http_simple_wget diff --git a/ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore b/ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore index b6aca8272f5f4..80fcc49f446cc 100644 --- a/ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore +++ b/ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore @@ -1 +1,3 @@ /SendRecv_Test +client +server diff --git a/ACE/protocols/tests/INet/MT_Get/.gitignore b/ACE/protocols/tests/INet/MT_Get/.gitignore new file mode 100644 index 0000000000000..70ae5002f5803 --- /dev/null +++ b/ACE/protocols/tests/INet/MT_Get/.gitignore @@ -0,0 +1 @@ +mt_get From 7c292a3308a512192d3dc4be996b505f1c187238 Mon Sep 17 00:00:00 2001 From: Nick Williams Date: Thu, 28 Sep 2023 18:43:16 -0500 Subject: [PATCH 234/445] Add update_gitignore.sh helper command --- ACE/bin/update_gitignore.sh | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 ACE/bin/update_gitignore.sh diff --git a/ACE/bin/update_gitignore.sh b/ACE/bin/update_gitignore.sh new file mode 100755 index 0000000000000..d23b4e5bf9831 --- /dev/null +++ b/ACE/bin/update_gitignore.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +cmd="$1" +if [[ "$cmd" == "help" ]] || [[ "$cmd" != "run" && "$cmd" != "dry-run" ]] +then + if [[ "$cmd" != "help" ]] + then + echo "Error: Unrecognized command '$0 $1'" + echo "" + fi + + echo "Usage:" + echo " update_gitignore.sh run" + echo " update_gitignore.sh dry-run" + echo "" + echo "This command finds all untracked and un-git-add-ed files in the repository and adds each file name to " + echo "a '.gitignore' file in the same directory. If a '.gitignore' file does not exist, one will be created. " + echo "Otherwise, the existing '.gitignore' file will be appended to. The 'dry-run' command enables you to " + echo "see a list of all detected file names that will be added to '.gitignore' files without making any " + echo "changes." + echo "" + echo "If the 'run' command does its job properly, running 'dry-run' immediately after should display no " + echo "planned actions." + + if [[ "$cmd" == "help" ]] + then + exit 0 + fi + + exit 1 +fi + +export IFS=$'\n'; + +for line in $(git status --short --untracked-files) +do + if [[ $line == '??'* ]] + then + file="${line:3}" + d="$(dirname "${file}")" + f="$(basename "${file}")" + + if [[ "$cmd" == "run" ]] + then + echo "Ignoring ${f} in ${d}/.gitignore" + echo "${f}" >> "${d}/.gitignore" + else + echo "Will ignore ${f} in ${d}/.gitignore" + fi + fi +done From 99d2d14dc0f4a614bf48272dbd816264976bab6b Mon Sep 17 00:00:00 2001 From: Fred Hornsey Date: Fri, 29 Sep 2023 19:43:22 -0500 Subject: [PATCH 235/445] Add Note About Maps Not Usable in TAO --- TAO/NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TAO/NEWS b/TAO/NEWS index 9e35319f7111f..726bff05ff973 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,7 +1,8 @@ USER VISIBLE CHANGES BETWEEN TAO-3.1.1 and TAO-3.1.2 ==================================================== -- TAO_IDL: Added support for the map data type +- TAO_IDL: Added support for the map data type, but this isn't supported in TAO + user applications except for local usage USER VISIBLE CHANGES BETWEEN TAO-3.1.0 and TAO-3.1.1 ==================================================== From cf82dac8e00b36ad5d7cd854dba81b7ee6f60c14 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Wed, 4 Oct 2023 19:11:00 +0000 Subject: [PATCH 236/445] platform_linux: avoid errors when tcl/tk packages are not installed Scoreboard scripts parse these as errors .: cannot open /usr/lib/tkConfig.sh: No such file --- .../makeinclude/platform_linux_common.GNU | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux_common.GNU b/ACE/include/makeinclude/platform_linux_common.GNU index eb5a129c0ba43..8f31131331782 100644 --- a/ACE/include/makeinclude/platform_linux_common.GNU +++ b/ACE/include/makeinclude/platform_linux_common.GNU @@ -44,22 +44,15 @@ PLATFORM_BOOST_CPPFLAGS ?= PLATFORM_BOOST_LDLAGS ?= PLATFORM_BOOST_UTF_LIBS ?= -lboost_unit_test_framework -ifeq ($(buildbits),64) -PLATFORM_TK_CPPFLAGS=$(shell . /usr/lib64/tkConfig.sh && echo -n $$TK_INCLUDE_SPEC $$TK_DEFS) -PLATFORM_TK_LIBS=$(shell . /usr/lib64/tkConfig.sh && echo -n $$TK_LIB_FLAG) -else -PLATFORM_TK_CPPFLAGS=$(shell . /usr/lib/tkConfig.sh && echo -n $$TK_INCLUDE_SPEC $$TK_DEFS) -PLATFORM_TK_LIBS=$(shell . /usr/lib/tkConfig.sh && echo -n $$TK_LIB_FLAG) -endif +ace_source_if_exists=$(if $(wildcard $(1)), $(shell . $(1) $(2))) +ace_buildbits_64=$(findstring 64,$(buildbits)) + +PLATFORM_TK_CPPFLAGS=$(call ace_source_if_exists,/usr/lib$(ace_buildbits_64)/tkConfig.sh,&& echo -n $$TK_INCLUDE_SPEC $$TK_DEFS) +PLATFORM_TK_LIBS=$(call ace_source_if_exists,/usr/lib$(ace_buildbits_64)/tkConfig.sh,&& echo -n $$TK_LIB_FLAG) PLATFORM_TK_LDFLAGS= -ifeq ($(buildbits),64) -PLATFORM_TCL_CPPFLAGS=$(shell . /usr/lib64/tclConfig.sh && echo -n $$TCL_INCLUDE_SPEC $$TCL_DEFS) -PLATFORM_TCL_LIBS=$(shell . /usr/lib64/tclConfig.sh && echo -n $$(eval echo $$TCL_LIB_FLAG)) -else -PLATFORM_TCL_CPPFLAGS=$(shell . /usr/lib/tclConfig.sh && echo -n $$TCL_INCLUDE_SPEC $$TCL_DEFS) -PLATFORM_TCL_LIBS=$(shell . /usr/lib/tclConfig.sh && echo -n $$(eval echo $$TCL_LIB_FLAG)) -endif +PLATFORM_TCL_CPPFLAGS=$(call ace_source_if_exists,/usr/lib$(ace_buildbits_64)/tclConfig.sh,&& echo -n $$TCL_INCLUDE_SPEC $$TCL_DEFS) +PLATFORM_TCL_LIBS=$(call ace_source_if_exists,/usr/lib$(ace_buildbits_64)/tclConfig.sh,&& echo -n $$(eval echo $$TCL_LIB_FLAG)) PLATFORM_TCL_LDFLAGS= PLATFORM_QT_CPPFLAGS ?= -I$(QTDIR)/include From 17441ba819710ed7d2c0fff34646fdcd16758c72 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Thu, 5 Oct 2023 14:43:09 -0500 Subject: [PATCH 237/445] macOS: sizeof long double is different on ARM64 https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms#Handle-data-types-and-data-alignment-properly --- ACE/ace/config-macosx-leopard.h | 2 +- ACE/ace/config-macosx-tiger.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/ace/config-macosx-leopard.h b/ACE/ace/config-macosx-leopard.h index f89be4ae67ecf..3bb2f73a9918b 100644 --- a/ACE/ace/config-macosx-leopard.h +++ b/ACE/ace/config-macosx-leopard.h @@ -16,7 +16,7 @@ #endif /* ! __ACE_INLINE__ */ #if !defined (ACE_SIZEOF_LONG_DOUBLE) -# define ACE_SIZEOF_LONG_DOUBLE 16 +# define ACE_SIZEOF_LONG_DOUBLE __SIZEOF_LONG_DOUBLE__ #endif // ACE_SIZEOF_LONG_DOUBLE #if defined (__GNUG__) diff --git a/ACE/ace/config-macosx-tiger.h b/ACE/ace/config-macosx-tiger.h index 0bbfd63238b99..88fe5c24f8c1e 100644 --- a/ACE/ace/config-macosx-tiger.h +++ b/ACE/ace/config-macosx-tiger.h @@ -9,7 +9,7 @@ #endif /* ! __ACE_INLINE__ */ #if !defined (ACE_SIZEOF_LONG_DOUBLE) -# define ACE_SIZEOF_LONG_DOUBLE 16 +# define ACE_SIZEOF_LONG_DOUBLE __SIZEOF_LONG_DOUBLE__ #endif // ACE_SIZEOF_LONG_DOUBLE #if defined (__GNUG__) From 2c1fa440731455b69c4fe4cda641062b790572c8 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 23 Oct 2023 17:07:39 +0200 Subject: [PATCH 238/445] Fixed incorrect preprocessor define check * ACE/examples/APG/Timers/Timers.cpp: --- ACE/examples/APG/Timers/Timers.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/examples/APG/Timers/Timers.cpp b/ACE/examples/APG/Timers/Timers.cpp index 509cba175abf9..9c223efe52b0b 100644 --- a/ACE/examples/APG/Timers/Timers.cpp +++ b/ACE/examples/APG/Timers/Timers.cpp @@ -15,10 +15,10 @@ int ACE_TMAIN (int, ACE_TCHAR *[]) #if defined(HEAP) ACE_NEW_RETURN (timer_queue, ACE_Timer_Heap, -1); -#elsif defined(HASH) +#elif defined(HASH) ACE_NEW_RETURN (timer_queue, ACE_Timer_Hash, -1); -#elsif defined(WHEEL) +#elif defined(WHEEL) ACE_NEW_RETURN (timer_queue, ACE_Timer_Wheel, -1); #else From 3e51b282dea0957756ff611a8707be7d2ccf1df5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 25 Oct 2023 09:07:20 +0200 Subject: [PATCH 239/445] Make use of std::nothrow * TAO/tao/IORManipulation/IORManip_IIOP_Filter.cpp: * TAO/tao/LocateRequest_Invocation.cpp: * TAO/tao/Object.cpp: * TAO/tao/Synch_Invocation.cpp: --- TAO/tao/IORManipulation/IORManip_IIOP_Filter.cpp | 11 +++++------ TAO/tao/LocateRequest_Invocation.cpp | 6 +++--- TAO/tao/Object.cpp | 5 ++--- TAO/tao/Synch_Invocation.cpp | 6 +++--- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/TAO/tao/IORManipulation/IORManip_IIOP_Filter.cpp b/TAO/tao/IORManipulation/IORManip_IIOP_Filter.cpp index fe3ef5fe0c679..9e25bda661026 100644 --- a/TAO/tao/IORManipulation/IORManip_IIOP_Filter.cpp +++ b/TAO/tao/IORManipulation/IORManip_IIOP_Filter.cpp @@ -124,12 +124,11 @@ TAO_IORManip_IIOP_Filter::filter_and_add (TAO_Profile* profile, } else { - TAO_IIOP_Endpoint *endpoint = 0; - ACE_NEW_NORETURN (endpoint, - TAO_IIOP_Endpoint (endpoints[i].host, - endpoints[i].port, - endpoints[i].priority)); - if (endpoint == 0) + TAO_IIOP_Endpoint *endpoint = + new (std::nothrow) TAO_IIOP_Endpoint (endpoints[i].host, + endpoints[i].port, + endpoints[i].priority); + if (!endpoint) { new_profile->_decr_refcnt (); return; diff --git a/TAO/tao/LocateRequest_Invocation.cpp b/TAO/tao/LocateRequest_Invocation.cpp index cd3f4c0f5f9f9..0935edf759d8b 100644 --- a/TAO/tao/LocateRequest_Invocation.cpp +++ b/TAO/tao/LocateRequest_Invocation.cpp @@ -71,9 +71,9 @@ namespace TAO { TAO::ORB_Countdown_Time countdown (max_wait_time); - TAO_Synch_Reply_Dispatcher *rd_p = nullptr; - ACE_NEW_NORETURN (rd_p, TAO_Synch_Reply_Dispatcher (this->resolver_.stub ()->orb_core (), - this->details_.reply_service_info ())); + TAO_Synch_Reply_Dispatcher *rd_p = + new (std::nothrow) TAO_Synch_Reply_Dispatcher (this->resolver_.stub ()->orb_core (), + this->details_.reply_service_info ()); if (!rd_p) { throw ::CORBA::NO_MEMORY (); diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp index 1fdb4a980ec74..fb2dce593cb75 100644 --- a/TAO/tao/Object.cpp +++ b/TAO/tao/Object.cpp @@ -969,10 +969,9 @@ operator>> (TAO_InputCDR& cdr, CORBA::Object*& x) return false; } - ACE_NEW_NORETURN (x, - CORBA::Object (ior, orb_core)); + x = new (std::nothrow) CORBA::Object (ior, orb_core); - if (x == nullptr) + if (!x) { // Can't allocate a CORBA Object so delete first the // memory we already allocated before we return diff --git a/TAO/tao/Synch_Invocation.cpp b/TAO/tao/Synch_Invocation.cpp index 9fe06b5a013fd..a04f5be2c2595 100644 --- a/TAO/tao/Synch_Invocation.cpp +++ b/TAO/tao/Synch_Invocation.cpp @@ -90,9 +90,9 @@ namespace TAO { TAO::ORB_Countdown_Time countdown (max_wait_time); - TAO_Synch_Reply_Dispatcher *rd_p = nullptr; - ACE_NEW_NORETURN (rd_p, TAO_Synch_Reply_Dispatcher (this->resolver_.stub ()->orb_core (), - this->details_.reply_service_info ())); + TAO_Synch_Reply_Dispatcher *rd_p = + new (std::nothrow) TAO_Synch_Reply_Dispatcher (this->resolver_.stub ()->orb_core (), + this->details_.reply_service_info ()); if (!rd_p) { throw ::CORBA::NO_MEMORY (); From 19972d265bb5fab4209f4bee21ecabb89bb2c832 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 27 Oct 2023 10:39:01 +0200 Subject: [PATCH 240/445] Updates for QNX 7.1 * ACE/ace/config-qnx.h: --- ACE/ace/config-qnx.h | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/ACE/ace/config-qnx.h b/ACE/ace/config-qnx.h index 64c5e9f280e6f..fdcda8df5681d 100644 --- a/ACE/ace/config-qnx.h +++ b/ACE/ace/config-qnx.h @@ -25,19 +25,6 @@ #include "ace/config-g++-common.h" -// /usr/nto/include/float.h defines -// FLT_MAX_EXP 127 -// DBL_MAX_EXP 1023 -// ace expects 128 & 1024 respectively -// to set the following macros in ace/Basic_Types.h -// These macros are: -#define ACE_SIZEOF_DOUBLE 8 -#define ACE_SIZEOF_FLOAT 4 - -// At least qnx 6.3.2 uses a void return for unsetenv -// This assumes that older versions do too. -#define ACE_HAS_VOID_UNSETENV - ///////////////////////////////////////////////////////////////// // Definition of the features that are available. // @@ -113,18 +100,14 @@ // // ACE_LACKS Section ///////////////////////////////////////////////////////////////// -#define ACE_LACKS_CONST_TIMESPEC_PTR +//#define ACE_LACKS_CONST_TIMESPEC_PTR #define ACE_LACKS_LINEBUFFERED_STREAMBUF #define ACE_LACKS_MADVISE // Multicast_Tests reports for NTO 621 frames from unsubscribed groups #define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1 -#define ACE_LACKS_RWLOCK_T -#define ACE_LACKS_SO_SNDBUF -#define ACE_LACKS_SO_RCVBUF #define ACE_LACKS_STREAM_MODULES #define ACE_LACKS_STROPTS_H #define ACE_LACKS_STRRECVFD -#define ACE_LACKS_SYSCALL #define ACE_LACKS_SYSV_SHMEM #define ACE_LACKS_SYS_SHM_H #define ACE_LACKS_TIMESPEC_T @@ -162,13 +145,6 @@ #define ACE_SIZEOF_WCHAR 4 -// No prototypes -#define ACE_LACKS_ITOW -#define ACE_LACKS_WCSICMP -#define ACE_LACKS_WCSNICMP -#define ACE_LACKS_WCSDUP -#define ACE_LACKS_STD_WSTRING - #if defined(ACE_MT_SAFE) && (ACE_MT_SAFE != 0) # define ACE_HAS_THREADS # define ACE_HAS_PTHREADS @@ -177,7 +153,6 @@ # define ACE_HAS_PTHREAD_GETCONCURRENCY #endif /* ACE_MT_SAFE */ - // The default value of FD_SETSIZE is 32, but actually x86 NTO // supports by default at least 1000 descriptors in fd_set. #if defined( FD_SETSIZE ) @@ -185,5 +160,8 @@ #endif #define FD_SETSIZE 1000 +#define ACE_SSIZE_T_FORMAT_SPECIFIER_ASCII "%ld" +#define ACE_SIZE_T_FORMAT_SPECIFIER_ASCII "%lu" + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_QNX_H */ From 5413f3b3d622dab07f46171fd86b7654ab684f1c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 27 Oct 2023 11:17:48 +0200 Subject: [PATCH 241/445] We don't need several defines anymore with QNX 7.1 * ACE/ace/config-qnx.h: --- ACE/ace/config-qnx.h | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ACE/ace/config-qnx.h b/ACE/ace/config-qnx.h index fdcda8df5681d..d855c6124620d 100644 --- a/ACE/ace/config-qnx.h +++ b/ACE/ace/config-qnx.h @@ -13,8 +13,6 @@ # error "Could not detect QNX version from macro _NTO_VERSION" #endif -#define _POSIX_C_SOURCE 199506 - // The following defines the Neutrino compiler. // gcc should know to call g++ as necessary #ifdef __GNUC__ @@ -100,7 +98,6 @@ // // ACE_LACKS Section ///////////////////////////////////////////////////////////////// -//#define ACE_LACKS_CONST_TIMESPEC_PTR #define ACE_LACKS_LINEBUFFERED_STREAMBUF #define ACE_LACKS_MADVISE // Multicast_Tests reports for NTO 621 frames from unsubscribed groups @@ -131,6 +128,20 @@ # define ACE_HAS_XPG4_MULTIBYTE_CHAR 1 #endif +#if _NTO_VERSION < 710 +# define ACE_LACKS_CONST_TIMESPEC_PTR +# define ACE_LACKS_RWLOCK_T +# define ACE_LACKS_SO_SNDBUF +# define ACE_LACKS_SO_RCVBUF +# define ACE_LACKS_SYSCALL +# define ACE_LACKS_ITOW +# define ACE_LACKS_WCSICMP +# define ACE_LACKS_WCSNICMP +# define ACE_LACKS_WCSDUP +# define ACE_LACKS_STD_WSTRING + +#endif + #define ACE_LACKS_ISCTYPE #define ACE_LACKS_RLIMIT // QNX rlimit syscalls don't work properly with ACE. From fcb92bed3cbe5b88f1f3f7d0cc21073948f354c5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 27 Oct 2023 11:18:16 +0200 Subject: [PATCH 242/445] Removed work arounds for ancient compilers * ACE/include/makeinclude/platform_linux.GNU: --- ACE/include/makeinclude/platform_linux.GNU | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux.GNU b/ACE/include/makeinclude/platform_linux.GNU index 850bab81bedb3..466fb28661369 100644 --- a/ACE/include/makeinclude/platform_linux.GNU +++ b/ACE/include/makeinclude/platform_linux.GNU @@ -21,18 +21,6 @@ ifeq (Ubuntu, $(findstring Ubuntu,$(LSB_RELEASE_ID))) no_hidden_visibility ?= 1 endif endif -ifeq (Red Hat, $(findstring Red Hat,$(CXX_FULL_VERSION))) - ifeq (4.1.1, $(findstring 4.1.1,$(CXX_VERSION))) - gcc_template_instantiation_visibility ?= 1 - endif - ifeq (4.1.2, $(findstring 4.1.2,$(CXX_VERSION))) - gcc_template_instantiation_visibility ?= 1 - endif -endif -# Mandriva 2007 -ifeq (4.1.1-3mdk, $(findstring 4.1.1-3mdk,$(CXX_FULL_VERSION))) - gcc_template_instantiation_visibility ?= 1 -endif ifeq ($(buildbits),32) FLAGS_C_CC += -m32 From 95a9b900ed81d3a63f73d5e0623b44cd8d8fb087 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 27 Oct 2023 11:19:31 +0200 Subject: [PATCH 243/445] Remove not used code * ACE/include/makeinclude/platform_gcc_clang_common.GNU: --- ACE/include/makeinclude/platform_gcc_clang_common.GNU | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ACE/include/makeinclude/platform_gcc_clang_common.GNU b/ACE/include/makeinclude/platform_gcc_clang_common.GNU index 6827c9ebe63c9..2e29d5d4f4922 100644 --- a/ACE/include/makeinclude/platform_gcc_clang_common.GNU +++ b/ACE/include/makeinclude/platform_gcc_clang_common.GNU @@ -6,7 +6,6 @@ CCFLAGS += -Wnon-virtual-dtor # Suppress "Creating *.a" Message ARFLAGS += -c -gcc_template_instantiation_visibility ?= 0 ifeq ($(shared_libs), 1) ifneq ($(static_libs_only), 1) # Add all symbols to the dynamic symbol table. Needed to enable @@ -34,9 +33,6 @@ ifeq ($(shared_libs), 1) # improved shared library binaries. ifneq ($(no_hidden_visibility),1) CCFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden - ifeq ($(gcc_template_instantiation_visibility),1) - CCFLAGS += -DACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS=1 - endif # gcc_template_instantiation_visibility else CPPFLAGS += -DACE_HAS_CUSTOM_EXPORT_MACROS=0 endif # no_hidden_visibility From 4c57b10a4a13235df38deab47bb054e5e238e08e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 27 Oct 2023 11:21:05 +0200 Subject: [PATCH 244/445] More cleanup * ACE/ace/config-qnx.h: --- ACE/ace/config-qnx.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ACE/ace/config-qnx.h b/ACE/ace/config-qnx.h index d855c6124620d..33dce4ae3b754 100644 --- a/ACE/ace/config-qnx.h +++ b/ACE/ace/config-qnx.h @@ -139,7 +139,15 @@ # define ACE_LACKS_WCSNICMP # define ACE_LACKS_WCSDUP # define ACE_LACKS_STD_WSTRING - +// /usr/nto/include/float.h defines +// FLT_MAX_EXP 127 +// DBL_MAX_EXP 1023 +// ace expects 128 & 1024 respectively +// to set the following macros in ace/Basic_Types.h +// These macros are: +# define ACE_SIZEOF_DOUBLE 8 +# define ACE_SIZEOF_FLOAT 4 +# define _POSIX_C_SOURCE 199506 #endif #define ACE_LACKS_ISCTYPE From d7cf8b9108027afea673c901cd106c1f208e141b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 27 Oct 2023 11:22:23 +0200 Subject: [PATCH 245/445] Mention QNX * ACE/NEWS: --- ACE/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index b42d6906b4ee4..de21476cbe91e 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -10,6 +10,8 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.1 and ACE-7.1.2 . Add c++std which can be used in the platform_macros.GNU to set the C++ revision to be used (results in -std= flag) +. Improve support for QNX 7.1 + USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 ==================================================== From 9a2c01c0c06b3402b7ed4ae44fa300673ee9473b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 27 Oct 2023 11:30:55 +0200 Subject: [PATCH 246/445] Cleanup support for ancient QNX versions * ACE/ace/config-qnx.h: * ACE/ace/os_include/sys/os_select.h: --- ACE/ace/config-qnx.h | 16 +++------------- ACE/ace/os_include/sys/os_select.h | 6 ------ 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/ACE/ace/config-qnx.h b/ACE/ace/config-qnx.h index 33dce4ae3b754..58b90847c0049 100644 --- a/ACE/ace/config-qnx.h +++ b/ACE/ace/config-qnx.h @@ -114,19 +114,9 @@ #define ACE_HAS_SYSCTL #define ACE_HAS_SIGACTION_CONSTP2 1 #define ACE_LACKS_PTHREAD_SCOPE_PROCESS - -#if _NTO_VERSION < 650 -# define ACE_LACKS_NFDBITS -# define ACE_LACKS_FD_MASK -# define ACE_LACKS_SYS_MSG_H -# define ACE_LACKS_ALPHASORT -# define ACE_LACKS_STRPTIME -# define ACE_LACKS_POLL_H -#else -# define ACE_HAS_POLL 1 -# define ACE_HAS_WCHAR 1 -# define ACE_HAS_XPG4_MULTIBYTE_CHAR 1 -#endif +#define ACE_HAS_POLL 1 +#define ACE_HAS_WCHAR 1 +#define ACE_HAS_XPG4_MULTIBYTE_CHAR 1 #if _NTO_VERSION < 710 # define ACE_LACKS_CONST_TIMESPEC_PTR diff --git a/ACE/ace/os_include/sys/os_select.h b/ACE/ace/os_include/sys/os_select.h index c9888613f5d92..957a3c808f303 100644 --- a/ACE/ace/os_include/sys/os_select.h +++ b/ACE/ace/os_include/sys/os_select.h @@ -40,15 +40,9 @@ extern "C" { #endif /* __cplusplus */ -#if defined (ACE_LACKS_FD_MASK) - typedef long fd_mask; -#endif /* ACE_LACKS_FD_MASK */ - #if defined (ACE_WIN32) // This will help until we figure out everything: # define NFDBITS 32 /* only used in unused functions... */ -#elif defined (ACE_LACKS_NFDBITS) -# define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ #endif /* ACE_WIN32 */ #ifdef __cplusplus From 0fd00449a56ea10787ab9ddc1691030b4843fd79 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 30 Oct 2023 07:51:55 +0100 Subject: [PATCH 247/445] Update file * ACE/NEWS: --- ACE/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index de21476cbe91e..4311ffdfc96c5 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -12,6 +12,8 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.1 and ACE-7.1.2 . Improve support for QNX 7.1 +. Embarcadero C++ Builder enhancements + USER VISIBLE CHANGES BETWEEN ACE-7.1.0 and ACE-7.1.1 ==================================================== From c688009d14fa11e88368c9e8646312e5ecf9149c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 30 Oct 2023 07:57:02 +0100 Subject: [PATCH 248/445] ACE+TAO-7_1_2 --- ACE/ChangeLogs/ACE-7_1_2 | 550 ++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 6 +- ACE/debian/control | 62 +- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-3_1_2 | 1133 +++++++++++++++++++++++++++++++++++++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 6 +- 10 files changed, 1727 insertions(+), 44 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-7_1_2 create mode 100644 TAO/ChangeLogs/TAO-3_1_2 diff --git a/ACE/ChangeLogs/ACE-7_1_2 b/ACE/ChangeLogs/ACE-7_1_2 new file mode 100644 index 0000000000000..70aafbf8e59c8 --- /dev/null +++ b/ACE/ChangeLogs/ACE-7_1_2 @@ -0,0 +1,550 @@ +commit 0fd00449a56ea10787ab9ddc1691030b4843fd79 +Author: Johnny Willemsen +Date: Mon Oct 30 07:51:55 2023 +0100 + + Update file + + * ACE/NEWS: + +commit efc29cab7d36fd23b9d97670baedfb06d562154a +Merge: 1389db66793 9a2c01c0c06 +Author: Johnny Willemsen +Date: Fri Oct 27 15:30:28 2023 +0200 + + Merge pull request #2153 from jwillemsen/jwi-qnx710 + + Improve support for QNX 7.1 + +commit 1389db66793ac511812c051e8bdcf9e6f4fdb5cb +Merge: a935e6e549e 95a9b900ed8 +Author: Johnny Willemsen +Date: Fri Oct 27 13:21:57 2023 +0200 + + Merge pull request #2152 from jwillemsen/jwi-platformlinux + + Removed work arounds for ancient compilers + +commit 9a2c01c0c06b3402b7ed4ae44fa300673ee9473b +Author: Johnny Willemsen +Date: Fri Oct 27 11:30:55 2023 +0200 + + Cleanup support for ancient QNX versions + + * ACE/ace/config-qnx.h: + * ACE/ace/os_include/sys/os_select.h: + +commit d7cf8b9108027afea673c901cd106c1f208e141b +Author: Johnny Willemsen +Date: Fri Oct 27 11:22:23 2023 +0200 + + Mention QNX + + * ACE/NEWS: + +commit 4c57b10a4a13235df38deab47bb054e5e238e08e +Author: Johnny Willemsen +Date: Fri Oct 27 11:21:05 2023 +0200 + + More cleanup + + * ACE/ace/config-qnx.h: + +commit 95a9b900ed81d3a63f73d5e0623b44cd8d8fb087 +Author: Johnny Willemsen +Date: Fri Oct 27 11:19:31 2023 +0200 + + Remove not used code + + * ACE/include/makeinclude/platform_gcc_clang_common.GNU: + +commit fcb92bed3cbe5b88f1f3f7d0cc21073948f354c5 +Author: Johnny Willemsen +Date: Fri Oct 27 11:18:16 2023 +0200 + + Removed work arounds for ancient compilers + + * ACE/include/makeinclude/platform_linux.GNU: + +commit 5413f3b3d622dab07f46171fd86b7654ab684f1c +Author: Johnny Willemsen +Date: Fri Oct 27 11:17:48 2023 +0200 + + We don't need several defines anymore with QNX 7.1 + + * ACE/ace/config-qnx.h: + +commit 19972d265bb5fab4209f4bee21ecabb89bb2c832 +Author: Johnny Willemsen +Date: Fri Oct 27 10:39:01 2023 +0200 + + Updates for QNX 7.1 + + * ACE/ace/config-qnx.h: + +commit 2c1fa440731455b69c4fe4cda641062b790572c8 +Author: Johnny Willemsen +Date: Mon Oct 23 17:07:39 2023 +0200 + + Fixed incorrect preprocessor define check + + * ACE/examples/APG/Timers/Timers.cpp: + +commit 51e1e2c4835cf779efadc04b5737f7cf0722a9be +Merge: 1affc2bd31c 7c292a3308a +Author: Adam Mitz +Date: Fri Oct 6 13:26:25 2023 -0500 + + Merge pull request #2133 from nickwilliams-zaxiom/add_gitignores + + Add missing and update .gitignore files to prevent untracked files Git status + +commit 17441ba819710ed7d2c0fff34646fdcd16758c72 +Author: Adam Mitz +Date: Thu Oct 5 14:43:09 2023 -0500 + + macOS: sizeof long double is different on ARM64 + + https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms#Handle-data-types-and-data-alignment-properly + +commit cf82dac8e00b36ad5d7cd854dba81b7ee6f60c14 +Author: Adam Mitz +Date: Wed Oct 4 19:11:00 2023 +0000 + + platform_linux: avoid errors when tcl/tk packages are not installed + + Scoreboard scripts parse these as errors + .: cannot open /usr/lib/tkConfig.sh: No such file + +commit 7c292a3308a512192d3dc4be996b505f1c187238 +Author: Nick Williams +Date: Thu Sep 28 18:43:16 2023 -0500 + + Add update_gitignore.sh helper command + +commit c85e45ef3c5c3f17fe183b5eca15c0ec882c940c +Author: Nick Williams +Date: Thu Sep 28 15:07:20 2023 -0500 + + Review feedback + +commit 82ce7eb58fcd540ef8d3a95dc1682bb7333c850b +Merge: 3989eaefd4a 8785d6f1291 +Author: Johnny Willemsen +Date: Tue Sep 19 17:03:51 2023 +0200 + + Merge branch 'jwi-sockdgram' of https://github.com/jwillemsen/ATCD into jwi-sockdgram + +commit 3989eaefd4ac1331a2f0d5f0270e4a16df283f95 +Author: Johnny Willemsen +Date: Tue Sep 19 17:03:43 2023 +0200 + + Layout/nullptr changes + + * ACE/ace/SOCK_Dgram.cpp: + +commit 8785d6f1291ee2daef154de4be1d17a11ca5b369 +Merge: 1f9ea6a45c9 c210fe1a590 +Author: Johnny Willemsen +Date: Tue Sep 19 16:22:38 2023 +0200 + + Merge branch 'master' into jwi-sockdgram + +commit 1f9ea6a45c90ae380175763f0ec624cebaaf395a +Author: Johnny Willemsen +Date: Tue Sep 19 15:30:03 2023 +0200 + + Use nullptr/std::addressof + + * ACE/ace/SOCK_Dgram.cpp: + +commit 1e2da3173a498909230f3f12617e663c5aa20190 +Author: Johnny Willemsen +Date: Tue Sep 19 13:49:41 2023 +0200 + + Remove not needed line + + * ACE/include/makeinclude/platform_qnx_gcc.GNU: + +commit 6e12e496b800fdc27588ba72948210508366a25e +Merge: cb3fa988846 ef21d60a273 +Author: Johnny Willemsen +Date: Tue Sep 19 13:15:40 2023 +0200 + + Merge branch 'master' of https://github.com/DOCGroup/ACE_TAO into jwi-qnx + +commit cb3fa988846cd7a3e7f4a8cc3f615d8efaf25c16 +Author: Johnny Willemsen +Date: Tue Sep 19 12:18:38 2023 +0200 + + QNX changes + + * ACE/include/makeinclude/platform_qnx_gcc.GNU: + +commit 5547c0465b8a6abef7caad1b5f961b6d0a73f9c8 +Author: Johnny Willemsen +Date: Tue Sep 19 09:32:54 2023 +0200 + + Embarcadero C++ Builder fixes + + * ACE/ace/config-win32-borland.h: + +commit 3acac498f88eb0c53e529106cdc29d370b413daa +Author: Johnny Willemsen +Date: Fri Sep 15 16:27:19 2023 +0200 + + Add support for c++std in platform_macros.GNU + + * .github/workflows/linux.yml: + * ACE/NEWS: + * ACE/include/makeinclude/platform_gcc_clang_common.GNU: + +commit 0e37c17462d26d73fcd89ad12687fd1a497397ba +Author: Johnny Willemsen +Date: Fri Sep 15 10:11:10 2023 +0200 + + Removed support for c++11=1, we require C++14 as minimum + + * ACE/include/makeinclude/platform_gcc_clang_common.GNU: + * ACE/include/makeinclude/platform_linux_clang.GNU: + * ACE/include/makeinclude/platform_linux_icc.GNU: + * ACE/include/makeinclude/platform_qnx_gcc.GNU: + +commit 4e5ea5306a40b13182f46af92b364a610f14db9c +Author: Johnny Willemsen +Date: Fri Sep 15 09:15:06 2023 +0200 + + Removed gcc 4 workaround for C++11, we require C++14 as minimum + + * ACE/include/makeinclude/platform_g++_common.GNU: + +commit f5dd3c0f41aea5ac4dc2a2fc27faba3532c83a41 +Author: Johnny Willemsen +Date: Mon Sep 11 09:10:10 2023 +0200 + + Updated documentation for new Embarcadero C++ Builder compiler selection + + * ACE/ACE-INSTALL.html: + +commit a8ea1c4c8f7c50107e668237508b8b62ee88ff86 +Author: Johnny Willemsen +Date: Thu Sep 7 14:27:17 2023 +0200 + + Embarcadero C++ Builder changes + + * ACE/ace/config-win32-borland.h: + +commit 86a1759fe86a61b243bca480459ff6c9fb376dd3 +Merge: 7afc280d75f d636e1c235d +Author: Johnny Willemsen +Date: Tue Sep 5 10:22:36 2023 +0200 + + Merge pull request #2115 from jwillemsen/jwi-reorderdefines + + Reorder defines + +commit d636e1c235db6f510393e49284d449f1dd4a3c01 +Author: Johnny Willemsen +Date: Tue Sep 5 09:33:27 2023 +0200 + + Reorder defines + + * ACE/ace/OS_NS_sys_stat.h: + +commit 4e006ad5b3c805794256e2d683c56489d972037c +Author: Johnny Willemsen +Date: Sun Sep 3 09:16:00 2023 +0200 + + Document change + + * ACE/NEWS: + +commit 552b2a809408d9b78d44547c5d30b378ad6bb813 +Author: Johnny Willemsen +Date: Sun Sep 3 09:02:45 2023 +0200 + + Include changes memory + +commit 6771ed92528428c275f2b7a6a6da8278dd2454e9 +Author: Johnny Willemsen +Date: Sat Sep 2 21:33:14 2023 +0200 + + Update BufferedStreamBuffer.h + +commit eaf09c218662e8a9e7a5c1b9047721729258645b +Author: Johnny Willemsen +Date: Sat Sep 2 21:17:49 2023 +0200 + + Update HTBP_Session.cpp + +commit 292335d6048ac7a54e2339271da8de5af9ecd194 +Author: Johnny Willemsen +Date: Sat Sep 2 20:22:40 2023 +0200 + + Use std::unique_ptr + * ACE/ACEXML/parser/parser/Parser.cpp: + * ACE/apps/JAWS/server/HTTP_Server.cpp: + * ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp: + * ACE/protocols/ace/INet/HTTPS_Context.h: + * ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp: + * ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp: + * ACE/protocols/ace/RMCast/Socket.cpp: + * ACE/protocols/ace/RMCast/Socket.h: + * ACE/protocols/examples/INet/FTP_Simple_exec.cpp: + * ACE/protocols/examples/INet/HTTP_Simple_exec.cpp: + * ACE/tests/Bug_3539_Regression_Test.cpp: + * TAO/DevGuideExamples/Multithreading/GracefulShutdown/MessengerServer.cpp: + * TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h: + * TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h: + * TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h: + * TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h: + * TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp: + * TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Naming_Manager.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp: + * TAO/orbsvcs/orbsvcs/Notify/Admin.h: + * TAO/orbsvcs/orbsvcs/Notify/Consumer.h: + * TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp: + * TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp: + * TAO/tests/Bug_3524_Regression/test_i.cpp: + * TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h: + * TAO/tests/Storable/Savable.cpp: + +commit 9ce21b61b18044fc217190c9c65f03d05ee9c96f +Merge: babc33f87ea e6e9ef49456 +Author: Johnny Willemsen +Date: Sat Sep 2 20:20:21 2023 +0200 + + Merge branch 'jwi-autoptrcpp17_cleanup' of https://github.com/jwillemsen/ATCD into jwi-autoptrcpp17_cleanup + +commit babc33f87eacaff8b45ec09e666cee482937c901 +Author: Johnny Willemsen +Date: Sat Sep 2 20:20:11 2023 +0200 + + Get rid of ACE_Auto_Array_Ptr + + * ACE/Kokyu/Default_Dispatcher_Impl.h: + * ACE/ace/Sock_Connect.cpp: + * ACE/ace/TLI.cpp: + * ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: + * ACE/examples/C++NPv2/TP_Logging_Server.h: + * ACE/examples/Reactor/TP_Reactor/client.cpp: + * ACE/protocols/ace/HTBP/HTBP_Channel.cpp: + * ACE/protocols/ace/HTBP/HTBP_Session.cpp: + * ACE/protocols/ace/INet/BidirStreamBuffer.h: + * ACE/protocols/ace/INet/BufferedStreamBuffer.h: + * ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp: + * ACE/protocols/ace/RMCast/Link.cpp: + * ACE/tests/CDR_Test.cpp: + * ACE/tests/Reactor_Performance_Test.cpp: + * TAO/examples/Simple/grid/Grid_i.cpp: + * TAO/examples/Simple/grid/Grid_i.h: + * TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp: + * TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp: + * TAO/tests/Oneway_Send_Timeouts/Client.cpp: + +commit e6e9ef494569e7cbe9653e5ea29de235830a22d1 +Author: Johnny Willemsen +Date: Sat Sep 2 17:22:28 2023 +0200 + + Update Svc_Conf_Lexer.cpp + +commit ed54a767da647199e7238d3f9eabe4ca9f22bde3 +Author: Johnny Willemsen +Date: Sat Sep 2 16:37:49 2023 +0200 + + C++17 removes std::auto_ptr so we don't provide the ACE auto_ptr templates anymore with C++17, use std::unique_ptr as replacement. Updated a lot of examples/tests to not use any ACE auto pointer templates but just std::unique_ptr + + * ACE/ACEXML/common/HttpCharStream.cpp: + * ACE/ACEXML/common/URL_Addr.cpp: + * ACE/ACEXML/common/XML_Codecs.cpp: + * ACE/ACEXML/examples/SAXPrint/main.cpp: + * ACE/ACEXML/parser/parser/Parser.cpp: + * ACE/ACEXML/parser/parser/Parser.h: + * ACE/Kokyu/Default_Dispatcher_Impl.cpp: + * ACE/Kokyu/Kokyu_defs.h: + * ACE/Kokyu/tests/DSRT_MIF/MIF.cpp: + * ACE/ace/ACE.cpp: + * ACE/ace/Auto_Functor.h: + * ACE/ace/Auto_Ptr.cpp: + * ACE/ace/Auto_Ptr.h: + * ACE/ace/Auto_Ptr.inl: + * ACE/ace/CDR_Stream.cpp: + * ACE/ace/DLL_Manager.cpp: + * ACE/ace/Log_Msg.h: + * ACE/ace/Pagefile_Memory_Pool.cpp: + * ACE/ace/Proactor.cpp: + * ACE/ace/Refcounted_Auto_Ptr.h: + * ACE/ace/SOCK_SEQPACK_Acceptor.cpp: + * ACE/ace/SOCK_SEQPACK_Association.cpp: + * ACE/ace/SString.h: + * ACE/ace/Service_Gestalt.cpp: + * ACE/ace/Sock_Connect.cpp: + * ACE/ace/Svc_Conf_Lexer.cpp: + * ACE/ace/TLI.cpp: + * ACE/ace/UUID.cpp: + * ACE/ace/config-win32-msvc-142.h: + * ACE/apps/JAWS/clients/Caching/Locator_Request_Reply.cpp: + * ACE/apps/JAWS/clients/Caching/URL_Properties.cpp: + * ACE/apps/JAWS/server/JAWS_IO.cpp: + * ACE/apps/gperf/src/Key_List.cpp: + * ACE/bin/main2TMAIN.pl: + * ACE/docs/exceptions.html: + * ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp: + * ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp: + * ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp: + * ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp: + * ACE/examples/Threads/future1.cpp: + * ACE/examples/Threads/future2.cpp: + * ACE/examples/Web_Crawler/HTTP_URL.cpp: + * ACE/include/makeinclude/platform_linux_icc.GNU: + * ACE/netsvcs/lib/Name_Handler.cpp: + * ACE/tests/CDR_File_Test.cpp: + * ACE/tests/CDR_Test.cpp: + * ACE/tests/Codecs_Test.cpp: + * ACE/tests/Compiler_Features_09_Test.cpp: + * ACE/tests/Conn_Test.cpp: + * ACE/tests/Future_Set_Test.cpp: + * ACE/tests/Future_Test.cpp: + * ACE/tests/Log_Msg_Test.cpp: + * ACE/tests/Logging_Strategy_Test.cpp: + * ACE/tests/Message_Queue_Test_Ex.cpp: + * ACE/tests/Reactor_Fairness_Test.cpp: + * ACE/tests/Reactor_Performance_Test.cpp: + * ACE/tests/Reactor_Timer_Test.cpp: + * ACE/tests/Refcounted_Auto_Ptr_Test.cpp: + * ACE/tests/SString_Test.cpp: + * ACE/tests/UUID_Test.cpp: + * TAO/docs/events_tutorial.html: + * TAO/docs/tutorials/Quoter/Simple/ImprovedServer/index.html: + * TAO/examples/Borland/ChatClientWnd.cpp: + * TAO/examples/Borland/ChatClientWnd.h: + * TAO/examples/Load_Balancing/Load_Balancer_i.cpp: + * TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h: + * TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: + * TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp: + * TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp: + * TAO/orbsvcs/orbsvcs/Notify/EventChannel.h: + * TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp: + * TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h: + * TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h: + * TAO/orbsvcs/orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.cpp: + * TAO/orbsvcs/orbsvcs/Notify/Object.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h: + * TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp: + * TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: + * TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_List_Store.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp: + * TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/lib/Control.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h: + * TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp: + * TAO/tao/Acceptor_Registry.cpp: + * TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl: + * TAO/tao/DynamicAny/DynAnyUtils_T.cpp: + * TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp: + * TAO/tao/IIOP_Acceptor.cpp: + * TAO/tao/IIOP_Connector.cpp: + * TAO/tao/LocateRequest_Invocation.cpp: + * TAO/tao/Messaging/ExceptionHolder_i.cpp: + * TAO/tao/ORB_Core.cpp: + * TAO/tao/PortableServer/Active_Object_Map.cpp: + * TAO/tao/PortableServer/Object_Adapter.cpp: + * TAO/tao/PortableServer/Root_POA.cpp: + * TAO/tao/RTCORBA/Thread_Pool.cpp: + * TAO/tao/Strategies/SCIOP_Acceptor.cpp: + * TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp: + * TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp: + +commit 066b98de2b3436fd4013619c31bcb2b7fd1e0839 +Author: Johnny Willemsen +Date: Fri Sep 1 14:25:21 2023 +0200 + + CHeck if value is not defined before defining it here in ACE + + * ACE/ace/os_include/os_fcntl.h: + +commit 00641fb1cae6ebe41544c2cdad884e7e96661c79 +Author: Johnny Willemsen +Date: Fri Sep 1 14:24:55 2023 +0200 + + Layout change + + * ACE/ace/Auto_Ptr.h: + +commit 0aaf6c9bc26251ce66e2446b9cc6c82f634fc920 +Author: Johnny Willemsen +Date: Fri Sep 1 14:24:42 2023 +0200 + + Fixed comment after endif + + * ACE/ace/os_include/sys/os_types.h: + +commit 6c256ad581fa75de4ccd3bbabb5a117b0c374112 +Author: Johnny Willemsen +Date: Mon Aug 28 09:36:49 2023 +0200 + + Update Auto_Ptr.h + +commit e09f240025d1e876504d2e2faf1de3a4ffaed405 +Author: ClausKlein +Date: Wed Aug 23 19:21:00 2023 +0200 + + This does NOT compile with c++17 or newer! + +commit b192a376446da1af90f068873b147c0b1fe25e29 +Author: ClausKlein +Date: Tue Aug 22 18:12:19 2023 +0200 + + Replace std::unary_function<> with std::function<> + + (deprecated in C++11) and removed in C++17 + + Add missing #include + + Make the hack clear: + respect review comment + ace/Auto_Ptr.h must still include + +commit f2ee1640940bf46f155352adf34f0bdbbcc6e8e0 +Author: Johnny Willemsen +Date: Wed Jun 28 12:02:01 2023 +0200 + + Make ACE 7.1.1 and TAO 3.1.1 available + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index 6dd9c57d3c108..6d753ec3bbe4a 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 7.1.1 + ACE VERSION: 7.1.2 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index fc4b7daaccccc..4750de3b01afe 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 7.1.1, released Wed Jun 28 11:39:14 CEST 2023 +This is ACE version 7.1.2, released Mon Oct 30 07:57:01 CET 2023 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index 3af2e82cd021b..6d049177827ce 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -4,7 +4,7 @@ #define ACE_MAJOR_VERSION 7 #define ACE_MINOR_VERSION 1 -#define ACE_MICRO_VERSION 1 -#define ACE_VERSION "7.1.1" -#define ACE_VERSION_CODE 0x70101 +#define ACE_MICRO_VERSION 2 +#define ACE_VERSION "7.1.2" +#define ACE_VERSION_CODE 0x70102 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index 1848732d186df..5558c39567256 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -27,7 +27,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-7.1.1 +Package: libace-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -45,7 +45,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-7.1.1 (= ${binary:Version}), ${misc:Depends} +Depends: libace-7.1.2 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkg-config Replaces: mpc-ace (<< 5.6.3-4) Description: C++ network programming framework - development files @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-7.1.1 +Package: libace-ssl-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -73,12 +73,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-7.1.1 +Package: libace-rmcast-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -92,12 +92,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-7.1.1 +Package: libace-tmcast-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -111,12 +111,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-7.1.1 +Package: libace-htbp-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -130,12 +130,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-7.1.1 +Package: libace-inet-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -146,15 +146,15 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-7.1.1 +Package: libace-inet-ssl-7.1.2 Architecture: any Section: libs -Depends: libace-inet-7.1.1, libace-ssl-7.1.1, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-7.1.2, libace-ssl-7.1.2, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -163,7 +163,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-7.1.1 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-7.1.2 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -180,7 +180,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-7.1.1 +Package: libacexml-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -196,12 +196,12 @@ Package: libacexml-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libacexml-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-7.1.1 +Package: libace-xml-utils-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -215,12 +215,12 @@ Package: libace-xml-utils-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libace-xml-utils-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-7.1.1 +Package: libkokyu-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -234,12 +234,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-7.1.1 +Package: libace-xtreactor-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +257,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-7.1.1 +Package: libace-tkreactor-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +281,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-7.1.1 +Package: libace-flreactor-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -304,12 +304,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-7.1.1 +Package: libace-foxreactor-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -326,7 +326,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -343,7 +343,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-7.1.1 +Package: libnetsvcs-7.1.2 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -357,7 +357,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-7.1.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index 9236c10c38a38..800db42180305 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 7.1.1 -%define TAOVER 3.1.1 +%define ACEVER 7.1.2 +%define TAOVER 3.1.2 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-3_1_2 b/TAO/ChangeLogs/TAO-3_1_2 new file mode 100644 index 0000000000000..ac502437bae67 --- /dev/null +++ b/TAO/ChangeLogs/TAO-3_1_2 @@ -0,0 +1,1133 @@ +commit 3e51b282dea0957756ff611a8707be7d2ccf1df5 +Author: Johnny Willemsen +Date: Wed Oct 25 09:07:20 2023 +0200 + + Make use of std::nothrow + + * TAO/tao/IORManipulation/IORManip_IIOP_Filter.cpp: + * TAO/tao/LocateRequest_Invocation.cpp: + * TAO/tao/Object.cpp: + * TAO/tao/Synch_Invocation.cpp: + +commit 51e1e2c4835cf779efadc04b5737f7cf0722a9be +Merge: 1affc2bd31c 7c292a3308a +Author: Adam Mitz +Date: Fri Oct 6 13:26:25 2023 -0500 + + Merge pull request #2133 from nickwilliams-zaxiom/add_gitignores + + Add missing and update .gitignore files to prevent untracked files Git status + +commit 7105510fc875d2429489962c9dfa4cfba331fcae +Merge: 854bfeeb364 65566a4be54 +Author: Adam Mitz +Date: Thu Oct 5 12:19:01 2023 -0500 + + Merge pull request #2120 from nickwilliams-zaxiom/multicast_protocol_documentation_fixes + + Fix #2119: Improve documentation for TAO_UIPMC_Protocol_Factory and TAO_MIOP_Resource_Factory + +commit 9c6597e597b941f55b9ada64a9655e8703c80523 +Merge: de47fd52716 99d2d14dc0f +Author: Justin Wilson +Date: Wed Oct 4 13:13:41 2023 -0500 + + Merge pull request #2136 from iguessthislldo/igtd/maps-scope + + Add Note About Maps Not Usable in TAO + +commit 99d2d14dc0f4a614bf48272dbd816264976bab6b +Author: Fred Hornsey +Date: Fri Sep 29 19:43:22 2023 -0500 + + Add Note About Maps Not Usable in TAO + +commit d3f1c845346abca0dc9d44a2f2d44a201495a14f +Author: Nick Williams +Date: Thu Sep 21 13:34:17 2023 -0500 + + Add missing and update .gitignore files to prevent untracked files Git status + +commit 33104f3296898ac1af7fe7e20f45649d038fd481 +Author: Johnny Willemsen +Date: Tue Sep 12 13:56:28 2023 +0200 + + Use default + + * TAO/tao/Base_Transport_Property.h: + * TAO/tao/Base_Transport_Property.inl: + +commit 65566a4be54cc015f34811a96436e9483524f25b +Author: Nick Williams +Date: Fri Sep 8 13:40:20 2023 -0500 + + Improve documentation for TAO_UIPMC_Protocol_Factory and TAO_MIOP_Resource_Factory + +commit d1a1e205295667ec2f61d3eee57db4cf4fb265c1 +Author: Johnny Willemsen +Date: Thu Sep 7 13:05:50 2023 +0200 + + Use nullptr + + * TAO/tao/Valuetype/AbstractBase.cpp: + +commit 45ac78686bae84642d5b2812a9af13dd18105ca2 +Author: Johnny Willemsen +Date: Thu Sep 7 13:05:41 2023 +0200 + + Fixed friend + + * TAO/tao/ORB_Core.h: + +commit 800a332bea49f9117ad69d3522ee346600d992f4 +Author: Johnny Willemsen +Date: Tue Sep 5 14:27:33 2023 +0200 + + Use std::unique_ptr with a custom deleter for TAO_ORB_Core_Auto_Ptr + + * TAO/tao/ORB_Core_Auto_Ptr.inl: + Deleted. + + * TAO/tao/Collocated_Invocation.cpp: + * TAO/tao/ORB_Core.cpp: + * TAO/tao/ORB_Core_Auto_Ptr.cpp: + * TAO/tao/ORB_Core_Auto_Ptr.h: + * TAO/tests/Bug_2084_Regression/EventNode.cpp: + * TAO/tests/Bug_2084_Regression/Hello.cpp: + * TAO/tests/COIOP/Hello.cpp: + * TAO/tests/Collocated_Best/Collocated_Best_Direct/Hello.cpp: + * TAO/tests/Collocated_Best/Collocated_Best_NoColl/Hello.cpp: + * TAO/tests/Collocated_Best/Collocated_Best_ThuP/Hello.cpp: + * TAO/tests/Collocated_NoColl/Hello.cpp: + * TAO/tests/Collocation_Exception_Test/Hello.cpp: + * TAO/tests/Collocation_Oneway_Tests/Hello.cpp: + * TAO/tests/Collocation_Tests/Hello.cpp: + * TAO/tests/DII_Collocation_Tests/oneway/Hello.cpp: + * TAO/tests/DII_Collocation_Tests/twoway/Hello.cpp: + +commit a3441278e47e3a2c3ceac3dcbf083c64872915ee +Merge: da225741f57 81db2de177b +Author: Johnny Willemsen +Date: Mon Sep 4 14:55:33 2023 +0200 + + Merge branch 'master' into jwi-stubuniqueptr + +commit da225741f576bbd94bc7b75c371d89c062c7d092 +Author: Johnny Willemsen +Date: Mon Sep 4 12:18:47 2023 +0200 + + Reimplement TAO_Stub_Auto_Ptr with a std::unique_ptr with a custom deleter, reduces our code, also simplified the _this, no magic ACE macros anymore + + * TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + * TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + * TAO/tao/ORB_Core.h: + * TAO/tao/Stub.h: + * TAO/tao/Stub.inl: + +commit eb0d6c13cbd327c39a77b5da4f4dd4a277d34502 +Merge: c5fbb6372bb eb32c46b479 +Author: Johnny Willemsen +Date: Mon Sep 4 09:29:07 2023 +0200 + + Merge branch 'jwi-autoptrcpp17_cleanup' of https://github.com/jwillemsen/ATCD into jwi-autoptrcpp17_cleanup + +commit c5fbb6372bb3264100d97e0b54520af5b2f67851 +Author: Johnny Willemsen +Date: Mon Sep 4 09:23:27 2023 +0200 + + More auto_ptr cleanup + + * TAO/TAO_IDL/be/be_codegen.cpp: + * TAO/docs/events_tutorial.html: + +commit eb32c46b479862893bfb2c24609b873f3241292b +Merge: b91f32118c9 0853054fe77 +Author: Johnny Willemsen +Date: Sun Sep 3 11:48:45 2023 +0200 + + Merge branch 'master' into jwi-autoptrcpp17_cleanup + +commit b91f32118c92deca2ef6841fdfd2ef46e62b9c22 +Author: Johnny Willemsen +Date: Sun Sep 3 09:12:34 2023 +0200 + + Use std::move + + * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: + +commit 552b2a809408d9b78d44547c5d30b378ad6bb813 +Author: Johnny Willemsen +Date: Sun Sep 3 09:02:45 2023 +0200 + + Include changes memory + +commit bf716f7573aa4962ba56b080b9b5448f28a1f9cb +Author: Johnny Willemsen +Date: Sat Sep 2 21:03:01 2023 +0200 + + Update EventChannel.cpp + +commit 5fd8963e1e7d973d3740c16e18538ab7d8da1985 +Author: Johnny Willemsen +Date: Sat Sep 2 20:25:15 2023 +0200 + + Include fix + + * TAO/tao/PortableServer/Root_POA.cpp: + +commit 292335d6048ac7a54e2339271da8de5af9ecd194 +Author: Johnny Willemsen +Date: Sat Sep 2 20:22:40 2023 +0200 + + Use std::unique_ptr + * ACE/ACEXML/parser/parser/Parser.cpp: + * ACE/apps/JAWS/server/HTTP_Server.cpp: + * ACE/protocols/ace/INet/FTP_ClientRequestHandler.cpp: + * ACE/protocols/ace/INet/HTTPS_Context.h: + * ACE/protocols/ace/INet/HTTPS_SessionFactory.cpp: + * ACE/protocols/ace/INet/HTTP_ClientRequestHandler.cpp: + * ACE/protocols/ace/RMCast/Socket.cpp: + * ACE/protocols/ace/RMCast/Socket.h: + * ACE/protocols/examples/INet/FTP_Simple_exec.cpp: + * ACE/protocols/examples/INet/HTTP_Simple_exec.cpp: + * ACE/tests/Bug_3539_Regression_Test.cpp: + * TAO/DevGuideExamples/Multithreading/GracefulShutdown/MessengerServer.cpp: + * TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h: + * TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h: + * TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h: + * TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h: + * TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp: + * TAO/orbsvcs/orbsvcs/Naming/FaultTolerant/FT_Naming_Manager.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp: + * TAO/orbsvcs/orbsvcs/Notify/Admin.h: + * TAO/orbsvcs/orbsvcs/Notify/Consumer.h: + * TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp: + * TAO/orbsvcs/tests/CosEvent/Timeout/TimeoutTestMain.cpp: + * TAO/tests/Bug_3524_Regression/test_i.cpp: + * TAO/tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h: + * TAO/tests/Storable/Savable.cpp: + +commit babc33f87eacaff8b45ec09e666cee482937c901 +Author: Johnny Willemsen +Date: Sat Sep 2 20:20:11 2023 +0200 + + Get rid of ACE_Auto_Array_Ptr + + * ACE/Kokyu/Default_Dispatcher_Impl.h: + * ACE/ace/Sock_Connect.cpp: + * ACE/ace/TLI.cpp: + * ACE/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: + * ACE/examples/C++NPv2/TP_Logging_Server.h: + * ACE/examples/Reactor/TP_Reactor/client.cpp: + * ACE/protocols/ace/HTBP/HTBP_Channel.cpp: + * ACE/protocols/ace/HTBP/HTBP_Session.cpp: + * ACE/protocols/ace/INet/BidirStreamBuffer.h: + * ACE/protocols/ace/INet/BufferedStreamBuffer.h: + * ACE/protocols/ace/INet/HTTP_BasicAuthentication.cpp: + * ACE/protocols/ace/RMCast/Link.cpp: + * ACE/tests/CDR_Test.cpp: + * ACE/tests/Reactor_Performance_Test.cpp: + * TAO/examples/Simple/grid/Grid_i.cpp: + * TAO/examples/Simple/grid/Grid_i.h: + * TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp: + * TAO/orbsvcs/tests/Bug_2285_Regression/client2.cpp: + * TAO/tests/Oneway_Send_Timeouts/Client.cpp: + +commit ed54a767da647199e7238d3f9eabe4ca9f22bde3 +Author: Johnny Willemsen +Date: Sat Sep 2 16:37:49 2023 +0200 + + C++17 removes std::auto_ptr so we don't provide the ACE auto_ptr templates anymore with C++17, use std::unique_ptr as replacement. Updated a lot of examples/tests to not use any ACE auto pointer templates but just std::unique_ptr + + * ACE/ACEXML/common/HttpCharStream.cpp: + * ACE/ACEXML/common/URL_Addr.cpp: + * ACE/ACEXML/common/XML_Codecs.cpp: + * ACE/ACEXML/examples/SAXPrint/main.cpp: + * ACE/ACEXML/parser/parser/Parser.cpp: + * ACE/ACEXML/parser/parser/Parser.h: + * ACE/Kokyu/Default_Dispatcher_Impl.cpp: + * ACE/Kokyu/Kokyu_defs.h: + * ACE/Kokyu/tests/DSRT_MIF/MIF.cpp: + * ACE/ace/ACE.cpp: + * ACE/ace/Auto_Functor.h: + * ACE/ace/Auto_Ptr.cpp: + * ACE/ace/Auto_Ptr.h: + * ACE/ace/Auto_Ptr.inl: + * ACE/ace/CDR_Stream.cpp: + * ACE/ace/DLL_Manager.cpp: + * ACE/ace/Log_Msg.h: + * ACE/ace/Pagefile_Memory_Pool.cpp: + * ACE/ace/Proactor.cpp: + * ACE/ace/Refcounted_Auto_Ptr.h: + * ACE/ace/SOCK_SEQPACK_Acceptor.cpp: + * ACE/ace/SOCK_SEQPACK_Association.cpp: + * ACE/ace/SString.h: + * ACE/ace/Service_Gestalt.cpp: + * ACE/ace/Sock_Connect.cpp: + * ACE/ace/Svc_Conf_Lexer.cpp: + * ACE/ace/TLI.cpp: + * ACE/ace/UUID.cpp: + * ACE/ace/config-win32-msvc-142.h: + * ACE/apps/JAWS/clients/Caching/Locator_Request_Reply.cpp: + * ACE/apps/JAWS/clients/Caching/URL_Properties.cpp: + * ACE/apps/JAWS/server/JAWS_IO.cpp: + * ACE/apps/gperf/src/Key_List.cpp: + * ACE/bin/main2TMAIN.pl: + * ACE/docs/exceptions.html: + * ACE/examples/IPC_SAP/UPIPE_SAP/ex2.cpp: + * ACE/examples/IPC_SAP/UPIPE_SAP/ex3.cpp: + * ACE/examples/Reactor/WFMO_Reactor/Handle_Close.cpp: + * ACE/examples/Reactor/WFMO_Reactor/Window_Messages.cpp: + * ACE/examples/Threads/future1.cpp: + * ACE/examples/Threads/future2.cpp: + * ACE/examples/Web_Crawler/HTTP_URL.cpp: + * ACE/include/makeinclude/platform_linux_icc.GNU: + * ACE/netsvcs/lib/Name_Handler.cpp: + * ACE/tests/CDR_File_Test.cpp: + * ACE/tests/CDR_Test.cpp: + * ACE/tests/Codecs_Test.cpp: + * ACE/tests/Compiler_Features_09_Test.cpp: + * ACE/tests/Conn_Test.cpp: + * ACE/tests/Future_Set_Test.cpp: + * ACE/tests/Future_Test.cpp: + * ACE/tests/Log_Msg_Test.cpp: + * ACE/tests/Logging_Strategy_Test.cpp: + * ACE/tests/Message_Queue_Test_Ex.cpp: + * ACE/tests/Reactor_Fairness_Test.cpp: + * ACE/tests/Reactor_Performance_Test.cpp: + * ACE/tests/Reactor_Timer_Test.cpp: + * ACE/tests/Refcounted_Auto_Ptr_Test.cpp: + * ACE/tests/SString_Test.cpp: + * ACE/tests/UUID_Test.cpp: + * TAO/docs/events_tutorial.html: + * TAO/docs/tutorials/Quoter/Simple/ImprovedServer/index.html: + * TAO/examples/Borland/ChatClientWnd.cpp: + * TAO/examples/Borland/ChatClientWnd.h: + * TAO/examples/Load_Balancing/Load_Balancer_i.cpp: + * TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h: + * TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: + * TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp: + * TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp: + * TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp: + * TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp: + * TAO/orbsvcs/orbsvcs/Notify/EventChannel.h: + * TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp: + * TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h: + * TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h: + * TAO/orbsvcs/orbsvcs/Notify/MonitorControl/NotificationServiceMonitor_i.cpp: + * TAO/orbsvcs/orbsvcs/Notify/Object.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h: + * TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp: + * TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp: + * TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: + * TAO/orbsvcs/orbsvcs/PortableGroup/Fragments_Cleanup_Strategy.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_List_Store.cpp: + * TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Storable.cpp: + * TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/lib/Control.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp: + * TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h: + * TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp: + * TAO/tao/Acceptor_Registry.cpp: + * TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl: + * TAO/tao/DynamicAny/DynAnyUtils_T.cpp: + * TAO/tao/Dynamic_TP/DTP_Thread_Pool.cpp: + * TAO/tao/IIOP_Acceptor.cpp: + * TAO/tao/IIOP_Connector.cpp: + * TAO/tao/LocateRequest_Invocation.cpp: + * TAO/tao/Messaging/ExceptionHolder_i.cpp: + * TAO/tao/ORB_Core.cpp: + * TAO/tao/PortableServer/Active_Object_Map.cpp: + * TAO/tao/PortableServer/Object_Adapter.cpp: + * TAO/tao/PortableServer/Root_POA.cpp: + * TAO/tao/RTCORBA/Thread_Pool.cpp: + * TAO/tao/Strategies/SCIOP_Acceptor.cpp: + * TAO/tao/ZIOP/ZIOP_Service_Context_Handler.cpp: + * TAO/tests/IOR_Endpoint_Hostnames/list_interfaces.cpp: + +commit 41c666be2e55f20426354aae24fcdf7e6c9bf984 +Author: Fred Hornsey +Date: Thu Aug 31 14:47:20 2023 -0500 + + Fix Codacy Issues in be_map + +commit 5c528320ff0ce0ac5d1d68a0073f4697b803ce51 +Merge: 4183f948eef 50be4072e9b +Author: Johnny Willemsen +Date: Mon Aug 28 16:31:23 2023 +0200 + + Merge pull request #2103 from tmayoff/coverity + + Fixed uninitialized member + +commit a5e0d86bf3ea71e326137219b52631ab59728f30 +Author: Johnny Willemsen +Date: Mon Aug 28 16:18:17 2023 +0200 + + Add IDL4 maps test + + * TAO/bin/tao_orb_tests.lst: + +commit 50be4072e9b0d7a243fba7567d69a74c4d06cb5d +Author: Tyler Mayoff +Date: Mon Aug 28 09:53:39 2023 -0400 + + Members initialized in order they were declared + +commit edb24941b3aec55181bf4d42fc90be8f537f5812 +Author: Tyler Mayoff +Date: Mon Aug 28 09:51:57 2023 -0400 + + Initialized seen_in_map_ + +commit ae54a2fc7d4c392266582b8c73625f62e8be569e +Merge: 5cdadecfe06 6c256ad581f +Author: Johnny Willemsen +Date: Mon Aug 28 12:03:58 2023 +0200 + + Merge pull request #2097 from ClausKlein/feature/replace-unary_function + + Replace std::unary_function<> with std::function<> + +commit 3681bd78dde4ebed97fc9480bac2cfa73cee9662 +Author: Fred Hornsey +Date: Thu Aug 24 13:23:24 2023 -0500 + + Remove Semicolon + +commit cbb50c204c880ea9c99c57837926bed287deec48 +Author: Fred Hornsey +Date: Thu Aug 24 12:22:58 2023 -0500 + + Make `ast_visitor::visit_map` a nop impl + +commit 8dbc393cd50106e054eecd56aac878166b2a8cc8 +Author: Tyler +Date: Wed Aug 23 11:10:23 2023 -0400 + + Update NEWS + +commit 6c64cee1608eed305f0cdab75a04717bce07fffa +Merge: 694a7f30a67 bbf82d182c0 +Author: Fred Hornsey +Date: Tue Aug 22 13:07:39 2023 -0500 + + Merge pull request #1842 from tmayoff/maps + + Add IDL4 map support to TAO + +commit b192a376446da1af90f068873b147c0b1fe25e29 +Author: ClausKlein +Date: Tue Aug 22 18:12:19 2023 +0200 + + Replace std::unary_function<> with std::function<> + + (deprecated in C++11) and removed in C++17 + + Add missing #include + + Make the hack clear: + respect review comment + ace/Auto_Ptr.h must still include + +commit bbf82d182c0cc469f55ead4b14c2473218fab0e9 +Author: Tyler +Date: Fri Aug 18 13:44:10 2023 -0400 + + Update TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp + + Co-authored-by: Fred Hornsey + +commit 2564f45e06dbe5fffdbcd1f9459fce27c5ffaead +Author: Tyler +Date: Fri Aug 18 13:44:05 2023 -0400 + + Update TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp + + Co-authored-by: Fred Hornsey + +commit 2b705cfa15b9961e1465c1be31fda51ed5b24eb8 +Author: Johnny Willemsen +Date: Mon Aug 14 10:29:19 2023 +0200 + + Fixed typo in comment + + * TAO/tao/TimeBase.pidl: + +commit 43d328e0c614c6a28d6931932a5140d025f1ee58 +Merge: 061d692f5ff a71b63addfb +Author: Tyler +Date: Tue Aug 8 14:48:48 2023 -0400 + + Merge branch 'master' into maps + +commit 745299b61a507418606f328abfcda08da79c92b9 +Author: Johnny Willemsen +Date: Fri Jul 7 14:53:36 2023 +0200 + + Use nullptr and no need to compare a pointer not equal to zero explicitly + + * TAO/TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: + * TAO/TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp: + * TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp: + +commit f2ee1640940bf46f155352adf34f0bdbbcc6e8e0 +Author: Johnny Willemsen +Date: Wed Jun 28 12:02:01 2023 +0200 + + Make ACE 7.1.1 and TAO 3.1.1 available + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: + +commit a0a132a282accb3a698dbc6fa4b2dc74bea87a2e +Merge: 69a160c7997 ab8e94dd74a +Author: Tyler +Date: Mon Mar 20 23:07:04 2023 -0400 + + Merge branch 'master' into maps + +commit 69a160c799716560e09338a3796ef6cb7547b60a +Author: Tyler Mayoff +Date: Mon Mar 20 23:05:26 2023 -0400 + + C++ sometimes struggles with structs as map keys + +commit 197dc29625cad83d720f81f148cf30963642dc31 +Merge: 00c4af278fa 8ab31e3e5bb +Author: Johnny Willemsen +Date: Tue Jan 31 11:32:05 2023 +0100 + + Merge branch 'master' into maps + +commit 00c4af278fa5264e3ff51d593ce87ed795e79cfe +Merge: 73bdce4f0ac c41ff8c22b3 +Author: Tyler Mayoff +Date: Sat Oct 22 14:30:23 2022 -0400 + + Merge branch 'maps' of https://github.com/tmayoff/ACE_TAO into maps + +commit 73bdce4f0ac19643766958e1f1cedc58f87d6e02 +Author: Tyler Mayoff +Date: Sat Oct 22 14:30:21 2022 -0400 + + switched typedef to using + +commit c41ff8c22b38698ee09335c0dd3ebd946aac056f +Merge: 17cee1b7436 6bc45bf6b34 +Author: Tyler +Date: Sat Oct 22 14:26:37 2022 -0400 + + Merge branch 'master' into maps + +commit 17cee1b74361558ce88c9b7c63b2a256fcb103d1 +Author: Tyler Mayoff +Date: Sat Oct 22 14:25:36 2022 -0400 + + whitespace + +commit 8a1a7ba025df350b2d1d56cd40342185a262cc41 +Author: Tyler Mayoff +Date: Sat Oct 22 14:23:32 2022 -0400 + + added map to node_type_to_string + +commit 735ad0551cc5e2c310f00b31af1616a3f11ad194 +Author: Tyler Mayoff +Date: Sat Oct 22 14:21:01 2022 -0400 + + fixed warnings + +commit 7ccbd1cede35ef5a7355fd2caa3332417e52e381 +Author: Tyler Mayoff +Date: Sat Oct 22 14:17:09 2022 -0400 + + proper map key/val type code gen + +commit e2715553dabbf4808d49c681879a56456636b05b +Author: Tyler Mayoff +Date: Sat Oct 22 14:16:08 2022 -0400 + + remove bounded maps + +commit c9d754ccaa75380ef98b5932715028511989d687 +Author: Tyler Mayoff +Date: Sat Oct 22 14:04:25 2022 -0400 + + fixed cdr op + +commit 6f8fce1c507d3ccb179c60d07c3e9b42961f447a +Author: Tyler Mayoff +Date: Sat Oct 22 13:01:05 2022 -0400 + + removed support for bounded maps + + This was causing issues with the code generation. + A bounded map isn't supported with std::map + +commit bdc650de2ff16972c9b0e9b3e64280f224df08b0 +Author: Tyler Mayoff +Date: Sat Oct 22 00:53:58 2022 -0400 + + Almost working stream operators + +commit 4d1b3d3561b27ba53fd494bcbd2cda195939cda9 +Author: Tyler Mayoff +Date: Tue Oct 18 00:06:29 2022 -0400 + + fixed comments, removed unused + +commit 6ceaada7c54077c188b207ee69fe54906e3010b1 +Author: Tyler Mayoff +Date: Thu Oct 13 18:50:35 2022 -0400 + + cleaned up some generated code + +commit 37b7fba3f87d20f6d910ac3e6e6b16926082ab0b +Merge: 36a3d4e1302 731905bb831 +Author: Johnny Willemsen +Date: Thu Oct 13 17:07:24 2022 +0200 + + Merge branch 'master' into maps + +commit 36a3d4e130256ea2ddd27dcc088fcbf8cd56ef10 +Merge: 45dbc23a979 320486a7926 +Author: Johnny Willemsen +Date: Wed Oct 5 08:36:48 2022 +0200 + + Merge branch 'master' into maps + +commit 45dbc23a979e3aa61244c28dd872ee3aa08e9c2d +Author: Tyler +Date: Fri Sep 30 15:11:43 2022 -0400 + + Update TAO/TAO_IDL/include/ast_generator.h + + Co-authored-by: Adam Mitz + +commit cfc7584a04d2b7b8d69a82d01187fb6edb196c55 +Author: Tyler +Date: Fri Sep 30 15:11:38 2022 -0400 + + Update TAO/TAO_IDL/include/ast_visitor_reifying.h + + Co-authored-by: Adam Mitz + +commit 2d311a57982bdb874095f6c8a6103e5f7fcf1879 +Author: Tyler +Date: Fri Sep 30 15:11:27 2022 -0400 + + Update TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h + + Co-authored-by: Adam Mitz + +commit 9b3324cf5a6478f7fe2fe88c6d6a3ca407245837 +Author: Tyler +Date: Fri Sep 30 15:11:15 2022 -0400 + + Update TAO/TAO_IDL/include/idl_global.h + + Co-authored-by: Adam Mitz + +commit 895416437e66423cc1ad3acab8a2534116982a8a +Merge: 4a3d7ed6969 c8d4a23b971 +Author: Tyler +Date: Tue Sep 6 16:15:47 2022 -0400 + + Merge branch 'master' into maps + +commit 4a3d7ed69699463e0e70c43ff7ff76a0a182d265 +Author: Tyler Mayoff +Date: Fri Aug 19 21:38:38 2022 -0400 + + Typo + +commit 42df71b21849e0d07459e3a13741e72ee8b1fa12 +Author: Tyler Mayoff +Date: Sat Aug 13 14:59:46 2022 -0400 + + another switch + +commit f4789ac31459f9906a3718642ed4a669e04e7aa4 +Author: Tyler Mayoff +Date: Sat Aug 13 14:58:25 2022 -0400 + + Switched to std::snprintf + +commit f223c829718b10ee349cf69fc94c96be9913a8cb +Author: Tyler Mayoff +Date: Sat Aug 13 13:30:28 2022 -0400 + + Fixed recursive type test + +commit d9477512c3b0256d67438426072895669097980b +Author: Tyler Mayoff +Date: Sat Aug 13 13:30:16 2022 -0400 + + Fixed recursion check + + Checks both key and val types + +commit 4dfa44758f2aff38dc78e16bd67d27e2f6ba172f +Author: Tyler Mayoff +Date: Sat Aug 13 13:29:54 2022 -0400 + + regenerated after changes + +commit 73e4e121359c621c4a444e89bb1186b836b9ec69 +Author: Tyler Mayoff +Date: Sat Aug 13 13:27:26 2022 -0400 + + comment + +commit 9caa9c9fb07c9f80f4677d11c18fb6979a9d6087 +Author: Tyler Mayoff +Date: Fri Aug 12 18:37:48 2022 -0400 + + fixed whitespace + +commit 025d75aed6a6324adf146a818cf72aa3492e2bea +Author: Tyler Mayoff +Date: Fri Aug 12 18:27:29 2022 -0400 + + cleaned up old comments + +commit da15886b71026fe6128e0bb1ac475fab4234c13f +Author: Tyler Mayoff +Date: Fri Aug 12 18:21:56 2022 -0400 + + cleaned test file + +commit 38dfb732b22f343624c6b1d10bfc1d6bc8b1247e +Author: Tyler Mayoff +Date: Fri Aug 12 18:21:26 2022 -0400 + + Updated comments / author notes + +commit 3eac49912f4f0bc94433b320b239ab9de61c16c9 +Author: Tyler Mayoff +Date: Sat Aug 6 16:02:31 2022 -0400 + + Created recursive example that fails + +commit 0c31804e6831f11b0a9914547f44267900f8f17f +Author: Tyler Mayoff +Date: Sat Aug 6 16:02:11 2022 -0400 + + typos + +commit e06ccf4fe34c1d94a90d14fb6c9a58db783b48bd +Author: Tyler Mayoff +Date: Thu Aug 4 19:30:51 2022 -0400 + + Fixed issue with names + +commit f55d0fb063fdbd6bd8a9615a072ad86176730a24 +Author: Tyler Mayoff +Date: Fri Jul 22 19:13:01 2022 -0400 + + Started on some more testing + +commit 23700ef9db62646b71e97d76b00f0ee848ddf3c9 +Author: Tyler Mayoff +Date: Fri Jul 22 19:00:20 2022 -0400 + + fixed some things, switched to std::strcmp + +commit b6de86b715ca1bc937520347bdf7dae1a3760349 +Author: Tyler Mayoff +Date: Fri Jul 22 18:59:18 2022 -0400 + + Formatted + +commit 90f9feb17103d46cb8e99dc1a6836c93190d55c4 +Author: Tyler Mayoff +Date: Tue Jul 12 17:59:13 2022 -0400 + + Fixed error messaging in ifr_adding_visitor + +commit d1bf737bf7e59327c1a2d85c446cf5455357d86a +Author: Tyler Mayoff +Date: Thu Jul 7 18:19:28 2022 -0400 + + Removed comments + +commit 508cb9548ea0fe1f778da16e3fe97c360cc5f795 +Author: Tyler Mayoff +Date: Thu Jul 7 18:10:45 2022 -0400 + + Fixed formatting + +commit 1cb036a913f9a9d4f15a3bbe40ec630e71aed7ce +Author: Tyler Mayoff +Date: Thu Jul 7 18:09:07 2022 -0400 + + Fixed TAO_IDL_IDL_VERSION macro + +commit f8e8e5df074f35f726b067af6108b082629bef46 +Author: Tyler Mayoff +Date: Tue Jul 5 20:33:51 2022 -0400 + + cleaned up default destructors + using is_empty + +commit af034d4d6937736f200b3edd6dfe30ac925d7cbc +Author: Tyler Mayoff +Date: Wed Jun 29 17:55:30 2022 -0400 + + Cleaned up some final comments and stubbed code and fixed formatting + +commit cbedd95c8be8b17c93497965c5cc2ff4747ff92c +Author: Tyler Mayoff +Date: Mon Jun 27 18:47:17 2022 -0400 + + Fixed double free error + +commit 3b736f576c32e8f293b4b2f1a13a24fcbaa50253 +Author: Tyler Mayoff +Date: Mon Jun 27 18:47:07 2022 -0400 + + Cleaned up the maps test + +commit 51ad46b22123ae719b7c5a2b6689d0865c1fa5dd +Author: Tyler Mayoff +Date: Sun Jun 26 16:13:26 2022 -0400 + + added ast_map.h to ast.h + +commit 51b71fde4e77c7e143a9c991f10f1e03a62758d0 +Author: Tyler Mayoff +Date: Sat Jun 25 12:00:37 2022 -0400 + + No more generated warnings and fixed the last codacy warning + +commit 922bc3f225150db7b42c6edb5312734f00fdadd8 +Author: Tyler Mayoff +Date: Fri Jun 24 18:24:56 2022 -0400 + + cleaned up some warnings + +commit 3af0ed44f1c72ef9528c1b0ef49c8ea51f56510e +Merge: 4cff93034b4 94d132b1738 +Author: Tyler Mayoff +Date: Fri Jun 24 18:22:19 2022 -0400 + + Merge branch 'master' into maps + +commit 4cff93034b471109e12cda6dcbd8a49b6a23f6d9 +Author: Tyler Mayoff +Date: Fri Jun 24 16:29:08 2022 -0400 + + used the wrong vars for the check + +commit 11077a8a0b82fb60cc2ce5b3bc4fe78d6a17ffad +Author: Tyler Mayoff +Date: Fri Jun 24 15:44:44 2022 -0400 + + Should silence the codacy check + +commit 94eecfccdba534a8912c370256436c27a868e400 +Author: Tyler Mayoff +Date: Fri Jun 24 09:44:51 2022 -0400 + + generating include conditionally + +commit 53d65daa963da57b3d4236a9bd53ef17c8c0357b +Author: Tyler Mayoff +Date: Fri Jun 24 08:28:52 2022 -0400 + + whitespace + +commit 95b7517fef11ec15a99f0d06f9bdf8eed96677f3 +Author: Tyler Mayoff +Date: Fri Jun 24 08:27:43 2022 -0400 + + whitespace + +commit e5df3047c579041b40a53ef846c3af913c024fa4 +Author: Tyler Mayoff +Date: Fri Jun 24 08:26:48 2022 -0400 + + Finished test + +commit 243b7382a6281afe90f388e327725ca954648647 +Author: Tyler Mayoff +Date: Fri Jun 24 08:14:00 2022 -0400 + + generating typedefs + maps with maps as values + +commit 0a2d7a4b1487a6f43de1895c0130232ebd61c546 +Author: Tyler Mayoff +Date: Thu Jun 23 22:58:20 2022 -0400 + + removed whitespace + +commit db20a3a206d57235fefdda93f05d5793ff29d712 +Author: Tyler Mayoff +Date: Thu Jun 23 22:42:18 2022 -0400 + + Fixed static analysis + +commit 2b7f3b4d0189f9cfc51053482831477f8d2043c5 +Author: Tyler Mayoff +Date: Thu Jun 23 22:36:20 2022 -0400 + + more cleanup of stubbed code + +commit 30848dd121daa761f099696810190acd55136e03 +Author: Tyler Mayoff +Date: Thu Jun 23 21:43:44 2022 -0400 + + code generation working properly + + Map with anonymous maps not working yet + +commit ba4c11669731439d6c1a05d7386e14b6aa3b6b8e +Author: Tyler Mayoff +Date: Wed Jun 22 20:25:31 2022 -0400 + + Fixed fuzzing + +commit 26b45ba2ca881ea99e04c4ebf57ffeabceb5bc4e +Merge: db2924baf25 587bacedd8b +Author: Tyler +Date: Sun Jun 19 21:30:23 2022 -0400 + + Merge branch 'DOCGroup:master' into maps + +commit db2924baf25546bfb0572899e2d02082ecec4094 +Author: Tyler Mayoff +Date: Sun Jun 19 20:56:16 2022 -0400 + + Updated test, and stubbed stream operators + +commit 8a730f94b6b29b83ba9232946da5cf9904be1c7e +Author: Tyler Mayoff +Date: Sat Jun 18 21:22:10 2022 -0400 + + Cleaned up CDR progress + +commit 7a016b6c84fac1b6daa39761824bb14be174f679 +Author: Tyler Mayoff +Date: Fri Jun 17 21:00:19 2022 -0400 + + Fixed fuzzing + +commit fb88c10cf5fc88479452feaeabe382107bf38e52 +Author: Tyler Mayoff +Date: Fri Jun 17 20:56:51 2022 -0400 + + remove whitespace + +commit 52939b71add7e674e2cc02868f3afd6b1f434944 +Author: Tyler Mayoff +Date: Fri Jun 17 20:53:29 2022 -0400 + + updated include + +commit ad0d7dc97e70c6c5d895ae31193247310769d4a5 +Author: Tyler Mayoff +Date: Fri Jun 17 20:15:22 2022 -0400 + + Cleaned up some be_map functions + +commit facd12c3ff0a5f995c164e904da0154b9fea133d +Author: Tyler Mayoff +Date: Thu Jun 16 21:06:59 2022 -0400 + + Fixed fuzz + +commit 67ec6bad45bbb567f027e83e8df857ce27c1e97a +Author: Tyler Mayoff +Date: Thu Jun 16 21:00:48 2022 -0400 + + Removed whitespaces + +commit 7b4251e54ba02e71e94bdb5cd1e3b76c55b7aa37 +Author: Tyler Mayoff +Date: Thu Jun 16 20:57:13 2022 -0400 + + maps almost being generated via code, still very messy + +commit cbe7b95a934e874542f693de5f332fbf5a81c406 +Merge: fd1f1baf024 21cb902c2e5 +Author: Tyler +Date: Tue Jun 14 19:29:24 2022 -0400 + + Merge branch 'DOCGroup:master' into maps + +commit fd1f1baf024f53c46e0ace99d8a3a54985c736dd +Author: Tyler Mayoff +Date: Fri Jun 10 21:56:43 2022 -0400 + + Added maps in the idl_features + +commit e677ed0398342e04b5f493d5a9559ef8bc36df1a +Author: Tyler Mayoff +Date: Wed Jun 8 18:30:26 2022 -0400 + + added map_head rules to parser, for proper null scope + +commit b4e0d4bfbde941b6cd663e9bd3ba4422a0670962 +Author: Tyler Mayoff +Date: Fri Jun 3 21:18:35 2022 -0400 + + Fixed typo + +commit 3cbb2c83862d48161883a11d34ea806fb98c0045 +Author: Tyler Mayoff +Date: Fri Jun 3 21:09:56 2022 -0400 + + fixed whitespace + +commit aa6f53e100ae532f37d67a70d493bd1e0209c08c +Author: Tyler Mayoff +Date: Fri Jun 3 21:08:24 2022 -0400 + + removed whitespace + +commit 00099e694c5d415386a105afd98311a6d5387adc +Author: Tyler Mayoff +Date: Fri Jun 3 21:04:24 2022 -0400 + + Updated idl for null scope + +commit 42c8ff76ccda538223e0664f65de4cd5fa42f287 +Author: Tyler Mayoff +Date: Fri Jun 3 20:14:48 2022 -0400 + + Updated bison, pushing null scope + +commit 17a670ad1d51f425f82dd3fbb4b9dafdb4437b32 +Author: Tyler Mayoff +Date: Fri Jun 3 20:13:34 2022 -0400 + + key_type + value_type code, and cleanup + +commit 06a095923fa6d722738eba9a5e721aff3b7c544d +Author: Tyler Mayoff +Date: Thu Jun 2 20:33:17 2022 -0400 + + fixes based on the code review + +commit d6d2babde4b3ad5e1f94de008e7c778c8dfc07c8 +Author: Tyler Mayoff +Date: Wed Jun 1 21:21:08 2022 -0400 + + cleaned up + +commit 78a6345eb1a1a6d553322f804a481fb81d0a5172 +Author: Tyler Mayoff +Date: Wed May 25 21:35:42 2022 -0400 + + trailing whitespace + +commit f154d189c948af51e9089e9e7cb69cca62d19bc0 +Author: Tyler Mayoff +Date: Wed May 25 21:32:15 2022 -0400 + + removed whitespace + +commit 8a9729e0f28e5b8ead9cb0f4fae9c26481b981be +Author: Tyler Mayoff +Date: Wed May 25 21:31:16 2022 -0400 + + Simplified bison + +commit 9c6922836a9ca536b2dd180b491c31e0bb02435d +Author: Tyler Mayoff +Date: Wed May 25 20:48:45 2022 -0400 + + Adding bounds to bison + +commit 8a7f735e2452bcbfbec015d4b87167e85e735ab6 +Author: Tyler Mayoff +Date: Tue May 24 21:47:06 2022 -0400 + + ifr_visitor + +commit fc6f206a73db335d21f32ddae377b66677743425 +Author: Tyler Mayoff +Date: Mon May 23 12:07:47 2022 -0400 + + Removed blank lines + +commit 2686e77cd9b6d896e4bc7513c0b4d1bad6b85f3c +Author: Tyler Mayoff +Date: Mon May 23 11:49:30 2022 -0400 + + Added functions for ast_visitor + +commit 6e51d1036f970fc20be9578743ce03ffaf9019bc +Merge: f99f4601dd1 067a8513e10 +Author: Tyler Mayoff +Date: Sun May 22 22:55:22 2022 -0400 + + Merge branch 'maps' of github.com:tmayoff/ACE_TAO into maps + +commit f99f4601dd18911c36c816629098040ce6b7ec85 +Author: Tyler Mayoff +Date: Sun May 22 22:54:19 2022 -0400 + + More ast + +commit 067a8513e100e5e6c0721e707444aaa8d90aee2e +Merge: 1ff3a930772 ef9ea413c1a +Author: Tyler +Date: Sun May 22 22:49:16 2022 -0400 + + Merge branch 'DOCGroup:master' into maps + +commit 1ff3a9307721e6c453421a87802a718e7be762a1 +Author: Tyler Mayoff +Date: Sun May 22 22:47:03 2022 -0400 + + Updated flex and bison + +commit 6e4f5bbc7231decf920d46c962a7665e0032d9a5 +Author: Tyler Mayoff +Date: Sun May 22 22:44:31 2022 -0400 + + Added AST for map + +commit 3c34706b1bdc301d07d3f79d9d146b100e3f176d +Author: Tyler Mayoff +Date: Sun May 22 22:39:38 2022 -0400 + + Fixed test.idl + +commit c9384eb98b90084998ed8df87557d6fb33c85faa +Author: Tyler Mayoff +Date: Sat May 21 13:48:26 2022 -0400 + + Added a test for maps diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index f1604a85b5be9..9a0692f43c55e 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 3.1.1 - ACE VERSION: 7.1.1 + TAO VERSION: 3.1.2 + ACE VERSION: 7.1.2 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index cc1bd85a604d4..1e995b9382e7e 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 3.1.1, released Wed Jun 28 11:39:14 CEST 2023 +This is TAO version 3.1.2, released Mon Oct 30 07:57:01 CET 2023 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index fe55f21e64ad6..8798813d30f0c 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -4,7 +4,7 @@ #define TAO_MAJOR_VERSION 3 #define TAO_MINOR_VERSION 1 -#define TAO_MICRO_VERSION 1 -#define TAO_VERSION "3.1.1" -#define TAO_VERSION_CODE 0x30101 +#define TAO_MICRO_VERSION 2 +#define TAO_VERSION "3.1.2" +#define TAO_VERSION_CODE 0x30102 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From c9c19d844a1ca78ab287023c48ffa2e740c8bfc2 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 30 Oct 2023 08:22:34 +0100 Subject: [PATCH 249/445] Make x.1.2 publicly available * ACE/NEWS: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: * TAO/NEWS: --- ACE/NEWS | 3 + .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 64 +++++++++---------- ACE/etc/index.html | 1 + TAO/NEWS | 3 + 5 files changed, 40 insertions(+), 33 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index 4311ffdfc96c5..086505e0814aa 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN ACE-7.1.2 and ACE-7.1.3 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-7.1.1 and ACE-7.1.2 ==================================================== diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index c7862bad5436b..5600d0d4e9015 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2023_06_28; else olddate=$3; fi +if test -z $3; then olddate=2023_10_30; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index 20a57bcfeb5de..a10c35dd4cfef 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,81 +90,81 @@

            Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

              -
            • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.1 and TAO 3.1.1 -(ACE+TAO x.1.1), please use the links below to download it.

              +

            • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.2 and TAO 3.1.2 +(ACE+TAO x.1.2), please use the links below to download it.

              - - - - - - - - - - - - - - -
              FilenameDescriptionFullSources only
              ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
              ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
              ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
              ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
              ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
              ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
              ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
              ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
              ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
              diff --git a/ACE/etc/index.html b/ACE/etc/index.html index 3ed2caeb203a2..58e1d6a575a89 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

              ACE+TAO Documentation


              We do have the documentation for previous releases
                +
              • 7.1.2

              • 7.1.1

              • 7.1.0

              • 7.0.11

              • diff --git a/TAO/NEWS b/TAO/NEWS index 726bff05ff973..c0637038fac33 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN TAO-3.1.2 and TAO-3.1.3 +==================================================== + USER VISIBLE CHANGES BETWEEN TAO-3.1.1 and TAO-3.1.2 ==================================================== From 1b2a86a2057f96fff3d72e8d2269d6b68c3a8da5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 30 Oct 2023 08:23:58 +0100 Subject: [PATCH 250/445] Next release * ACE/bin/copy-local-script.sh: --- ACE/bin/copy-local-script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index 34f50086f73eb..02fc5f13f4a5a 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.2&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.3&/'` echo "Copying $i to $d" cp -ip $i $d done From bd35628db2ff60209d947222f4c1adaac412a841 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 9 Nov 2023 09:05:58 +0100 Subject: [PATCH 251/445] Add support for a non const CMSG_SPACE macro, some code is disabled at that moment * ACE/ace/SOCK_Dgram.cpp: * ACE/ace/config-qnx.h: --- ACE/ace/SOCK_Dgram.cpp | 10 +++++----- ACE/ace/config-qnx.h | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ACE/ace/SOCK_Dgram.cpp b/ACE/ace/SOCK_Dgram.cpp index 8b8e1a6f0b95b..100181430254c 100644 --- a/ACE/ace/SOCK_Dgram.cpp +++ b/ACE/ace/SOCK_Dgram.cpp @@ -311,12 +311,12 @@ ACE_SOCK_Dgram::recv (iovec iov[], #define ACE_USE_MSG_CONTROL union control_buffer { cmsghdr control_msg_header; -#if defined (IP_RECVDSTADDR) +#if defined (IP_RECVDSTADDR) && !defined (ACE_HAS_NONCONST_CMSG_SPACE) u_char padding[ACE_CMSG_SPACE (sizeof (in_addr))]; -#elif defined (IP_PKTINFO) +#elif defined (IP_PKTINFO) && !defined (ACE_HAS_NONCONST_CMSG_SPACE) u_char padding[ACE_CMSG_SPACE (sizeof (in_pktinfo))]; #endif -#if defined (ACE_HAS_IPV6) +#if defined (ACE_HAS_IPV6) && !defined (ACE_HAS_NONCONST_CMSG_SPACE) u_char padding6[ACE_CMSG_SPACE (sizeof (in6_pktinfo))]; #endif } cbuf; @@ -349,7 +349,7 @@ ACE_SOCK_Dgram::recv (iovec iov[], if (to_addr) { this->get_local_addr (*to_addr); if (to_addr->get_type() == AF_INET) { -#if defined (IP_RECVDSTADDR) || defined (IP_PKTINFO) +#if (defined (IP_RECVDSTADDR) || defined (IP_PKTINFO)) && !defined (ACE_HAS_NONCONST_CMSG_SPACE) for (cmsghdr *ptr = ACE_CMSG_FIRSTHDR (&recv_msg); ptr; ptr = ACE_CMSG_NXTHDR (&recv_msg, ptr)) { #if defined (IP_RECVDSTADDR) if (ptr->cmsg_level == IPPROTO_IP && ptr->cmsg_type == IP_RECVDSTADDR) { @@ -369,7 +369,7 @@ ACE_SOCK_Dgram::recv (iovec iov[], } #endif } -#if defined (ACE_HAS_IPV6) && defined (IPV6_PKTINFO) +#if defined (ACE_HAS_IPV6) && defined (IPV6_PKTINFO) && !defined (ACE_HAS_NONCONST_CMSG_SPACE) else if (to_addr->get_type() == AF_INET6) { for (cmsghdr *ptr = ACE_CMSG_FIRSTHDR (&recv_msg); ptr; ptr = ACE_CMSG_NXTHDR (&recv_msg, ptr)) { if (ptr->cmsg_level == IPPROTO_IPV6 && ptr->cmsg_type == IPV6_PKTINFO) { diff --git a/ACE/ace/config-qnx.h b/ACE/ace/config-qnx.h index 58b90847c0049..d2983756575c4 100644 --- a/ACE/ace/config-qnx.h +++ b/ACE/ace/config-qnx.h @@ -138,6 +138,8 @@ # define ACE_SIZEOF_DOUBLE 8 # define ACE_SIZEOF_FLOAT 4 # define _POSIX_C_SOURCE 199506 +#else +# define ACE_HAS_NONCONST_CMSG_SPACE #endif #define ACE_LACKS_ISCTYPE From f2bfbf8ce64ec3d34aa9ad369f9515be3b33ae59 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 22 Nov 2023 11:16:44 +0100 Subject: [PATCH 252/445] Identation change * ACE/ace/Future.cpp: --- ACE/ace/Future.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/Future.cpp b/ACE/ace/Future.cpp index 311d9df096a60..0fe3d4a608b1f 100644 --- a/ACE/ace/Future.cpp +++ b/ACE/ace/Future.cpp @@ -245,7 +245,7 @@ ACE_Future_Rep::attach (ACE_Future_Observer *observer, if (this->value_ == 0) result = this->observer_collection_.insert (observer); else - observer->update (caller); + observer->update (caller); return result; } From f605c601d506dcffa828b10e28904ab0d7690825 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 22 Nov 2023 11:17:25 +0100 Subject: [PATCH 253/445] Upgrade to vcpkg 2023.11.20 * .github/workflows/windows.yml: --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8245444c68e46..5e758873af7bf 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: 5b1214315250939257ef5d62ecdcbca18cf4fb1c + vcpkgGitCommitId: a42af01b72c28a8e1d7b48107b33e4f286a55ef6 runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From 160a687e5c78f0d83099c068e3cd051af7e25824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Cie=C5=9Blak?= Date: Sat, 25 Nov 2023 03:06:02 +0100 Subject: [PATCH 254/445] Build on FreeBSD 15.0 ACE builds now with __FreeBSD_version 1500001 --- ACE/ace/config-freebsd.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ACE/ace/config-freebsd.h b/ACE/ace/config-freebsd.h index f3c423a77b557..ceef9fc2a902b 100644 --- a/ACE/ace/config-freebsd.h +++ b/ACE/ace/config-freebsd.h @@ -43,7 +43,6 @@ #define ACE_HAS_POSIX_TIME #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS #define ACE_HAS_RTLD_LAZY_V -#define ACE_HAS_SEMUN #define ACE_HAS_SIGISMEMBER_BUG #define ACE_HAS_SIGSUSPEND #define ACE_HAS_SIGWAIT @@ -182,6 +181,14 @@ enum schedparam_policy { # define ACE_HAS_VOID_UNSETENV #endif +#if (__FreeBSD_version >= 800025) +# define ACE_HAS_CPUSET_T +#endif + +#if (__FreeBSD_version < 1200059) +# define ACE_HAS_SEMUN +#endif + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_H */ From 7e06ab1addf4df12d774fbb1a4fdf44b1d03ae39 Mon Sep 17 00:00:00 2001 From: Steve Huston Date: Fri, 1 Dec 2023 17:59:11 +0000 Subject: [PATCH 255/445] Change running_count_ to atomic to ensure accurate values across cores/CPUs. --- ACE/ace/Barrier.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ACE/ace/Barrier.h b/ACE/ace/Barrier.h index 12130f71a57dc..cc6dadea646d0 100644 --- a/ACE/ace/Barrier.h +++ b/ACE/ace/Barrier.h @@ -45,6 +45,7 @@ ACE_END_VERSIONED_NAMESPACE_DECL #else /* ACE_HAS_THREADS */ +#include "ace/Atomic_Op.h" #include "ace/Condition_Thread_Mutex.h" ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -63,7 +64,7 @@ struct ACE_Export ACE_Sub_Barrier ACE_Condition_Thread_Mutex barrier_finished_; /// Number of threads that are still running. - int running_threads_; + ACE_Atomic_Op running_threads_; /// Dump the state of an object. void dump () const; From 4939d6b723293824d970788a7726b222cdf8ca2b Mon Sep 17 00:00:00 2001 From: Steve Huston Date: Fri, 1 Dec 2023 22:04:44 +0000 Subject: [PATCH 256/445] Change to C++ std::atomic --- ACE/ace/Barrier.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/ace/Barrier.h b/ACE/ace/Barrier.h index cc6dadea646d0..33356c0b3225c 100644 --- a/ACE/ace/Barrier.h +++ b/ACE/ace/Barrier.h @@ -45,7 +45,7 @@ ACE_END_VERSIONED_NAMESPACE_DECL #else /* ACE_HAS_THREADS */ -#include "ace/Atomic_Op.h" +#include #include "ace/Condition_Thread_Mutex.h" ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -64,7 +64,7 @@ struct ACE_Export ACE_Sub_Barrier ACE_Condition_Thread_Mutex barrier_finished_; /// Number of threads that are still running. - ACE_Atomic_Op running_threads_; + std::atomic running_threads_; /// Dump the state of an object. void dump () const; From 4df4192f41c078099fddbbad68d212263137184f Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Fri, 8 Dec 2023 12:18:25 -0600 Subject: [PATCH 257/445] Added a script install_proj.sh that can be used to run make install --- ACE/ACE-INSTALL.html | 9 ++++++--- ACE/bin/install_proj.mk | 15 +++++++++++++++ ACE/bin/install_proj.sh | 13 +++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 ACE/bin/install_proj.mk create mode 100755 ACE/bin/install_proj.sh diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index 17a2ca5b2db02..22cd80cdeaf4f 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -77,7 +77,7 @@

                Synopsis

              • Working with ACE in Eclipse
              • Advanced Topics
              • Building from git
              • -
              +


            @@ -329,7 +329,7 @@

            Using the Traditional ACE/GNU Configuration - TSCH/CSH: + TCSH/CSH: setenv ACE_ROOT /home/cs/faculty/schmidt/ACE_wrappers
            @@ -427,6 +427,9 @@

            Using the Traditional ACE/GNU Configuration
          • If you've set the INSTALL_PREFIX before building, now run
            % make install
            +

            An alternative to directly running make install is to use $ACE_ROOT/bin/install_proj.sh + which will only install projects that are built (instead of trying to build each one during make install). +

          • If you need to regenerate the ace/Svc_Conf_y.cpp file, you'll need to @@ -2469,7 +2472,7 @@

            Compiling ACE with GNU g++

            If you use the GNU GCC g++ compiler please note the following:
              -

            • ACE/TAO needs g++ 4.8 or better. Older versions are not usable anymore

              +

            • ACE/TAO needs g++ 4.8 or better. Older versions are not usable anymore

            • Make sure to update your gcc config.status file. This file is produced when installing gcc; it specifies diff --git a/ACE/bin/install_proj.mk b/ACE/bin/install_proj.mk new file mode 100644 index 0000000000000..7884d811be2a6 --- /dev/null +++ b/ACE/bin/install_proj.mk @@ -0,0 +1,15 @@ +include $(PROJECT_MAKEFILE) + +POTENTIAL_FILES = $(BIN_UNCHECKED) $(SHLIB_UNCHECKED) $(LIB_UNCHECKED) +ACTUAL_FILES := $(wildcard $(POTENTIAL_FILES)) + +.PHONY: checked-install +ifeq ($(ACTUAL_FILES),) +checked-install: + @echo Skipping $(PROJECT_MAKEFILE:GNUmakefile.%=%), not built +else +.PHONY: checked-install-message +checked-install-message: + @echo Installing $(ACTUAL_FILES) +checked-install: checked-install-message install +endif diff --git a/ACE/bin/install_proj.sh b/ACE/bin/install_proj.sh new file mode 100755 index 0000000000000..468dfe10f76bb --- /dev/null +++ b/ACE/bin/install_proj.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# ACE's "make install" for an MPC-generated workspace will build all targets that aren't yet built +# This script looks for projects that have been built and installs just those projects +this_dir=$(realpath $(dirname $0)) +for makefile in $(find . -type f -name 'GNUmakefile.*'); do + if grep -q 'GNU Makefile' $makefile; then + echo Checking $makefile + cd $(dirname $makefile) + make -f $this_dir/install_proj.mk PROJECT_MAKEFILE=$(basename $makefile) checked-install "$@" + cd - >/dev/null + fi +done From ee67b0516f51c3d722989e4b0e735dc1ae5596c6 Mon Sep 17 00:00:00 2001 From: Sudip Mukherjee Date: Wed, 13 Dec 2023 14:15:40 +0000 Subject: [PATCH 258/445] Sync debian/* files for ACE Signed-off-by: Sudip Mukherjee --- ACE/debian/changelog | 58 +++++++++++++++++++- ACE/debian/control | 2 +- ACE/debian/libace-7.1.2.lintian-overrides | 1 + ACE/debian/libacexml-7.1.2.lintian-overrides | 1 + ACE/debian/mpc-ace.install | 1 - ACE/debian/rules | 6 -- ACE/debian/source/lintian-overrides | 2 + ACE/debian/upstream/metadata | 2 + 8 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 ACE/debian/libace-7.1.2.lintian-overrides create mode 100644 ACE/debian/libacexml-7.1.2.lintian-overrides create mode 100644 ACE/debian/source/lintian-overrides create mode 100644 ACE/debian/upstream/metadata diff --git a/ACE/debian/changelog b/ACE/debian/changelog index c1286aaa8b97a..52de558dc5367 100644 --- a/ACE/debian/changelog +++ b/ACE/debian/changelog @@ -1,3 +1,57 @@ +ace (7.1.2+dfsg-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sudip Mukherjee Wed, 06 Dec 2023 17:28:25 +0000 + +ace (7.1.2+dfsg-1) experimental; urgency=medium + + * Team upload. + + [ Debian Janitor ] + * Set upstream metadata fields: Repository-Browse. + * Fix day-of-week for changelog entries 5.4.7-4, 5.4-3. + + [ Sudip Mukherjee ] + * Update to upstream v7.1.2 + - Sync debian/* files with upstream. + - Use common changelog, MPC/ChangeLog has been removed by upstream. + * Update Standards-Version to 4.6.2 + * Add linitan overrides. + + -- Sudip Mukherjee Fri, 01 Dec 2023 20:51:44 +0000 + +ace (7.0.8+dfsg-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sudip Mukherjee Fri, 02 Sep 2022 10:31:52 +0100 + +ace (7.0.8+dfsg-1) experimental; urgency=medium + + * Team upload. + * Update to upstream v7.0.8 + - Sync debian/* with upstream. + + -- Sudip Mukherjee Fri, 26 Aug 2022 18:12:01 +0100 + +ace (7.0.7+dfsg-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sudip Mukherjee Sun, 12 Jun 2022 01:06:07 +0100 + +ace (7.0.7+dfsg-1) experimental; urgency=medium + + * Team upload. + * Update to upstream v7.0.7 + - Sync debian/* with upstream. + + -- Sudip Mukherjee Sun, 29 May 2022 22:45:34 +0100 + ace (7.0.6+dfsg-2) unstable; urgency=medium * Team upload. @@ -908,7 +962,7 @@ ace (5.4.7-4) unstable; urgency=medium Update: Even on i386, cpp-4.0 produces Internal Compiler Errors(ICEs). For this reason, cpp-3.4 will be used instead (but with gcc/g++ 4.0. - -- Konstantinos Margaritis Mon, 4 Oct 2005 03:21:20 +0300 + -- Konstantinos Margaritis Tue, 04 Oct 2005 03:21:20 +0300 ace (5.4.7-3) unstable; urgency=low @@ -1068,7 +1122,7 @@ ace (5.4-3) unstable; urgency=low until 5.4.1 is released (mid-march). Closes: #233890 - -- Konstantinos Margaritis Wed, 28 Feb 2004 15:53:30 +0200 + -- Konstantinos Margaritis Sat, 28 Feb 2004 15:53:30 +0200 ace (5.4-2) unstable; urgency=low diff --git a/ACE/debian/control b/ACE/debian/control index 5558c39567256..e7dd2a1e359e3 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -5,7 +5,7 @@ Maintainer: Debian ACE maintainers Uploaders: Thomas Girard , Johnny Willemsen Build-Depends: debhelper-compat (=13), libssl-dev, libxt-dev (>= 4.3.0), libfltk1.3-dev, tk-dev (>= 8.5), libfox-1.6-dev, docbook-to-man, libxerces-c-dev Build-Depends-Indep: doxygen, graphviz -Standards-Version: 4.6.0.1 +Standards-Version: 4.6.2 Vcs-Git: https://salsa.debian.org/debian/ace.git Vcs-Browser: https://salsa.debian.org/debian/ace Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html diff --git a/ACE/debian/libace-7.1.2.lintian-overrides b/ACE/debian/libace-7.1.2.lintian-overrides new file mode 100644 index 0000000000000..aaf5ba95a9069 --- /dev/null +++ b/ACE/debian/libace-7.1.2.lintian-overrides @@ -0,0 +1 @@ +library-not-linked-against-libc diff --git a/ACE/debian/libacexml-7.1.2.lintian-overrides b/ACE/debian/libacexml-7.1.2.lintian-overrides new file mode 100644 index 0000000000000..aaf5ba95a9069 --- /dev/null +++ b/ACE/debian/libacexml-7.1.2.lintian-overrides @@ -0,0 +1 @@ +library-not-linked-against-libc diff --git a/ACE/debian/mpc-ace.install b/ACE/debian/mpc-ace.install index 81257babeb9e1..5cb9ee2781975 100644 --- a/ACE/debian/mpc-ace.install +++ b/ACE/debian/mpc-ace.install @@ -4,5 +4,4 @@ usr/share/ace/bin/MakeProjectCreator usr/lib/ace/bin ../../MPC/modules usr/lib/ace/MPC ../../MPC/templates usr/lib/ace/MPC ../../MPC/*.pl usr/lib/ace/MPC -../../MPC/ChangeLog usr/lib/ace/MPC ../../bin/PerlACE/*.pm usr/lib/ace/bin/PerlACE diff --git a/ACE/debian/rules b/ACE/debian/rules index 14f7723d0439a..a1da33ba2c31a 100755 --- a/ACE/debian/rules +++ b/ACE/debian/rules @@ -100,12 +100,6 @@ override_dh_auto_clean: override_dh_compress: dh_compress -Xexamples -# ACE+TAO has different changelogs. Use the right one in every package. -override_dh_installchangelogs: - dh_installchangelogs -pmpc-ace MPC/ChangeLog - dh_installchangelogs --remaining-packages \ - ChangeLogs/ACE-$(ACE_MAJOR_VERSION)_$(ACE_MINOR_VERSION)_$(ACE_MICRO_VERSION) - override_dh_fixperms: ifneq (,$(filter libace-doc, $(shell dh_listpackages))) find debian -name '*.pl' | xargs -r sed -i -e '1i#!/usr/bin/perl' diff --git a/ACE/debian/source/lintian-overrides b/ACE/debian/source/lintian-overrides new file mode 100644 index 0000000000000..7920a7d6bb0f0 --- /dev/null +++ b/ACE/debian/source/lintian-overrides @@ -0,0 +1,2 @@ +# line length is 664 characters (>512) +ace source: source-is-missing [docs/bczar/bczar.html] diff --git a/ACE/debian/upstream/metadata b/ACE/debian/upstream/metadata new file mode 100644 index 0000000000000..32655d666e2b4 --- /dev/null +++ b/ACE/debian/upstream/metadata @@ -0,0 +1,2 @@ +--- +Repository-Browse: https://github.com/DOCGroup/ACE_TAO From 5c55d4bad28ef61b1982d7f72c49675c661a1bf6 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 15 Dec 2023 13:22:37 +0100 Subject: [PATCH 259/445] Upgrade to vcpkg 2023.12.12 --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 5e758873af7bf..b35c6869050cc 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: a42af01b72c28a8e1d7b48107b33e4f286a55ef6 + vcpkgGitCommitId: c8696863d371ab7f46e213d8f5ca923c4aef2a00 runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From aff01f0cd1c8ff9cdf258fa2ab19bc178f488904 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 11:25:57 +0000 Subject: [PATCH 260/445] Bump github/codeql-action from 2 to 3 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 66f116a7f6189..c95cc80a0a2a8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -220,7 +220,7 @@ jobs: if: matrix.optional_feature != '' shell: pwsh - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: cpp if: matrix.feature == 'CodeQL' @@ -258,7 +258,7 @@ jobs: make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4 shell: pwsh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 if: matrix.feature == 'CodeQL' - name: Install TAO_ACE workspace run: | From 30ab3c0586b7413490e98f181f4db0528c3f2119 Mon Sep 17 00:00:00 2001 From: nfrmtkr Date: Mon, 8 Jan 2024 10:03:39 +0100 Subject: [PATCH 261/445] Update Future.h Fixed a race condition caused by the double checked locking pattern by using an std::atomic that ensures correct and deterministic create and assignment logic. --- ACE/ace/Future.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/Future.h b/ACE/ace/Future.h index e07756fc8807c..579cc4e70038b 100644 --- a/ACE/ace/Future.h +++ b/ACE/ace/Future.h @@ -197,7 +197,7 @@ class ACE_Future_Rep int ready () const; /// Pointer to the result. - T *value_; + std::atomic value_; /// Reference count. int ref_count_; From 13cafcfb76ed29d6687b5c8a7211e40dd142e944 Mon Sep 17 00:00:00 2001 From: Frank Hilliger Date: Tue, 9 Jan 2024 18:08:47 +0100 Subject: [PATCH 262/445] #2179: Fixed a race condition caused by the double checked locking pattern - test case --- ACE/tests/Future_Stress_Test.cpp | 148 +++++++++++++++++++++++++++++++ ACE/tests/run_test.lst | 1 + ACE/tests/tests.mpc | 8 ++ 3 files changed, 157 insertions(+) create mode 100644 ACE/tests/Future_Stress_Test.cpp diff --git a/ACE/tests/Future_Stress_Test.cpp b/ACE/tests/Future_Stress_Test.cpp new file mode 100644 index 0000000000000..66ff531376022 --- /dev/null +++ b/ACE/tests/Future_Stress_Test.cpp @@ -0,0 +1,148 @@ + +//============================================================================= +/** + * @file Future_Stress_Test.cpp + * + * This example tests the ACE Future set() and get() operations in + * multithreaded environment and concurrent access. + * + * Usage: Future_Stress_Test [-t ] + * [-n ] + * + * @see https://github.com/DOCGroup/ACE_TAO/issues/2163 + * + * @author Andres Kruse + */ +//============================================================================= + +#include "test_config.h" +#include +#include +#include +#include + +#include + + +#if defined (ACE_HAS_THREADS) + +struct Worker_Config +{ + int a; + int b; + int c; + ACE_Future result; +}; + +void* worker (void* args) +{ + Worker_Config* config = static_cast(args); + int r = config->a + config->b * config->c; + config->result.set(r); + + return 0; +} + +void* runner (void* args) +{ + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner start\n"))); + + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> dis(1,1000000); + ACE_Time_Value* duration = static_cast(args); + ACE_Countdown_Time timer(duration); + timer.start(); + uint64_t runNum = 0; + do + { + if( ++runNum % 5000 == 0 ) + { + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner iteration %u\n"), runNum)); + } + ACE_Future result; + Worker_Config config; + config.a = dis(gen); + config.b = dis(gen); + config.c = dis(gen); + config.result = result; + ACE_hthread_t thread_id; + int expected_res = config.a+config.b*config.c; + int actual_res = -1; + if (ACE_Thread::spawn((ACE_THR_FUNC)worker, + (void *)&config, THR_NEW_LWP | THR_JOINABLE, 0, + &thread_id) == -1) + { + ACE_ERROR ((LM_INFO, + ACE_TEXT ("worker thread spawn failed\n"))); + } + result.get(actual_res); + if( actual_res != expected_res ) + { + // hit the bug... + ACE_ERROR ((LM_INFO, + ACE_TEXT ("unexpected ACE_Future result\n"))); + abort(); + } + ACE_THR_FUNC_RETURN status; + ACE_Thread::join(thread_id, &status); + timer.update(); + } while( *duration != ACE_Time_Value::zero ); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner done\n"), runNum)); + + return 0; +} + +int +run_main (int argc, ACE_TCHAR *argv[]) +{ + ACE_START_TEST (ACE_TEXT ("Future_Stress_Test")); + + ACE_Time_Value duration(5); + long n_threads = 5; + + ACE_Get_Opt getopt (argc, argv, ACE_TEXT ("t:n:")); + bool valid = true; + int c; + while ((c = getopt ()) != -1 && valid) + { + //FUZZ: enable check_for_lack_ACE_OS + switch (c) + { + case 't': + duration.set(ACE_OS::atoi (getopt.opt_arg ())); + break; + case 'n': + n_threads = ACE_OS::atoi (getopt.opt_arg ()); + break; + default: + ACE_ERROR ((LM_ERROR, + "Usage: Future_Stress_Test [-t ]" + "\t[-n ]\n")); + valid = false; + break; + } + } + + if (valid) + { + ACE_Thread_Manager::instance ()->spawn_n (n_threads, + ACE_THR_FUNC (runner), + (void *) &duration, + THR_NEW_LWP | THR_DETACHED); + + ACE_Thread_Manager::instance ()->wait (); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) All threads finished, cleanup and exit\n"))); + } + ACE_END_TEST; + return 0; +} + +#else +int +run_main (int, ACE_TCHAR *[]) +{ + ACE_ERROR ((LM_INFO, + ACE_TEXT ("threads not supported on this platform\n"))); +} +#endif /* ACE_HAS_THREADS */ diff --git a/ACE/tests/run_test.lst b/ACE/tests/run_test.lst index c8b018e3eb6cd..262c6e98b5fd3 100644 --- a/ACE/tests/run_test.lst +++ b/ACE/tests/run_test.lst @@ -127,6 +127,7 @@ FIFO_Test: !ACE_FOR_TAO Framework_Component_Test: !STATIC !nsk Future_Set_Test: !nsk !ACE_FOR_TAO Future_Test: !nsk !ACE_FOR_TAO +Future_Stress_Test: !nsk !ACE_FOR_TAO Get_Opt_Test Handle_Set_Test: !ACE_FOR_TAO Hash_Map_Bucket_Iterator_Test diff --git a/ACE/tests/tests.mpc b/ACE/tests/tests.mpc index c98a938e1844a..e60cd3eca87df 100644 --- a/ACE/tests/tests.mpc +++ b/ACE/tests/tests.mpc @@ -960,6 +960,14 @@ project(Future Set Test) : acetest { } } +project(Future Stress Test) : acetest { + avoids += ace_for_tao + exename = Future_Stress_Test + Source_Files { + Future_Stress_Test.cpp + } +} + project(Get Opt Test) : acetest { exename = Get_Opt_Test Source_Files { From 8ff73f4b883da21c5de3c53a0d9ef943e3757edd Mon Sep 17 00:00:00 2001 From: Frank Hilliger Date: Wed, 10 Jan 2024 08:38:47 +0100 Subject: [PATCH 263/445] fixed findings of trailing_whitespaces check --- ACE/tests/Future_Stress_Test.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ACE/tests/Future_Stress_Test.cpp b/ACE/tests/Future_Stress_Test.cpp index 66ff531376022..13e8ae483071f 100644 --- a/ACE/tests/Future_Stress_Test.cpp +++ b/ACE/tests/Future_Stress_Test.cpp @@ -3,10 +3,10 @@ /** * @file Future_Stress_Test.cpp * - * This example tests the ACE Future set() and get() operations in + * This example tests the ACE Future set() and get() operations in * multithreaded environment and concurrent access. * - * Usage: Future_Stress_Test [-t ] + * Usage: Future_Stress_Test [-t ] * [-n ] * * @see https://github.com/DOCGroup/ACE_TAO/issues/2163 @@ -45,11 +45,11 @@ void* worker (void* args) void* runner (void* args) { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner start\n"))); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner start\n"))); std::random_device rd; std::mt19937 gen(rd()); - std::uniform_int_distribution<> dis(1,1000000); + std::uniform_int_distribution<> dis(1,1000000); ACE_Time_Value* duration = static_cast(args); ACE_Countdown_Time timer(duration); timer.start(); @@ -58,17 +58,17 @@ void* runner (void* args) { if( ++runNum % 5000 == 0 ) { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner iteration %u\n"), runNum)); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner iteration %u\n"), runNum)); } ACE_Future result; Worker_Config config; config.a = dis(gen); config.b = dis(gen); - config.c = dis(gen); + config.c = dis(gen); config.result = result; ACE_hthread_t thread_id; int expected_res = config.a+config.b*config.c; - int actual_res = -1; + int actual_res = -1; if (ACE_Thread::spawn((ACE_THR_FUNC)worker, (void *)&config, THR_NEW_LWP | THR_JOINABLE, 0, &thread_id) == -1) @@ -82,13 +82,13 @@ void* runner (void* args) // hit the bug... ACE_ERROR ((LM_INFO, ACE_TEXT ("unexpected ACE_Future result\n"))); - abort(); - } + abort(); + } ACE_THR_FUNC_RETURN status; ACE_Thread::join(thread_id, &status); timer.update(); } while( *duration != ACE_Time_Value::zero ); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner done\n"), runNum)); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) runner done\n"), runNum)); return 0; } @@ -97,7 +97,7 @@ int run_main (int argc, ACE_TCHAR *argv[]) { ACE_START_TEST (ACE_TEXT ("Future_Stress_Test")); - + ACE_Time_Value duration(5); long n_threads = 5; @@ -122,17 +122,17 @@ run_main (int argc, ACE_TCHAR *argv[]) valid = false; break; } - } + } if (valid) { - ACE_Thread_Manager::instance ()->spawn_n (n_threads, + ACE_Thread_Manager::instance ()->spawn_n (n_threads, ACE_THR_FUNC (runner), (void *) &duration, THR_NEW_LWP | THR_DETACHED); ACE_Thread_Manager::instance ()->wait (); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) All threads finished, cleanup and exit\n"))); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) All threads finished, cleanup and exit\n"))); } ACE_END_TEST; return 0; From b94f1dc4f622111ede7d06f0af70d39ff35056d7 Mon Sep 17 00:00:00 2001 From: Frank Hilliger Date: Wed, 10 Jan 2024 11:31:12 +0100 Subject: [PATCH 264/445] Fixed failed quality gates: C-style pointer casting --- ACE/tests/Future_Stress_Test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/tests/Future_Stress_Test.cpp b/ACE/tests/Future_Stress_Test.cpp index 13e8ae483071f..832a8d148519a 100644 --- a/ACE/tests/Future_Stress_Test.cpp +++ b/ACE/tests/Future_Stress_Test.cpp @@ -70,7 +70,7 @@ void* runner (void* args) int expected_res = config.a+config.b*config.c; int actual_res = -1; if (ACE_Thread::spawn((ACE_THR_FUNC)worker, - (void *)&config, THR_NEW_LWP | THR_JOINABLE, 0, + static_cast(&config), THR_NEW_LWP | THR_JOINABLE, 0, &thread_id) == -1) { ACE_ERROR ((LM_INFO, @@ -128,7 +128,7 @@ run_main (int argc, ACE_TCHAR *argv[]) { ACE_Thread_Manager::instance ()->spawn_n (n_threads, ACE_THR_FUNC (runner), - (void *) &duration, + static_cast(&duration), THR_NEW_LWP | THR_DETACHED); ACE_Thread_Manager::instance ()->wait (); From 0af46b720336d28f2b248d781d98f6a5ddf22158 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sun, 14 Jan 2024 13:03:11 +0100 Subject: [PATCH 265/445] Add include for std::atomic * ACE/ace/Future.h: --- ACE/ace/Future.h | 1 + 1 file changed, 1 insertion(+) diff --git a/ACE/ace/Future.h b/ACE/ace/Future.h index 579cc4e70038b..cd3c0fb61f5b7 100644 --- a/ACE/ace/Future.h +++ b/ACE/ace/Future.h @@ -16,6 +16,7 @@ #include /**/ "ace/pre.h" +#include #include "ace/Unbounded_Set.h" #include "ace/Strategies_T.h" From 56d5db9cd27ab6fb7aa88809f097daf94f8ef232 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 15 Jan 2024 09:44:35 +0100 Subject: [PATCH 266/445] Some modernization, use default, nullptr, const * ACE/ace/Barrier.cpp: * ACE/ace/Future.cpp: * ACE/ace/Future.h: * ACE/ace/Future_Set.cpp: --- ACE/ace/Barrier.cpp | 14 ++++----- ACE/ace/Future.cpp | 64 +++++++++++++----------------------------- ACE/ace/Future.h | 14 ++++----- ACE/ace/Future_Set.cpp | 19 ++++++------- 4 files changed, 39 insertions(+), 72 deletions(-) diff --git a/ACE/ace/Barrier.cpp b/ACE/ace/Barrier.cpp index c516d1307d7d0..a886b06876c34 100644 --- a/ACE/ace/Barrier.cpp +++ b/ACE/ace/Barrier.cpp @@ -78,11 +78,10 @@ ACE_Barrier::wait () ACE_TRACE ("ACE_Barrier::wait"); ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1); - ACE_Sub_Barrier *sbp = - this->sub_barrier_[this->current_generation_]; + ACE_Sub_Barrier *sbp = this->sub_barrier_[this->current_generation_]; // Check for shutdown... - if (sbp == 0) + if (sbp == nullptr) { errno = ESHUTDOWN; return -1; @@ -127,19 +126,18 @@ ACE_Barrier::shutdown () ACE_TRACE ("ACE_Barrier::shutdown"); ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1); - ACE_Sub_Barrier *sbp = - this->sub_barrier_[this->current_generation_]; + ACE_Sub_Barrier *sbp = this->sub_barrier_[this->current_generation_]; // Check for shutdown... - if (sbp == 0) + if (sbp == nullptr) { errno = ESHUTDOWN; return -1; } // Flag the shutdown - this->sub_barrier_[0] = 0; - this->sub_barrier_[1] = 0; + this->sub_barrier_[0] = nullptr; + this->sub_barrier_[1] = nullptr; // Tell all the threads waiting on the barrier to continue on their way. sbp->running_threads_ = this->count_; sbp->barrier_finished_.broadcast (); diff --git a/ACE/ace/Future.cpp b/ACE/ace/Future.cpp index 0fe3d4a608b1f..f11b76b13a1c6 100644 --- a/ACE/ace/Future.cpp +++ b/ACE/ace/Future.cpp @@ -19,32 +19,12 @@ ACE_ALLOC_HOOK_DEFINE_Tc(ACE_Future_Observer) ACE_ALLOC_HOOK_DEFINE_Tc(ACE_Future_Rep) ACE_ALLOC_HOOK_DEFINE_Tc(ACE_Future) -template -ACE_Future_Holder::ACE_Future_Holder () -{ -} - template ACE_Future_Holder::ACE_Future_Holder (const ACE_Future &item) : item_ (item) { } -template -ACE_Future_Holder::~ACE_Future_Holder () -{ -} - -template -ACE_Future_Observer::ACE_Future_Observer () -{ -} - -template -ACE_Future_Observer::~ACE_Future_Observer () -{ -} - // Dump the state of an object. template void @@ -74,10 +54,10 @@ ACE_Future_Rep::dump () const template ACE_Future_Rep * ACE_Future_Rep::internal_create () { - ACE_Future_Rep *temp = 0; + ACE_Future_Rep *temp {}; ACE_NEW_RETURN (temp, ACE_Future_Rep (), - 0); + nullptr); return temp; } @@ -95,9 +75,9 @@ ACE_Future_Rep::create () template ACE_Future_Rep * ACE_Future_Rep::attach (ACE_Future_Rep*& rep) { - ACE_ASSERT (rep != 0); + ACE_ASSERT (rep != nullptr); // Use value_ready_mutex_ for both condition and ref count management - ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, r_mon, rep->value_ready_mutex_, 0); + ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, r_mon, rep->value_ready_mutex_, nullptr); ++rep->ref_count_; return rep; } @@ -105,7 +85,7 @@ ACE_Future_Rep::attach (ACE_Future_Rep*& rep) template void ACE_Future_Rep::detach (ACE_Future_Rep*& rep) { - ACE_ASSERT (rep != 0); + ACE_ASSERT (rep != nullptr); // Use value_ready_mutex_ for both condition and ref count management ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, r_mon, rep->value_ready_mutex_); @@ -122,8 +102,8 @@ ACE_Future_Rep::detach (ACE_Future_Rep*& rep) template void ACE_Future_Rep::assign (ACE_Future_Rep*& rep, ACE_Future_Rep* new_rep) { - ACE_ASSERT (rep != 0); - ACE_ASSERT (new_rep != 0); + ACE_ASSERT (rep != nullptr); + ACE_ASSERT (new_rep != nullptr); // Use value_ready_mutex_ for both condition and ref count management ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, r_mon, rep->value_ready_mutex_); @@ -143,9 +123,7 @@ ACE_Future_Rep::assign (ACE_Future_Rep*& rep, ACE_Future_Rep* new_rep) template ACE_Future_Rep::ACE_Future_Rep () - : value_ (0), - ref_count_ (0), - value_ready_ (value_ready_mutex_) + : value_ready_ (value_ready_mutex_) { } @@ -158,7 +136,7 @@ ACE_Future_Rep::~ACE_Future_Rep () template int ACE_Future_Rep::ready () const { - return this->value_ != 0; + return this->value_ != nullptr; } template int @@ -166,7 +144,7 @@ ACE_Future_Rep::set (const T &r, ACE_Future &caller) { // If the value is already produced, ignore it... - if (this->value_ == 0) + if (this->value_ == nullptr) { ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, @@ -175,18 +153,15 @@ ACE_Future_Rep::set (const T &r, // Otherwise, create a new result value. Note the use of the // Double-checked locking pattern to avoid multiple allocations. - if (this->value_ == 0) // Still no value, so proceed + if (this->value_ == nullptr) // Still no value, so proceed { ACE_NEW_RETURN (this->value_, T (r), -1); // Remove and notify all subscribed observers. - typename OBSERVER_COLLECTION::iterator iterator = - this->observer_collection_.begin (); - - typename OBSERVER_COLLECTION::iterator end = - this->observer_collection_.end (); + typename OBSERVER_COLLECTION::iterator iterator = this->observer_collection_.begin (); + typename OBSERVER_COLLECTION::iterator end = this->observer_collection_.end (); while (iterator != end) { @@ -210,7 +185,7 @@ ACE_Future_Rep::get (T &value, ACE_Time_Value *tv) const { // If the value is already produced, return it. - if (this->value_ == 0) + if (this->value_ == nullptr) { ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, this->value_ready_mutex_, @@ -218,7 +193,7 @@ ACE_Future_Rep::get (T &value, // If the value is not yet defined we must block until the // producer writes to it. - while (this->value_ == 0) + while (this->value_ == nullptr) // Perform a timed wait. if (this->value_ready_.wait (tv) == -1) return -1; @@ -242,7 +217,7 @@ ACE_Future_Rep::attach (ACE_Future_Observer *observer, int result = 1; // If the value is already produced, then notify observer - if (this->value_ == 0) + if (this->value_ == nullptr) result = this->observer_collection_.insert (observer); else observer->update (caller); @@ -264,7 +239,7 @@ template ACE_Future_Rep::operator T () { // If the value is already produced, return it. - if (this->value_ == 0) + if (this->value_ == nullptr) { // Constructor of ace_mon acquires the mutex. ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, this->value_ready_mutex_, 0); @@ -274,7 +249,7 @@ ACE_Future_Rep::operator T () // Wait ``forever.'' - while (this->value_ == 0) + while (this->value_ == nullptr) if (this->value_ready_.wait () == -1) // What to do in this case since we've got to indicate // failure somehow? Exceptions would be nice, but they're @@ -356,8 +331,7 @@ ACE_Future::ready () const } template int -ACE_Future::get (T &value, - ACE_Time_Value *tv) const +ACE_Future::get (T &value, ACE_Time_Value *tv) const { // We return the ACE_Future_rep. return this->future_rep_->get (value, tv); diff --git a/ACE/ace/Future.h b/ACE/ace/Future.h index cd3c0fb61f5b7..453652426df6d 100644 --- a/ACE/ace/Future.h +++ b/ACE/ace/Future.h @@ -48,15 +48,13 @@ class ACE_Future_Holder { public: ACE_Future_Holder (const ACE_Future &future); - ~ACE_Future_Holder (); + ~ACE_Future_Holder () = default; + ACE_Future_Holder () = delete; /// Declare the dynamic allocation hooks. ACE_ALLOC_HOOK_DECLARE; ACE_Future item_; - -protected: - ACE_Future_Holder (); }; /** @@ -74,7 +72,7 @@ class ACE_Future_Observer { public: /// Destructor - virtual ~ACE_Future_Observer (); + virtual ~ACE_Future_Observer () = default; /// Called by the ACE_Future in which we are subscribed to when /// its value is written to. @@ -85,7 +83,7 @@ class ACE_Future_Observer protected: /// Constructor - ACE_Future_Observer (); + ACE_Future_Observer () = default; }; /** @@ -198,10 +196,10 @@ class ACE_Future_Rep int ready () const; /// Pointer to the result. - std::atomic value_; + std::atomic value_ {}; /// Reference count. - int ref_count_; + int ref_count_ {}; typedef ACE_Future_Observer OBSERVER; diff --git a/ACE/ace/Future_Set.cpp b/ACE/ace/Future_Set.cpp index ed9b3c4037d44..f364b486ef2eb 100644 --- a/ACE/ace/Future_Set.cpp +++ b/ACE/ace/Future_Set.cpp @@ -59,14 +59,13 @@ ACE_Future_Set::is_empty () const template int ACE_Future_Set::insert (ACE_Future &future) { - FUTURE_HOLDER *future_holder; + FUTURE_HOLDER *future_holder {}; ACE_NEW_RETURN (future_holder, FUTURE_HOLDER (future), -1); FUTURE_REP *future_rep = future.get_rep (); - int result = this->future_map_.bind (future_rep, - future_holder); + int const result = this->future_map_.bind (future_rep, future_holder); // If a new map entry was created, then attach to the future, // otherwise we were already attached to the future or some error @@ -83,7 +82,7 @@ ACE_Future_Set::insert (ACE_Future &future) template void ACE_Future_Set::update (const ACE_Future &future) { - ACE_Message_Block *mb = 0; + ACE_Message_Block *mb = nullptr; FUTURE &local_future = const_cast &> (future); ACE_NEW (mb, @@ -100,12 +99,11 @@ ACE_Future_Set::next_readable (ACE_Future &future, if (this->is_empty ()) return 0; - ACE_Message_Block *mb = 0; - FUTURE_REP *future_rep = 0; + ACE_Message_Block *mb = nullptr; + FUTURE_REP *future_rep = nullptr; // Wait for a "readable future" signal from the message queue. - if (this->future_notification_queue_->dequeue_head (mb, - tv) != -1) + if (this->future_notification_queue_->dequeue_head (mb, tv) != -1) { // Extract future rep from the message block. future_rep = reinterpret_cast (mb->base ()); @@ -117,9 +115,8 @@ ACE_Future_Set::next_readable (ACE_Future &future, return 0; // Remove the hash map entry with the specified future rep from our map. - FUTURE_HOLDER *future_holder = 0; - if (this->future_map_.find (future_rep, - future_holder) != -1) + FUTURE_HOLDER *future_holder = nullptr; + if (this->future_map_.find (future_rep, future_holder) != -1) { future = future_holder->item_; this->future_map_.unbind (future_rep); From 06c65e4ec63d867b08b28524e65d404397c15d98 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 15 Jan 2024 11:07:27 +0100 Subject: [PATCH 267/445] List changes * ACE/NEWS: --- ACE/NEWS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 086505e0814aa..71a1de3775652 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,13 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.2 and ACE-7.1.3 ==================================================== +. Fixed possible race conditions in extreme use case + in the barriar and future implementations + +. Improve support for QNX 7.1 and FreeBSD + +. Integrated debian packaging changes + USER VISIBLE CHANGES BETWEEN ACE-7.1.1 and ACE-7.1.2 ==================================================== From 061e22fc7b83209c55b102b176828bda7ccb08fa Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 16 Jan 2024 11:25:52 +0100 Subject: [PATCH 268/445] ACE+TAO-7_1_3 --- ACE/ChangeLogs/ACE-7_1_3 | 154 ++++++++++++++++++++++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 6 +- ACE/debian/control | 62 +++++++-------- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-3_1_3 | 11 +++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 6 +- 10 files changed, 209 insertions(+), 44 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-7_1_3 create mode 100644 TAO/ChangeLogs/TAO-3_1_3 diff --git a/ACE/ChangeLogs/ACE-7_1_3 b/ACE/ChangeLogs/ACE-7_1_3 new file mode 100644 index 0000000000000..59e774dcd2452 --- /dev/null +++ b/ACE/ChangeLogs/ACE-7_1_3 @@ -0,0 +1,154 @@ +commit 06c65e4ec63d867b08b28524e65d404397c15d98 +Author: Johnny Willemsen +Date: Mon Jan 15 11:07:27 2024 +0100 + + List changes + + * ACE/NEWS: + +commit 56d5db9cd27ab6fb7aa88809f097daf94f8ef232 +Author: Johnny Willemsen +Date: Mon Jan 15 09:44:35 2024 +0100 + + Some modernization, use default, nullptr, const + + * ACE/ace/Barrier.cpp: + * ACE/ace/Future.cpp: + * ACE/ace/Future.h: + * ACE/ace/Future_Set.cpp: + +commit 0af46b720336d28f2b248d781d98f6a5ddf22158 +Author: Johnny Willemsen +Date: Sun Jan 14 13:03:11 2024 +0100 + + Add include for std::atomic + + * ACE/ace/Future.h: + +commit 6695073ad566bbcb5a4e8dd186308dd7e2911af3 +Merge: b94f1dc4f62 8c49e7b9d4c +Author: Johnny Willemsen +Date: Sun Jan 14 13:01:17 2024 +0100 + + Merge branch 'master' into #2163-Race-condition-in-ACE_Future-double-checked-locking-pattern-code + +commit 4689fd055bff2c4280c6f0b8d81856b7e0bba666 +Merge: 4939d6b7232 7efcd5faa4d +Author: Steve Huston +Date: Fri Jan 12 16:18:47 2024 -0500 + + Merge branch 'master' into barrier_concurrency_fail + +commit b94f1dc4f622111ede7d06f0af70d39ff35056d7 +Author: Frank Hilliger +Date: Wed Jan 10 11:31:12 2024 +0100 + + Fixed failed quality gates: C-style pointer casting + +commit 8ff73f4b883da21c5de3c53a0d9ef943e3757edd +Author: Frank Hilliger +Date: Wed Jan 10 08:38:47 2024 +0100 + + fixed findings of trailing_whitespaces check + +commit 13cafcfb76ed29d6687b5c8a7211e40dd142e944 +Author: Frank Hilliger +Date: Tue Jan 9 18:08:47 2024 +0100 + + #2179: Fixed a race condition caused by the double checked locking pattern + - test case + +commit 30ab3c0586b7413490e98f181f4db0528c3f2119 +Author: nfrmtkr +Date: Mon Jan 8 10:03:39 2024 +0100 + + Update Future.h + + Fixed a race condition caused by the double checked locking pattern by using an std::atomic that ensures correct and deterministic create and assignment logic. + +commit 58ea863f3a2e50b6a3045b59c7f1f060a8b7b5ae +Merge: 587a7279b17 4df4192f41c +Author: Justin Wilson +Date: Wed Dec 13 13:17:38 2023 -0600 + + Merge pull request #2171 from mitza-oci/install_proj + + Added a script install_proj.sh that can be used to run make install + +commit ee67b0516f51c3d722989e4b0e735dc1ae5596c6 +Author: Sudip Mukherjee +Date: Wed Dec 13 14:15:40 2023 +0000 + + Sync debian/* files for ACE + + Signed-off-by: Sudip Mukherjee + +commit 4df4192f41c078099fddbbad68d212263137184f +Author: Adam Mitz +Date: Fri Dec 8 12:18:25 2023 -0600 + + Added a script install_proj.sh that can be used to run make install + +commit 4939d6b723293824d970788a7726b222cdf8ca2b +Author: Steve Huston +Date: Fri Dec 1 22:04:44 2023 +0000 + + Change to C++ std::atomic + +commit 7e06ab1addf4df12d774fbb1a4fdf44b1d03ae39 +Author: Steve Huston +Date: Fri Dec 1 17:59:11 2023 +0000 + + Change running_count_ to atomic to ensure accurate values across cores/CPUs. + +commit 160a687e5c78f0d83099c068e3cd051af7e25824 +Author: Marcin CieÅ›lak +Date: Sat Nov 25 03:06:02 2023 +0100 + + Build on FreeBSD 15.0 + + ACE builds now with __FreeBSD_version 1500001 + +commit f2bfbf8ce64ec3d34aa9ad369f9515be3b33ae59 +Author: Johnny Willemsen +Date: Wed Nov 22 11:16:44 2023 +0100 + + Identation change + + * ACE/ace/Future.cpp: + +commit c80d23d1123788cc4497376fb2a26b6dffb48d7c +Merge: bd35628db2f 527ba7711f6 +Author: Johnny Willemsen +Date: Thu Nov 9 09:07:04 2023 +0100 + + Merge branch 'master' into jwi-nonconstcmsgspace + +commit bd35628db2ff60209d947222f4c1adaac412a841 +Author: Johnny Willemsen +Date: Thu Nov 9 09:05:58 2023 +0100 + + Add support for a non const CMSG_SPACE macro, some code is disabled at that moment + + * ACE/ace/SOCK_Dgram.cpp: + * ACE/ace/config-qnx.h: + +commit 1b2a86a2057f96fff3d72e8d2269d6b68c3a8da5 +Author: Johnny Willemsen +Date: Mon Oct 30 08:23:58 2023 +0100 + + Next release + + * ACE/bin/copy-local-script.sh: + +commit c9c19d844a1ca78ab287023c48ffa2e740c8bfc2 +Author: Johnny Willemsen +Date: Mon Oct 30 08:22:34 2023 +0100 + + Make x.1.2 publicly available + + * ACE/NEWS: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index 6d753ec3bbe4a..fb236bfa7a87b 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 7.1.2 + ACE VERSION: 7.1.3 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index 4750de3b01afe..c50ee4f5c1c87 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 7.1.2, released Mon Oct 30 07:57:01 CET 2023 +This is ACE version 7.1.3, released Tue Jan 16 11:25:51 CET 2024 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index 6d049177827ce..2bcd867427a29 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -4,7 +4,7 @@ #define ACE_MAJOR_VERSION 7 #define ACE_MINOR_VERSION 1 -#define ACE_MICRO_VERSION 2 -#define ACE_VERSION "7.1.2" -#define ACE_VERSION_CODE 0x70102 +#define ACE_MICRO_VERSION 3 +#define ACE_VERSION "7.1.3" +#define ACE_VERSION_CODE 0x70103 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index e7dd2a1e359e3..eebb5aedc94b8 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -27,7 +27,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-7.1.2 +Package: libace-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -45,7 +45,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-7.1.2 (= ${binary:Version}), ${misc:Depends} +Depends: libace-7.1.3 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkg-config Replaces: mpc-ace (<< 5.6.3-4) Description: C++ network programming framework - development files @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-7.1.2 +Package: libace-ssl-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -73,12 +73,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-7.1.2 +Package: libace-rmcast-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -92,12 +92,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-7.1.2 +Package: libace-tmcast-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -111,12 +111,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-7.1.2 +Package: libace-htbp-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -130,12 +130,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-7.1.2 +Package: libace-inet-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -146,15 +146,15 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-7.1.2 +Package: libace-inet-ssl-7.1.3 Architecture: any Section: libs -Depends: libace-inet-7.1.2, libace-ssl-7.1.2, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-7.1.3, libace-ssl-7.1.3, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -163,7 +163,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-7.1.2 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-7.1.3 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -180,7 +180,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-7.1.2 +Package: libacexml-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -196,12 +196,12 @@ Package: libacexml-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libacexml-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-7.1.2 +Package: libace-xml-utils-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -215,12 +215,12 @@ Package: libace-xml-utils-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libace-xml-utils-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-7.1.2 +Package: libkokyu-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -234,12 +234,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-7.1.2 +Package: libace-xtreactor-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +257,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-7.1.2 +Package: libace-tkreactor-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +281,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-7.1.2 +Package: libace-flreactor-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -304,12 +304,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-7.1.2 +Package: libace-foxreactor-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -326,7 +326,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -343,7 +343,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-7.1.2 +Package: libnetsvcs-7.1.3 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -357,7 +357,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-7.1.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index 800db42180305..59a7704e74f45 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 7.1.2 -%define TAOVER 3.1.2 +%define ACEVER 7.1.3 +%define TAOVER 3.1.3 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-3_1_3 b/TAO/ChangeLogs/TAO-3_1_3 new file mode 100644 index 0000000000000..f6d395e0d9bb5 --- /dev/null +++ b/TAO/ChangeLogs/TAO-3_1_3 @@ -0,0 +1,11 @@ +commit c9c19d844a1ca78ab287023c48ffa2e740c8bfc2 +Author: Johnny Willemsen +Date: Mon Oct 30 08:22:34 2023 +0100 + + Make x.1.2 publicly available + + * ACE/NEWS: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index 9a0692f43c55e..449f4f7ba25fd 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 3.1.2 - ACE VERSION: 7.1.2 + TAO VERSION: 3.1.3 + ACE VERSION: 7.1.3 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index 1e995b9382e7e..c8be2091d87e4 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 3.1.2, released Mon Oct 30 07:57:01 CET 2023 +This is TAO version 3.1.3, released Tue Jan 16 11:25:51 CET 2024 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index 8798813d30f0c..fe48396ea3f70 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -4,7 +4,7 @@ #define TAO_MAJOR_VERSION 3 #define TAO_MINOR_VERSION 1 -#define TAO_MICRO_VERSION 2 -#define TAO_VERSION "3.1.2" -#define TAO_VERSION_CODE 0x30102 +#define TAO_MICRO_VERSION 3 +#define TAO_VERSION "3.1.3" +#define TAO_VERSION_CODE 0x30103 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From 1b193af01d5289f17269896566aba5acbd8eb145 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 16 Jan 2024 11:41:47 +0100 Subject: [PATCH 269/445] Make 7.1.3 public available * ACE/NEWS: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: * TAO/NEWS: --- ACE/NEWS | 5 +- .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 64 +++++++++---------- ACE/etc/index.html | 1 + TAO/NEWS | 5 ++ 5 files changed, 43 insertions(+), 34 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index 71a1de3775652..75469fcac510c 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,8 +1,11 @@ +USER VISIBLE CHANGES BETWEEN ACE-7.1.3 and ACE-7.1.4 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-7.1.2 and ACE-7.1.3 ==================================================== . Fixed possible race conditions in extreme use case - in the barriar and future implementations + in the barrier and future implementations . Improve support for QNX 7.1 and FreeBSD diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index 5600d0d4e9015..72f5cf2c1fe75 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2023_10_30; else olddate=$3; fi +if test -z $3; then olddate=2024_01_16; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index a10c35dd4cfef..b3b2d7ed4d664 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,81 +90,81 @@

              Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

                -
              • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.2 and TAO 3.1.2 -(ACE+TAO x.1.2), please use the links below to download it.

                +

              • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.3 and TAO 3.1.3 +(ACE+TAO x.1.3), please use the links below to download it.

                - - - - - - - - - - - - - - -
                FilenameDescriptionFullSources only
                ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
                ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                diff --git a/ACE/etc/index.html b/ACE/etc/index.html index 58e1d6a575a89..ac97ff6ba027a 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

                ACE+TAO Documentation


                We do have the documentation for previous releases
                  +
                • 7.1.3

                • 7.1.2

                • 7.1.1

                • 7.1.0

                • diff --git a/TAO/NEWS b/TAO/NEWS index c0637038fac33..c03802329d1ff 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,6 +1,11 @@ +USER VISIBLE CHANGES BETWEEN TAO-3.1.3 and TAO-3.1.4 +==================================================== + USER VISIBLE CHANGES BETWEEN TAO-3.1.2 and TAO-3.1.3 ==================================================== +- None + USER VISIBLE CHANGES BETWEEN TAO-3.1.1 and TAO-3.1.2 ==================================================== From d18b19bc55dcb6d773405c94c7ef221d6afb8aa9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 16 Jan 2024 13:27:05 +0100 Subject: [PATCH 270/445] Remove workaround for obsolete compiler * ACE/tests/Compiler_Features_27_Test.cpp: --- ACE/tests/Compiler_Features_27_Test.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/ACE/tests/Compiler_Features_27_Test.cpp b/ACE/tests/Compiler_Features_27_Test.cpp index 36781025044d9..d441caa331e22 100644 --- a/ACE/tests/Compiler_Features_27_Test.cpp +++ b/ACE/tests/Compiler_Features_27_Test.cpp @@ -22,11 +22,8 @@ run_main (int, ACE_TCHAR *[]) { ACE_START_TEST (ACE_TEXT("Compiler_Features_27_Test")); - // Visual Studio 2015 has a small issue with this construct -#if !(defined (_MSC_VER) && (_MSC_VER < 1910)) Foo any; any <<= std::move("abc"); -#endif ACE_END_TEST; From 0c991b2a36431b2129dd3cab6f112b8ec60932bf Mon Sep 17 00:00:00 2001 From: Iulian Serbanoiu Date: Mon, 29 Jan 2024 10:15:01 +0200 Subject: [PATCH 271/445] don't use invalid references of temporary objects - scan-build report --- ACE/ace/OS_NS_stdio.inl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ACE/ace/OS_NS_stdio.inl b/ACE/ace/OS_NS_stdio.inl index f3268c7ac1d8a..065866f22c258 100644 --- a/ACE/ace/OS_NS_stdio.inl +++ b/ACE/ace/OS_NS_stdio.inl @@ -926,8 +926,11 @@ ACE_OS::tempnam (const wchar_t *dir, const wchar_t *pfx) # endif /* ACE_HAS_NONCONST_TEMPNAM */ #else /* ACE_LACKS_TEMPNAM */ // No native wide-char support; convert to narrow and call the char* variant. - char *ndir = ACE_Wide_To_Ascii (dir).char_rep (); - char *npfx = ACE_Wide_To_Ascii (pfx).char_rep (); + ACE_Wide_To_Ascii wta_ndir(dir); + char *ndir = wta_ndir.char_rep (); + + ACE_Wide_To_Ascii wta_npfx(pfx); + char *npfx = wta_npfx.char_rep (); char *name = ACE_OS::tempnam (ndir, npfx); // ACE_OS::tempnam returns a pointer to a malloc()-allocated space. // Convert that string to wide-char and free() the original. From d9026e05c14eabb3447a9d762aa6920c9888be57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 08:36:09 +0000 Subject: [PATCH 272/445] Bump microsoft/setup-msbuild from 1 to 2 Bumps [microsoft/setup-msbuild](https://github.com/microsoft/setup-msbuild) from 1 to 2. - [Release notes](https://github.com/microsoft/setup-msbuild/releases) - [Changelog](https://github.com/microsoft/setup-msbuild/blob/main/building-release.md) - [Commits](https://github.com/microsoft/setup-msbuild/compare/v1...v2) --- updated-dependencies: - dependency-name: microsoft/setup-msbuild dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b35c6869050cc..e5337fe6efca9 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -164,7 +164,7 @@ jobs: perl ${env:ACE_ROOT}/bin/mwc.pl -type ${{ matrix.mpctype }} ${env:TAO_ROOT}/tests/IDL_Test -workers 4 ${{ matrix.OptionalMpcArgs }} shell: pwsh - name: Setup msbuild - uses: microsoft/setup-msbuild@v1 + uses: microsoft/setup-msbuild@v2 - name: Build solution TAO/TAO_ACE.sln run: msbuild -maxcpucount -p:Platform=${{ matrix.BuildPlatform }} -p:Configuration=${{ matrix.BuildConfiguration }} TAO/TAO_ACE.sln - name: Build solution ACE/tests/tests.sln From e3d49b919d2958af6b3286c01de87e73c638fb50 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Fri, 9 Feb 2024 15:06:03 +0000 Subject: [PATCH 273/445] Avoid potential out-of-bounds read in ACE_CDR::Fixed::from_string (cherry picked from commit 90258afc7c510ead3ace1e30382bb5ba877610b3) --- ACE/ace/CDR_Base.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/CDR_Base.cpp b/ACE/ace/CDR_Base.cpp index f2213f379eb6a..e5e96bdd8bc17 100644 --- a/ACE/ace/CDR_Base.cpp +++ b/ACE/ace/CDR_Base.cpp @@ -932,7 +932,7 @@ ACE_CDR::Fixed ACE_CDR::Fixed::from_string (const char *str) ++f.digits_; } - if (!f.scale_ && str[span - f.digits_ - 1] == '.') + if (!f.scale_ && span > f.digits_ && str[span - f.digits_ - 1] == '.') f.scale_ = f.digits_; if (idx >= 0) From e896729bb702b91822197877d6fcf455ce2bec05 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 15 Feb 2024 11:58:58 +0100 Subject: [PATCH 274/445] [GithubCI] Upgrade to vcpkg 2024.02.14 --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index e5337fe6efca9..af616f237a5e9 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: c8696863d371ab7f46e213d8f5ca923c4aef2a00 + vcpkgGitCommitId: fba75d09065fcc76a25dcf386b1d00d33f5175af runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From 9ac320c9a8e6b5f412e8eefb7f2870b3bf225918 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 21 Feb 2024 11:01:05 +0100 Subject: [PATCH 275/445] Fixed typos * ACE/ace/Configuration.h: * ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h: * ACE/tests/Test_Output.cpp: * TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp: * TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp: * TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp: * TAO/tao/PI/PICurrent_Impl.cpp: * TAO/tests/POA/FindPOA/FindPOA.cpp: --- ACE/ace/Configuration.h | 2 +- ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h | 4 ++-- ACE/tests/Test_Output.cpp | 2 +- TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp | 2 +- TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp | 2 +- TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp | 2 +- TAO/tao/PI/PICurrent_Impl.cpp | 2 +- TAO/tests/POA/FindPOA/FindPOA.cpp | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ACE/ace/Configuration.h b/ACE/ace/Configuration.h index 436ee3bf0ad92..749734d77f6f9 100644 --- a/ACE/ace/Configuration.h +++ b/ACE/ace/Configuration.h @@ -349,7 +349,7 @@ class ACE_Export ACE_Configuration * error The path consists of sections separated by the backslash * '\' or forward slash '/'. * Returns 0 on success, -1 if impending_change_callback_->convert_from_lazy_to_real_copy (); // If we have logically copied another table, ensure it is told about our - // demise so that it will not call our non-existant + // demise so that it will not call our non-existent // convert_from_lazy_to_real_copy() when it changes/destructs. if (0 != this->lazy_copy_) this->lazy_copy_->set_callback_for_impending_change (0); diff --git a/TAO/tests/POA/FindPOA/FindPOA.cpp b/TAO/tests/POA/FindPOA/FindPOA.cpp index e09ec1cb2da06..6532f30bbc37c 100644 --- a/TAO/tests/POA/FindPOA/FindPOA.cpp +++ b/TAO/tests/POA/FindPOA/FindPOA.cpp @@ -64,7 +64,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) poa_manager->activate (); - // Try to find a non-existant POA. Since the Adapter Activator + // Try to find a non-existent POA. Since the Adapter Activator // has not been installed yet, this call should fail. find_non_existant_POA (root_poa.in (), "firstPOA", @@ -88,7 +88,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) first_poa->find_POA (name.c_str (), 1); - // Try to find a non-existant POA. Even though the Adapter + // Try to find a non-existent POA. Even though the Adapter // Activator has been installed, this call should fail because // the activate (if not found) flag is 0. find_non_existant_POA (root_poa.in (), From 1617445fab75aa81d07a0b1e42a99df4dfaf7724 Mon Sep 17 00:00:00 2001 From: Like Ma Date: Tue, 27 Feb 2024 01:08:36 +0800 Subject: [PATCH 276/445] Reset ACE_Process_Options std handles after closed When calling ACE_Process_Options::release_handles after ACE_Process::spawn, std handles must be reset after closed to avoid closing again in ACE_Process_Options dtor. --- ACE/ace/Process.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ACE/ace/Process.cpp b/ACE/ace/Process.cpp index afa7a0da98d5b..7d26a3ca774f3 100644 --- a/ACE/ace/Process.cpp +++ b/ACE/ace/Process.cpp @@ -1121,10 +1121,18 @@ ACE_Process_Options::release_handles () ACE_OS::close (startup_info_.hStdInput); ACE_OS::close (startup_info_.hStdOutput); ACE_OS::close (startup_info_.hStdError); + + startup_info_.hStdInput = ACE_INVALID_HANDLE; + startup_info_.hStdOutput = ACE_INVALID_HANDLE; + startup_info_.hStdError = ACE_INVALID_HANDLE; #else /* ACE_WIN32 */ ACE_OS::close (stdin_); ACE_OS::close (stdout_); ACE_OS::close (stderr_); + + stdin_ = ACE_INVALID_HANDLE; + stdout_ = ACE_INVALID_HANDLE; + stderr_ = ACE_INVALID_HANDLE; #endif /* ACE_WIN32 */ set_handles_called_ = 0; } From 681b02679eb9dd489be1b5f4a418a20fbbeb52d9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 28 Feb 2024 11:39:42 +0100 Subject: [PATCH 277/445] Enable Sendfile_Test for QNX * ACE/tests/run_test.lst: --- ACE/tests/run_test.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/tests/run_test.lst b/ACE/tests/run_test.lst index 262c6e98b5fd3..2075bdbc33b79 100644 --- a/ACE/tests/run_test.lst +++ b/ACE/tests/run_test.lst @@ -220,7 +220,7 @@ Reference_Counted_Event_Handler_Test -d 0 Refcounted_Event_Handler_Test_DevPoll: Reverse_Lock_Test RW_Process_Mutex_Test: !VxWorks !ACE_FOR_TAO !PHARLAP !Cygwin -Sendfile_Test: !QNX !NO_NETWORK !VxWorks !LabVIEW_RT +Sendfile_Test: !NO_NETWORK !VxWorks !LabVIEW_RT Signal_Test: !VxWorks !Cygwin SOCK_Acceptor_Test: !NO_NETWORK SOCK_Connector_Test: !NO_NETWORK From ad6b2930bf24898cc15ea940774cb88f681683d6 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 26 Mar 2024 09:17:58 +0100 Subject: [PATCH 278/445] GithubIC: Upgrade to vcpkg 2024.03.25 --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index af616f237a5e9..3956c179d9489 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: fba75d09065fcc76a25dcf386b1d00d33f5175af + vcpkgGitCommitId: a34c873a9717a888f58dc05268dea15592c2f0ff runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From 06a2c704908f4578afa97efe164f598d62ad47c3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 2 Apr 2024 17:22:20 +0200 Subject: [PATCH 279/445] Don't add ACE_ROOT implicitly to the compiler flags --- ACE/include/makeinclude/wrapper_macros.GNU | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ACE/include/makeinclude/wrapper_macros.GNU b/ACE/include/makeinclude/wrapper_macros.GNU index d815f61466263..d5b4ae2f782d2 100644 --- a/ACE/include/makeinclude/wrapper_macros.GNU +++ b/ACE/include/makeinclude/wrapper_macros.GNU @@ -283,10 +283,6 @@ ifeq ($(debug),0) DEFFLAGS += -DNDEBUG endif -ifeq (,$(findstring -I$(ACE_ROOT),$(INCLDIRS))) - INCLDIRS += -I$(ACE_ROOT) -endif - CPPFLAGS += $(DEFFLAGS) $(INCLDIRS) # Define default extensions for IDL-generated files From ac2dff71e56e828f86399d7acddc29290d3dade7 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 2 Apr 2024 17:22:47 +0200 Subject: [PATCH 280/445] Const/layout changes * ACE/ace/SOCK_Dgram_Mcast.cpp: --- ACE/ace/SOCK_Dgram_Mcast.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ACE/ace/SOCK_Dgram_Mcast.cpp b/ACE/ace/SOCK_Dgram_Mcast.cpp index a2bdb57f20c47..7f5a27a973510 100644 --- a/ACE/ace/SOCK_Dgram_Mcast.cpp +++ b/ACE/ace/SOCK_Dgram_Mcast.cpp @@ -564,17 +564,13 @@ ACE_SOCK_Dgram_Mcast::subscribe_i (const ACE_INET_Addr &mcast_addr, // Open the socket IFF this is the first ::subscribe and ::open // was not explicitly invoked. - if (this->open (mcast_addr, - net_if, - reuse_addr) == -1) + if (this->open (mcast_addr, net_if, reuse_addr) == -1) return -1; // Only do this if net_if == 0, i.e., INADDR_ANY if (net_if == 0) { - int result = this->subscribe_ifs (mcast_addr, - net_if, - reuse_addr); + int const result = this->subscribe_ifs (mcast_addr, net_if, reuse_addr); // Check for error or "short-circuit" return. if (result != 0) return result; From 33d1703e35bb65f9585109e674dbd25c9ca16879 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 5 Apr 2024 13:25:07 +0200 Subject: [PATCH 281/445] Changed the default to C++17 for QNX and g++ versions older as 11 (11 has C++17 as default) * ACE/include/makeinclude/platform_g++_common.GNU: * ACE/include/makeinclude/platform_qnx_gcc.GNU: --- ACE/include/makeinclude/platform_g++_common.GNU | 14 ++++++++++++++ ACE/include/makeinclude/platform_qnx_gcc.GNU | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ACE/include/makeinclude/platform_g++_common.GNU b/ACE/include/makeinclude/platform_g++_common.GNU index bed583c7f7a06..36dbcd43df074 100644 --- a/ACE/include/makeinclude/platform_g++_common.GNU +++ b/ACE/include/makeinclude/platform_g++_common.GNU @@ -74,6 +74,20 @@ endif CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) +# Minimum C++ level is now C++17, gcc until version 11 have an older version as default +ifeq ($(findstring $(CXX_MAJOR_VERSION),7),$(CXX_MAJOR_VERSION)) + c++std ?= c++17 +endif +ifeq ($(findstring $(CXX_MAJOR_VERSION),8),$(CXX_MAJOR_VERSION)) + c++std ?= c++17 +endif +ifeq ($(findstring $(CXX_MAJOR_VERSION),9),$(CXX_MAJOR_VERSION)) + c++std ?= c++17 +endif +ifeq ($(findstring $(CXX_MAJOR_VERSION),10),$(CXX_MAJOR_VERSION)) + c++std ?= c++17 +endif + # Only modify LDFLAGS if DLD has been set. ifneq ($(DLD),) ifeq ($(DLD),$(CXX_FOR_VERSION_TEST)) # only try this is we are using ld through gcc diff --git a/ACE/include/makeinclude/platform_qnx_gcc.GNU b/ACE/include/makeinclude/platform_qnx_gcc.GNU index 0912ee9d27310..70859638db9fd 100644 --- a/ACE/include/makeinclude/platform_qnx_gcc.GNU +++ b/ACE/include/makeinclude/platform_qnx_gcc.GNU @@ -6,7 +6,7 @@ debug ?= 1 optimize ?= 0 threads ?= 1 pipes ?= 0 -c++std ?= gnu++14 +c++std ?= gnu++17 CCFLAGS += -fexceptions LDFLAGS += -fexceptions From 7f67b2c581f39cdb88f8f18587fa0d49cfd82cd1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 5 Apr 2024 13:27:40 +0200 Subject: [PATCH 282/445] Add news * ACE/NEWS: --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 75469fcac510c..4a9cf9f8d0983 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,9 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.3 and ACE-7.1.4 ==================================================== +. With g++ versions < 11 we default to C++17 as + minimum C++ standards level + USER VISIBLE CHANGES BETWEEN ACE-7.1.2 and ACE-7.1.3 ==================================================== From d8000d11b22a5f7c872c5e293a9c71e0732a0b67 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 10 Apr 2024 09:54:14 +0200 Subject: [PATCH 283/445] ACE+TAO-7_1_4 --- ACE/ChangeLogs/ACE-7_1_4 | 138 ++++++++++++++++++++++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 6 +- ACE/debian/control | 62 ++++++++--------- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-3_1_4 | 26 +++++++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 6 +- 10 files changed, 208 insertions(+), 44 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-7_1_4 create mode 100644 TAO/ChangeLogs/TAO-3_1_4 diff --git a/ACE/ChangeLogs/ACE-7_1_4 b/ACE/ChangeLogs/ACE-7_1_4 new file mode 100644 index 0000000000000..dbdc3dba60609 --- /dev/null +++ b/ACE/ChangeLogs/ACE-7_1_4 @@ -0,0 +1,138 @@ +commit eb7dd3b658e923c0d3eda9551fd487b514261098 +Merge: 7f67b2c581f 5346abce57e +Author: Johnny Willemsen +Date: Fri Apr 5 13:27:50 2024 +0200 + + Merge branch 'jwi-defaultcpp17' of https://github.com/jwillemsen/ATCD into jwi-defaultcpp17 + +commit 7f67b2c581f39cdb88f8f18587fa0d49cfd82cd1 +Author: Johnny Willemsen +Date: Fri Apr 5 13:27:40 2024 +0200 + + Add news + + * ACE/NEWS: + +commit 5346abce57e2c202a54b5dd96261e8aed182ac23 +Merge: 33d1703e35b 7add19fb5e6 +Author: Johnny Willemsen +Date: Fri Apr 5 13:26:29 2024 +0200 + + Merge branch 'master' into jwi-defaultcpp17 + +commit 33d1703e35bb65f9585109e674dbd25c9ca16879 +Author: Johnny Willemsen +Date: Fri Apr 5 13:25:07 2024 +0200 + + Changed the default to C++17 for QNX and g++ versions older as 11 (11 has C++17 as default) + + * ACE/include/makeinclude/platform_g++_common.GNU: + * ACE/include/makeinclude/platform_qnx_gcc.GNU: + +commit 7add19fb5e62a1264a337e82af3ef9671d81d26e +Merge: 28b43699c5f ac2dff71e56 +Author: Johnny Willemsen +Date: Tue Apr 2 21:10:47 2024 +0200 + + Merge pull request #2211 from jwillemsen/jwi-sockdgram2 + + Const/layout changes + +commit 28b43699c5f37ac829882193bd9160dc08f1fe6a +Merge: f58af0a99d0 06a2c704908 +Author: Johnny Willemsen +Date: Tue Apr 2 21:10:04 2024 +0200 + + Merge pull request #2210 from jwillemsen/jwi-noaceroot + + Don't add ACE_ROOT implicitly to the compiler flags + +commit ac2dff71e56e828f86399d7acddc29290d3dade7 +Author: Johnny Willemsen +Date: Tue Apr 2 17:22:47 2024 +0200 + + Const/layout changes + + * ACE/ace/SOCK_Dgram_Mcast.cpp: + +commit 06a2c704908f4578afa97efe164f598d62ad47c3 +Author: Johnny Willemsen +Date: Tue Apr 2 17:22:20 2024 +0200 + + Don't add ACE_ROOT implicitly to the compiler flags + +commit 621e8ead430bd8e0831146c71870c92b1f6c7959 +Merge: 40d6732cf4b 681b02679eb +Author: Johnny Willemsen +Date: Wed Feb 28 18:55:18 2024 +0100 + + Merge pull request #2204 from jwillemsen/jwi-sendfileqnx + + Enable Sendfile_Test for QNX + +commit 681b02679eb9dd489be1b5f4a418a20fbbeb52d9 +Author: Johnny Willemsen +Date: Wed Feb 28 11:39:42 2024 +0100 + + Enable Sendfile_Test for QNX + + * ACE/tests/run_test.lst: + +commit 1617445fab75aa81d07a0b1e42a99df4dfaf7724 +Author: Like Ma +Date: Tue Feb 27 01:08:36 2024 +0800 + + Reset ACE_Process_Options std handles after closed + + When calling ACE_Process_Options::release_handles after + ACE_Process::spawn, std handles must be reset after closed to avoid + closing again in ACE_Process_Options dtor. + +commit 9ac320c9a8e6b5f412e8eefb7f2870b3bf225918 +Author: Johnny Willemsen +Date: Wed Feb 21 11:01:05 2024 +0100 + + Fixed typos + + * ACE/ace/Configuration.h: + * ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h: + * ACE/tests/Test_Output.cpp: + * TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp: + * TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp: + * TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp: + * TAO/tao/PI/PICurrent_Impl.cpp: + * TAO/tests/POA/FindPOA/FindPOA.cpp: + +commit e3d49b919d2958af6b3286c01de87e73c638fb50 +Author: Adam Mitz +Date: Fri Feb 9 15:06:03 2024 +0000 + + Avoid potential out-of-bounds read in ACE_CDR::Fixed::from_string + + (cherry picked from commit 90258afc7c510ead3ace1e30382bb5ba877610b3) + +commit 0c991b2a36431b2129dd3cab6f112b8ec60932bf +Author: Iulian Serbanoiu +Date: Mon Jan 29 10:15:01 2024 +0200 + + don't use invalid references of temporary objects - scan-build report + +commit d18b19bc55dcb6d773405c94c7ef221d6afb8aa9 +Author: Johnny Willemsen +Date: Tue Jan 16 13:27:05 2024 +0100 + + Remove workaround for obsolete compiler + + * ACE/tests/Compiler_Features_27_Test.cpp: + +commit 1b193af01d5289f17269896566aba5acbd8eb145 +Author: Johnny Willemsen +Date: Tue Jan 16 11:41:47 2024 +0100 + + Make 7.1.3 public available + + * ACE/NEWS: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index fb236bfa7a87b..518b29f2b87b7 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 7.1.3 + ACE VERSION: 7.1.4 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index c50ee4f5c1c87..5cfd157ad22ac 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 7.1.3, released Tue Jan 16 11:25:51 CET 2024 +This is ACE version 7.1.4, released Wed Apr 10 09:54:13 CEST 2024 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index 2bcd867427a29..6850be34046b0 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -4,7 +4,7 @@ #define ACE_MAJOR_VERSION 7 #define ACE_MINOR_VERSION 1 -#define ACE_MICRO_VERSION 3 -#define ACE_VERSION "7.1.3" -#define ACE_VERSION_CODE 0x70103 +#define ACE_MICRO_VERSION 4 +#define ACE_VERSION "7.1.4" +#define ACE_VERSION_CODE 0x70104 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index eebb5aedc94b8..79519f7de2d28 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -27,7 +27,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-7.1.3 +Package: libace-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -45,7 +45,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-7.1.3 (= ${binary:Version}), ${misc:Depends} +Depends: libace-7.1.4 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkg-config Replaces: mpc-ace (<< 5.6.3-4) Description: C++ network programming framework - development files @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-7.1.3 +Package: libace-ssl-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -73,12 +73,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-7.1.3 +Package: libace-rmcast-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -92,12 +92,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-7.1.3 +Package: libace-tmcast-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -111,12 +111,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-7.1.3 +Package: libace-htbp-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -130,12 +130,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-7.1.3 +Package: libace-inet-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -146,15 +146,15 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-7.1.3 +Package: libace-inet-ssl-7.1.4 Architecture: any Section: libs -Depends: libace-inet-7.1.3, libace-ssl-7.1.3, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-7.1.4, libace-ssl-7.1.4, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -163,7 +163,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-7.1.3 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-7.1.4 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -180,7 +180,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-7.1.3 +Package: libacexml-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -196,12 +196,12 @@ Package: libacexml-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libacexml-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-7.1.3 +Package: libace-xml-utils-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -215,12 +215,12 @@ Package: libace-xml-utils-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libace-xml-utils-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-7.1.3 +Package: libkokyu-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -234,12 +234,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-7.1.3 +Package: libace-xtreactor-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +257,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-7.1.3 +Package: libace-tkreactor-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +281,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-7.1.3 +Package: libace-flreactor-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -304,12 +304,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-7.1.3 +Package: libace-foxreactor-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -326,7 +326,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -343,7 +343,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-7.1.3 +Package: libnetsvcs-7.1.4 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -357,7 +357,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-7.1.3 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index 59a7704e74f45..501a633b8967c 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 7.1.3 -%define TAOVER 3.1.3 +%define ACEVER 7.1.4 +%define TAOVER 3.1.4 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-3_1_4 b/TAO/ChangeLogs/TAO-3_1_4 new file mode 100644 index 0000000000000..4fbd42b797e5d --- /dev/null +++ b/TAO/ChangeLogs/TAO-3_1_4 @@ -0,0 +1,26 @@ +commit 9ac320c9a8e6b5f412e8eefb7f2870b3bf225918 +Author: Johnny Willemsen +Date: Wed Feb 21 11:01:05 2024 +0100 + + Fixed typos + + * ACE/ace/Configuration.h: + * ACE/protocols/tests/HTBP/Reactor_Tests/test_config.h: + * ACE/tests/Test_Output.cpp: + * TAO/orbsvcs/tests/HTIOP/AMI/Test_Output.cpp: + * TAO/orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp: + * TAO/orbsvcs/tests/HTIOP/Hello/Test_Output.cpp: + * TAO/tao/PI/PICurrent_Impl.cpp: + * TAO/tests/POA/FindPOA/FindPOA.cpp: + +commit 1b193af01d5289f17269896566aba5acbd8eb145 +Author: Johnny Willemsen +Date: Tue Jan 16 11:41:47 2024 +0100 + + Make 7.1.3 public available + + * ACE/NEWS: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index 449f4f7ba25fd..1a9eeb16be5e6 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 3.1.3 - ACE VERSION: 7.1.3 + TAO VERSION: 3.1.4 + ACE VERSION: 7.1.4 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index c8be2091d87e4..da8f662f78e8c 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 3.1.3, released Tue Jan 16 11:25:51 CET 2024 +This is TAO version 3.1.4, released Wed Apr 10 09:54:13 CEST 2024 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index fe48396ea3f70..9d28907b8f5f1 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -4,7 +4,7 @@ #define TAO_MAJOR_VERSION 3 #define TAO_MINOR_VERSION 1 -#define TAO_MICRO_VERSION 3 -#define TAO_VERSION "3.1.3" -#define TAO_VERSION_CODE 0x30103 +#define TAO_MICRO_VERSION 4 +#define TAO_VERSION "3.1.4" +#define TAO_VERSION_CODE 0x30104 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From c3da0520bc65f368f5b914d0fb576330e51093f2 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 10 Apr 2024 10:11:46 +0200 Subject: [PATCH 284/445] Make 7.1.4 public and prepare for 7.1.5 * ACE/NEWS: * ACE/bin/copy-local-script.sh: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: * TAO/NEWS: --- ACE/NEWS | 3 + ACE/bin/copy-local-script.sh | 2 +- .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 64 +++++++++---------- ACE/etc/index.html | 1 + TAO/NEWS | 5 ++ 6 files changed, 43 insertions(+), 34 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index 4a9cf9f8d0983..a0a0d67506461 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.1.5 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-7.1.3 and ACE-7.1.4 ==================================================== diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index 02fc5f13f4a5a..5eba15548e7e3 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.3&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.4&/'` echo "Copying $i to $d" cp -ip $i $d done diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index 72f5cf2c1fe75..82bf587b1a1e1 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2024_01_16; else olddate=$3; fi +if test -z $3; then olddate=2024_04_10; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index b3b2d7ed4d664..df4d31730d13d 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,81 +90,81 @@

                  Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

                    -
                  • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.3 and TAO 3.1.3 -(ACE+TAO x.1.3), please use the links below to download it.

                    +

                  • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.4 and TAO 3.1.4 +(ACE+TAO x.1.4), please use the links below to download it.

                    - - - - - - - - - - - - - - -
                    FilenameDescriptionFullSources only
                    ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                    ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                    diff --git a/ACE/etc/index.html b/ACE/etc/index.html index ac97ff6ba027a..c85ef073ee225 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

                    ACE+TAO Documentation


                    We do have the documentation for previous releases
                      +
                    • 7.1.4

                    • 7.1.3

                    • 7.1.2

                    • 7.1.1

                    • diff --git a/TAO/NEWS b/TAO/NEWS index c03802329d1ff..faa25fda7ff3f 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,6 +1,11 @@ +USER VISIBLE CHANGES BETWEEN TAO-3.1.4 and TAO-3.1.5 +==================================================== + USER VISIBLE CHANGES BETWEEN TAO-3.1.3 and TAO-3.1.4 ==================================================== +- None + USER VISIBLE CHANGES BETWEEN TAO-3.1.2 and TAO-3.1.3 ==================================================== From 787f08ae9d0896fa5c2b6aa1d495057c0769eca0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 10 Apr 2024 10:14:48 +0200 Subject: [PATCH 285/445] Upgrade for next rlease * ACE/bin/copy-local-script.sh: --- ACE/bin/copy-local-script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index 5eba15548e7e3..7af4d81270a11 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.4&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.5&/'` echo "Copying $i to $d" cp -ip $i $d done From b0e4f06810a909c171b5012d1c0bf808f1729dcf Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 11 Apr 2024 13:05:10 +0200 Subject: [PATCH 286/445] Check for full match with major version * ACE/include/makeinclude/platform_g++_common.GNU: --- ACE/include/makeinclude/platform_g++_common.GNU | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ACE/include/makeinclude/platform_g++_common.GNU b/ACE/include/makeinclude/platform_g++_common.GNU index 36dbcd43df074..92d805083c428 100644 --- a/ACE/include/makeinclude/platform_g++_common.GNU +++ b/ACE/include/makeinclude/platform_g++_common.GNU @@ -75,16 +75,16 @@ endif CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) # Minimum C++ level is now C++17, gcc until version 11 have an older version as default -ifeq ($(findstring $(CXX_MAJOR_VERSION),7),$(CXX_MAJOR_VERSION)) +ifeq ($(CXX_MAJOR_VERSION),7) c++std ?= c++17 endif -ifeq ($(findstring $(CXX_MAJOR_VERSION),8),$(CXX_MAJOR_VERSION)) +ifeq ($(CXX_MAJOR_VERSION),8) c++std ?= c++17 endif -ifeq ($(findstring $(CXX_MAJOR_VERSION),9),$(CXX_MAJOR_VERSION)) +ifeq ($(CXX_MAJOR_VERSION),9) c++std ?= c++17 endif -ifeq ($(findstring $(CXX_MAJOR_VERSION),10),$(CXX_MAJOR_VERSION)) +ifeq ($(CXX_MAJOR_VERSION),10) c++std ?= c++17 endif From fc698ff965ccd387fcf0fc217b22fb5de9e4461a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 11 Apr 2024 13:06:10 +0200 Subject: [PATCH 287/445] Remove check for gcc 4.2, any compiler we support is newer * ACE/include/makeinclude/platform_g++_common.GNU: --- ACE/include/makeinclude/platform_g++_common.GNU | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ACE/include/makeinclude/platform_g++_common.GNU b/ACE/include/makeinclude/platform_g++_common.GNU index 36dbcd43df074..b1eccf4a8394e 100644 --- a/ACE/include/makeinclude/platform_g++_common.GNU +++ b/ACE/include/makeinclude/platform_g++_common.GNU @@ -111,13 +111,11 @@ ifeq ($(no_strict_aliasing), 1) FLAGS_C_CC += -fno-strict-aliasing else ifneq ($(no_strict_aliasing), 0) - # if not explicitly disabled enable suppression of strict-aliasing checks by default - # for GCC >= 4.2; these checks and the resulting warnings are very controversial and + # if not explicitly disabled enable suppression of strict-aliasing checks by default; + # these checks and the resulting warnings are very controversial and # popular opinion on the web seems to be that it brings little practical value and a # lot of pain to attempt to solve code issues and the best way to deal is to suppress - ifneq ($(findstring $(CXX_MAJOR_VERSION).$(CXX_MINOR_VERSION),4.1),$(CXX_MAJOR_VERSION).$(CXX_MINOR_VERSION)) - FLAGS_C_CC += -fno-strict-aliasing - endif + FLAGS_C_CC += -fno-strict-aliasing endif endif From ee147da820e0e6acca101e9309108133e530bf4e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 12 Apr 2024 12:04:42 +0200 Subject: [PATCH 288/445] Use a variable on the stack to not have a temporary in the call * ACE/protocols/ace/INet/URLBase.cpp: --- ACE/protocols/ace/INet/URLBase.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ACE/protocols/ace/INet/URLBase.cpp b/ACE/protocols/ace/INet/URLBase.cpp index 8814eb94dadc8..9f9517ace109e 100644 --- a/ACE/protocols/ace/INet/URLBase.cpp +++ b/ACE/protocols/ace/INet/URLBase.cpp @@ -182,7 +182,8 @@ namespace ACE ACE_WString URL_Base::to_wstring () const { - return ACE_Ascii_To_Wide (this->to_string().c_str ()).wchar_rep (); + ACE_Ascii_To_Wide ws(this->to_string().c_str ()); + return ws.wchar_rep (); } URL_Base* URL_Base::create_from_wstring (const ACE_WString& url_string) From 42e242e9cc0cb594e9109c6692935b69730b4268 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 15 Apr 2024 11:19:43 +0200 Subject: [PATCH 289/445] Cleanup ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE, all platforms support it so far as I can tell * ACE/ace/config-face-conftest.h: * ACE/ace/config-hurd.h: * ACE/ace/config-kfreebsd.h: * ACE/ace/config-linux-common.h: * ACE/ace/config-lynxos-178.h: * ACE/ace/config-lynxos.h: * ACE/ace/config-mqx.h: * ACE/ace/config-openbsd.h: * ACE/ace/config-win32-mingw64.h: * ACE/ace/os_include/os_signal.h: --- ACE/ace/config-face-conftest.h | 1 - ACE/ace/config-hurd.h | 1 - ACE/ace/config-kfreebsd.h | 3 --- ACE/ace/config-linux-common.h | 1 - ACE/ace/config-lynxos-178.h | 1 - ACE/ace/config-lynxos.h | 1 - ACE/ace/config-mqx.h | 1 - ACE/ace/config-openbsd.h | 1 - ACE/ace/config-win32-mingw64.h | 11 ----------- ACE/ace/os_include/os_signal.h | 4 ---- 10 files changed, 25 deletions(-) diff --git a/ACE/ace/config-face-conftest.h b/ACE/ace/config-face-conftest.h index 422384f0b8a0d..3df8fcea0ddba 100644 --- a/ACE/ace/config-face-conftest.h +++ b/ACE/ace/config-face-conftest.h @@ -23,7 +23,6 @@ #define ACE_HAS_MSG #define ACE_HAS_POSIX_TIME #define ACE_HAS_POSIX_NONBLOCK -#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE #define ACE_HAS_PTHREADS #define ACE_HAS_OPAQUE_PTHREAD_T #define ACE_HAS_REENTRANT_FUNCTIONS diff --git a/ACE/ace/config-hurd.h b/ACE/ace/config-hurd.h index 95517b69d8631..c1e60c86eff4a 100644 --- a/ACE/ace/config-hurd.h +++ b/ACE/ace/config-hurd.h @@ -67,7 +67,6 @@ #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) # define ACE_HAS_ISASTREAM_PROTOTYPE -# define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE # define ACE_HAS_CPU_SET_T #endif /* __GLIBC__ > 2 || __GLIBC__ === 2 && __GLIBC_MINOR__ >= 3) */ diff --git a/ACE/ace/config-kfreebsd.h b/ACE/ace/config-kfreebsd.h index db57811bcfe1c..40a59a1d0ce6e 100644 --- a/ACE/ace/config-kfreebsd.h +++ b/ACE/ace/config-kfreebsd.h @@ -164,9 +164,6 @@ /* Define to 1 if platform has pthread_setconcurrency(). */ #define ACE_HAS_PTHREAD_SETCONCURRENCY 1 -/* Define to 1 if platform has the declaration of pthread_sigmask(). */ -#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE 1 - /* Platform has pread() and pwrite() support. */ #define ACE_HAS_P_READ_WRITE 1 diff --git a/ACE/ace/config-linux-common.h b/ACE/ace/config-linux-common.h index 1f2234d0b64ab..d71151c02d2fb 100644 --- a/ACE/ace/config-linux-common.h +++ b/ACE/ace/config-linux-common.h @@ -40,7 +40,6 @@ #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) # define ACE_HAS_ISASTREAM_PROTOTYPE -# define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE # define ACE_HAS_CPU_SET_T # define ACE_HAS_GLIBC_2_2_3 #endif /* __GLIBC__ > 2 || __GLIBC__ === 2 && __GLIBC_MINOR__ >= 3) */ diff --git a/ACE/ace/config-lynxos-178.h b/ACE/ace/config-lynxos-178.h index 623c968d5e17a..4a15358f5a921 100644 --- a/ACE/ace/config-lynxos-178.h +++ b/ACE/ace/config-lynxos-178.h @@ -53,7 +53,6 @@ #if ACE_MT_SAFE == 1 // Platform supports threads. # define ACE_HAS_NONCONST_PTHREAD_SIGMASK -# define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE #endif /* ACE_MT_SAFE */ #include /**/ "ace/post.h" diff --git a/ACE/ace/config-lynxos.h b/ACE/ace/config-lynxos.h index 6f4b8068e51d2..f124c8b94ba4f 100644 --- a/ACE/ace/config-lynxos.h +++ b/ACE/ace/config-lynxos.h @@ -66,7 +66,6 @@ #define ACE_HAS_PTHREADS_UNIX98_EXT #define ACE_HAS_PTHREAD_GETCONCURRENCY #define ACE_HAS_PTHREAD_SETCONCURRENCY -#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS #define ACE_HAS_REENTRANT_FUNCTIONS #define ACE_HAS_SCANDIR diff --git a/ACE/ace/config-mqx.h b/ACE/ace/config-mqx.h index 028b9c367af24..02bf619bf3a06 100644 --- a/ACE/ace/config-mqx.h +++ b/ACE/ace/config-mqx.h @@ -418,7 +418,6 @@ inline int puts(const char* str) { #define ACE_MKDIR_LACKS_MODE // POSIX -#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE #define ACE_LACKS_SEMBUF_T #define ACE_LACKS_UNIX_DOMAIN_SOCKETS #define ACE_LACKS_KILL diff --git a/ACE/ace/config-openbsd.h b/ACE/ace/config-openbsd.h index b1cd54a822645..1a7bee447ea54 100644 --- a/ACE/ace/config-openbsd.h +++ b/ACE/ace/config-openbsd.h @@ -48,7 +48,6 @@ #define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP #define ACE_HAS_PTHREAD_NP_H #define ACE_HAS_PTHREAD_SETCONCURRENCY -#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE #define ACE_HAS_P_READ_WRITE #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS #define ACE_HAS_REENTRANT_FUNCTIONS diff --git a/ACE/ace/config-win32-mingw64.h b/ACE/ace/config-win32-mingw64.h index 1d378aa1e233b..1b5b42475999a 100644 --- a/ACE/ace/config-win32-mingw64.h +++ b/ACE/ace/config-win32-mingw64.h @@ -47,15 +47,6 @@ #endif # define ACE_FILENO_EQUIVALENT ::_fileno -// Latest version of MingW64 (GCC 4.8.2) with Win32 threading -// defines a 'pthread_sigmask' macro when including signal.h. -// We have to remove that one since ACE declares a (non-functional) -// pthread_sigmask method in ACE_OS. -#include -#if defined (pthread_sigmask) -# undef pthread_sigmask -#endif - #define ACE_HAS_SSIZE_T #undef ACE_LACKS_TELLDIR #undef ACE_LACKS_SEEKDIR @@ -119,8 +110,6 @@ #define ACE_LACKS_UID_T #define ACE_LACKS_GID_T -#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE - #define ACE_INT64_FORMAT_SPECIFIER_ASCII "%I64d" #define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%I64u" diff --git a/ACE/ace/os_include/os_signal.h b/ACE/ace/os_include/os_signal.h index 679a1944aabb9..ef9f3b2cbbf02 100644 --- a/ACE/ace/os_include/os_signal.h +++ b/ACE/ace/os_include/os_signal.h @@ -188,10 +188,6 @@ extern "C" # endif /* ACE_SIGRTMAX */ #endif /* ACE_HAS_POSIX_REALTIME_SIGNALS */ -#if !defined (ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE) - int pthread_sigmask(int, const sigset_t *, sigset_t *); -#endif /*!ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE */ - #ifdef __cplusplus } #endif /* __cplusplus */ From 143905afafa988abe2e236f517a97f85533960dc Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 16 Apr 2024 08:45:21 +0200 Subject: [PATCH 290/445] Revert "Use a variable on the stack to not have a temporary in the call" --- ACE/protocols/ace/INet/URLBase.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ACE/protocols/ace/INet/URLBase.cpp b/ACE/protocols/ace/INet/URLBase.cpp index 9f9517ace109e..8814eb94dadc8 100644 --- a/ACE/protocols/ace/INet/URLBase.cpp +++ b/ACE/protocols/ace/INet/URLBase.cpp @@ -182,8 +182,7 @@ namespace ACE ACE_WString URL_Base::to_wstring () const { - ACE_Ascii_To_Wide ws(this->to_string().c_str ()); - return ws.wchar_rep (); + return ACE_Ascii_To_Wide (this->to_string().c_str ()).wchar_rep (); } URL_Base* URL_Base::create_from_wstring (const ACE_WString& url_string) From 6a9352f28cb79bab46128295364d72a71711a98d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 16 Apr 2024 16:01:08 +0200 Subject: [PATCH 291/445] Changes to attempt to silence bcc64x * ACE/ace/Based_Pointer_Repository.h: * ACE/ace/UUID.h: --- ACE/ace/Based_Pointer_Repository.h | 7 ++----- ACE/ace/UUID.h | 8 +++++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ACE/ace/Based_Pointer_Repository.h b/ACE/ace/Based_Pointer_Repository.h index 1b88fed51bf2d..c2a2b5e5ba60b 100644 --- a/ACE/ace/Based_Pointer_Repository.h +++ b/ACE/ace/Based_Pointer_Repository.h @@ -75,13 +75,10 @@ class ACE_Export ACE_Based_Pointer_Repository // ---------------------------------- /// Declare a process wide singleton -ACE_SINGLETON_DECLARE (ACE_Singleton, - ACE_Based_Pointer_Repository, - ACE_SYNCH_RW_MUTEX) +ACE_SINGLETON_DECLARE (ACE_Singleton, ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX) /// Provide a Singleton access point to the based pointer repository. -typedef ACE_Singleton - ACE_BASED_POINTER_REPOSITORY; +typedef ACE_Singleton ACE_BASED_POINTER_REPOSITORY; ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/UUID.h b/ACE/ace/UUID.h index 664e25259ee33..aade27a2ad038 100644 --- a/ACE/ace/UUID.h +++ b/ACE/ace/UUID.h @@ -269,13 +269,15 @@ namespace ACE_Utils /// Initialization state of the generator. bool is_init_; }; - - typedef ACE_Singleton - UUID_GENERATOR; } ACE_SINGLETON_DECLARE (ACE_Singleton, ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX) +namespace ACE_Utils +{ + typedef ACE_Singleton UUID_GENERATOR; +} + ACE_END_VERSIONED_NAMESPACE_DECL #if defined (__ACE_INLINE__) From a0254dacc11a8371a153df228867cb830377af7d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 11:45:14 +0200 Subject: [PATCH 292/445] Fix compile warning with bcc64x Fix compile warnings with bcc64x --- .../orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp | 4 ++-- .../orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp index b9355cbcd7287..fce6c98b4b193 100644 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp +++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp @@ -14,7 +14,6 @@ GroupInfoPublisherBase::GroupInfoPublisherBase() info_->primary = false; } - void GroupInfoPublisherBase::subscribe(TAO_FTEC_Become_Primary_Listener* listener) { @@ -51,7 +50,6 @@ GroupInfoPublisherBase::backups() const return info_->backups; } - GroupInfoPublisherBase::Info* GroupInfoPublisherBase::setup_info(const FTRT::ManagerInfoList & info_list, int my_position, @@ -143,7 +141,9 @@ GroupInfoPublisherBase::update_info(GroupInfoPublisherBase::Info_ptr& info) } info_ = std::move(info); } + TAO_END_VERSIONED_NAMESPACE_DECL + ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, GroupInfoPublisherBase, TAO_SYNCH_MUTEX) ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h index b4f6b370283bd..ad3f8e701621a 100644 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h +++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h @@ -39,7 +39,6 @@ class GroupInfoPublisherBase }; typedef std::unique_ptr Info_ptr; - friend class ACE_Singleton; void subscribe(TAO_FTEC_Become_Primary_Listener* listener); void set_naming_context(CosNaming::NamingContext_var naming_context); @@ -61,19 +60,19 @@ class GroupInfoPublisherBase void object_id(const char* oid); void name(const char* nam); - -private: GroupInfoPublisherBase(); +private: CosNaming::NamingContext_var naming_context_; typedef ACE_Vector Subscribers; - Subscribers subscribers_; + Subscribers subscribers_; PortableServer::ObjectId object_id_; CosNaming::Name name_; Info_ptr info_; }; TAO_END_VERSIONED_NAMESPACE_DECL + ACE_BEGIN_VERSIONED_NAMESPACE_DECL TAO_FTRTEC_SINGLETON_DECLARE(ACE_Singleton, GroupInfoPublisherBase, TAO_SYNCH_MUTEX) From 8a541c6352b963f459883f3d9fa503589629ff18 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 12:00:21 +0200 Subject: [PATCH 293/445] Update Constraint_Nodes.cpp Added cast to not perform an implicit conversion --- TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp b/TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp index f7c3fe0298534..965ecc92f2678 100644 --- a/TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp +++ b/TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp @@ -451,7 +451,7 @@ TAO_Literal_Constraint::operator CORBA::ULongLong () const else if (this->type_ == TAO_DOUBLE) return_value = (this->op_.double_ > 0) ? - ((this->op_.double_ > ACE_UINT64_MAX) ? + ((this->op_.double_ > static_cast(ACE_UINT64_MAX)) ? ACE_UINT64_MAX : static_cast (this->op_.double_)) : 0; @@ -471,7 +471,7 @@ TAO_Literal_Constraint::operator CORBA::LongLong () const else if (this->type_ == TAO_DOUBLE) return_value = (this->op_.double_ > 0) ? - ((this->op_.double_ > ACE_INT64_MAX) ? + ((this->op_.double_ > static_cast(ACE_INT64_MAX)) ? ACE_INT64_MAX : static_cast (this->op_.double_)) : ((this->op_.double_ < ACE_INT64_MIN) ? From 909a92103f532f1ef6ac3d40abd7d659b944072f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 15:04:51 +0200 Subject: [PATCH 294/445] Cleanup Visual Studio files * ACE/bin/MakeProjectCreator/config/vc10nmake.mpb: * ACE/bin/MakeProjectCreator/config/vc11.features: * ACE/bin/MakeProjectCreator/config/vc11nmake.mpb: * ACE/bin/MakeProjectCreator/config/vc12.features: * ACE/bin/MakeProjectCreator/config/vc12nmake.mpb: * ACE/bin/MakeProjectCreator/config/vc14.features: * ACE/bin/MakeProjectCreator/config/vc71.features: * ACE/bin/MakeProjectCreator/config/vc8.features: * ACE/bin/MakeProjectCreator/config/vc8nmake.mpb: * ACE/bin/MakeProjectCreator/config/vc9.features: * ACE/bin/MakeProjectCreator/config/vc9nmake.mpb: Deleted. * ACE/bin/MakeProjectCreator/config/vc10.features -> ACE/bin/MakeProjectCreator/config/vs2022.features: * ACE/bin/MakeProjectCreator/config/vc14nmake.mpb -> ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: Moved. --- ACE/bin/MakeProjectCreator/config/vc10nmake.mpb | 4 ---- ACE/bin/MakeProjectCreator/config/vc11.features | 4 ---- ACE/bin/MakeProjectCreator/config/vc11nmake.mpb | 4 ---- ACE/bin/MakeProjectCreator/config/vc12.features | 4 ---- ACE/bin/MakeProjectCreator/config/vc12nmake.mpb | 4 ---- ACE/bin/MakeProjectCreator/config/vc14.features | 4 ---- ACE/bin/MakeProjectCreator/config/vc71.features | 4 ---- ACE/bin/MakeProjectCreator/config/vc8.features | 4 ---- ACE/bin/MakeProjectCreator/config/vc8nmake.mpb | 4 ---- ACE/bin/MakeProjectCreator/config/vc9.features | 4 ---- ACE/bin/MakeProjectCreator/config/vc9nmake.mpb | 7 ------- .../config/{vc10.features => vs2022.features} | 0 .../config/{vc14nmake.mpb => vs2022nmake.mpb} | 6 ++++++ 13 files changed, 6 insertions(+), 47 deletions(-) delete mode 100644 ACE/bin/MakeProjectCreator/config/vc10nmake.mpb delete mode 100644 ACE/bin/MakeProjectCreator/config/vc11.features delete mode 100644 ACE/bin/MakeProjectCreator/config/vc11nmake.mpb delete mode 100644 ACE/bin/MakeProjectCreator/config/vc12.features delete mode 100644 ACE/bin/MakeProjectCreator/config/vc12nmake.mpb delete mode 100644 ACE/bin/MakeProjectCreator/config/vc14.features delete mode 100644 ACE/bin/MakeProjectCreator/config/vc71.features delete mode 100644 ACE/bin/MakeProjectCreator/config/vc8.features delete mode 100644 ACE/bin/MakeProjectCreator/config/vc8nmake.mpb delete mode 100644 ACE/bin/MakeProjectCreator/config/vc9.features delete mode 100644 ACE/bin/MakeProjectCreator/config/vc9nmake.mpb rename ACE/bin/MakeProjectCreator/config/{vc10.features => vs2022.features} (100%) rename ACE/bin/MakeProjectCreator/config/{vc14nmake.mpb => vs2022nmake.mpb} (83%) diff --git a/ACE/bin/MakeProjectCreator/config/vc10nmake.mpb b/ACE/bin/MakeProjectCreator/config/vc10nmake.mpb deleted file mode 100644 index 590887a4e369d..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc10nmake.mpb +++ /dev/null @@ -1,4 +0,0 @@ -// -*- MPC -*- -project { -} - diff --git a/ACE/bin/MakeProjectCreator/config/vc11.features b/ACE/bin/MakeProjectCreator/config/vc11.features deleted file mode 100644 index ef60921945659..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc11.features +++ /dev/null @@ -1,4 +0,0 @@ -ssl=0 -qos=1 -rwho=0 -sctp=0 diff --git a/ACE/bin/MakeProjectCreator/config/vc11nmake.mpb b/ACE/bin/MakeProjectCreator/config/vc11nmake.mpb deleted file mode 100644 index 590887a4e369d..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc11nmake.mpb +++ /dev/null @@ -1,4 +0,0 @@ -// -*- MPC -*- -project { -} - diff --git a/ACE/bin/MakeProjectCreator/config/vc12.features b/ACE/bin/MakeProjectCreator/config/vc12.features deleted file mode 100644 index ef60921945659..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc12.features +++ /dev/null @@ -1,4 +0,0 @@ -ssl=0 -qos=1 -rwho=0 -sctp=0 diff --git a/ACE/bin/MakeProjectCreator/config/vc12nmake.mpb b/ACE/bin/MakeProjectCreator/config/vc12nmake.mpb deleted file mode 100644 index 590887a4e369d..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc12nmake.mpb +++ /dev/null @@ -1,4 +0,0 @@ -// -*- MPC -*- -project { -} - diff --git a/ACE/bin/MakeProjectCreator/config/vc14.features b/ACE/bin/MakeProjectCreator/config/vc14.features deleted file mode 100644 index ef60921945659..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc14.features +++ /dev/null @@ -1,4 +0,0 @@ -ssl=0 -qos=1 -rwho=0 -sctp=0 diff --git a/ACE/bin/MakeProjectCreator/config/vc71.features b/ACE/bin/MakeProjectCreator/config/vc71.features deleted file mode 100644 index ef60921945659..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc71.features +++ /dev/null @@ -1,4 +0,0 @@ -ssl=0 -qos=1 -rwho=0 -sctp=0 diff --git a/ACE/bin/MakeProjectCreator/config/vc8.features b/ACE/bin/MakeProjectCreator/config/vc8.features deleted file mode 100644 index ef60921945659..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc8.features +++ /dev/null @@ -1,4 +0,0 @@ -ssl=0 -qos=1 -rwho=0 -sctp=0 diff --git a/ACE/bin/MakeProjectCreator/config/vc8nmake.mpb b/ACE/bin/MakeProjectCreator/config/vc8nmake.mpb deleted file mode 100644 index 590887a4e369d..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc8nmake.mpb +++ /dev/null @@ -1,4 +0,0 @@ -// -*- MPC -*- -project { -} - diff --git a/ACE/bin/MakeProjectCreator/config/vc9.features b/ACE/bin/MakeProjectCreator/config/vc9.features deleted file mode 100644 index ef60921945659..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc9.features +++ /dev/null @@ -1,4 +0,0 @@ -ssl=0 -qos=1 -rwho=0 -sctp=0 diff --git a/ACE/bin/MakeProjectCreator/config/vc9nmake.mpb b/ACE/bin/MakeProjectCreator/config/vc9nmake.mpb deleted file mode 100644 index 0308d3f1f8d5d..0000000000000 --- a/ACE/bin/MakeProjectCreator/config/vc9nmake.mpb +++ /dev/null @@ -1,7 +0,0 @@ -// -*- MPC -*- -project { - specific(nmake) { - add_compile -= /Wp64 - } -} - diff --git a/ACE/bin/MakeProjectCreator/config/vc10.features b/ACE/bin/MakeProjectCreator/config/vs2022.features similarity index 100% rename from ACE/bin/MakeProjectCreator/config/vc10.features rename to ACE/bin/MakeProjectCreator/config/vs2022.features diff --git a/ACE/bin/MakeProjectCreator/config/vc14nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb similarity index 83% rename from ACE/bin/MakeProjectCreator/config/vc14nmake.mpb rename to ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb index 84ea914a679fa..a2de3923249a0 100644 --- a/ACE/bin/MakeProjectCreator/config/vc14nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb @@ -5,6 +5,12 @@ feature (nmake_avoid_Wp64) { } } +feature (nmake_avoid_Gm) { + specific(nmake) { + compile_flags -= /Gm + } +} + feature(vc_avoid_hides_local_declaration) { specific(nmake) { DisableSpecificWarnings += 4456 From 1839b1cdad078b343540eb30bafb35f0e54cc8ed Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 15:05:06 +0200 Subject: [PATCH 295/445] Layout changes * ACE/tests/Framework_Component_DLL.h: --- ACE/tests/Framework_Component_DLL.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ACE/tests/Framework_Component_DLL.h b/ACE/tests/Framework_Component_DLL.h index f99bbce477735..b800049788736 100644 --- a/ACE/tests/Framework_Component_DLL.h +++ b/ACE/tests/Framework_Component_DLL.h @@ -42,7 +42,6 @@ class FWCT_DLL_Singleton_Adapter_T : public TYPE } }; -typedef ACE_DLL_Singleton_T < FWCT_DLL_Singleton_Adapter_T , - ACE_SYNCH_MUTEX > SS_SINGLETON; +typedef ACE_DLL_Singleton_T < FWCT_DLL_Singleton_Adapter_T , ACE_SYNCH_MUTEX > SS_SINGLETON; #endif /* ACE_TESTS_FRAMEWORK_COMPONENT_TEST_H */ From 08f4763d712abed02e5d41d5a055d9ee853c6d3a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 15:05:20 +0200 Subject: [PATCH 296/445] Layout changes * ACE/ace/Based_Pointer_Repository.cpp: --- ACE/ace/Based_Pointer_Repository.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/ACE/ace/Based_Pointer_Repository.cpp b/ACE/ace/Based_Pointer_Repository.cpp index 3dd1a4e3e546f..869f9375a9e9f 100644 --- a/ACE/ace/Based_Pointer_Repository.cpp +++ b/ACE/ace/Based_Pointer_Repository.cpp @@ -119,5 +119,4 @@ ACE_Based_Pointer_Repository::unbind (void *addr) ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX); - ACE_END_VERSIONED_NAMESPACE_DECL From 6abd30c46ef257c777eb64e8426c39d088cf7a79 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 15:05:34 +0200 Subject: [PATCH 297/445] Layout changes * ACE/apps/JAWS2/JAWS/Parse_Headers.h: --- ACE/apps/JAWS2/JAWS/Parse_Headers.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ACE/apps/JAWS2/JAWS/Parse_Headers.h b/ACE/apps/JAWS2/JAWS/Parse_Headers.h index fc42206345f41..3178681a22c69 100644 --- a/ACE/apps/JAWS2/JAWS/Parse_Headers.h +++ b/ACE/apps/JAWS2/JAWS/Parse_Headers.h @@ -112,8 +112,6 @@ class JAWS_Export JAWS_Parse_Headers // character that is *not* in the skip set. }; -typedef ACE_Singleton - JAWS_Parse_Headers_Singleton; - +typedef ACE_Singleton JAWS_Parse_Headers_Singleton; #endif /* !defined (JAWS_PARSE_HEADERS_H) */ From 3bf38eaee831fc923f0f661b33fe8f97c2995a64 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 15:05:45 +0200 Subject: [PATCH 298/445] Removed empty line * ACE/tests/Framework_Component_DLL.cpp: --- ACE/tests/Framework_Component_DLL.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/ACE/tests/Framework_Component_DLL.cpp b/ACE/tests/Framework_Component_DLL.cpp index b3ef6c457a62a..a5280fdd093ed 100644 --- a/ACE/tests/Framework_Component_DLL.cpp +++ b/ACE/tests/Framework_Component_DLL.cpp @@ -11,7 +11,6 @@ */ //============================================================================= - #include "Framework_Component_DLL.h" #include "ace/Service_Config.h" #include "ace/Service_Object.h" From 4aad080508af80d28616eb02d017b05d102a1d54 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 22 Apr 2024 15:06:07 +0200 Subject: [PATCH 299/445] Ship with Visual 2019/2022 solutions * ACE/bin/make_release.py: --- ACE/bin/make_release.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ACE/bin/make_release.py b/ACE/bin/make_release.py index 525c000229095..4d7a8c122ecea 100755 --- a/ACE/bin/make_release.py +++ b/ACE/bin/make_release.py @@ -764,8 +764,8 @@ def generate_workspaces (stage_dir): mpc_option = ' -recurse -hierarchy -relative ACE_ROOT=' + stage_dir + '/ACE_wrappers ' mpc_option += ' -relative TAO_ROOT=' + stage_dir + '/ACE_wrappers/TAO ' msvc_exclude_option = ' ' - vs2017_option = ' -name_modifier *_vs2017 ' vs2019_option = ' -name_modifier *_vs2019 ' + vs2022_option = ' -name_modifier *_vs2022 ' redirect_option = str () if not opts.verbose: @@ -775,14 +775,14 @@ def generate_workspaces (stage_dir): ex (mpc_command + " -type gnuace " + \ exclude_option + workers_option + mpc_option + redirect_option) - print ("\tGenerating VS2017 solutions...") - ex (mpc_command + " -type vs2017 " + \ - msvc_exclude_option + mpc_option + workers_option + vs2017_option + redirect_option) - print ("\tGenerating VS2019 solutions...") ex (mpc_command + " -type vs2019 " + \ msvc_exclude_option + mpc_option + workers_option + vs2019_option + redirect_option) + print ("\tGenerating VS2022 solutions...") + ex (mpc_command + " -type vs2022 " + \ + msvc_exclude_option + mpc_option + workers_option + vs2022_option + redirect_option) + print ("\tCorrecting permissions for all generated files...") regex = [ '*.vc[p,w]', From ccfdcddc366ecee7a5a506408f79c9ccfdaafca3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 09:29:57 +0200 Subject: [PATCH 300/445] Increment to C++17 as minimum required C++ compiler, includes setting default C++ version for Visual Studio to 2017 * ACE/ace/Global_Macros.h: * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: * ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb: * ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb: * ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: * TAO/tests/Oneway_Send_Timeouts/Server_Task.h: * TAO/tests/Oneway_Send_Timeouts/main.cpp: --- ACE/ace/Global_Macros.h | 4 ++-- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 6 ++++++ ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb | 6 ++++++ ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb | 6 ++++++ ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb | 6 ++++++ TAO/tests/Oneway_Send_Timeouts/Server_Task.h | 5 ----- TAO/tests/Oneway_Send_Timeouts/main.cpp | 8 -------- 7 files changed, 26 insertions(+), 15 deletions(-) diff --git a/ACE/ace/Global_Macros.h b/ACE/ace/Global_Macros.h index 5520938f01c88..eae4a2aece9d2 100644 --- a/ACE/ace/Global_Macros.h +++ b/ACE/ace/Global_Macros.h @@ -57,8 +57,8 @@ # define ACE_SET_BITS(WORD, BITS) (WORD |= (BITS)) # define ACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS)) -#if !defined (ACE_HAS_CPP14) -# error ACE/TAO require C++14 compliance, please upgrade your compiler and/or fix the platform configuration for your environment +#if !defined (ACE_HAS_CPP17) +# error ACE/TAO require C++17 compliance, please upgrade your compiler and/or fix the platform configuration for your environment #endif #define ACE_UNIMPLEMENTED_FUNC(f) f = delete; diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index c90509cecf510..fa9f0e1f28f2b 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -56,3 +56,9 @@ feature(!threads) { platform_libs -= rt } } + +feature(vc_languagestandard) { + specific(vs2017,vs2019,vs2022) { + languagestandard = /std:c++17 + } +} diff --git a/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb index a2de3923249a0..c33d6ecc98603 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb @@ -28,3 +28,9 @@ feature(vc_avoid_hides_class_member) { DisableSpecificWarnings += 4458 } } + +feature(vc_languagestandard) { + specific(nmake) { + languagestandard = /std:c++17 + } +} diff --git a/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb index a2de3923249a0..c33d6ecc98603 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb @@ -28,3 +28,9 @@ feature(vc_avoid_hides_class_member) { DisableSpecificWarnings += 4458 } } + +feature(vc_languagestandard) { + specific(nmake) { + languagestandard = /std:c++17 + } +} diff --git a/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb index a2de3923249a0..c33d6ecc98603 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb @@ -28,3 +28,9 @@ feature(vc_avoid_hides_class_member) { DisableSpecificWarnings += 4458 } } + +feature(vc_languagestandard) { + specific(nmake) { + languagestandard = /std:c++17 + } +} diff --git a/TAO/tests/Oneway_Send_Timeouts/Server_Task.h b/TAO/tests/Oneway_Send_Timeouts/Server_Task.h index 2fa8cd818a3a3..7db4ed5e1cd53 100644 --- a/TAO/tests/Oneway_Send_Timeouts/Server_Task.h +++ b/TAO/tests/Oneway_Send_Timeouts/Server_Task.h @@ -26,12 +26,7 @@ class Server_Task : public ACE_Task_Base ACE_ARGV my_args (args_.c_str ()); // Initialize Server ORB in new thread - -#ifdef ACE_HAS_CPP14 server_ = std::make_unique (my_args.argc (), my_args.argv ()); -#else - server_.reset (new Server(my_args.argc (), my_args.argv ())); -#endif ACE_ASSERT (server_); initializer = true; diff --git a/TAO/tests/Oneway_Send_Timeouts/main.cpp b/TAO/tests/Oneway_Send_Timeouts/main.cpp index d8ff3f1ede166..1b7855cc1f138 100644 --- a/TAO/tests/Oneway_Send_Timeouts/main.cpp +++ b/TAO/tests/Oneway_Send_Timeouts/main.cpp @@ -37,11 +37,7 @@ bool MyMain::init_server (const ACE_TCHAR* args) // main thread and extra thread for backdoor operations int thread_pool = 2; -#ifdef ACE_HAS_CPP14 server_task_ = std::make_unique (my_args); -#else - server_task_.reset (new Server_Task (my_args)); -#endif ACE_ASSERT (server_task_); @@ -79,11 +75,7 @@ bool MyMain::init_client (const ACE_TCHAR* args) std::string my_args (ACE_TEXT_ALWAYS_CHAR (args)); int thread_pool = 1; -#ifdef ACE_HAS_CPP14 client_task_ = std::make_unique (my_args); -#else - client_task_.reset (new Client_Task (my_args)); -#endif ACE_ASSERT (client_task_); From d6bc831954c272001538a1f9c5b4f45aeeb536a8 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 09:34:26 +0200 Subject: [PATCH 301/445] Language standard fixes * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: * ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb: * ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb: * ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 4 ++-- ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb | 4 ++-- ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb | 4 ++-- ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index fa9f0e1f28f2b..eb6ded4c634cf 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -57,8 +57,8 @@ feature(!threads) { } } -feature(vc_languagestandard) { +feature(vc_languagestandard2017) { specific(vs2017,vs2019,vs2022) { - languagestandard = /std:c++17 + LanguageStandard = stdcpp17 } } diff --git a/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb index c33d6ecc98603..50f767bcd6f08 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb @@ -29,8 +29,8 @@ feature(vc_avoid_hides_class_member) { } } -feature(vc_languagestandard) { +feature(vc_languagestandard2017) { specific(nmake) { - languagestandard = /std:c++17 + compile_flags += /std:c++17 } } diff --git a/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb index c33d6ecc98603..50f767bcd6f08 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb @@ -29,8 +29,8 @@ feature(vc_avoid_hides_class_member) { } } -feature(vc_languagestandard) { +feature(vc_languagestandard2017) { specific(nmake) { - languagestandard = /std:c++17 + compile_flags += /std:c++17 } } diff --git a/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb index c33d6ecc98603..50f767bcd6f08 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb @@ -29,8 +29,8 @@ feature(vc_avoid_hides_class_member) { } } -feature(vc_languagestandard) { +feature(vc_languagestandard2017) { specific(nmake) { - languagestandard = /std:c++17 + compile_flags += /std:c++17 } } From 0655b61de5e25e42391061458d67e489377b38dc Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 09:39:33 +0200 Subject: [PATCH 302/445] Add compiler support for c++17/c++20 * ACE/include/makeinclude/platform_linux_clang.GNU: * ACE/include/makeinclude/platform_macosx_common.GNU: --- ACE/include/makeinclude/platform_linux_clang.GNU | 8 ++++++++ ACE/include/makeinclude/platform_macosx_common.GNU | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index 23cd17cb53eee..d36553a415734 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -35,6 +35,14 @@ ifeq ($(optimize),0) CPPFLAGS += -O0 endif +ifeq ($(c++20),1) + CCFLAGS += -std=c++20 +endif + +ifeq ($(c++17),1) + CCFLAGS += -std=c++17 +endif + ifeq ($(c++14),1) CCFLAGS += -std=c++14 endif diff --git a/ACE/include/makeinclude/platform_macosx_common.GNU b/ACE/include/makeinclude/platform_macosx_common.GNU index 315521a7f8f15..d51d1f6437463 100644 --- a/ACE/include/makeinclude/platform_macosx_common.GNU +++ b/ACE/include/makeinclude/platform_macosx_common.GNU @@ -42,7 +42,7 @@ SOBUILD = -o $(VSHDIR)$*.dylib $< ifeq ($(findstring g++,$(CXX)),)# include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU else - c++14 ?= 1 + c++17 ?= 1 include $(ACE_ROOT)/include/makeinclude/platform_clang_common.GNU endif From 5efddd5a61db295b7878f4d9d4e00a672333667b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 09:48:33 +0200 Subject: [PATCH 303/445] Changes for clang default C++ compiler level * .github/workflows/linux.yml: * ACE/include/makeinclude/platform_linux_clang.GNU: * ACE/include/makeinclude/platform_macosx_common.GNU: --- .github/workflows/linux.yml | 6 ++++++ ACE/include/makeinclude/platform_linux_clang.GNU | 13 +++++++++++++ ACE/include/makeinclude/platform_macosx_common.GNU | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index c95cc80a0a2a8..9f23eb9ec8f46 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -120,6 +120,12 @@ jobs: Repo: llvm-toolchain-$(lsb_release -cs)-15 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU os: ubuntu-22.04 + - CC: clang-16 + CXX: clang++-16 + PackageDeps: clang-16 + Repo: llvm-toolchain-$(lsb_release -cs)-16 + platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux_clang.GNU + os: ubuntu-22.04 - feature: CORBA/e micro CC: gcc-10 CXX: g++-10 diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index d36553a415734..e99b565511159 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -18,6 +18,11 @@ else CXX_MAJOR_VERSION := $(shell $(CXX) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/\..*$$//') endif +# clang 16 and newer default to C++17 +ifeq ($(CXX_MAJOR_VERSION),$(filter $(CXX_MAJOR_VERSION),6 7 8 9 10 11 12 13 14 15)) + c++std ?= c++17 +endif + CCFLAGS += $(CFLAGS) DCFLAGS += -g DLD = $(CXX) @@ -35,6 +40,14 @@ ifeq ($(optimize),0) CPPFLAGS += -O0 endif +ifeq ($(CXX_MAJOR_VERSION),7) + c++std ?= c++17 +endif + +ifneq ($(c++std),) + CCFLAGS += -std=$(c++std) +endif + ifeq ($(c++20),1) CCFLAGS += -std=c++20 endif diff --git a/ACE/include/makeinclude/platform_macosx_common.GNU b/ACE/include/makeinclude/platform_macosx_common.GNU index d51d1f6437463..1806ef9f2eade 100644 --- a/ACE/include/makeinclude/platform_macosx_common.GNU +++ b/ACE/include/makeinclude/platform_macosx_common.GNU @@ -42,7 +42,7 @@ SOBUILD = -o $(VSHDIR)$*.dylib $< ifeq ($(findstring g++,$(CXX)),)# include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU else - c++17 ?= 1 + c++std ?= c++17 include $(ACE_ROOT)/include/makeinclude/platform_clang_common.GNU endif From 1d9323c0e07b0c54ed840a02fb54185e4956f23d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 10:19:49 +0200 Subject: [PATCH 304/445] Rename and add cmake override * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: * ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb: * ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb: * ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 5 ++++- ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb | 2 +- ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb | 2 +- ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index eb6ded4c634cf..a22c039f8c3b9 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -57,8 +57,11 @@ feature(!threads) { } } -feature(vc_languagestandard2017) { +feature(ace_languagestandard2017) { specific(vs2017,vs2019,vs2022) { LanguageStandard = stdcpp17 } + specific(cmake) + languagestandard = 17 + } } diff --git a/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb index 50f767bcd6f08..362bb17460838 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb @@ -29,7 +29,7 @@ feature(vc_avoid_hides_class_member) { } } -feature(vc_languagestandard2017) { +feature(ace_languagestandard2017) { specific(nmake) { compile_flags += /std:c++17 } diff --git a/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb index 50f767bcd6f08..362bb17460838 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb @@ -29,7 +29,7 @@ feature(vc_avoid_hides_class_member) { } } -feature(vc_languagestandard2017) { +feature(ace_languagestandard2017) { specific(nmake) { compile_flags += /std:c++17 } diff --git a/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb index 50f767bcd6f08..362bb17460838 100644 --- a/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb +++ b/ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb @@ -29,7 +29,7 @@ feature(vc_avoid_hides_class_member) { } } -feature(vc_languagestandard2017) { +feature(ace_languagestandard2017) { specific(nmake) { compile_flags += /std:c++17 } From 4ee964bab30af685f418fd2eb62d0f551d7b2a87 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 10:21:09 +0200 Subject: [PATCH 305/445] Temporarily try my MPC branch * .github/workflows/cmake.yml: --- .github/workflows/cmake.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 9f2b8ae0876ca..b5bc52818bd11 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -40,8 +40,9 @@ jobs: - name: checkout MPC uses: actions/checkout@v4 with: - repository: DOCGroup/MPC + repository: jwillemsen/MPC path: ${{ env.MPC_ROOT }} + ref: jwi-cmakelanguagestandard - name: Add Repo run: | wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - From e78b80f1bd2ac4c9750d9d71eb92a51c4bb9301b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 10:22:46 +0200 Subject: [PATCH 306/445] Fixed error * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index a22c039f8c3b9..95cbe642afb52 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -61,7 +61,7 @@ feature(ace_languagestandard2017) { specific(vs2017,vs2019,vs2022) { LanguageStandard = stdcpp17 } - specific(cmake) + specific(cmake) { languagestandard = 17 } } From 87905036e334c90eadb3a16a5718f7d4a4dc6428 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 11:35:13 +0200 Subject: [PATCH 307/445] Rework compiler detection * ACE/include/makeinclude/platform_linux_clang.GNU: --- ACE/include/makeinclude/platform_linux_clang.GNU | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index e99b565511159..3ba2f768a8b18 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -15,7 +15,8 @@ endif ifeq (cmd,$(findstring cmd,$(SHELL))) CXX_MAJOR_VERSION := $(firstword $(subst ., ,$(CXX_VERSION))) else -CXX_MAJOR_VERSION := $(shell $(CXX) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/\..*$$//') +CXX_MAJOR_DOT = $(word $2,$(subst ., ,$1)) +CXX_MAJOR_VERSION := $(call CXX_MAJOR_DOT,$(CXX_VERSION),1) endif # clang 16 and newer default to C++17 From e4fd6ae1e2a7c9197c5f1ce271905a325634a36d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 11:39:02 +0200 Subject: [PATCH 308/445] Cleanup * ACE/include/makeinclude/platform_linux_clang.GNU: --- ACE/include/makeinclude/platform_linux_clang.GNU | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index 3ba2f768a8b18..a63d9509f6f43 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -41,10 +41,6 @@ ifeq ($(optimize),0) CPPFLAGS += -O0 endif -ifeq ($(CXX_MAJOR_VERSION),7) - c++std ?= c++17 -endif - ifneq ($(c++std),) CCFLAGS += -std=$(c++std) endif From 55675b9a890969159bac86e8cbc01baf3507a2b4 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 12:21:55 +0200 Subject: [PATCH 309/445] Print compiler version * .github/workflows/linux.yml: --- .github/workflows/linux.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 9f23eb9ec8f46..0f9db590e0c4e 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -230,6 +230,10 @@ jobs: with: languages: cpp if: matrix.feature == 'CodeQL' + - name: Print compiler version + run: | + ${env:CXX} -dumpversion + shell: pwsh - name: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc run: | perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/TAO_ACE.mwc -workers 4 From 9136324d6c6d7cfc554baa494d7d9dc515f0dcfd Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 12:26:39 +0200 Subject: [PATCH 310/445] No powershell * .github/workflows/linux.yml: --- .github/workflows/linux.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 0f9db590e0c4e..b57252cdb4699 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -232,8 +232,7 @@ jobs: if: matrix.feature == 'CodeQL' - name: Print compiler version run: | - ${env:CXX} -dumpversion - shell: pwsh + ${{ matrix.CXX }} -dumpversion - name: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc run: | perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/TAO_ACE.mwc -workers 4 From ed0b72b1ef533ea54276166e90cd615d10bddd54 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 12:28:40 +0200 Subject: [PATCH 311/445] Add version 4/5 * ACE/include/makeinclude/platform_linux_clang.GNU: --- ACE/include/makeinclude/platform_linux_clang.GNU | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index a63d9509f6f43..c810f90f95eb7 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -20,7 +20,7 @@ CXX_MAJOR_VERSION := $(call CXX_MAJOR_DOT,$(CXX_VERSION),1) endif # clang 16 and newer default to C++17 -ifeq ($(CXX_MAJOR_VERSION),$(filter $(CXX_MAJOR_VERSION),6 7 8 9 10 11 12 13 14 15)) +ifeq ($(CXX_MAJOR_VERSION),$(filter $(CXX_MAJOR_VERSION),4 5 6 7 8 9 10 11 12 13 14 15)) c++std ?= c++17 endif From 5a4e5ec786755a19b36fdd09ffac72561a77497e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 23 Apr 2024 14:34:33 +0200 Subject: [PATCH 312/445] Document C++17 requirement * ACE/NEWS: * ACE/ace/checked_iterator.h: --- ACE/NEWS | 4 ++++ ACE/ace/checked_iterator.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ACE/NEWS b/ACE/NEWS index a0a0d67506461..a6af1f46181d8 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,10 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.1.5 ==================================================== +. ACE/TAO now require C++17 or newer + +. Add support for Embarcadero C++ Builder bcc64x compiler + USER VISIBLE CHANGES BETWEEN ACE-7.1.3 and ACE-7.1.4 ==================================================== diff --git a/ACE/ace/checked_iterator.h b/ACE/ace/checked_iterator.h index bdbe4e3cf2ccf..a7b2ea4b4ec53 100644 --- a/ACE/ace/checked_iterator.h +++ b/ACE/ace/checked_iterator.h @@ -11,7 +11,7 @@ * Some compilers (e.g. MSVC++ >= 8) issue security related * diagnostics if algorithms such as std::copy() are used in an unsafe * way. Normally this isn't an issue if STL container iterators are - * used in conjuction with the standard algorithms. However, in cases + * used in conjunction with the standard algorithms. However, in cases * where application-specific iterators are use with standard * algorithms that could potentially overrun a buffer, extra care must * be taken to prevent such an overrun. If supported, checked From d5a360e8e02d60bbe5bf993341593a479e708a8a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 24 Apr 2024 08:25:29 +0200 Subject: [PATCH 313/445] Update ACE/include/makeinclude/platform_linux_clang.GNU Co-authored-by: Fred Hornsey --- ACE/include/makeinclude/platform_linux_clang.GNU | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index c810f90f95eb7..2f251d0858675 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -43,17 +43,11 @@ endif ifneq ($(c++std),) CCFLAGS += -std=$(c++std) -endif - -ifeq ($(c++20),1) +else ifeq ($(c++20),1) CCFLAGS += -std=c++20 -endif - -ifeq ($(c++17),1) +else ifeq ($(c++17),1) CCFLAGS += -std=c++17 -endif - -ifeq ($(c++14),1) +else ifeq ($(c++14),1) CCFLAGS += -std=c++14 endif From a2fec2210c135d4e9a205ce96e89b57f9be74b4e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 24 Apr 2024 08:27:56 +0200 Subject: [PATCH 314/445] Simplified c++std checks * ACE/include/makeinclude/platform_gcc_clang_common.GNU: --- .../makeinclude/platform_gcc_clang_common.GNU | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/ACE/include/makeinclude/platform_gcc_clang_common.GNU b/ACE/include/makeinclude/platform_gcc_clang_common.GNU index 2e29d5d4f4922..214da114ec62a 100644 --- a/ACE/include/makeinclude/platform_gcc_clang_common.GNU +++ b/ACE/include/makeinclude/platform_gcc_clang_common.GNU @@ -51,19 +51,13 @@ endif # shared_libs ifneq ($(c++std),) CCFLAGS += -std=$(c++std) -endif - -ifeq ($(c++20),1) +else ifeq ($(c++20),1) CCFLAGS += -std=c++20 -else - ifeq ($(c++17),1) - CCFLAGS += -std=c++17 - else - ifeq ($(c++14),1) - CCFLAGS += -std=c++14 - endif # c++14 - endif #c++17 -endif #c++20 +else ifeq ($(c++17),1) + CCFLAGS += -std=c++17 +else ifeq ($(c++14),1) + CCFLAGS += -std=c++14 +endif # If no option has been specified, set templates to automatic # version of the compiler. From 61c0befaa0139e9ebf80196c5644191a6fd70508 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 24 Apr 2024 08:28:44 +0200 Subject: [PATCH 315/445] Next version will be a minor one * ACE/NEWS: * TAO/NEWS: --- ACE/NEWS | 2 +- TAO/NEWS | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index a6af1f46181d8..48be5c1c9da6b 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,4 +1,4 @@ -USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.1.5 +SER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.2.0 ==================================================== . ACE/TAO now require C++17 or newer diff --git a/TAO/NEWS b/TAO/NEWS index faa25fda7ff3f..5ad7a528229d5 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,4 +1,4 @@ -USER VISIBLE CHANGES BETWEEN TAO-3.1.4 and TAO-3.1.5 +USER VISIBLE CHANGES BETWEEN TAO-3.1.4 and TAO-3.2.0 ==================================================== USER VISIBLE CHANGES BETWEEN TAO-3.1.3 and TAO-3.1.4 From 268b116929816ef35d0664ae4ed4a22e03581bc0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 24 Apr 2024 10:43:07 +0200 Subject: [PATCH 316/445] Header fix * ACE/NEWS: --- ACE/NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/NEWS b/ACE/NEWS index 48be5c1c9da6b..347b15e99b0e5 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,4 +1,4 @@ -SER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.2.0 +USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.2.0 ==================================================== . ACE/TAO now require C++17 or newer From 9abf05ca86eae5f0da11e7b518d8e6a3b40a3cc5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 24 Apr 2024 11:26:09 +0200 Subject: [PATCH 317/445] Add _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING to the default compiler flags to suppress the stdext::checked_array_iterator deprecation warnings at this moment * ACE/bin/MakeProjectCreator/config/vc_warnings.mpb: --- ACE/bin/MakeProjectCreator/config/vc_warnings.mpb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb b/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb index b951e280931ce..b1dda80776244 100644 --- a/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb +++ b/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb @@ -51,6 +51,17 @@ feature(vc_avoid_winsock_warnings) { } } +feature(vc_avoid_stdext_arr_iters_warning) { + specific(prop:microsoft) { + macros += _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING + } + verbatim(cmake, macros, 1) { + if(MSVC) + " add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)" + endif() + } +} + feature(vc_avoid_hides_local_declaration) { specific(vc14) { DisableSpecificWarnings += 4456 From a26d6972a3b033b45458a9a76d02f7145971c79b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 25 Apr 2024 08:25:39 +0200 Subject: [PATCH 318/445] Revert test changes * .github/workflows/cmake.yml: * .github/workflows/linux.yml: --- .github/workflows/cmake.yml | 3 +-- .github/workflows/linux.yml | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index b5bc52818bd11..9f2b8ae0876ca 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -40,9 +40,8 @@ jobs: - name: checkout MPC uses: actions/checkout@v4 with: - repository: jwillemsen/MPC + repository: DOCGroup/MPC path: ${{ env.MPC_ROOT }} - ref: jwi-cmakelanguagestandard - name: Add Repo run: | wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index b57252cdb4699..9f23eb9ec8f46 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -230,9 +230,6 @@ jobs: with: languages: cpp if: matrix.feature == 'CodeQL' - - name: Print compiler version - run: | - ${{ matrix.CXX }} -dumpversion - name: Run mwc.pl on $(TAO_ROOT)/TAO_ACE.mwc run: | perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/TAO_ACE.mwc -workers 4 From b8016f70eff874a90b4f18900dd5cdd1e74cb545 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 25 Apr 2024 14:04:07 +0200 Subject: [PATCH 319/445] Remove Auto_Ptr.h, with C++17 auto_ptr is not available anymore * ACE/ace/Auto_Ptr.cpp: * ACE/ace/Auto_Ptr.h: * ACE/ace/Auto_Ptr.inl: Deleted. * ACE/ace/ace.mpc: * ACE/ace/ace_for_tao.mpc: * ACE/tests/Logging_Strategy_Test.cpp: --- ACE/ace/Auto_Ptr.cpp | 25 ---- ACE/ace/Auto_Ptr.h | 208 ---------------------------- ACE/ace/Auto_Ptr.inl | 181 ------------------------ ACE/ace/ace.mpc | 1 - ACE/ace/ace_for_tao.mpc | 1 - ACE/tests/Logging_Strategy_Test.cpp | 1 - 6 files changed, 417 deletions(-) delete mode 100644 ACE/ace/Auto_Ptr.cpp delete mode 100644 ACE/ace/Auto_Ptr.h delete mode 100644 ACE/ace/Auto_Ptr.inl diff --git a/ACE/ace/Auto_Ptr.cpp b/ACE/ace/Auto_Ptr.cpp deleted file mode 100644 index 88fab8cbc58e4..0000000000000 --- a/ACE/ace/Auto_Ptr.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef ACE_AUTO_PTR_CPP -#define ACE_AUTO_PTR_CPP - -#include "ace/Auto_Ptr.h" - -#if !defined (ACE_HAS_CPP17) - -#if defined (ACE_HAS_ALLOC_HOOKS) -# include "ace/Malloc_Base.h" -#endif /* ACE_HAS_ALLOC_HOOKS */ - -#if !defined (__ACE_INLINE__) -#include "ace/Auto_Ptr.inl" -#endif /* __ACE_INLINE__ */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_ALLOC_HOOK_DEFINE_Tt(ACE_Auto_Basic_Ptr) -ACE_ALLOC_HOOK_DEFINE_Tt(ACE_Auto_Basic_Array_Ptr) - -ACE_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_HAS_CPP17 */ - -#endif /* ACE_AUTO_PTR_CPP */ diff --git a/ACE/ace/Auto_Ptr.h b/ACE/ace/Auto_Ptr.h deleted file mode 100644 index 4c4d97d2e013a..0000000000000 --- a/ACE/ace/Auto_Ptr.h +++ /dev/null @@ -1,208 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file Auto_Ptr.h - * - * @author Doug Schmidt - * @author Irfan Pyarali - * @author Jack Reeves - * @author Dr. Harald M. Mueller - */ -//============================================================================= - -#ifndef ACE_AUTO_PTR_H -#define ACE_AUTO_PTR_H -#include /**/ "ace/pre.h" - -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -// C++17 removed std::auto_ptr<>, so also disable the ACE versions when -// using C++17. -#if !defined (ACE_HAS_CPP17) - -#if defined (_MSC_VER) -// Suppress warning e.g. "return type for -// 'ACE_Auto_Array_Pointer::operator ->' is 'type *' (i.e., not a UDT -// or reference to a UDT. Will produce errors if applied using infix -// notation)" -# pragma warning(push) -# pragma warning(disable: 4284) -#endif /* _MSC_VER */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class ACE_Auto_Basic_Ptr - * - * @brief Implements the draft C++ standard auto_ptr abstraction. - * This class allows one to work on non-object (basic) types - */ -template -class ACE_Auto_Basic_Ptr -{ -public: - typedef X element_type; - - explicit ACE_Auto_Basic_Ptr (X * p = nullptr) : p_ (p) {} - - ACE_Auto_Basic_Ptr (ACE_Auto_Basic_Ptr & ap); - ACE_Auto_Basic_Ptr &operator= (ACE_Auto_Basic_Ptr & rhs); - ~ACE_Auto_Basic_Ptr (); - - // = Accessor methods. - X &operator *() const; - X *get () const; - X *release (); - void reset (X * p = nullptr); - - /// Dump the state of an object. - void dump () const; - - /// Declare the dynamic allocation hooks. - ACE_ALLOC_HOOK_DECLARE; - -protected: - X *p_; -}; - -ACE_END_VERSIONED_NAMESPACE_DECL - -#if !defined (ACE_LACKS_AUTO_PTR) -# include -using std::auto_ptr; -#else /* !ACE_LACKS_AUTO_PTR */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class auto_ptr - * - * @brief Implements the draft C++ standard auto_ptr abstraction. - */ -template -class auto_ptr : public ACE_Auto_Basic_Ptr -{ -public: - typedef X element_type; - - explicit auto_ptr (X * p = 0) : ACE_Auto_Basic_Ptr (p) {} - auto_ptr (auto_ptr & ap) : ACE_Auto_Basic_Ptr (ap.release ()) {} - - X *operator-> () const; -}; - -ACE_END_VERSIONED_NAMESPACE_DECL - -#endif /* !ACE_LACKS_AUTO_PTR */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @brief Implements the draft C++ standard auto_ptr abstraction. - * This version can be used instead of auto_ptr - */ -template -class ACE_Auto_Ptr : public ACE_Auto_Basic_Ptr -{ -public: - typedef X element_type; - - explicit ACE_Auto_Ptr (X * p = 0) : ACE_Auto_Basic_Ptr (p) {} - - X *operator-> () const; -}; - -/** - * @class ACE_Auto_Basic_Array_Ptr - * - * @brief Implements an extension to the draft C++ standard auto_ptr - * abstraction. This class allows one to work on non-object - * (basic) types that must be treated as an array, e.g., - * deallocated via "delete [] foo". - */ -template -class ACE_Auto_Basic_Array_Ptr -{ -public: - typedef X element_type; - - explicit ACE_Auto_Basic_Array_Ptr (X * p = 0) : p_ (p) {} - - ACE_Auto_Basic_Array_Ptr (ACE_Auto_Basic_Array_Ptr & ap); - ACE_Auto_Basic_Array_Ptr &operator= (ACE_Auto_Basic_Array_Ptr & rhs); - ~ACE_Auto_Basic_Array_Ptr (); - - // = Accessor methods. - X & operator* () const; - X & operator[] (int i) const; - X * get () const; - X * release (); - void reset (X * p = 0); - - /// Dump the state of an object. - void dump () const; - - /// Declare the dynamic allocation hooks. - ACE_ALLOC_HOOK_DECLARE; - -protected: - X * p_; -}; - -/** - * @class ACE_Auto_Array_Ptr - * - * @brief Implements an extension to the draft C++ standard auto_ptr - * abstraction. - */ -template -class ACE_Auto_Array_Ptr : public ACE_Auto_Basic_Array_Ptr -{ -public: - typedef X element_type; - - explicit ACE_Auto_Array_Ptr (X *p = 0) - : ACE_Auto_Basic_Array_Ptr (p) {} - - X *operator-> () const; -}; - - -/** - * @brief Reset given @c auto_ptr element to new element. - * - * Some platforms have an older version of auto_ptr support, which - * lacks reset, and cannot be disabled easily. Portability to these - * platforms requires use of this function template. This function - * template also works for the @c ACE_Auto_{Basic_}Array_Ptr class - * template, as well. - */ -template -inline void -ACE_auto_ptr_reset (AUTO_PTR_TYPE & ap, PTR_TYPE * p) -{ - ap.reset (p); -} - -ACE_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "ace/Auto_Ptr.inl" -#endif /* __ACE_INLINE__ */ - -#include "ace/Auto_Ptr.cpp" - -#if defined (_MSC_VER) -// Restore the warning state to what it was before entry. -# pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* ACE_HAS_CPP17 */ - -#include /**/ "ace/post.h" -#endif /* ACE_AUTO_PTR_H */ diff --git a/ACE/ace/Auto_Ptr.inl b/ACE/ace/Auto_Ptr.inl deleted file mode 100644 index 6657f5e20013d..0000000000000 --- a/ACE/ace/Auto_Ptr.inl +++ /dev/null @@ -1,181 +0,0 @@ -// -*- C++ -*- -#include "ace/Global_Macros.h" - -#if !defined (ACE_HAS_CPP17) - -#if defined (ACE_HAS_ALLOC_HOOKS) -# include "ace/Malloc_Base.h" -#endif /* ACE_HAS_ALLOC_HOOKS */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE void -ACE_Auto_Basic_Ptr::dump () const -{ -#if defined (ACE_HAS_DUMP) - ACE_TRACE ("ACE_Auto_Basic_Ptr::dump"); -#endif /* ACE_HAS_DUMP */ -} - -template ACE_INLINE void -ACE_Auto_Basic_Array_Ptr::dump () const -{ -#if defined (ACE_HAS_DUMP) - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::dump"); -#endif /* ACE_HAS_DUMP */ -} - -template ACE_INLINE -ACE_Auto_Basic_Ptr::ACE_Auto_Basic_Ptr (ACE_Auto_Basic_Ptr &rhs) - : p_ (rhs.release ()) -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::ACE_Auto_Basic_Ptr"); -} - -template ACE_INLINE X * -ACE_Auto_Basic_Ptr::get () const -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::get"); - return this->p_; -} - -template ACE_INLINE X * -ACE_Auto_Basic_Ptr::release () -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::release"); - X *old = this->p_; - this->p_ = nullptr; - return old; -} - -template ACE_INLINE void -ACE_Auto_Basic_Ptr::reset (X *p) -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::reset"); - if (this->get () != p) - delete this->get (); - this->p_ = p; -} - -template ACE_INLINE ACE_Auto_Basic_Ptr & -ACE_Auto_Basic_Ptr::operator= (ACE_Auto_Basic_Ptr &rhs) -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::operator="); - if (this != &rhs) - { - this->reset (rhs.release ()); - } - return *this; -} - -template ACE_INLINE -ACE_Auto_Basic_Ptr::~ACE_Auto_Basic_Ptr () -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::~ACE_Auto_Basic_Ptr"); - delete this->get (); -} - -template ACE_INLINE X & -ACE_Auto_Basic_Ptr::operator *() const -{ - ACE_TRACE ("ACE_Auto_Basic_Ptr::operator *()"); - return *this->get (); -} - -#if defined (ACE_LACKS_AUTO_PTR) -template ACE_INLINE X * -auto_ptr::operator-> () const -{ - ACE_TRACE ("auto_ptr::operator->"); - return this->get (); -} -#endif /* ACE_LACKS_AUTO_PTR */ - -template ACE_INLINE X * -ACE_Auto_Ptr::operator-> () const -{ - ACE_TRACE ("ACE_Auto_Ptr::operator->"); - return this->get (); -} - -template ACE_INLINE X * -ACE_Auto_Basic_Array_Ptr::get () const -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::get"); - return this->p_; -} - -template ACE_INLINE X * -ACE_Auto_Basic_Array_Ptr::release () -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::release"); - X *old = this->p_; - this->p_ = 0; - return old; -} - -template ACE_INLINE void -ACE_Auto_Basic_Array_Ptr::reset (X *p) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::reset"); - if (this->get () != p) -#if defined (ACE_HAS_ALLOC_HOOKS) - ACE_Allocator::instance()->free(this->get ()); -#else - delete [] this->get (); -#endif /* ACE_HAS_ALLOC_HOOKS */ - - this->p_ = p; -} - -template ACE_INLINE -ACE_Auto_Basic_Array_Ptr::ACE_Auto_Basic_Array_Ptr (ACE_Auto_Basic_Array_Ptr &rhs) - : p_ (rhs.release ()) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::ACE_Auto_Basic_Array_Ptr"); -} - -template ACE_INLINE ACE_Auto_Basic_Array_Ptr & -ACE_Auto_Basic_Array_Ptr::operator= (ACE_Auto_Basic_Array_Ptr &rhs) -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::operator="); - if (this != &rhs) - { - this->reset (rhs.release ()); - } - return *this; -} - -template ACE_INLINE -ACE_Auto_Basic_Array_Ptr::~ACE_Auto_Basic_Array_Ptr () -{ - ACE_TRACE ("ACE_Auto_Basic_Array_Ptr::~ACE_Auto_Basic_Array_Ptr"); -#if defined (ACE_HAS_ALLOC_HOOKS) - ACE_Allocator::instance()->free(this->get ()); -#else - delete [] this->get (); -#endif /* ACE_HAS_ALLOC_HOOKS */ -} - -template ACE_INLINE X & -ACE_Auto_Basic_Array_Ptr::operator *() const -{ - return *this->get (); -} - -template ACE_INLINE X & -ACE_Auto_Basic_Array_Ptr::operator[](int i) const -{ - X *array = this->get (); - return array[i]; -} - -template ACE_INLINE X * -ACE_Auto_Array_Ptr::operator->() const -{ - return this->get (); -} - -ACE_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_HAS_CPP17 */ diff --git a/ACE/ace/ace.mpc b/ACE/ace/ace.mpc index 97e8b5fec648e..a300f062c92b5 100644 --- a/ACE/ace/ace.mpc +++ b/ACE/ace/ace.mpc @@ -297,7 +297,6 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, Auto_Event.cpp Auto_Functor.cpp Auto_IncDec_T.cpp - Auto_Ptr.cpp Based_Pointer_T.cpp Bound_Ptr.cpp Cache_Map_Manager_T.cpp diff --git a/ACE/ace/ace_for_tao.mpc b/ACE/ace/ace_for_tao.mpc index acb98a071afef..4c5beeb7dfea6 100644 --- a/ACE/ace/ace_for_tao.mpc +++ b/ACE/ace/ace_for_tao.mpc @@ -218,7 +218,6 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace, Auto_Event.cpp Auto_Functor.cpp Auto_IncDec_T.cpp - Auto_Ptr.cpp Based_Pointer_T.cpp Cache_Map_Manager_T.cpp Cached_Connect_Strategy_T.cpp diff --git a/ACE/tests/Logging_Strategy_Test.cpp b/ACE/tests/Logging_Strategy_Test.cpp index 9132100a912bf..13d22a2ceec69 100644 --- a/ACE/tests/Logging_Strategy_Test.cpp +++ b/ACE/tests/Logging_Strategy_Test.cpp @@ -40,7 +40,6 @@ #include "ace/Logging_Strategy.h" #endif -#include "ace/Auto_Ptr.cpp" #include "ace/Get_Opt.h" #include "ace/OS_NS_time.h" From d71bd20a9796177b10fabeeffd98ba3d383ae06f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 25 Apr 2024 14:23:34 +0200 Subject: [PATCH 320/445] Document change * ACE/NEWS: --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 347b15e99b0e5..02982c59a57f7 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -5,6 +5,9 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.2.0 . Add support for Embarcadero C++ Builder bcc64x compiler +. Removed ace/Auto_Ptr.*, with C++17 std::auto_ptr is not + available anymore + USER VISIBLE CHANGES BETWEEN ACE-7.1.3 and ACE-7.1.4 ==================================================== From 3e1c169728f701f875b3204b04f609cbf9ffe05f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Apr 2024 09:32:49 +0200 Subject: [PATCH 321/445] Introduce platform_libs which is used for bmake Don't add iphlpapi to lit_libs for any compiler on windows, with bmake we don't need that --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 95cbe642afb52..31d6581d69663 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -9,13 +9,14 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode unicode_flags += -DACE_USES_WCHAR macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" debug_macros += ACE_NO_INLINE=1 + platform_libs += iphlpapi } specific(prop:microsoft) { macro_for_lib_modifier=1 } - specific(prop:windows) { + specific(prop:microsoft,iar,uvis,wix) { lit_libs += iphlpapi } verbatim(cmake, top, 1) { @@ -26,7 +27,7 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode } specific(cdt6) { - win32::platform_libs += ws2_32 mswsock netapi32 + win32::platform_libs += ws2_32 mswsock netapi32 iphlpapi release::macros += ACE_NDEBUG } From f4f1bf61a8f99a113f8540e73c845d87ee9e12e0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Apr 2024 12:41:30 +0200 Subject: [PATCH 322/445] Simplify handling of platform_libs for bmake * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: --- .../MakeProjectCreator/config/acedefaults.mpb | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 31d6581d69663..14f3df0421b7e 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -4,21 +4,24 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode includes += $(ACE_ROOT) libpaths += $(ACE_ROOT)/lib + + specific(prop:microsoft) { + macro_for_lib_modifier=1 + } + + specific(prop:windows) { + lit_libs += iphlpapi + } + // Support the alternative Borland Make project type specific(bmake) { unicode_flags += -DACE_USES_WCHAR macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" debug_macros += ACE_NO_INLINE=1 platform_libs += iphlpapi + lit_libs -= iphlpapi } - specific(prop:microsoft) { - macro_for_lib_modifier=1 - } - - specific(prop:microsoft,iar,uvis,wix) { - lit_libs += iphlpapi - } verbatim(cmake, top, 1) { set(ACE_ROOT $ENV{ACE_ROOT}) if(WIN32) @@ -27,7 +30,7 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode } specific(cdt6) { - win32::platform_libs += ws2_32 mswsock netapi32 iphlpapi + win32::platform_libs += ws2_32 mswsock netapi32 release::macros += ACE_NDEBUG } From fe15e4e0a2d096ba17c03542da026058a8ac950c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 30 Apr 2024 08:59:33 +0200 Subject: [PATCH 323/445] Next release will be ACE8 with TAO4 * ACE/NEWS: * ACE/bin/make_release.py: * TAO/NEWS: --- ACE/NEWS | 2 +- ACE/bin/make_release.py | 8 ++++---- TAO/NEWS | 4 +++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index 02982c59a57f7..9b64a9796b948 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,4 +1,4 @@ -USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-7.2.0 +USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-8.0.0 ==================================================== . ACE/TAO now require C++17 or newer diff --git a/ACE/bin/make_release.py b/ACE/bin/make_release.py index 4d7a8c122ecea..52293369d989a 100755 --- a/ACE/bin/make_release.py +++ b/ACE/bin/make_release.py @@ -448,20 +448,20 @@ def make_version (versions, joiner): def update_latest_branch (product, which, main_branch): - """Update one of the Latest_ACE7TAO3_* branches to point to the new release. + """Update one of the Latest_ACE8TAO4_* branches to point to the new release. """ - name = "Latest_ACE7TAO3_" + which + name = "Latest_ACE8TAO4_" + which vprint ('Fast-forwarding', name, 'to', main_branch) ex ("cd $DOC_ROOT/" + product + " && git fetch . " + main_branch + ":" + name) def push_latest_branch (product, which, main_branch): - """Update one of the remote Latest_ACE7TAO3_* branches to point to the new release. + """Update one of the remote Latest_ACE8TAO4_* branches to point to the new release. """ - name = "Latest_ACE7TAO3_" + which + name = "Latest_ACE8TAO4_" + which if opts.push: vprint ("Pushing branch", name) diff --git a/TAO/NEWS b/TAO/NEWS index 5ad7a528229d5..c6f7705a0dd96 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,6 +1,8 @@ -USER VISIBLE CHANGES BETWEEN TAO-3.1.4 and TAO-3.2.0 +USER VISIBLE CHANGES BETWEEN TAO-3.1.4 and TAO-4.0.0 ==================================================== +- ACE/TAO now require C++17 or newer + USER VISIBLE CHANGES BETWEEN TAO-3.1.3 and TAO-3.1.4 ==================================================== From e8fa636e51f9675c60b025ac73652a63babb5ab1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 30 Apr 2024 13:32:30 +0200 Subject: [PATCH 324/445] Define ACE_DEPRECATED as [[deprecated]] * ACE/ace/config-g++-common.h: * ACE/ace/config-macros.h: --- ACE/ace/config-g++-common.h | 8 -------- ACE/ace/config-macros.h | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/ACE/ace/config-g++-common.h b/ACE/ace/config-g++-common.h index b4c8068873469..d97f8085e55b3 100644 --- a/ACE/ace/config-g++-common.h +++ b/ACE/ace/config-g++-common.h @@ -60,10 +60,6 @@ #define ACE_HAS_GCC_DESTRUCTOR_ATTRIBUTE 1 #endif -#if !defined (ACE_HAS_GCC_DEPRECATED_ATTRIBUTE) -#define ACE_HAS_GCC_DEPRECATED_ATTRIBUTE 1 -#endif - #if !defined (ACE_HAS_GCC_FORMAT_ATTRIBUTE) #define ACE_HAS_GCC_FORMAT_ATTRIBUTE 1 #endif @@ -76,10 +72,6 @@ # define ACE_GCC_DESTRUCTOR_ATTRIBUTE __attribute__ ((destructor)) #endif -#if (ACE_HAS_GCC_DEPRECATED_ATTRIBUTE == 1) -#define ACE_DEPRECATED __attribute__ ((deprecated)) -#endif - #if (ACE_HAS_GCC_FORMAT_ATTRIBUTE == 1) # define ACE_GCC_FORMAT_ATTRIBUTE(TYPE, STR_INDEX, FIRST_INDEX) \ __attribute__ ((format (TYPE, STR_INDEX, FIRST_INDEX))) diff --git a/ACE/ace/config-macros.h b/ACE/ace/config-macros.h index ac57a80e0b3eb..83dda72661bc3 100644 --- a/ACE/ace/config-macros.h +++ b/ACE/ace/config-macros.h @@ -680,7 +680,7 @@ extern "C" u_long CLS##_Export _get_dll_unload_policy () \ #endif #ifndef ACE_DEPRECATED -# define ACE_DEPRECATED +# define ACE_DEPRECATED [[deprecated]] #endif #ifndef ACE_HAS_REACTOR_NOTIFICATION_QUEUE From c38c77843f235b0234a2cbc735b7fdba3c5c3e71 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 16 May 2024 12:27:09 +0200 Subject: [PATCH 325/445] ACE+TAO-8_0_0 --- ACE/ChangeLogs/ACE-8_0_0 | 349 ++++++++++++++++++++++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 10 +- ACE/debian/control | 62 +++---- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-4_0_0 | 61 +++++++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 10 +- 10 files changed, 458 insertions(+), 48 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-8_0_0 create mode 100644 TAO/ChangeLogs/TAO-4_0_0 diff --git a/ACE/ChangeLogs/ACE-8_0_0 b/ACE/ChangeLogs/ACE-8_0_0 new file mode 100644 index 0000000000000..72de6cc0ce5c8 --- /dev/null +++ b/ACE/ChangeLogs/ACE-8_0_0 @@ -0,0 +1,349 @@ +commit e8fa636e51f9675c60b025ac73652a63babb5ab1 +Author: Johnny Willemsen +Date: Tue Apr 30 13:32:30 2024 +0200 + + Define ACE_DEPRECATED as [[deprecated]] + * ACE/ace/config-g++-common.h: + * ACE/ace/config-macros.h: + +commit fe15e4e0a2d096ba17c03542da026058a8ac950c +Author: Johnny Willemsen +Date: Tue Apr 30 08:59:33 2024 +0200 + + Next release will be ACE8 with TAO4 + + * ACE/NEWS: + * ACE/bin/make_release.py: + * TAO/NEWS: + +commit f4f1bf61a8f99a113f8540e73c845d87ee9e12e0 +Author: Johnny Willemsen +Date: Fri Apr 26 12:41:30 2024 +0200 + + Simplify handling of platform_libs for bmake + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + +commit 3e1c169728f701f875b3204b04f609cbf9ffe05f +Author: Johnny Willemsen +Date: Fri Apr 26 09:32:49 2024 +0200 + + Introduce platform_libs which is used for bmake + + Don't add iphlpapi to lit_libs for any compiler on windows, with bmake we don't need that + +commit d71bd20a9796177b10fabeeffd98ba3d383ae06f +Author: Johnny Willemsen +Date: Thu Apr 25 14:23:34 2024 +0200 + + Document change + + * ACE/NEWS: + +commit b8016f70eff874a90b4f18900dd5cdd1e74cb545 +Author: Johnny Willemsen +Date: Thu Apr 25 14:04:07 2024 +0200 + + Remove Auto_Ptr.h, with C++17 auto_ptr is not available anymore + + * ACE/ace/Auto_Ptr.cpp: + * ACE/ace/Auto_Ptr.h: + * ACE/ace/Auto_Ptr.inl: + Deleted. + + * ACE/ace/ace.mpc: + * ACE/ace/ace_for_tao.mpc: + * ACE/tests/Logging_Strategy_Test.cpp: + +commit 9abf05ca86eae5f0da11e7b518d8e6a3b40a3cc5 +Author: Johnny Willemsen +Date: Wed Apr 24 11:26:09 2024 +0200 + + Add _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING to the default compiler flags to suppress the stdext::checked_array_iterator deprecation warnings at this moment + + * ACE/bin/MakeProjectCreator/config/vc_warnings.mpb: + +commit 268b116929816ef35d0664ae4ed4a22e03581bc0 +Author: Johnny Willemsen +Date: Wed Apr 24 10:43:07 2024 +0200 + + Header fix + + * ACE/NEWS: + +commit 61c0befaa0139e9ebf80196c5644191a6fd70508 +Author: Johnny Willemsen +Date: Wed Apr 24 08:28:44 2024 +0200 + + Next version will be a minor one + + * ACE/NEWS: + * TAO/NEWS: + +commit a2fec2210c135d4e9a205ce96e89b57f9be74b4e +Author: Johnny Willemsen +Date: Wed Apr 24 08:27:56 2024 +0200 + + Simplified c++std checks + + * ACE/include/makeinclude/platform_gcc_clang_common.GNU: + +commit d5a360e8e02d60bbe5bf993341593a479e708a8a +Author: Johnny Willemsen +Date: Wed Apr 24 08:25:29 2024 +0200 + + Update ACE/include/makeinclude/platform_linux_clang.GNU + + Co-authored-by: Fred Hornsey + +commit 5a4e5ec786755a19b36fdd09ffac72561a77497e +Author: Johnny Willemsen +Date: Tue Apr 23 14:34:33 2024 +0200 + + Document C++17 requirement + + * ACE/NEWS: + * ACE/ace/checked_iterator.h: + +commit ed0b72b1ef533ea54276166e90cd615d10bddd54 +Author: Johnny Willemsen +Date: Tue Apr 23 12:28:40 2024 +0200 + + Add version 4/5 + + * ACE/include/makeinclude/platform_linux_clang.GNU: + +commit e4fd6ae1e2a7c9197c5f1ce271905a325634a36d +Author: Johnny Willemsen +Date: Tue Apr 23 11:39:02 2024 +0200 + + Cleanup + + * ACE/include/makeinclude/platform_linux_clang.GNU: + +commit 87905036e334c90eadb3a16a5718f7d4a4dc6428 +Author: Johnny Willemsen +Date: Tue Apr 23 11:35:13 2024 +0200 + + Rework compiler detection + + * ACE/include/makeinclude/platform_linux_clang.GNU: + +commit e78b80f1bd2ac4c9750d9d71eb92a51c4bb9301b +Author: Johnny Willemsen +Date: Tue Apr 23 10:22:46 2024 +0200 + + Fixed error + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + +commit 1d9323c0e07b0c54ed840a02fb54185e4956f23d +Author: Johnny Willemsen +Date: Tue Apr 23 10:19:49 2024 +0200 + + Rename and add cmake override + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + * ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: + +commit 5efddd5a61db295b7878f4d9d4e00a672333667b +Author: Johnny Willemsen +Date: Tue Apr 23 09:48:33 2024 +0200 + + Changes for clang default C++ compiler level + + * .github/workflows/linux.yml: + * ACE/include/makeinclude/platform_linux_clang.GNU: + * ACE/include/makeinclude/platform_macosx_common.GNU: + +commit 0655b61de5e25e42391061458d67e489377b38dc +Author: Johnny Willemsen +Date: Tue Apr 23 09:39:33 2024 +0200 + + Add compiler support for c++17/c++20 + + * ACE/include/makeinclude/platform_linux_clang.GNU: + * ACE/include/makeinclude/platform_macosx_common.GNU: + +commit d6bc831954c272001538a1f9c5b4f45aeeb536a8 +Author: Johnny Willemsen +Date: Tue Apr 23 09:34:26 2024 +0200 + + Language standard fixes + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + * ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: + +commit ccfdcddc366ecee7a5a506408f79c9ccfdaafca3 +Author: Johnny Willemsen +Date: Tue Apr 23 09:29:57 2024 +0200 + + Increment to C++17 as minimum required C++ compiler, includes setting default C++ version for Visual Studio to 2017 + + * ACE/ace/Global_Macros.h: + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + * ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: + * TAO/tests/Oneway_Send_Timeouts/Server_Task.h: + * TAO/tests/Oneway_Send_Timeouts/main.cpp: + +commit 4aad080508af80d28616eb02d017b05d102a1d54 +Author: Johnny Willemsen +Date: Mon Apr 22 15:06:07 2024 +0200 + + Ship with Visual 2019/2022 solutions + + * ACE/bin/make_release.py: + +commit 3bf38eaee831fc923f0f661b33fe8f97c2995a64 +Author: Johnny Willemsen +Date: Mon Apr 22 15:05:45 2024 +0200 + + Removed empty line + + * ACE/tests/Framework_Component_DLL.cpp: + +commit 6abd30c46ef257c777eb64e8426c39d088cf7a79 +Author: Johnny Willemsen +Date: Mon Apr 22 15:05:34 2024 +0200 + + Layout changes + + * ACE/apps/JAWS2/JAWS/Parse_Headers.h: + +commit 08f4763d712abed02e5d41d5a055d9ee853c6d3a +Author: Johnny Willemsen +Date: Mon Apr 22 15:05:20 2024 +0200 + + Layout changes + + * ACE/ace/Based_Pointer_Repository.cpp: + +commit 1839b1cdad078b343540eb30bafb35f0e54cc8ed +Author: Johnny Willemsen +Date: Mon Apr 22 15:05:06 2024 +0200 + + Layout changes + + * ACE/tests/Framework_Component_DLL.h: + +commit 909a92103f532f1ef6ac3d40abd7d659b944072f +Author: Johnny Willemsen +Date: Mon Apr 22 15:04:51 2024 +0200 + + Cleanup Visual Studio files + + * ACE/bin/MakeProjectCreator/config/vc10nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vc11.features: + * ACE/bin/MakeProjectCreator/config/vc11nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vc12.features: + * ACE/bin/MakeProjectCreator/config/vc12nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vc14.features: + * ACE/bin/MakeProjectCreator/config/vc71.features: + * ACE/bin/MakeProjectCreator/config/vc8.features: + * ACE/bin/MakeProjectCreator/config/vc8nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vc9.features: + * ACE/bin/MakeProjectCreator/config/vc9nmake.mpb: + Deleted. + + * ACE/bin/MakeProjectCreator/config/vc10.features -> ACE/bin/MakeProjectCreator/config/vs2022.features: + * ACE/bin/MakeProjectCreator/config/vc14nmake.mpb -> ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: + Moved. + +commit 4c4c03a78c62e383128eb10028621bcb506903cf +Merge: 6a9352f28cb 060a9701ac4 +Author: Johnny Willemsen +Date: Tue Apr 16 16:41:03 2024 +0200 + + Merge branch 'master' into jwi-bcc64xsingletonwarning + +commit 6a9352f28cb79bab46128295364d72a71711a98d +Author: Johnny Willemsen +Date: Tue Apr 16 16:01:08 2024 +0200 + + Changes to attempt to silence bcc64x + + * ACE/ace/Based_Pointer_Repository.h: + * ACE/ace/UUID.h: + +commit 143905afafa988abe2e236f517a97f85533960dc +Author: Johnny Willemsen +Date: Tue Apr 16 08:45:21 2024 +0200 + + Revert "Use a variable on the stack to not have a temporary in the call" + +commit 198cf53edd21efe4c86cc9d65b29fbc5d8d697ac +Merge: c247ac5cbb6 b0e4f06810a +Author: Johnny Willemsen +Date: Mon Apr 15 16:11:59 2024 +0200 + + Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks + + Check for full match with major version + +commit 42e242e9cc0cb594e9109c6692935b69730b4268 +Author: Johnny Willemsen +Date: Mon Apr 15 11:19:43 2024 +0200 + + Cleanup ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE, all platforms support it so far as I can tell + + * ACE/ace/config-face-conftest.h: + * ACE/ace/config-hurd.h: + * ACE/ace/config-kfreebsd.h: + * ACE/ace/config-linux-common.h: + * ACE/ace/config-lynxos-178.h: + * ACE/ace/config-lynxos.h: + * ACE/ace/config-mqx.h: + * ACE/ace/config-openbsd.h: + * ACE/ace/config-win32-mingw64.h: + * ACE/ace/os_include/os_signal.h: + +commit ee147da820e0e6acca101e9309108133e530bf4e +Author: Johnny Willemsen +Date: Fri Apr 12 12:04:42 2024 +0200 + + Use a variable on the stack to not have a temporary in the call + + * ACE/protocols/ace/INet/URLBase.cpp: + +commit fc698ff965ccd387fcf0fc217b22fb5de9e4461a +Author: Johnny Willemsen +Date: Thu Apr 11 13:06:10 2024 +0200 + + Remove check for gcc 4.2, any compiler we support is newer + + * ACE/include/makeinclude/platform_g++_common.GNU: + +commit b0e4f06810a909c171b5012d1c0bf808f1729dcf +Author: Johnny Willemsen +Date: Thu Apr 11 13:05:10 2024 +0200 + + Check for full match with major version + + * ACE/include/makeinclude/platform_g++_common.GNU: + +commit 787f08ae9d0896fa5c2b6aa1d495057c0769eca0 +Author: Johnny Willemsen +Date: Wed Apr 10 10:14:48 2024 +0200 + + Upgrade for next rlease + + * ACE/bin/copy-local-script.sh: + +commit c3da0520bc65f368f5b914d0fb576330e51093f2 +Author: Johnny Willemsen +Date: Wed Apr 10 10:11:46 2024 +0200 + + Make 7.1.4 public and prepare for 7.1.5 + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index 518b29f2b87b7..e30d642704ff1 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 7.1.4 + ACE VERSION: 8.0.0 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index 5cfd157ad22ac..f019864061eb3 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 7.1.4, released Wed Apr 10 09:54:13 CEST 2024 +This is ACE version 8.0.0, released Thu May 16 12:27:08 CEST 2024 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index 6850be34046b0..ca213c13d39bc 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -2,9 +2,9 @@ // -*- C++ -*- // This is file was automatically generated by $ACE_ROOT/bin/make_release.py -#define ACE_MAJOR_VERSION 7 -#define ACE_MINOR_VERSION 1 -#define ACE_MICRO_VERSION 4 -#define ACE_VERSION "7.1.4" -#define ACE_VERSION_CODE 0x70104 +#define ACE_MAJOR_VERSION 8 +#define ACE_MINOR_VERSION 0 +#define ACE_MICRO_VERSION 0 +#define ACE_VERSION "8.0.0" +#define ACE_VERSION_CODE 0x80000 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index 79519f7de2d28..996504125f016 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -27,7 +27,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-7.1.4 +Package: libace-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -45,7 +45,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-7.1.4 (= ${binary:Version}), ${misc:Depends} +Depends: libace-8.0.0 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkg-config Replaces: mpc-ace (<< 5.6.3-4) Description: C++ network programming framework - development files @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-7.1.4 +Package: libace-ssl-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -73,12 +73,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-7.1.4 +Package: libace-rmcast-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -92,12 +92,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-7.1.4 +Package: libace-tmcast-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -111,12 +111,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-7.1.4 +Package: libace-htbp-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -130,12 +130,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-7.1.4 +Package: libace-inet-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -146,15 +146,15 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-7.1.4 +Package: libace-inet-ssl-8.0.0 Architecture: any Section: libs -Depends: libace-inet-7.1.4, libace-ssl-7.1.4, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-8.0.0, libace-ssl-8.0.0, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -163,7 +163,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-7.1.4 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-8.0.0 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -180,7 +180,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-7.1.4 +Package: libacexml-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -196,12 +196,12 @@ Package: libacexml-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libacexml-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-7.1.4 +Package: libace-xml-utils-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -215,12 +215,12 @@ Package: libace-xml-utils-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libace-xml-utils-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-7.1.4 +Package: libkokyu-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -234,12 +234,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-7.1.4 +Package: libace-xtreactor-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +257,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-7.1.4 +Package: libace-tkreactor-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +281,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-7.1.4 +Package: libace-flreactor-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -304,12 +304,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-7.1.4 +Package: libace-foxreactor-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -326,7 +326,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -343,7 +343,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-7.1.4 +Package: libnetsvcs-8.0.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -357,7 +357,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-7.1.4 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index 501a633b8967c..5e79e1bbbd05c 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 7.1.4 -%define TAOVER 3.1.4 +%define ACEVER 8.0.0 +%define TAOVER 4.0.0 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-4_0_0 b/TAO/ChangeLogs/TAO-4_0_0 new file mode 100644 index 0000000000000..52f8e6ae0e24e --- /dev/null +++ b/TAO/ChangeLogs/TAO-4_0_0 @@ -0,0 +1,61 @@ +commit fe15e4e0a2d096ba17c03542da026058a8ac950c +Author: Johnny Willemsen +Date: Tue Apr 30 08:59:33 2024 +0200 + + Next release will be ACE8 with TAO4 + + * ACE/NEWS: + * ACE/bin/make_release.py: + * TAO/NEWS: + +commit 61c0befaa0139e9ebf80196c5644191a6fd70508 +Author: Johnny Willemsen +Date: Wed Apr 24 08:28:44 2024 +0200 + + Next version will be a minor one + + * ACE/NEWS: + * TAO/NEWS: + +commit ccfdcddc366ecee7a5a506408f79c9ccfdaafca3 +Author: Johnny Willemsen +Date: Tue Apr 23 09:29:57 2024 +0200 + + Increment to C++17 as minimum required C++ compiler, includes setting default C++ version for Visual Studio to 2017 + + * ACE/ace/Global_Macros.h: + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + * ACE/bin/MakeProjectCreator/config/vs2017nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2019nmake.mpb: + * ACE/bin/MakeProjectCreator/config/vs2022nmake.mpb: + * TAO/tests/Oneway_Send_Timeouts/Server_Task.h: + * TAO/tests/Oneway_Send_Timeouts/main.cpp: + +commit 8a541c6352b963f459883f3d9fa503589629ff18 +Author: Johnny Willemsen +Date: Mon Apr 22 12:00:21 2024 +0200 + + Update Constraint_Nodes.cpp + + Added cast to not perform an implicit conversion + +commit a0254dacc11a8371a153df228867cb830377af7d +Author: Johnny Willemsen +Date: Mon Apr 22 11:45:14 2024 +0200 + + Fix compile warning with bcc64x + + Fix compile warnings with bcc64x + +commit c3da0520bc65f368f5b914d0fb576330e51093f2 +Author: Johnny Willemsen +Date: Wed Apr 10 10:11:46 2024 +0200 + + Make 7.1.4 public and prepare for 7.1.5 + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index 1a9eeb16be5e6..90158cd0f3a2c 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 3.1.4 - ACE VERSION: 7.1.4 + TAO VERSION: 4.0.0 + ACE VERSION: 8.0.0 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index da8f662f78e8c..4dca23fd65f26 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 3.1.4, released Wed Apr 10 09:54:13 CEST 2024 +This is TAO version 4.0.0, released Thu May 16 12:27:08 CEST 2024 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index 9d28907b8f5f1..69bdd8f593887 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -2,9 +2,9 @@ // -*- C++ -*- // This is file was automatically generated by $ACE_ROOT/bin/make_release.py -#define TAO_MAJOR_VERSION 3 -#define TAO_MINOR_VERSION 1 -#define TAO_MICRO_VERSION 4 -#define TAO_VERSION "3.1.4" -#define TAO_VERSION_CODE 0x30104 +#define TAO_MAJOR_VERSION 4 +#define TAO_MINOR_VERSION 0 +#define TAO_MICRO_VERSION 0 +#define TAO_VERSION "4.0.0" +#define TAO_VERSION_CODE 0x40000 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From f86851ff7c84059dd009d12c2c27c4415a6d9be0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 16 May 2024 12:51:57 +0200 Subject: [PATCH 326/445] Make ACE 8.0.0 and TAO 4.0.0 public * ACE/NEWS: * ACE/bin/copy-local-script.sh: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: * TAO/NEWS: --- ACE/NEWS | 3 + ACE/bin/copy-local-script.sh | 2 +- .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 63 +++++++++---------- ACE/etc/index.html | 1 + TAO/NEWS | 3 + 6 files changed, 40 insertions(+), 34 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index 9b64a9796b948..26ae3bdf8bc90 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN ACE-8.0.0 and ACE-8.0.1 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-8.0.0 ==================================================== diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index 7af4d81270a11..1ac76856a8e9d 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-7.1.5&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-8.0.0&/'` echo "Copying $i to $d" cp -ip $i $d done diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index 82bf587b1a1e1..68c026e17eb95 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2024_04_10; else olddate=$3; fi +if test -z $3; then olddate=2024_05_16; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index df4d31730d13d..4447ecdd59a1e 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,81 +90,80 @@

                      Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

                        -
                      • Latest ACE+TAO Micro Release. The latest micro release is ACE 7.1.4 and TAO 3.1.4 -(ACE+TAO x.1.4), please use the links below to download it.

                        +

                      • Latest ACE+TAO Micro Release. The latest micro release is ACE 8.0.0 and TAO 4.0.0, please use the links below to download it.

                        - - - - - - - - - - - - - - -
                        FilenameDescriptionFullSources only
                        ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                        ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                        diff --git a/ACE/etc/index.html b/ACE/etc/index.html index c85ef073ee225..486e5ad7ef0dd 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

                        ACE+TAO Documentation


                        We do have the documentation for previous releases
                          +
                        • 8.0.0

                        • 7.1.4

                        • 7.1.3

                        • 7.1.2

                        • diff --git a/TAO/NEWS b/TAO/NEWS index c6f7705a0dd96..32b437bc561ac 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,3 +1,6 @@ +USER VISIBLE CHANGES BETWEEN TAO-4.0.0 and TAO-4.0.1 +==================================================== + USER VISIBLE CHANGES BETWEEN TAO-3.1.4 and TAO-4.0.0 ==================================================== From 57af57fbe1bc1818aa3f645d0bdeca1a2eb3ea81 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 16 May 2024 12:56:34 +0200 Subject: [PATCH 327/445] Update Download.html --- ACE/docs/Download.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index 4447ecdd59a1e..0ef68a3e0cc33 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -81,7 +81,7 @@

                          Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

                          HREF="https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/docs/ACE-bug-process.html"> bug fixing policies when you make this decision.

                          The full packages do contain all sources with pre generated makefiles for GNU -make, Visual Studio 2017/2019. The +make, Visual Studio 2019/2022. The sources-only packages just contain the source code, you have to generate your own makefiles with MPC.

                          From efb9819ab5e7edbb991f73ebfc2f911fe242563a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 16 May 2024 13:04:29 +0200 Subject: [PATCH 328/445] Update NEWS --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 26ae3bdf8bc90..cd8f9f417d00f 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -11,6 +11,9 @@ USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-8.0.0 . Removed ace/Auto_Ptr.*, with C++17 std::auto_ptr is not available anymore +. New Latest_ACE8TAO4_Micro, Latest_ACE8TAO4_Minor, and Latest_ACE8TAO4_Major + branches + USER VISIBLE CHANGES BETWEEN ACE-7.1.3 and ACE-7.1.4 ==================================================== From a7491ae93e45161e9c0eda571c160988561c3366 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 16 May 2024 22:07:01 +0200 Subject: [PATCH 329/445] Update linux.yml --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 9f23eb9ec8f46..bffe2c7864d06 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -62,7 +62,7 @@ jobs: PackageDeps: g++-13 optional_macros: c++std=c++20 platform_file: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU - os: ubuntu-22.04 + os: ubuntu-24.04 - CC: clang-6.0 CXX: clang++-6.0 PackageDeps: clang-6.0 From 5de3fff1b8ea728d36cc44db857d95a545a868b4 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 12:12:20 +0200 Subject: [PATCH 330/445] Fixed gcc warning * TAO/tests/DynValue_Test/Analyzer.cpp: --- TAO/tests/DynValue_Test/Analyzer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TAO/tests/DynValue_Test/Analyzer.cpp b/TAO/tests/DynValue_Test/Analyzer.cpp index 9dd484ea6d280..e1f60920c1437 100644 --- a/TAO/tests/DynValue_Test/Analyzer.cpp +++ b/TAO/tests/DynValue_Test/Analyzer.cpp @@ -137,7 +137,8 @@ DynAnyAnalyzer::get_correct_base_type ( #define CASEE(type,CT,str) case CORBA::tk_##type: {\ CORBA::CT b = da->get_##type();\ - if (!newline) tab(""); ACE_DEBUG ((LM_DEBUG, str , b));\ + if (!newline) tab(""); \ + ACE_DEBUG ((LM_DEBUG, str , b));\ } break; void From caf6c9d44d04d19a01fe994b3d48ae0f75d7b9ca Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 12:12:47 +0200 Subject: [PATCH 331/445] Use true for boolean instead of 1, delete illegal methods * TAO/tao/DynamicAny/DynAny_i.cpp: * TAO/tao/DynamicAny/DynArray_i.cpp: * TAO/tao/DynamicAny/DynSequence_i.cpp: * TAO/tao/DynamicAny/DynStruct_i.cpp: * TAO/tao/DynamicAny/DynUnion_i.cpp: * TAO/tao/DynamicAny/DynValue_i.cpp: * TAO/tao/DynamicAny/DynValue_i.h: --- TAO/tao/DynamicAny/DynAny_i.cpp | 2 +- TAO/tao/DynamicAny/DynArray_i.cpp | 2 +- TAO/tao/DynamicAny/DynSequence_i.cpp | 2 +- TAO/tao/DynamicAny/DynStruct_i.cpp | 2 +- TAO/tao/DynamicAny/DynUnion_i.cpp | 2 +- TAO/tao/DynamicAny/DynValue_i.cpp | 58 ++++++++++------------------ TAO/tao/DynamicAny/DynValue_i.h | 23 +++++------ 7 files changed, 37 insertions(+), 54 deletions(-) diff --git a/TAO/tao/DynamicAny/DynAny_i.cpp b/TAO/tao/DynamicAny/DynAny_i.cpp index 270b617167b2f..cdb9e516fbff2 100644 --- a/TAO/tao/DynamicAny/DynAny_i.cpp +++ b/TAO/tao/DynamicAny/DynAny_i.cpp @@ -803,7 +803,7 @@ TAO_DynAny_i::destroy () if (!this->ref_to_component_ || this->container_is_destroying_) { - this->destroyed_ = 1; + this->destroyed_ = true; } } diff --git a/TAO/tao/DynamicAny/DynArray_i.cpp b/TAO/tao/DynamicAny/DynArray_i.cpp index 574102cc3b2c1..76f2595a2a7b5 100644 --- a/TAO/tao/DynamicAny/DynArray_i.cpp +++ b/TAO/tao/DynamicAny/DynArray_i.cpp @@ -518,7 +518,7 @@ TAO_DynArray_i::destroy () this->da_members_[i]->destroy (); } - this->destroyed_ = 1; + this->destroyed_ = true; } } diff --git a/TAO/tao/DynamicAny/DynSequence_i.cpp b/TAO/tao/DynamicAny/DynSequence_i.cpp index 749a3b79e932c..9cb90c003ae6f 100644 --- a/TAO/tao/DynamicAny/DynSequence_i.cpp +++ b/TAO/tao/DynamicAny/DynSequence_i.cpp @@ -685,7 +685,7 @@ TAO_DynSequence_i::destroy () this->da_members_[i]->destroy (); } - this->destroyed_ = 1; + this->destroyed_ = true; } } diff --git a/TAO/tao/DynamicAny/DynStruct_i.cpp b/TAO/tao/DynamicAny/DynStruct_i.cpp index bfa40f2874ea9..c2800c9fef544 100644 --- a/TAO/tao/DynamicAny/DynStruct_i.cpp +++ b/TAO/tao/DynamicAny/DynStruct_i.cpp @@ -632,7 +632,7 @@ TAO_DynStruct_i::destroy () this->da_members_[i]->destroy (); } - this->destroyed_ = 1; + this->destroyed_ = true; } } diff --git a/TAO/tao/DynamicAny/DynUnion_i.cpp b/TAO/tao/DynamicAny/DynUnion_i.cpp index bba6b5e1a7282..c8dd8e1455182 100644 --- a/TAO/tao/DynamicAny/DynUnion_i.cpp +++ b/TAO/tao/DynamicAny/DynUnion_i.cpp @@ -792,7 +792,7 @@ TAO_DynUnion_i::destroy () this->discriminator_->destroy (); - this->destroyed_ = 1; + this->destroyed_ = true; } } diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index 728b5614b1add..5f377f1edb350 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -164,7 +164,7 @@ TAO_DynValue_i::get_correct_base_type ( TAOLIB_DEBUG ((LM_DEBUG, ACE_TEXT ("TAO (%P|%t) - %N:%l TAO_DynValue_i::get_correct_base_type () ") ACE_TEXT ("BaseTypesList_t is not initialised\n"))); - return 0; + return nullptr; } while (base_types[--currentBase]->member_count () <= index) @@ -189,8 +189,7 @@ TAO_DynValue_i::get_member_type ( const BaseTypesList_t &base_types, CORBA::ULong index) { - const CORBA::TypeCode_ptr - base = get_correct_base_type (base_types, index); + const CORBA::TypeCode_ptr base = get_correct_base_type (base_types, index); return base->member_type (index); } @@ -199,18 +198,15 @@ TAO_DynValue_i::get_member_name ( const BaseTypesList_t &base_types, CORBA::ULong index) { - const CORBA::TypeCode_ptr - base = get_correct_base_type (base_types, index); + const CORBA::TypeCode_ptr base = get_correct_base_type (base_types, index); return base->member_name (index); } void TAO_DynValue_i::set_to_value () { - this->component_count_ = - static_cast (this->da_members_.size ()); - this->current_position_ = - this->component_count_ ? 0 : -1; + this->component_count_ = static_cast (this->da_members_.size ()); + this->current_position_ = this->component_count_ ? 0 : -1; this->is_null_ = false; } @@ -229,7 +225,7 @@ TAO_DynValue_i * TAO_DynValue_i::_narrow (CORBA::Object_ptr _tao_objref) { return (CORBA::is_nil (_tao_objref)) ? - 0 : + nullptr : dynamic_cast (_tao_objref); } @@ -295,10 +291,8 @@ TAO_DynValue_i::get_members () i < this->component_count_; ++i) { - safe_retval[i].id = CORBA::string_dup ( - this->get_member_name (this->da_base_types_, i)); - CORBA::Any_var - temp (this->da_members_[i]->to_any ()); + safe_retval[i].id = CORBA::string_dup (this->get_member_name (this->da_base_types_, i)); + CORBA::Any_var temp (this->da_members_[i]->to_any ()); safe_retval[i].value = temp.in (); } @@ -327,10 +321,8 @@ TAO_DynValue_i::set_members ( CORBA::ULong i; for (i = 0u; i < length; ++i) { - CORBA::TypeCode_var my_member ( - get_member_type (this->da_base_types_, i)); - CORBA::TypeCode_var value_member ( - values[i].value.type ()); + CORBA::TypeCode_var my_member (get_member_type (this->da_base_types_, i)); + CORBA::TypeCode_var value_member (values[i].value.type ()); if (!my_member->equivalent (value_member.in ())) { throw DynamicAny::DynAny::TypeMismatch (); @@ -359,14 +351,13 @@ TAO_DynValue_i::get_members_as_dyn_any () } // Create the return NameDynAnyPairSeq - DynamicAny::NameDynAnyPairSeq *members = 0; + DynamicAny::NameDynAnyPairSeq *members = nullptr; ACE_NEW_THROW_EX ( members, DynamicAny::NameDynAnyPairSeq (this->component_count_), CORBA::NO_MEMORY ()); members->length (this->component_count_); - DynamicAny::NameDynAnyPairSeq_var - safe_retval (members); + DynamicAny::NameDynAnyPairSeq_var safe_retval (members); // Assign name and value to each pearl on the string. for (CORBA::ULong i = 0u; @@ -439,8 +430,7 @@ TAO_DynValue_i::from_any (const CORBA::Any &any) throw ::CORBA::OBJECT_NOT_EXIST (); } - CORBA::TypeCode_var - tc (any.type ()); + CORBA::TypeCode_var tc (any.type ()); if (!this->type_->equivalent (tc.in ())) { throw DynamicAny::DynAny::TypeMismatch (); @@ -459,14 +449,12 @@ TAO_DynValue_i::equal (DynamicAny::DynAny_ptr rhs) CORBA::TypeCode_var tc (rhs->type ()); if (!tc->equivalent (this->type_.in ()) || - this->component_count_ != - rhs->component_count () ) + this->component_count_ != rhs->component_count ()) { return false; } - TAO_DynValue_i *rhs_v= - dynamic_cast (rhs); + TAO_DynValue_i *rhs_v = dynamic_cast (rhs); if (!rhs_v || this->is_null () != rhs_v->is_null ()) { @@ -479,8 +467,7 @@ TAO_DynValue_i::equal (DynamicAny::DynAny_ptr rhs) i < this->component_count_; ++i) { - if (!rhs_v->da_members_[i] - ->equal (this->da_members_[i].in ())) + if (!rhs_v->da_members_[i]->equal (this->da_members_[i].in ())) { return false; } @@ -498,23 +485,18 @@ TAO_DynValue_i::destroy () throw ::CORBA::OBJECT_NOT_EXIST (); } - if (!this->ref_to_component_ || - this->container_is_destroying_) + if (!this->ref_to_component_ || this->container_is_destroying_) { // Do a deep destroy. - this->component_count_ = - static_cast ( - this->da_members_.size () ); + this->component_count_ = static_cast (this->da_members_.size () ); - for (CORBA::ULong i = 0u; - i < this->component_count_; - ++i) + for (CORBA::ULong i = 0u; i < this->component_count_; ++i) { this->set_flag (da_members_[i].in (), 1); this->da_members_[i]->destroy (); } - this->destroyed_ = 1; + this->destroyed_ = true; } } diff --git a/TAO/tao/DynamicAny/DynValue_i.h b/TAO/tao/DynamicAny/DynValue_i.h index f3f8884342e94..79554d1279b92 100644 --- a/TAO/tao/DynamicAny/DynValue_i.h +++ b/TAO/tao/DynamicAny/DynValue_i.h @@ -7,7 +7,6 @@ */ //============================================================================= - #ifndef TAO_DYNVALUE_I_H #define TAO_DYNVALUE_I_H #include /**/ "ace/pre.h" @@ -36,7 +35,7 @@ class TAO_DynamicAny_Export TAO_DynValue_i { public: /// Constructor. - TAO_DynValue_i (CORBA::Boolean allow_truncation=true); + TAO_DynValue_i (CORBA::Boolean allow_truncation = true); /// Destructor. ~TAO_DynValue_i (); @@ -89,9 +88,9 @@ class TAO_DynamicAny_Export TAO_DynValue_i /// List of base types. typedef ACE_Array_Base BaseTypesList_t; - /// Decompose the given TypeCode into its hiarchical list of + /// Decompose the given TypeCode into its hierarchical list of /// basetypes. The first element of the list is our actual type, - /// each basetype follows in order backwards down the hiarchy. + /// each basetype follows in order backwards down the hierarchy. /// All types stored in the list are de-aliased. Optionally /// return the total_member_count of the fully derived type. static void get_base_types ( @@ -100,20 +99,20 @@ class TAO_DynamicAny_Export TAO_DynValue_i CORBA::ULong *total_member_count = 0); /// Return the unaliased valuetype typecode that corresponds to - /// index (0..total_members-1) from the given hiarchical list of + /// index (0..total_members-1) from the given hierarchical list of /// the derived type and it basetypes. static CORBA::TypeCode_ptr get_correct_base_type ( const BaseTypesList_t &base_types, CORBA::ULong &index); /// Return the member_type at index (0..total_members-1) from - /// the given hiarchical list of the derived type and it basetypes. + /// the given hierarchical list of the derived type and it basetypes. static CORBA::TypeCode_ptr get_member_type ( const BaseTypesList_t &, CORBA::ULong index); /// Return the member_name at index (0..total_members-1) from - /// the given hiarchical list of the derived type and it basetypes. + /// the given hierarchical list of the derived type and it basetypes. static const char * get_member_name ( const BaseTypesList_t &, CORBA::ULong index); @@ -135,16 +134,18 @@ class TAO_DynamicAny_Export TAO_DynValue_i /// Read the value from the input stream void from_inputCDR (TAO_InputCDR &); - /// These are not implimented! + /// These are not implemented! /// Use copy() or assign() instead of these. - TAO_DynValue_i (const TAO_DynValue_i &src); - TAO_DynValue_i &operator= (const TAO_DynValue_i &src); + TAO_DynValue_i (const TAO_DynValue_i &) = delete; + TAO_DynValue_i &operator= (const TAO_DynValue_i &) = delete; + TAO_DynValue_i& operator= (TAO_DynValue_i&&) = delete; + TAO_DynValue_i (TAO_DynValue_i&&) = delete; /// Each component of DynValue and DynValueBox is also a DynAny. ACE_Array_Base da_members_; /// First element of this is our type, each basetype follows - /// in order backwards down the hiarchy. All types stored are + /// in order backwards down the hierarchy. All types stored are /// de-aliased. BaseTypesList_t da_base_types_; }; From 0fdce6d1c0899e3de52b16af327d2cb25234259a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 12:13:37 +0200 Subject: [PATCH 332/445] Use true * TAO/tao/DynamicAny/DynValueBox_i.cpp: --- TAO/tao/DynamicAny/DynValueBox_i.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/DynamicAny/DynValueBox_i.cpp b/TAO/tao/DynamicAny/DynValueBox_i.cpp index cfa81bd3bea93..ed9843a3eada5 100644 --- a/TAO/tao/DynamicAny/DynValueBox_i.cpp +++ b/TAO/tao/DynamicAny/DynValueBox_i.cpp @@ -231,7 +231,7 @@ TAO_DynValueBox_i::destroy () this->boxed_.in ()->destroy (); } - this->destroyed_ = 1; + this->destroyed_ = true; } } From 9329ec7e58671ab70d8019f21fac20ced0bc52ed Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 12:56:01 +0200 Subject: [PATCH 333/445] Fixed typos in comments, delete more assignment/copy, use std::vector * TAO/tao/DynamicAny/DynAny_i.h: * TAO/tao/DynamicAny/DynArray_i.cpp: * TAO/tao/DynamicAny/DynArray_i.h: * TAO/tao/DynamicAny/DynEnum_i.cpp: * TAO/tao/DynamicAny/DynEnum_i.h: * TAO/tao/DynamicAny/DynSequence_i.cpp: * TAO/tao/DynamicAny/DynSequence_i.h: * TAO/tao/DynamicAny/DynStruct_i.cpp: * TAO/tao/DynamicAny/DynStruct_i.h: * TAO/tao/DynamicAny/DynUnion_i.cpp: * TAO/tao/DynamicAny/DynUnion_i.h: * TAO/tao/DynamicAny/DynValueBox_i.h: * TAO/tao/DynamicAny/DynValueCommon_i.h: * TAO/tao/DynamicAny/DynValue_i.cpp: * TAO/tao/DynamicAny/DynValue_i.h: --- TAO/tao/DynamicAny/DynAny_i.h | 6 ++-- TAO/tao/DynamicAny/DynArray_i.cpp | 8 +++--- TAO/tao/DynamicAny/DynArray_i.h | 10 ++++--- TAO/tao/DynamicAny/DynEnum_i.cpp | 15 ++++++++-- TAO/tao/DynamicAny/DynEnum_i.h | 8 ++++-- TAO/tao/DynamicAny/DynSequence_i.cpp | 41 +++++++++++++++------------ TAO/tao/DynamicAny/DynSequence_i.h | 10 ++++--- TAO/tao/DynamicAny/DynStruct_i.cpp | 10 +++---- TAO/tao/DynamicAny/DynStruct_i.h | 10 ++++--- TAO/tao/DynamicAny/DynUnion_i.cpp | 20 ++++++++++--- TAO/tao/DynamicAny/DynUnion_i.h | 6 ++-- TAO/tao/DynamicAny/DynValueBox_i.h | 6 ++-- TAO/tao/DynamicAny/DynValueCommon_i.h | 6 ++-- TAO/tao/DynamicAny/DynValue_i.cpp | 35 ++++++++++------------- TAO/tao/DynamicAny/DynValue_i.h | 4 +-- 15 files changed, 115 insertions(+), 80 deletions(-) diff --git a/TAO/tao/DynamicAny/DynAny_i.h b/TAO/tao/DynamicAny/DynAny_i.h index 5530cf49d8e3f..48177123bdd1a 100644 --- a/TAO/tao/DynamicAny/DynAny_i.h +++ b/TAO/tao/DynamicAny/DynAny_i.h @@ -77,8 +77,10 @@ class TAO_DynamicAny_Export TAO_DynAny_i void init_common (); // Use copy() or assign() instead of these. - TAO_DynAny_i (const TAO_DynAny_i &src); - TAO_DynAny_i &operator= (const TAO_DynAny_i &src); + TAO_DynAny_i (const TAO_DynAny_i &) = delete; + TAO_DynAny_i &operator= (const TAO_DynAny_i &) = delete; + TAO_DynAny_i& operator= (TAO_DynAny_i&&) = delete; + TAO_DynAny_i (TAO_DynAny_i&&) = delete; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynArray_i.cpp b/TAO/tao/DynamicAny/DynArray_i.cpp index 76f2595a2a7b5..81db716c0ea07 100644 --- a/TAO/tao/DynamicAny/DynArray_i.cpp +++ b/TAO/tao/DynamicAny/DynArray_i.cpp @@ -45,9 +45,9 @@ TAO_DynArray_i::init (const CORBA::Any & any) this->type_ = tc; - CORBA::ULong numfields = this->get_tc_length (tc.in ()); + CORBA::ULong const numfields = this->get_tc_length (tc.in ()); // Resize the array. - this->da_members_.size (numfields); + this->da_members_.resize (numfields); this->init_common (); @@ -110,10 +110,10 @@ TAO_DynArray_i::init (CORBA::TypeCode_ptr tc) this->type_ = CORBA::TypeCode::_duplicate (tc); - CORBA::ULong numfields = this->get_tc_length (tc); + CORBA::ULong const numfields = this->get_tc_length (tc); // Resize the array. - this->da_members_.size (numfields); + this->da_members_.resize (numfields); this->init_common (); diff --git a/TAO/tao/DynamicAny/DynArray_i.h b/TAO/tao/DynamicAny/DynArray_i.h index 01cb6eb844745..e0ec1f8ad195c 100644 --- a/TAO/tao/DynamicAny/DynArray_i.h +++ b/TAO/tao/DynamicAny/DynArray_i.h @@ -21,7 +21,7 @@ #include "tao/DynamicAny/DynCommon.h" #include "tao/LocalObject.h" -#include "ace/Containers.h" +#include #if defined (_MSC_VER) # pragma warning(push) @@ -89,12 +89,14 @@ class TAO_DynamicAny_Export TAO_DynArray_i void init_common (); // Use copy() or assign() instead of these. - TAO_DynArray_i (const TAO_DynArray_i &src); - TAO_DynArray_i &operator= (const TAO_DynArray_i &src); + TAO_DynArray_i (const TAO_DynArray_i &) = delete; + TAO_DynArray_i &operator= (const TAO_DynArray_i &) = delete; + TAO_DynArray_i& operator= (TAO_DynArray_i&&) = delete; + TAO_DynArray_i (TAO_DynArray_i&&) = delete; private: /// Each component is also a DynAny. - ACE_Array_Base da_members_; + std::vector da_members_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynEnum_i.cpp b/TAO/tao/DynamicAny/DynEnum_i.cpp index 7f25e22f02dd9..fa795ef5a2cec 100644 --- a/TAO/tao/DynamicAny/DynEnum_i.cpp +++ b/TAO/tao/DynamicAny/DynEnum_i.cpp @@ -57,14 +57,20 @@ TAO_DynEnum_i::init (const CORBA::Any &any) // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (unk->_tao_get_cdr ()); - for_reading.read_ulong (this->value_); + if (!for_reading.read_ulong (this->value_)) + { + throw CORBA::INTERNAL (); + } } else { TAO_OutputCDR out; impl->marshal_value (out); TAO_InputCDR in (out); - in.read_ulong (this->value_); + if (!in.read_ulong (this->value_)) + { + throw CORBA::INTERNAL (); + } } this->init_common (); @@ -255,7 +261,10 @@ TAO_DynEnum_i::equal (DynamicAny::DynAny_ptr rhs) // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (unk->_tao_get_cdr ()); - for_reading.read_ulong (value); + if (!for_reading.read_ulong (value)) + { + throw CORBA::INTERNAL (); + } } else { diff --git a/TAO/tao/DynamicAny/DynEnum_i.h b/TAO/tao/DynamicAny/DynEnum_i.h index 6d05d6d7fae4e..5ea9940946887 100644 --- a/TAO/tao/DynamicAny/DynEnum_i.h +++ b/TAO/tao/DynamicAny/DynEnum_i.h @@ -42,7 +42,7 @@ class TAO_DynamicAny_Export TAO_DynEnum_i { public: /// Constructor. - TAO_DynEnum_i (CORBA::Boolean allow_truncation=true); + TAO_DynEnum_i (CORBA::Boolean allow_truncation = true); /// Destructor. ~TAO_DynEnum_i (); @@ -83,8 +83,10 @@ class TAO_DynamicAny_Export TAO_DynEnum_i void init_common (); // = Use copy() or assign() instead of these. - TAO_DynEnum_i (const TAO_DynEnum_i &src); - TAO_DynEnum_i &operator= (const TAO_DynEnum_i &src); + TAO_DynEnum_i (const TAO_DynEnum_i &) = delete; + TAO_DynEnum_i &operator= (const TAO_DynEnum_i &) = delete; + TAO_DynEnum_i& operator= (TAO_DynEnum_i&&) = delete; + TAO_DynEnum_i (TAO_DynEnum_i&&) = delete; private: /// Current numeric value of the enum. diff --git a/TAO/tao/DynamicAny/DynSequence_i.cpp b/TAO/tao/DynamicAny/DynSequence_i.cpp index 9cb90c003ae6f..059b2eb817481 100644 --- a/TAO/tao/DynamicAny/DynSequence_i.cpp +++ b/TAO/tao/DynamicAny/DynSequence_i.cpp @@ -70,10 +70,13 @@ TAO_DynSequence_i::init (const CORBA::Any& any) // If the any is a sequence, first 4 bytes of cdr hold the // length. - cdr.read_ulong (length); + if (!cdr.read_ulong (length)) + { + throw CORBA::INTERNAL (); + } // Resize the array. - this->da_members_.size (length); + this->da_members_.resize (length); this->init_common (); @@ -114,7 +117,7 @@ TAO_DynSequence_i::init (CORBA::TypeCode_ptr tc) } // Empty sequence. - this->da_members_.size (0); + this->da_members_.clear (); this->init_common (); @@ -217,18 +220,17 @@ TAO_DynSequence_i::set_length (CORBA::ULong length) if (length > this->component_count_) { // Grow array first, then initialize new members. - this->da_members_.size (length); + this->da_members_.resize (length); - CORBA::TypeCode_var elemtype = - stripped_tc->content_type (); + CORBA::TypeCode_var elemtype = stripped_tc->content_type (); for (CORBA::ULong i = this->component_count_; i < length; ++i) { this->da_members_[i] = - TAO::MakeDynAnyUtils::make_dyn_any_t ( - elemtype.in (), - elemtype.in (), - this->allow_truncation_ ); + TAO::MakeDynAnyUtils::make_dyn_any_t ( + elemtype.in (), + elemtype.in (), + this->allow_truncation_ ); } } else if (length < this->component_count_) @@ -239,7 +241,7 @@ TAO_DynSequence_i::set_length (CORBA::ULong length) this->da_members_[j]->destroy (); } - this->da_members_.size (length); + this->da_members_.resize (length); } // Now we can update component_count_. @@ -309,7 +311,7 @@ TAO_DynSequence_i::set_elements (const DynamicAny::AnySeq & value) // If the array grows, we must do it now. if (length > this->component_count_) { - this->da_members_.size (length); + this->da_members_.resize (length); } CORBA::TypeCode_var element_type = this->get_element_type (); @@ -352,7 +354,7 @@ TAO_DynSequence_i::set_elements (const DynamicAny::AnySeq & value) // If the array shrinks, we must wait until now to do it. if (length < this->component_count_) { - this->da_members_.size (length); + this->da_members_.resize (length); } // Now we can update component_count_. @@ -411,7 +413,7 @@ TAO_DynSequence_i::set_elements_as_dyn_any ( // If the array grows, we must do it now. if (length > this->component_count_) { - this->da_members_.size (length); + this->da_members_.resize (length); } CORBA::TypeCode_var element_type = @@ -452,7 +454,7 @@ TAO_DynSequence_i::set_elements_as_dyn_any ( // If the array shrinks, we must wait until now to do it. if (length < this->component_count_) { - this->da_members_.size (length); + this->da_members_.resize (length); } // Now we can update component_count_. @@ -502,12 +504,15 @@ TAO_DynSequence_i::from_any (const CORBA::Any & any) // If the any is a sequence, first 4 bytes of cdr hold the // length. - cdr.read_ulong (arg_length); + if (!cdr.read_ulong (arg_length)) + { + throw CORBA::INTERNAL (); + } // If the array grows, we must do it now. if (arg_length > this->component_count_) { - this->da_members_.size (arg_length); + this->da_members_.resize (arg_length); } CORBA::TypeCode_var field_tc = @@ -547,7 +552,7 @@ TAO_DynSequence_i::from_any (const CORBA::Any & any) // If the array shrinks, we must wait until now to do it. if (arg_length < this->component_count_) { - this->da_members_.size (arg_length); + this->da_members_.resize (arg_length); } // Now we can update component_count_. diff --git a/TAO/tao/DynamicAny/DynSequence_i.h b/TAO/tao/DynamicAny/DynSequence_i.h index 276a39f702265..0d17853ac25cb 100644 --- a/TAO/tao/DynamicAny/DynSequence_i.h +++ b/TAO/tao/DynamicAny/DynSequence_i.h @@ -20,7 +20,7 @@ #include "tao/DynamicAny/DynCommon.h" #include "tao/LocalObject.h" -#include "ace/Containers.h" +#include #if defined (_MSC_VER) # pragma warning(push) @@ -90,12 +90,14 @@ class TAO_DynamicAny_Export TAO_DynSequence_i void init_common (); // = Use copy() or assign() instead of these - TAO_DynSequence_i (const TAO_DynSequence_i &src); - TAO_DynSequence_i &operator= (const TAO_DynSequence_i &src); + TAO_DynSequence_i (const TAO_DynSequence_i &) = delete; + TAO_DynSequence_i &operator= (const TAO_DynSequence_i &) = delete; + TAO_DynSequence_i& operator= (TAO_DynSequence_i&&) = delete; + TAO_DynSequence_i (TAO_DynSequence_i&&) = delete; private: /// Each component is also a DynAny. - ACE_Array_Base da_members_; + std::vector da_members_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynStruct_i.cpp b/TAO/tao/DynamicAny/DynStruct_i.cpp index c2800c9fef544..e4658ba67de35 100644 --- a/TAO/tao/DynamicAny/DynStruct_i.cpp +++ b/TAO/tao/DynamicAny/DynStruct_i.cpp @@ -65,11 +65,10 @@ TAO_DynStruct_i::set_from_any (const CORBA::Any & any) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (any._tao_get_typecode ()); - CORBA::ULong numfields = - unaliased_tc->member_count (); + CORBA::ULong const numfields = unaliased_tc->member_count (); // Resize the array. - this->da_members_.size (numfields); + this->da_members_.resize (numfields); this->init_common (); @@ -140,11 +139,10 @@ TAO_DynStruct_i::init (CORBA::TypeCode_ptr tc) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - this->component_count_ = - unaliased_tc->member_count (); + this->component_count_ = unaliased_tc->member_count (); // Resize the array. - this->da_members_.size (this->component_count_); + this->da_members_.resize (this->component_count_); this->init_common (); diff --git a/TAO/tao/DynamicAny/DynStruct_i.h b/TAO/tao/DynamicAny/DynStruct_i.h index ba993d6c84c71..50cc048c0a029 100644 --- a/TAO/tao/DynamicAny/DynStruct_i.h +++ b/TAO/tao/DynamicAny/DynStruct_i.h @@ -20,7 +20,7 @@ #include "tao/DynamicAny/DynCommon.h" #include "tao/LocalObject.h" -#include "ace/Containers.h" +#include #if defined (_MSC_VER) # pragma warning(push) @@ -94,12 +94,14 @@ class TAO_DynamicAny_Export TAO_DynStruct_i void init_common (); // = Use copy() or assign() instead of these. - TAO_DynStruct_i (const TAO_DynStruct_i &src); - TAO_DynStruct_i &operator= (const TAO_DynStruct_i &src); + TAO_DynStruct_i (const TAO_DynStruct_i &) = delete; + TAO_DynStruct_i &operator= (const TAO_DynStruct_i &) = delete; + TAO_DynStruct_i& operator= (TAO_DynStruct_i&&) = delete; + TAO_DynStruct_i (TAO_DynStruct_i&&) = delete; private: /// Each component is also a DynAny. - ACE_Array_Base da_members_; + std::vector da_members_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynUnion_i.cpp b/TAO/tao/DynamicAny/DynUnion_i.cpp index c8dd8e1455182..fdd131a4e8ac1 100644 --- a/TAO/tao/DynamicAny/DynUnion_i.cpp +++ b/TAO/tao/DynamicAny/DynUnion_i.cpp @@ -885,14 +885,20 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // shared by another Any, so we use this to copy the // state, not the buffer. TAO_InputCDR for_reading (other_unk->_tao_get_cdr ()); - for_reading.read_ulong (other_val); + if (!for_reading.read_ulong (other_val)) + { + throw CORBA::INTERNAL (); + } } else { TAO_OutputCDR other_out; other_impl->marshal_value (other_out); TAO_InputCDR other_in (other_out); - other_in.read_ulong (other_val); + if (!other_in.read_ulong (other_val)) + { + throw CORBA::INTERNAL (); + } } } else @@ -959,7 +965,10 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (my_unk->_tao_get_cdr ()); - for_reading.read_ulong (my_val); + if (!for_reading.read_ulong (my_val)) + { + throw CORBA::INTERNAL (); + } } else { @@ -982,7 +991,10 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (other_unk->_tao_get_cdr ()); - for_reading.read_ulong (other_val); + if (!for_reading.read_ulong (other_val)) + { + throw CORBA::INTERNAL (); + } } else { diff --git a/TAO/tao/DynamicAny/DynUnion_i.h b/TAO/tao/DynamicAny/DynUnion_i.h index 27436f421afe9..a835fc5933ea0 100644 --- a/TAO/tao/DynamicAny/DynUnion_i.h +++ b/TAO/tao/DynamicAny/DynUnion_i.h @@ -99,8 +99,10 @@ class TAO_DynamicAny_Export TAO_DynUnion_i const CORBA::Any &other_any); /// Use copy() or assign() instead of these. - TAO_DynUnion_i (const TAO_DynUnion_i &src); - TAO_DynUnion_i &operator= (const TAO_DynUnion_i &src); + TAO_DynUnion_i (const TAO_DynUnion_i &) = delete; + TAO_DynUnion_i &operator= (const TAO_DynUnion_i &) = delete; + TAO_DynUnion_i& operator= (TAO_DynUnion_i&&) = delete; + TAO_DynUnion_i (TAO_DynUnion_i&&) = delete; private: /// Just two components. diff --git a/TAO/tao/DynamicAny/DynValueBox_i.h b/TAO/tao/DynamicAny/DynValueBox_i.h index 3dadf64cb6cc3..d27be8f18069a 100644 --- a/TAO/tao/DynamicAny/DynValueBox_i.h +++ b/TAO/tao/DynamicAny/DynValueBox_i.h @@ -82,8 +82,10 @@ class TAO_DynamicAny_Export TAO_DynValueBox_i void set_from_any (const CORBA::Any &any); // = Use copy() or assign() instead of these. - TAO_DynValueBox_i (const TAO_DynValueBox_i &src); - TAO_DynValueBox_i &operator= (const TAO_DynValueBox_i &src); + TAO_DynValueBox_i (const TAO_DynValueBox_i &) = delete; + TAO_DynValueBox_i &operator= (const TAO_DynValueBox_i &) = delete; + TAO_DynValueBox_i& operator= (TAO_DynValueBox_i&&) = delete; + TAO_DynValueBox_i (TAO_DynValueBox_i&&) = delete; /// The boxed component of DynValueBox is another DynAny. DynamicAny::DynAny_var boxed_; diff --git a/TAO/tao/DynamicAny/DynValueCommon_i.h b/TAO/tao/DynamicAny/DynValueCommon_i.h index 7dbf099ecbfad..52a2aa3e0c0f5 100644 --- a/TAO/tao/DynamicAny/DynValueCommon_i.h +++ b/TAO/tao/DynamicAny/DynValueCommon_i.h @@ -56,8 +56,10 @@ class TAO_DynamicAny_Export TAO_DynValueCommon_i private: // = Use copy() or assign() instead of these. - TAO_DynValueCommon_i (const TAO_DynValueCommon_i &src); - TAO_DynValueCommon_i &operator= (const TAO_DynValueCommon_i &src); + TAO_DynValueCommon_i (const TAO_DynValueCommon_i &) = delete; + TAO_DynValueCommon_i &operator= (const TAO_DynValueCommon_i &) = delete; + TAO_DynValueCommon_i& operator= (TAO_DynValueCommon_i&&) = delete; + TAO_DynValueCommon_i (TAO_DynValueCommon_i&&) = delete; /// Check if the typecode is acceptable. Needs to be provided by DynValue or DynValueBox virtual void check_typecode (CORBA::TypeCode_ptr tc)=0; diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index 5f377f1edb350..7552260df30f6 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -91,13 +91,9 @@ TAO_DynValue_i::init_helper (CORBA::TypeCode_ptr tc) this->type_ = CORBA::TypeCode::_duplicate (tc); // Work out how many total members and types there - // are in total in this derived->base hiarchy. - - get_base_types ( - tc, - this->da_base_types_, - &this->component_count_); - this->da_members_.size (this->component_count_); + // are in total in this derived->base hierarchy. + get_base_types (tc, this->da_base_types_, &this->component_count_); + this->da_members_.resize (this->component_count_); // And initalize all of the DynCommon mix-in @@ -110,11 +106,11 @@ TAO_DynValue_i::get_base_types ( BaseTypesList_t &base_types, CORBA::ULong *total_member_count) { - // First initalize to the fully derived type we are + // First initialize to the fully derived type we are // starting with. CORBA::ULong numberOfBases = 1u; - base_types.size (numberOfBases); + base_types.resize (numberOfBases); base_types[0] = TAO_DynAnyFactory::strip_alias (tc); if (total_member_count) { @@ -138,9 +134,8 @@ TAO_DynValue_i::get_base_types ( *total_member_count += base->member_count (); } - base_types.size (numberOfBases + 1); - base_types[numberOfBases++] = - CORBA::TypeCode::_duplicate (base.in ()); + base_types.resize (numberOfBases + 1); + base_types[numberOfBases++] = CORBA::TypeCode::_duplicate (base.in ()); base = base->concrete_base_type(); } } @@ -954,9 +949,9 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } if (is_indirected) { - // Effectivly this member? is the same ValueType as previous + // Effectively this member? is the same ValueType as previous // seen either in another member of this container OR the - // whole container itself. (Possiably can happen as a + // whole container itself. (Possibly can happen as a // circular linked list?) if (TAO_debug_level) { @@ -1007,7 +1002,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Ok since we are not indirected (this time), record "this" - // DynValue_i for later possiable indirections to use. + // DynValue_i for later possible indirections to use. if (strm.get_value_map ()->get() ->bind ( start_of_valuetype, @@ -1020,7 +1015,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Work out how many total types there - // are in this derived->base hiarchy. + // are in this derived->base hierarchy. const CORBA::ULong num_fields = static_cast (this->da_members_.size ()), num_ids = static_cast (ids.size ()); @@ -1044,7 +1039,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Since this does not match we must be attempting - // to truncated to a base-type, thus the incomming + // to truncated to a base-type, thus the incoming // any must be chuncked and this outer type must // allow truncation. if (!is_chunked) @@ -1088,7 +1083,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Now read in every member's value (reading further chunking - // marks for each seporate base-type's state we pass). + // marks for each separate base-type's state we pass). CORBA::Boolean need_first = true; CORBA::ULong currentBase = ACE_Utils::truncate_cast (this->da_base_types_.size ()), @@ -1101,7 +1096,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) if (!currentBaseMember) { // Move on to the next derived type in the - // list of our type hyarchy + // list of our type hierarchy while (!this->da_base_types_[--currentBase] ->member_count ()) { @@ -1174,7 +1169,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) <= ++currentBaseMember) { // Remind us to start again with the next derived type - // for the next member to be writen. + // for the next member to be written. currentBaseMember= 0u; if (currentBase < num_ids) diff --git a/TAO/tao/DynamicAny/DynValue_i.h b/TAO/tao/DynamicAny/DynValue_i.h index 79554d1279b92..d19258c1d58b4 100644 --- a/TAO/tao/DynamicAny/DynValue_i.h +++ b/TAO/tao/DynamicAny/DynValue_i.h @@ -86,7 +86,7 @@ class TAO_DynamicAny_Export TAO_DynValue_i private: /// List of base types. - typedef ACE_Array_Base BaseTypesList_t; + using BaseTypesList_t = std::vector; /// Decompose the given TypeCode into its hierarchical list of /// basetypes. The first element of the list is our actual type, @@ -142,7 +142,7 @@ class TAO_DynamicAny_Export TAO_DynValue_i TAO_DynValue_i (TAO_DynValue_i&&) = delete; /// Each component of DynValue and DynValueBox is also a DynAny. - ACE_Array_Base da_members_; + std::vector da_members_; /// First element of this is our type, each basetype follows /// in order backwards down the hierarchy. All types stored are From cf0397065c105159c64585c6820f85833ec3cab0 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 13:15:00 +0200 Subject: [PATCH 334/445] Check any/cdr extraction return values * TAO/tao/DynamicAny/DynAny_i.cpp: * TAO/tao/DynamicAny/DynUnion_i.cpp: --- TAO/tao/DynamicAny/DynAny_i.cpp | 260 ++++++++++++++++++++---------- TAO/tao/DynamicAny/DynUnion_i.cpp | 172 ++++++++++++++------ 2 files changed, 293 insertions(+), 139 deletions(-) diff --git a/TAO/tao/DynamicAny/DynAny_i.cpp b/TAO/tao/DynamicAny/DynAny_i.cpp index cdb9e516fbff2..c6aea22c239c1 100644 --- a/TAO/tao/DynamicAny/DynAny_i.cpp +++ b/TAO/tao/DynamicAny/DynAny_i.cpp @@ -262,7 +262,7 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) TAO_DynAny_i *rhs_n = TAO_DynAny_i::_narrow (rhs); - if (rhs_n == 0) + if (rhs_n == nullptr) { return false; } @@ -281,115 +281,198 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) return true; case CORBA::tk_short: { - CORBA::Short rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::Short lhs_v; - this->any_ >>= lhs_v; + CORBA::Short rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::Short lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_long: { - CORBA::Long rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::Long lhs_v; - this->any_ >>= lhs_v; + CORBA::Long rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::Long lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_ushort: { - CORBA::UShort rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::UShort lhs_v; - this->any_ >>= lhs_v; + CORBA::UShort rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::UShort lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_ulong: { - CORBA::ULong rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::ULong lhs_v; - this->any_ >>= lhs_v; + CORBA::ULong rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::ULong lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_float: { - CORBA::Float rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::Float lhs_v; - this->any_ >>= lhs_v; + CORBA::Float rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::Float lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return ACE::is_equal (lhs_v, rhs_v); } case CORBA::tk_double: { - CORBA::Double rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::Double lhs_v; - this->any_ >>= lhs_v; + CORBA::Double rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::Double lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return ACE::is_equal (lhs_v, rhs_v); } case CORBA::tk_longdouble: { - CORBA::LongDouble rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::LongDouble lhs_v; - this->any_ >>= lhs_v; + CORBA::LongDouble rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::LongDouble lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return ACE::is_equal (lhs_v, rhs_v); } case CORBA::tk_longlong: { - CORBA::LongLong rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::LongLong lhs_v; - this->any_ >>= lhs_v; + CORBA::LongLong rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::LongLong lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_ulonglong: { - CORBA::ULongLong rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::ULongLong lhs_v; - this->any_ >>= lhs_v; + CORBA::ULongLong rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::ULongLong lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_boolean: { - CORBA::Boolean rhs_v; - rhs_n->any_ >>= CORBA::Any::to_boolean (rhs_v); - CORBA::Boolean lhs_v; - this->any_ >>= CORBA::Any::to_boolean (lhs_v); + CORBA::Boolean rhs_v {}; + if (!(rhs_n->any_ >>= CORBA::Any::to_boolean (rhs_v))) + { + throw CORBA::INTERNAL (); + } + CORBA::Boolean lhs_v {}; + if (!(this->any_ >>= CORBA::Any::to_boolean (lhs_v))) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_char: { - CORBA::Char rhs_v; - rhs_n->any_ >>= CORBA::Any::to_char (rhs_v); - CORBA::Char lhs_v; - this->any_ >>= CORBA::Any::to_char (lhs_v); + CORBA::Char rhs_v {}; + if (!(rhs_n->any_ >>= CORBA::Any::to_char (rhs_v))) + { + throw CORBA::INTERNAL (); + } + CORBA::Char lhs_v {}; + if (!(this->any_ >>= CORBA::Any::to_char (lhs_v))) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_wchar: { - CORBA::WChar rhs_v; - rhs_n->any_ >>= CORBA::Any::to_wchar (rhs_v); - CORBA::WChar lhs_v; - this->any_ >>= CORBA::Any::to_wchar (lhs_v); + CORBA::WChar rhs_v {}; + if (!(rhs_n->any_ >>= CORBA::Any::to_wchar (rhs_v))) + { + throw CORBA::INTERNAL (); + } + CORBA::WChar lhs_v {}; + if (!(this->any_ >>= CORBA::Any::to_wchar (lhs_v))) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_octet: { - CORBA::Octet rhs_v; - rhs_n->any_ >>= CORBA::Any::to_octet (rhs_v); - CORBA::Octet lhs_v; - this->any_ >>= CORBA::Any::to_octet (lhs_v); + CORBA::Octet rhs_v {}; + if (!(rhs_n->any_ >>= CORBA::Any::to_octet (rhs_v))) + { + throw CORBA::INTERNAL (); + } + CORBA::Octet lhs_v {}; + if (!(this->any_ >>= CORBA::Any::to_octet (lhs_v))) + { + throw CORBA::INTERNAL (); + } return (lhs_v == rhs_v); } case CORBA::tk_any: { - const CORBA::Any *rhs_v; - rhs_n->any_ >>= rhs_v; - const CORBA::Any *lhs_v; - this->any_ >>= lhs_v; - + const CORBA::Any *rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + const CORBA::Any *lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } DynamicAny::DynAny_var rhs_dyn = TAO::MakeDynAnyUtils::make_dyn_any_t ( rhs_v->_tao_get_typecode (), @@ -412,31 +495,39 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) } case CORBA::tk_TypeCode: { - CORBA::TypeCode_ptr rhs_v; - rhs_n->any_ >>= rhs_v; - CORBA::TypeCode_ptr lhs_v; - this->any_ >>= lhs_v; + CORBA::TypeCode_ptr rhs_v {}; + if (!(rhs_n->any_ >>= rhs_v)) + { + throw CORBA::INTERNAL (); + } + CORBA::TypeCode_ptr lhs_v {}; + if (!(this->any_ >>= lhs_v)) + { + throw CORBA::INTERNAL (); + } // See CORBA 2.4.2 - must use equal() here. return lhs_v->equal (lhs_v); } case CORBA::tk_objref: { - CORBA::Object_ptr rhs_v; - rhs_n->any_ >>= CORBA::Any::to_object (rhs_v); - CORBA::Object_ptr lhs_v; - this->any_ >>= CORBA::Any::to_object (lhs_v); + CORBA::Object_ptr rhs_v {}; + if (!(rhs_n->any_ >>= CORBA::Any::to_object (rhs_v))) + { + throw CORBA::INTERNAL (); + } + CORBA::Object_ptr lhs_v {}; + if (!(this->any_ >>= CORBA::Any::to_object (lhs_v))) + { + throw CORBA::INTERNAL (); + } return lhs_v->_is_equivalent (lhs_v); } case CORBA::tk_string: { - CORBA::TypeCode_var unaliased_tc = - TAO_DynAnyFactory::strip_alias (this->type_.in ()); - - CORBA::ULong bound = - unaliased_tc->length (); - - const char *rhs_v, *lhs_v; - CORBA::Boolean rstatus, lstatus; + CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); + CORBA::ULong const bound = unaliased_tc->length (); + const char *rhs_v {}, *lhs_v {}; + CORBA::Boolean rstatus {}, lstatus {}; if (bound == 0) { @@ -445,7 +536,7 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) if ((rstatus && lstatus) == 0) { - return 0; + return false; } } else @@ -455,7 +546,7 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) if ((rstatus && lstatus) == 0) { - return 0; + return false; } } @@ -463,14 +554,11 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) } case CORBA::tk_wstring: { - CORBA::TypeCode_var unaliased_tc = - TAO_DynAnyFactory::strip_alias (this->type_.in ()); - - CORBA::ULong bound = - unaliased_tc->length (); + CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); + CORBA::ULong const bound = unaliased_tc->length (); - const CORBA::WChar *rhs_v, *lhs_v; - CORBA::Boolean rstatus, lstatus; + const CORBA::WChar *rhs_v {}, *lhs_v {}; + CORBA::Boolean rstatus {}, lstatus {}; if (bound == 0) { @@ -484,10 +572,8 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) } else { - rstatus = rhs_n->any_ >>= CORBA::Any::to_wstring (rhs_v, - bound); - lstatus = this->any_ >>= CORBA::Any::to_wstring (lhs_v, - bound); + rstatus = rhs_n->any_ >>= CORBA::Any::to_wstring (rhs_v, bound); + lstatus = this->any_ >>= CORBA::Any::to_wstring (lhs_v, bound); if ((rstatus && lstatus) == 0) { diff --git a/TAO/tao/DynamicAny/DynUnion_i.cpp b/TAO/tao/DynamicAny/DynUnion_i.cpp index fdd131a4e8ac1..199a6dc7e65ae 100644 --- a/TAO/tao/DynamicAny/DynUnion_i.cpp +++ b/TAO/tao/DynamicAny/DynUnion_i.cpp @@ -75,15 +75,13 @@ TAO_DynUnion_i::init (CORBA::TypeCode_ptr tc) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - CORBA::Any_var first_label = - unaliased_tc->member_label (this->current_position_); + CORBA::Any_var first_label = unaliased_tc->member_label (this->current_position_); // Initialize the discriminator to the label value of the first member. CORBA::TypeCode_var disc_tc = unaliased_tc->discriminator_type (); CORBA::TCKind disc_kind = TAO_DynAnyFactory::unalias (disc_tc.in ()); CORBA::TCKind label_kind = TAO_DynAnyFactory::unalias (first_label->_tao_get_typecode ()); - if (disc_kind == CORBA::tk_enum && - label_kind == CORBA::tk_ulong) + if (disc_kind == CORBA::tk_enum && label_kind == CORBA::tk_ulong) { // incase the discriminator is an enum type we have to walk // a slightly more complex path because enum labels are @@ -93,10 +91,15 @@ TAO_DynUnion_i::init (CORBA::TypeCode_ptr tc) disc_tc.in (), disc_tc.in (), this->allow_truncation_ ); - CORBA::ULong label_val; - first_label >>= label_val; - TAO_DynEnum_i::_narrow (this->discriminator_.in ()) - ->set_as_ulong (label_val); + CORBA::ULong label_val {}; + if (first_label >>= label_val) + { + TAO_DynEnum_i::_narrow (this->discriminator_.in ())->set_as_ulong (label_val); + } + else + { + throw CORBA::INTERNAL (); + } } else { @@ -361,10 +364,15 @@ TAO_DynUnion_i::set_discriminator (DynamicAny::DynAny_ptr value) // incase the discriminator is an enum type we have to walk // a slightly more complex path because enum labels are // stored as ulong in the union tc - CORBA::ULong label_val; - label_any >>= label_val; - TAO_DynEnum_i::_narrow (this->discriminator_.in ()) - ->set_as_ulong (label_val); + CORBA::ULong label_val {}; + if (label_any >>= label_val) + { + TAO_DynEnum_i::_narrow (this->discriminator_.in ())->set_as_ulong (label_val); + } + else + { + throw CORBA::INTERNAL (); + } } else { @@ -828,8 +836,7 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // if we are iterating through the union type code's // member_label() calls. CORBA::TypeCode_var tc = my_any.type (); - - CORBA::TCKind kind = TAO_DynAnyFactory::unalias (tc.in ()); + CORBA::TCKind const kind = TAO_DynAnyFactory::unalias (tc.in ()); // No need to do any type checking - it was done before this // call was made. @@ -837,41 +844,62 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, { case CORBA::tk_octet: // Default case label - just skip it. - return 0; + return false; case CORBA::tk_short: { - CORBA::Short my_val; - CORBA::Short other_val; - my_any >>= my_val; - other_any >>= other_val; + CORBA::Short my_val {}; + CORBA::Short other_val {}; + if (!(my_any >>= my_val)) + { + throw CORBA::INTERNAL (); + } + if (!(other_any >>= other_val)) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } case CORBA::tk_long: { - CORBA::Long my_val; - CORBA::Long other_val; - my_any >>= my_val; - other_any >>= other_val; + CORBA::Long my_val {}; + if (!(my_any >>= my_val)) + { + throw CORBA::INTERNAL (); + } + CORBA::Long other_val {}; + if (!(other_any >>= other_val)) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } case CORBA::tk_ushort: { CORBA::UShort my_val; + if (!(my_any >>= my_val)) + { + throw CORBA::INTERNAL (); + } CORBA::UShort other_val; - my_any >>= my_val; - other_any >>= other_val; + if (!(other_any >>= other_val)) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } case CORBA::tk_ulong: { - CORBA::ULong my_val; - CORBA::ULong other_val; - my_any >>= my_val; + CORBA::ULong my_val {}; + CORBA::ULong other_val {}; + if (!(my_any >>= my_val)) + { + throw CORBA::INTERNAL (); + } // check whether the discriminator is possibly an enum type // since these get stored as ulong label values as well CORBA::TypeCode_var other_tc = other_any.type (); - CORBA::TCKind kind = TAO_DynAnyFactory::unalias (other_tc.in ()); + CORBA::TCKind const kind = TAO_DynAnyFactory::unalias (other_tc.in ()); if (kind == CORBA::tk_enum) { TAO::Any_Impl *other_impl = other_any.impl (); @@ -902,56 +930,90 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, } } else - other_any >>= other_val; + { + if (!(other_any >>= other_val)) + { + throw CORBA::INTERNAL (); + } + } return my_val == other_val; } case CORBA::tk_boolean: { - CORBA::Boolean my_val; - CORBA::Boolean other_val; - my_any >>= CORBA::Any::to_boolean (my_val); - other_any >>= CORBA::Any::to_boolean (other_val); + CORBA::Boolean my_val {}; + CORBA::Boolean other_val {}; + if (!(my_any >>= CORBA::Any::to_boolean (my_val))) + { + throw CORBA::INTERNAL (); + } + if (!(other_any >>= CORBA::Any::to_boolean (other_val))) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } case CORBA::tk_char: { - CORBA::Char my_val; - CORBA::Char other_val; - my_any >>= CORBA::Any::to_char (my_val); - other_any >>= CORBA::Any::to_char (other_val); + CORBA::Char my_val {}; + CORBA::Char other_val {}; + if (!(my_any >>= CORBA::Any::to_char (my_val))) + { + throw CORBA::INTERNAL (); + } + if (!(other_any >>= CORBA::Any::to_char (other_val))) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } // For platforms without native 64-bit ints. case CORBA::tk_longlong: { - CORBA::LongLong my_val; - CORBA::LongLong other_val; - my_any >>= my_val; - other_any >>= other_val; + CORBA::LongLong my_val {}; + CORBA::LongLong other_val {}; + if (!(my_any >>= my_val)) + { + throw CORBA::INTERNAL (); + } + if (!(other_any >>= other_val)) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } case CORBA::tk_ulonglong: { CORBA::ULongLong my_val; CORBA::ULongLong other_val; - my_any >>= my_val; - other_any >>= other_val; + if (!(my_any >>= my_val)) + { + throw CORBA::INTERNAL (); + } + if (!(other_any >>= other_val)) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } case CORBA::tk_wchar: { CORBA::WChar my_val; CORBA::WChar other_val; - my_any >>= CORBA::Any::to_wchar (my_val); - other_any >>= CORBA::Any::to_wchar (other_val); + if (!(my_any >>= CORBA::Any::to_wchar (my_val))) + { + throw CORBA::INTERNAL (); + } + if (!(other_any >>= CORBA::Any::to_wchar (other_val))) + { + throw CORBA::INTERNAL (); + } return my_val == other_val; } case CORBA::tk_enum: { - CORBA::ULong my_val; - CORBA::ULong other_val; - + CORBA::ULong my_val {}; + CORBA::ULong other_val {}; TAO::Any_Impl *my_impl = my_any.impl (); if (my_impl->encoded ()) @@ -975,7 +1037,10 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, TAO_OutputCDR my_out; my_impl->marshal_value (my_out); TAO_InputCDR my_in (my_out); - my_in.read_ulong (my_val); + if (!(my_in.read_ulong (my_val))) + { + throw CORBA::INTERNAL (); + } } TAO::Any_Impl *other_impl = other_any.impl (); @@ -1001,14 +1066,17 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, TAO_OutputCDR other_out; other_impl->marshal_value (other_out); TAO_InputCDR other_in (other_out); - other_in.read_ulong (other_val); + if (!(other_in.read_ulong (other_val))) + { + throw CORBA::INTERNAL (); + } } return my_val == other_val; } // Cannot happen - we've covered all the legal discriminator types. default: - return 0; + return false; } } From 0030ab82e0d4bff3d8e0719f55c62e5047412368 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 13:31:35 +0200 Subject: [PATCH 335/445] Add missing duplicat, init changes * TAO/tao/DynamicAny/DynAnyUtils_T.cpp: * TAO/tao/DynamicAny/DynArray_i.cpp: * TAO/tao/DynamicAny/DynCommon.cpp: * TAO/tao/DynamicAny/DynEnum_i.cpp: * TAO/tao/DynamicAny/DynSequence_i.cpp: * TAO/tao/DynamicAny/DynUnion_i.cpp: * TAO/tao/DynamicAny/DynValueBox_i.cpp: * TAO/tao/DynamicAny/DynValue_i.cpp: * TAO/tao/DynamicAny/DynValue_i.h: --- TAO/tao/DynamicAny/DynAnyUtils_T.cpp | 4 +- TAO/tao/DynamicAny/DynArray_i.cpp | 10 ++--- TAO/tao/DynamicAny/DynCommon.cpp | 49 +++++++++++------------ TAO/tao/DynamicAny/DynEnum_i.cpp | 6 +-- TAO/tao/DynamicAny/DynSequence_i.cpp | 2 +- TAO/tao/DynamicAny/DynUnion_i.cpp | 18 ++++----- TAO/tao/DynamicAny/DynValueBox_i.cpp | 2 +- TAO/tao/DynamicAny/DynValue_i.cpp | 58 ++++++++-------------------- TAO/tao/DynamicAny/DynValue_i.h | 2 +- 9 files changed, 61 insertions(+), 90 deletions(-) diff --git a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp index 5c22e0f962e32..011425fdc730b 100644 --- a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp +++ b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp @@ -113,7 +113,7 @@ namespace TAO ANY_TC any_tc, CORBA::Boolean allow_truncation) { - DA_IMPL *p = 0; + DA_IMPL *p {}; ACE_NEW_THROW_EX (p, DA_IMPL (allow_truncation), CORBA::NO_MEMORY ()); @@ -142,7 +142,7 @@ namespace TAO ANY_TC any_tc, CORBA::Boolean allow_truncation) { - DA_IMPL *p = 0; + DA_IMPL *p {}; ACE_NEW_THROW_EX (p, DA_IMPL (allow_truncation), CORBA::NO_MEMORY ()); diff --git a/TAO/tao/DynamicAny/DynArray_i.cpp b/TAO/tao/DynamicAny/DynArray_i.cpp index 81db716c0ea07..732aff39409c9 100644 --- a/TAO/tao/DynamicAny/DynArray_i.cpp +++ b/TAO/tao/DynamicAny/DynArray_i.cpp @@ -79,7 +79,7 @@ TAO_DynArray_i::init (const CORBA::Any & any) for (CORBA::ULong i = 0; i < numfields; ++i) { CORBA::Any field_any; - TAO::Unknown_IDL_Type *field_unk = 0; + TAO::Unknown_IDL_Type *field_unk {}; TAO_InputCDR unk_in (cdr); ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); @@ -191,7 +191,7 @@ TAO_DynArray_i::get_elements () CORBA::ULong length = static_cast (this->da_members_.size ()); - DynamicAny::AnySeq *elements = 0; + DynamicAny::AnySeq *elements {}; ACE_NEW_THROW_EX (elements, DynamicAny::AnySeq (length), CORBA::NO_MEMORY ()); @@ -262,7 +262,7 @@ TAO_DynArray_i::get_elements_as_dyn_any () throw ::CORBA::OBJECT_NOT_EXIST (); } - DynamicAny::DynAnySeq *retval = 0; + DynamicAny::DynAnySeq *retval {}; ACE_NEW_THROW_EX (retval, DynamicAny::DynAnySeq (this->component_count_), CORBA::NO_MEMORY ()); @@ -375,7 +375,7 @@ TAO_DynArray_i::from_any (const CORBA::Any& any) { CORBA::Any field_any; TAO_InputCDR unk_in (cdr); - TAO::Unknown_IDL_Type *field_unk = 0; + TAO::Unknown_IDL_Type *field_unk {}; ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); field_any.replace (field_unk); @@ -452,7 +452,7 @@ TAO_DynArray_i::to_any () CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), diff --git a/TAO/tao/DynamicAny/DynCommon.cpp b/TAO/tao/DynamicAny/DynCommon.cpp index a9b0606205a3c..53b894dfb47d8 100644 --- a/TAO/tao/DynamicAny/DynCommon.cpp +++ b/TAO/tao/DynamicAny/DynCommon.cpp @@ -200,8 +200,7 @@ TAO_DynCommon::insert_reference (CORBA::Object_ptr value) if (ACE_OS::strcmp (value_id, "IDL:omg.org/CORBA/Object:1.0") != 0) { - const char *my_id = - this->type_->id (); + const char *my_id = this->type_->id (); if (ACE_OS::strcmp (value_id, my_id) != 0) { @@ -230,7 +229,7 @@ TAO_DynCommon::insert_reference (CORBA::Object_ptr value) } TAO_InputCDR in (cdr); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW (unk, TAO::Unknown_IDL_Type (this->type_.in (), in)); @@ -386,7 +385,7 @@ TAO_DynCommon::insert_val (CORBA::ValueBase *value) } TAO_InputCDR in (out); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW (unk, TAO::Unknown_IDL_Type (this->type_.in (), in)); this->any_.replace (unk); @@ -477,14 +476,12 @@ TAO_DynCommon::get_string () throw DynamicAny::DynAny::TypeMismatch (); } - char *retval = 0; - - CORBA::ULong const bound = - unaliased_tc->length (); + char *retval {}; + CORBA::ULong const bound = unaliased_tc->length (); // We will have caught a type mismatch above, so if this fails, // it must be for some other reason. - if ((this->any_ >>= CORBA::Any::to_string (retval, bound)) == 0) + if (!(this->any_ >>= CORBA::Any::to_string (retval, bound))) { throw DynamicAny::DynAny::InvalidValue (); } @@ -512,7 +509,7 @@ TAO_DynCommon::get_reference () { CORBA::Object_var retval; - if ((this->any_ >>= CORBA::Any::to_object (retval.inout ())) == 0) + if (!(this->any_ >>= CORBA::Any::to_object (retval.inout ()))) { throw DynamicAny::DynAny::TypeMismatch (); } @@ -539,7 +536,7 @@ TAO_DynCommon::get_typecode () { CORBA::TypeCode_ptr retval; - if ((this->any_ >>= retval) == 0) + if (!(this->any_ >>= retval)) { throw DynamicAny::DynAny::TypeMismatch (); } @@ -584,7 +581,7 @@ TAO_DynCommon::get_wchar () { CORBA::WChar retval; - if ((this->any_ >>= CORBA::Any::to_wchar (retval)) == 0) + if (!(this->any_ >>= CORBA::Any::to_wchar (retval))) { throw DynamicAny::DynAny::TypeMismatch (); } @@ -616,12 +613,13 @@ TAO_DynCommon::get_wstring () CORBA::TypeCode_var unaliased_tc = this->check_type_and_unalias (CORBA::_tc_wstring); - CORBA::WChar *retval = 0; - - CORBA::ULong bound = - unaliased_tc->length (); + CORBA::WChar *retval = {}; + CORBA::ULong const bound = unaliased_tc->length (); - (void) (this->any_ >>= CORBA::Any::to_wstring (retval, bound)); + if (!(this->any_ >>= CORBA::Any::to_wstring (retval, bound))) + { + throw CORBA::INTERNAL (); + } return CORBA::wstring_dup (retval); } @@ -644,17 +642,17 @@ TAO_DynCommon::get_any () } else { - const CORBA::Any *tmp = 0; + const CORBA::Any *tmp {}; - if ((this->any_ >>= tmp) == 0) + if (!(this->any_ >>= tmp)) { throw DynamicAny::DynAny::TypeMismatch (); } - CORBA::Any *retval = 0; + CORBA::Any *retval {}; ACE_NEW_RETURN (retval, CORBA::Any (*tmp), - 0); + nullptr); return retval; } } @@ -706,7 +704,7 @@ TAO_DynCommon::get_val () CORBA::ValueBase_var retval; TAO::Any_Impl *any_impl = this->any_.impl (); - if (any_impl == 0) + if (!any_impl) { throw DynamicAny::DynAny::InvalidValue (); } @@ -778,7 +776,7 @@ TAO_DynCommon::next () throw ::CORBA::OBJECT_NOT_EXIST (); } - CORBA::Long component_count = static_cast (this->component_count_); + CORBA::Long const component_count = static_cast (this->component_count_); if (this->has_components_ == 0 || this->current_position_ + 1 >= component_count) @@ -858,8 +856,7 @@ TAO_DynCommon::insert_abstract (CORBA::AbstractBase_ptr value) if (cmp != 0) { - const char *my_id = - this->type_->id (); + const char *my_id = this->type_->id (); if (ACE_OS::strcmp (value_id, my_id) != 0) { @@ -886,7 +883,7 @@ TAO_DynCommon::insert_abstract (CORBA::AbstractBase_ptr value) } TAO_InputCDR in (out); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW (unk, TAO::Unknown_IDL_Type (this->type_.in (), in)); this->any_.replace (unk); diff --git a/TAO/tao/DynamicAny/DynEnum_i.cpp b/TAO/tao/DynamicAny/DynEnum_i.cpp index fa795ef5a2cec..771bf1d8f7fab 100644 --- a/TAO/tao/DynamicAny/DynEnum_i.cpp +++ b/TAO/tao/DynamicAny/DynEnum_i.cpp @@ -125,8 +125,8 @@ TAO_DynEnum_i::set_as_string (const char *value_as_string) CORBA::ULong count = ct.in ()->member_count (); - CORBA::ULong i; - const char *temp = 0; + CORBA::ULong i {}; + const char *temp {}; for (i = 0; i < count; ++i) { @@ -223,7 +223,7 @@ TAO_DynEnum_i::to_any () CORBA::NO_MEMORY ()); TAO_InputCDR in_cdr (out_cdr); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), diff --git a/TAO/tao/DynamicAny/DynSequence_i.cpp b/TAO/tao/DynamicAny/DynSequence_i.cpp index 059b2eb817481..14461552238ab 100644 --- a/TAO/tao/DynamicAny/DynSequence_i.cpp +++ b/TAO/tao/DynamicAny/DynSequence_i.cpp @@ -88,7 +88,7 @@ TAO_DynSequence_i::init (const CORBA::Any& any) { CORBA::Any field_any; TAO_InputCDR unk_in (cdr); - TAO::Unknown_IDL_Type *field_unk = 0; + TAO::Unknown_IDL_Type *field_unk {}; ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); field_any.replace (field_unk); diff --git a/TAO/tao/DynamicAny/DynUnion_i.cpp b/TAO/tao/DynamicAny/DynUnion_i.cpp index 199a6dc7e65ae..737644b6d2d08 100644 --- a/TAO/tao/DynamicAny/DynUnion_i.cpp +++ b/TAO/tao/DynamicAny/DynUnion_i.cpp @@ -149,7 +149,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any) tc->discriminator_type (); CORBA::Any disc_any; - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; // Get a CDR stream - if the Any doesn't have one, make one. TAO::Any_Impl *impl = any.impl (); @@ -228,7 +228,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any) CORBA::TypeCode_var member_tc = tc->member_type (i); CORBA::Any member_any; - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW (unk, TAO::Unknown_IDL_Type (member_tc.in (), in)); @@ -266,7 +266,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any) tc->member_type (index); CORBA::Any default_any; - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW (unk, TAO::Unknown_IDL_Type (default_tc.in (), in)); @@ -332,7 +332,7 @@ TAO_DynUnion_i::set_discriminator (DynamicAny::DynAny_ptr value) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - CORBA::Boolean match = 0; + CORBA::Boolean match = false; for (i = 0; i < length; ++i) { @@ -728,12 +728,12 @@ TAO_DynUnion_i::to_any () // Make the Any. TAO_InputCDR in_cdr (out_cdr); - CORBA::Any_ptr retval = 0; + CORBA::Any_ptr retval {}; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), @@ -753,9 +753,9 @@ TAO_DynUnion_i::equal (DynamicAny::DynAny_ptr rhs) TAO_DynUnion_i *impl = TAO_DynUnion_i::_narrow (rhs); - if (impl == 0) + if (!impl) { - return 0; + return false; } CORBA::Boolean equivalent = @@ -763,7 +763,7 @@ TAO_DynUnion_i::equal (DynamicAny::DynAny_ptr rhs) if (!equivalent) { - return 0; + return false; } CORBA::Boolean member_equal = diff --git a/TAO/tao/DynamicAny/DynValueBox_i.cpp b/TAO/tao/DynamicAny/DynValueBox_i.cpp index ed9843a3eada5..3c03c239f9d53 100644 --- a/TAO/tao/DynamicAny/DynValueBox_i.cpp +++ b/TAO/tao/DynamicAny/DynValueBox_i.cpp @@ -310,7 +310,7 @@ TAO_DynValueBox_i::set_from_any (const CORBA::Any & any) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); CORBA::TypeCode_var boxed_tc (unaliased_tc->content_type ()); - TAO::Unknown_IDL_Type * unk = 0; + TAO::Unknown_IDL_Type * unk {}; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (boxed_tc.in (), in), CORBA::NO_MEMORY ()); diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index 7552260df30f6..0f816c2676f05 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -21,10 +21,6 @@ TAO_DynValue_i::TAO_DynValue_i (CORBA::Boolean allow_truncation) { } -TAO_DynValue_i::~TAO_DynValue_i () -{ -} - void TAO_DynValue_i::init (const CORBA::Any & any) { @@ -108,26 +104,21 @@ TAO_DynValue_i::get_base_types ( { // First initialize to the fully derived type we are // starting with. - CORBA::ULong numberOfBases = 1u; base_types.resize (numberOfBases); - base_types[0] = TAO_DynAnyFactory::strip_alias (tc); + base_types[0] = CORBA::TypeCode::_duplicate(TAO_DynAnyFactory::strip_alias (tc)); if (total_member_count) { - *total_member_count = - base_types[0]->member_count (); + *total_member_count = base_types[0]->member_count (); } // Obtain each derived type's basetype and add this to // the list. - - CORBA::TypeCode_var - base (base_types[0]->concrete_base_type()); + CORBA::TypeCode_var base (base_types[0]->concrete_base_type()); while (base.in() && CORBA::tk_value == (base= // assignment - TAO_DynAnyFactory::strip_alias (base.in())) - ->kind ()) + TAO_DynAnyFactory::strip_alias (base.in()))->kind ()) { if (total_member_count) { @@ -152,8 +143,7 @@ TAO_DynValue_i::get_correct_base_type ( // derived type until that type's members are exhausted // and so on until we reach the member we have asked for. - CORBA::ULong - currentBase = ACE_Utils::truncate_cast (base_types.size ()); + CORBA::ULong currentBase = ACE_Utils::truncate_cast (base_types.size ()); if (!currentBase) { TAOLIB_DEBUG ((LM_DEBUG, @@ -180,18 +170,14 @@ TAO_DynValue_i::get_correct_base_type ( } CORBA::TypeCode_ptr -TAO_DynValue_i::get_member_type ( - const BaseTypesList_t &base_types, - CORBA::ULong index) +TAO_DynValue_i::get_member_type (const BaseTypesList_t &base_types, CORBA::ULong index) { const CORBA::TypeCode_ptr base = get_correct_base_type (base_types, index); return base->member_type (index); } const char * -TAO_DynValue_i::get_member_name ( - const BaseTypesList_t &base_types, - CORBA::ULong index) +TAO_DynValue_i::get_member_name (const BaseTypesList_t &base_types, CORBA::ULong index) { const CORBA::TypeCode_ptr base = get_correct_base_type (base_types, index); return base->member_name (index); @@ -237,10 +223,7 @@ TAO_DynValue_i::current_member_name () throw DynamicAny::DynAny::InvalidValue (); } - return CORBA::string_dup ( - this->get_member_name ( - this->da_base_types_, - this->current_position_)); + return CORBA::string_dup (this->get_member_name (this->da_base_types_, this->current_position_)); } CORBA::TCKind @@ -256,10 +239,7 @@ TAO_DynValue_i::current_member_kind () throw DynamicAny::DynAny::InvalidValue (); } - CORBA::TypeCode_var tc ( - get_member_type ( - this->da_base_types_, - this->current_position_)); + CORBA::TypeCode_var tc (get_member_type (this->da_base_types_, this->current_position_)); return TAO_DynAnyFactory::unalias (tc.in ()); } @@ -272,19 +252,16 @@ TAO_DynValue_i::get_members () } // Create the return NameValuePairSeq - DynamicAny::NameValuePairSeq *members = 0; + DynamicAny::NameValuePairSeq *members {}; ACE_NEW_THROW_EX ( members, DynamicAny::NameValuePairSeq (this->component_count_), CORBA::NO_MEMORY ()); members->length (this->component_count_); - DynamicAny::NameValuePairSeq_var - safe_retval (members); + DynamicAny::NameValuePairSeq_var safe_retval (members); // Assign member name and value to each slot. - for (CORBA::ULong i = 0u; - i < this->component_count_; - ++i) + for (CORBA::ULong i = 0u; i < this->component_count_; ++i) { safe_retval[i].id = CORBA::string_dup (this->get_member_name (this->da_base_types_, i)); CORBA::Any_var temp (this->da_members_[i]->to_any ()); @@ -304,10 +281,8 @@ TAO_DynValue_i::set_members ( } // Check lengths match. - const CORBA::ULong length = values.length (); - if (length != - static_cast - (this->da_members_.size ())) + CORBA::ULong const length = values.length (); + if (length != static_cast (this->da_members_.size ())) { throw DynamicAny::DynAny::InvalidValue (); } @@ -327,8 +302,7 @@ TAO_DynValue_i::set_members ( // Copy in the new values to each member () for (i = 0u; i < length; ++i) { - this->da_members_[i] = TAO::MakeDynAnyUtils:: - make_dyn_any_t ( + this->da_members_[i] = TAO::MakeDynAnyUtils::make_dyn_any_t ( values[i].value._tao_get_typecode (), values[i].value, this->allow_truncation_); @@ -346,7 +320,7 @@ TAO_DynValue_i::get_members_as_dyn_any () } // Create the return NameDynAnyPairSeq - DynamicAny::NameDynAnyPairSeq *members = nullptr; + DynamicAny::NameDynAnyPairSeq *members {}; ACE_NEW_THROW_EX ( members, DynamicAny::NameDynAnyPairSeq (this->component_count_), diff --git a/TAO/tao/DynamicAny/DynValue_i.h b/TAO/tao/DynamicAny/DynValue_i.h index d19258c1d58b4..6f19c154fe8d9 100644 --- a/TAO/tao/DynamicAny/DynValue_i.h +++ b/TAO/tao/DynamicAny/DynValue_i.h @@ -38,7 +38,7 @@ class TAO_DynamicAny_Export TAO_DynValue_i TAO_DynValue_i (CORBA::Boolean allow_truncation = true); /// Destructor. - ~TAO_DynValue_i (); + ~TAO_DynValue_i () = default; /// Initialize using an Any. void init (const CORBA::Any& any); From fa285886000e5bbaeec98c2d9bb719655920a785 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 13:33:10 +0200 Subject: [PATCH 336/445] Init changes * TAO/tao/DynamicAny/DynAny_i.cpp: * TAO/tao/DynamicAny/DynCommon.cpp: * TAO/tao/DynamicAny/DynSequence_i.cpp: * TAO/tao/DynamicAny/DynStruct_i.cpp: * TAO/tao/DynamicAny/DynValueBox_i.cpp: * TAO/tao/DynamicAny/DynValue_i.cpp: --- TAO/tao/DynamicAny/DynAny_i.cpp | 2 +- TAO/tao/DynamicAny/DynCommon.cpp | 2 +- TAO/tao/DynamicAny/DynSequence_i.cpp | 8 ++++---- TAO/tao/DynamicAny/DynStruct_i.cpp | 14 +++++++------- TAO/tao/DynamicAny/DynValueBox_i.cpp | 4 ++-- TAO/tao/DynamicAny/DynValue_i.cpp | 8 ++++---- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/TAO/tao/DynamicAny/DynAny_i.cpp b/TAO/tao/DynamicAny/DynAny_i.cpp index c6aea22c239c1..697eeb1801e98 100644 --- a/TAO/tao/DynamicAny/DynAny_i.cpp +++ b/TAO/tao/DynamicAny/DynAny_i.cpp @@ -142,7 +142,7 @@ TAO_DynAny_i::set_to_default_value (CORBA::TypeCode_ptr tc) TAO_OutputCDR stream; stream << CORBA::Object::_nil (); TAO_InputCDR in (stream); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW (unk, TAO::Unknown_IDL_Type (tc, in)); this->any_.replace (unk); diff --git a/TAO/tao/DynamicAny/DynCommon.cpp b/TAO/tao/DynamicAny/DynCommon.cpp index 53b894dfb47d8..0f15db4bc5903 100644 --- a/TAO/tao/DynamicAny/DynCommon.cpp +++ b/TAO/tao/DynamicAny/DynCommon.cpp @@ -923,7 +923,7 @@ TAO_DynCommon::get_abstract () CORBA::AbstractBase_var retval; TAO::Any_Impl *any_impl = this->any_.impl (); - if (any_impl == 0) + if (!any_impl) { throw DynamicAny::DynAny::InvalidValue (); } diff --git a/TAO/tao/DynamicAny/DynSequence_i.cpp b/TAO/tao/DynamicAny/DynSequence_i.cpp index 14461552238ab..f6afeb44652f2 100644 --- a/TAO/tao/DynamicAny/DynSequence_i.cpp +++ b/TAO/tao/DynamicAny/DynSequence_i.cpp @@ -369,7 +369,7 @@ TAO_DynSequence_i::get_elements_as_dyn_any () throw ::CORBA::OBJECT_NOT_EXIST (); } - DynamicAny::DynAnySeq *retval = 0; + DynamicAny::DynAnySeq *retval {}; ACE_NEW_THROW_EX (retval, DynamicAny::DynAnySeq (this->component_count_), CORBA::NO_MEMORY ()); @@ -522,7 +522,7 @@ TAO_DynSequence_i::from_any (const CORBA::Any & any) { CORBA::Any field_any; TAO_InputCDR unk_in (cdr); - TAO::Unknown_IDL_Type *field_unk = 0; + TAO::Unknown_IDL_Type *field_unk {}; ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); @@ -614,12 +614,12 @@ TAO_DynSequence_i::to_any () TAO_InputCDR in_cdr (out_cdr); - CORBA::Any_ptr retval = 0; + CORBA::Any_ptr retval {}; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), diff --git a/TAO/tao/DynamicAny/DynStruct_i.cpp b/TAO/tao/DynamicAny/DynStruct_i.cpp index e4658ba67de35..127650d2c8d48 100644 --- a/TAO/tao/DynamicAny/DynStruct_i.cpp +++ b/TAO/tao/DynamicAny/DynStruct_i.cpp @@ -76,7 +76,7 @@ TAO_DynStruct_i::set_from_any (const CORBA::Any & any) TAO::Any_Impl *impl = any.impl (); TAO_OutputCDR out; TAO_InputCDR in (static_cast (0)); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; if (impl->encoded ()) { @@ -439,7 +439,7 @@ TAO_DynStruct_i::from_any (const CORBA::Any & any) TAO::Any_Impl *impl = any.impl (); TAO_OutputCDR out; TAO_InputCDR in (static_cast (0)); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; if (impl->encoded ()) { @@ -477,7 +477,7 @@ TAO_DynStruct_i::from_any (const CORBA::Any & any) CORBA::Any field_any; TAO_InputCDR unk_in (in); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW (unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); @@ -521,8 +521,8 @@ TAO_DynStruct_i::to_any () out_cdr << this->type_->id (); } - TAO::Any_Impl *field_impl = 0; - TAO::Unknown_IDL_Type *field_unk = 0; + TAO::Any_Impl *field_impl {}; + TAO::Unknown_IDL_Type *field_unk {}; TAO_InputCDR field_in_cdr (static_cast (0)); for (CORBA::ULong i = 0; i < this->component_count_; ++i) @@ -561,12 +561,12 @@ TAO_DynStruct_i::to_any () TAO_InputCDR in_cdr (out_cdr); - CORBA::Any_ptr retval = 0; + CORBA::Any_ptr retval {}; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), diff --git a/TAO/tao/DynamicAny/DynValueBox_i.cpp b/TAO/tao/DynamicAny/DynValueBox_i.cpp index 3c03c239f9d53..e11d12fe11cf7 100644 --- a/TAO/tao/DynamicAny/DynValueBox_i.cpp +++ b/TAO/tao/DynamicAny/DynValueBox_i.cpp @@ -384,11 +384,11 @@ TAO_DynValueBox_i::to_any () // Convert the out_cdr into a new any. TAO_InputCDR in_cdr (out_cdr); - TAO::Unknown_IDL_Type * unk = 0; + TAO::Unknown_IDL_Type * unk {}; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), CORBA::NO_MEMORY ()); - CORBA::Any_ptr retval = 0; + CORBA::Any_ptr retval {}; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); retval->replace (unk); return retval; diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index 0f816c2676f05..fde5e8696f4fc 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -566,7 +566,7 @@ TAO_DynValue_i::get_val () // Now read in this stream to create the actual value. TAO_InputCDR for_reading (out_cdr); - CORBA::ValueBase *retval = 0; + CORBA::ValueBase *retval {}; if (!CORBA::ValueBase::_tao_unmarshal ( for_reading, retval )) { @@ -590,12 +590,12 @@ TAO_DynValue_i::to_any () // Convert the out_cdr into a new any. TAO_InputCDR in_cdr (out_cdr); - TAO::Unknown_IDL_Type *unk = 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW_THROW_EX ( unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), CORBA::NO_MEMORY () ); - CORBA::Any_ptr retval = 0; + CORBA::Any_ptr retval {}; ACE_NEW_THROW_EX ( retval, CORBA::Any, @@ -1113,7 +1113,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) { // Need to create an any for this field. TAO_InputCDR unk_in (strm); - TAO::Unknown_IDL_Type *unk= 0; + TAO::Unknown_IDL_Type *unk {}; ACE_NEW_THROW_EX ( unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in), From e770be424ac236cd4ab6c306c7b9b2ce1ef37eac Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 13:35:10 +0200 Subject: [PATCH 337/445] Revert duplicate * TAO/tao/DynamicAny/DynValue_i.cpp: --- TAO/tao/DynamicAny/DynValue_i.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index fde5e8696f4fc..26acdb27c438c 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -106,7 +106,7 @@ TAO_DynValue_i::get_base_types ( // starting with. CORBA::ULong numberOfBases = 1u; base_types.resize (numberOfBases); - base_types[0] = CORBA::TypeCode::_duplicate(TAO_DynAnyFactory::strip_alias (tc)); + base_types[0] = TAO_DynAnyFactory::strip_alias (tc); if (total_member_count) { *total_member_count = base_types[0]->member_count (); From 3bb0b475c4fb74e6c1edb1c9fa49d789f3d95b64 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 13:50:50 +0200 Subject: [PATCH 338/445] Layout changes * TAO/tao/DynamicAny/DynValue_i.cpp: --- TAO/tao/DynamicAny/DynValue_i.cpp | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index 26acdb27c438c..b27746ad4dda6 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -59,9 +59,7 @@ TAO_DynValue_i::init (CORBA::TypeCode_ptr tc) i < this->component_count_; ++i) { - CORBA::TypeCode_var - member_type ( - get_member_type (this->da_base_types_, i)); + CORBA::TypeCode_var member_type (get_member_type (this->da_base_types_, i)); this->da_members_[i] = TAO::MakeDynAnyUtils:: make_dyn_any_t @@ -371,11 +369,7 @@ TAO_DynValue_i::set_members_as_dyn_any ( CORBA::ULong i = 0u; for (; i < length; ++i) { - CORBA::TypeCode_var - my_member ( - get_member_type (this->da_base_types_, i)), - value_member ( - values[i].value->type ()); + CORBA::TypeCode_var my_member (get_member_type (this->da_base_types_, i)), value_member (values[i].value->type ()); if (!my_member->equivalent (value_member.in ())) { throw DynamicAny::DynAny::TypeMismatch (); @@ -670,13 +664,11 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) TAO_OBV_GIOP_Flags::Value_tag_base | TAO_OBV_GIOP_Flags::Type_info_single; - const CORBA::ULong num_ids = - ACE_Utils::truncate_cast (this->da_base_types_.size ()); + CORBA::ULong const num_ids = ACE_Utils::truncate_cast (this->da_base_types_.size ()); CORBA::ULong trunc_ids; for (trunc_ids= 0u; trunc_ids < num_ids - 1u; ++trunc_ids) { - if (CORBA::VM_TRUNCATABLE != - this->da_base_types_[trunc_ids]->type_modifier ()) + if (CORBA::VM_TRUNCATABLE != this->da_base_types_[trunc_ids]->type_modifier ()) { break; // Found the first type that is not truncatable } @@ -694,8 +686,7 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) { for (CORBA::ULong i= trunc_ids - 1u; i < num_ids; ++i) { - if (CORBA::VM_CUSTOM == - this->da_base_types_[i]->type_modifier ()) + if (CORBA::VM_CUSTOM == this->da_base_types_[i]->type_modifier ()) { we_are_chunking = true; break; @@ -1059,9 +1050,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) // Now read in every member's value (reading further chunking // marks for each separate base-type's state we pass). CORBA::Boolean need_first = true; - CORBA::ULong - currentBase = ACE_Utils::truncate_cast (this->da_base_types_.size ()), - currentBaseMember = 0u; + CORBA::ULong currentBase = ACE_Utils::truncate_cast (this->da_base_types_.size ()), currentBaseMember = 0u; for (CORBA::ULong currentMember= 0u; currentMember < num_fields; ++currentMember) @@ -1071,8 +1060,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) { // Move on to the next derived type in the // list of our type hierarchy - while (!this->da_base_types_[--currentBase] - ->member_count ()) + while (!this->da_base_types_[--currentBase]->member_count ()) { // Skipping over all types that have no // state (i.e. no members to write). @@ -1095,9 +1083,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // OK read in the current member - CORBA::TypeCode_var - field_tc (this->da_base_types_[currentBase] - ->member_type (currentBaseMember)); + CORBA::TypeCode_var field_tc (this->da_base_types_[currentBase]->member_type (currentBaseMember)); if (CORBA::tk_value == field_tc->kind ()) { // This is recursive, keep reading from our inputCDR From e58549348e7d342ae5984b9da303efef24742b8a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 14:00:09 +0200 Subject: [PATCH 339/445] Add a variable on the stack for ref counting * TAO/tao/DynamicAny/DynValue_i.cpp: --- TAO/tao/DynamicAny/DynValue_i.cpp | 35 +++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index b27746ad4dda6..1ee4535a31514 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -170,7 +170,7 @@ TAO_DynValue_i::get_correct_base_type ( CORBA::TypeCode_ptr TAO_DynValue_i::get_member_type (const BaseTypesList_t &base_types, CORBA::ULong index) { - const CORBA::TypeCode_ptr base = get_correct_base_type (base_types, index); + CORBA::TypeCode_ptr const base = get_correct_base_type (base_types, index); return base->member_type (index); } @@ -331,8 +331,7 @@ TAO_DynValue_i::get_members_as_dyn_any () i < this->component_count_; ++i) { - safe_retval[i].id = CORBA::string_dup ( - this->get_member_name (this->da_base_types_, i)); + safe_retval[i].id = CORBA::string_dup (this->get_member_name (this->da_base_types_, i)); // A deep copy is made only by copy() // (CORBA 2.4.2 section 9.2.3.6). @@ -668,7 +667,8 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) CORBA::ULong trunc_ids; for (trunc_ids= 0u; trunc_ids < num_ids - 1u; ++trunc_ids) { - if (CORBA::VM_TRUNCATABLE != this->da_base_types_[trunc_ids]->type_modifier ()) + CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate(this->da_base_types_[trunc_ids]); + if (CORBA::VM_TRUNCATABLE != dbt->type_modifier ()) { break; // Found the first type that is not truncatable } @@ -686,7 +686,8 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) { for (CORBA::ULong i= trunc_ids - 1u; i < num_ids; ++i) { - if (CORBA::VM_CUSTOM == this->da_base_types_[i]->type_modifier ()) + CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate(this->da_base_types_[i]); + if (CORBA::VM_CUSTOM == dbt->type_modifier ()) { we_are_chunking = true; break; @@ -735,7 +736,8 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) // Using the dealliased tc for this current type, find // the next non-dealliased base typecode. - next = this->da_base_types_[i]->concrete_base_type (); + CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate (this->da_base_types_[i]); + next = dbt->concrete_base_type (); } // Write out the start chunking markers for the number @@ -757,9 +759,8 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) // Now write out every member's value (add further chunking // marks for each seporate base-type's state). CORBA::Boolean need_first = true; - CORBA::ULong - currentBase= num_ids, // Note NOT just the trunc_ids - currentBaseMember = 0u; + CORBA::ULong currentBase = num_ids; // Note NOT just the trunc_ids + CORBA::ULong currentBaseMember = 0u; for (CORBA::ULong currentMember= 0u; currentMember < this->component_count_; ++currentMember) @@ -768,7 +769,7 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) if (!currentBaseMember) { // Move on to the next derived type in the - // list of our type hyarchy + // list of our type hierarchy while (!this->da_base_types_[--currentBase] ->member_count ()) { @@ -840,8 +841,8 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) } // Are we ending the current base-type? - if (this->da_base_types_[currentBase]->member_count () - <= ++currentBaseMember) + CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate (this->da_base_types_[currentBase]); + if (dbt->member_count () <= ++currentBaseMember) { // Remind us to start again with the next derived type // for the next member to be writen. @@ -988,7 +989,8 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) // Work out if the encoded valuetype inside the any is // required to be truncated into our DynValue. CORBA::Boolean requires_truncation = false; - const char *const our_id = this->da_base_types_[0]->id (); + CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate(this->da_base_types_[0]); + const char *const our_id = dbt->id (); CORBA::ULong i; for (i= 0u; i < num_ids; ++i) { @@ -1083,7 +1085,8 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // OK read in the current member - CORBA::TypeCode_var field_tc (this->da_base_types_[currentBase]->member_type (currentBaseMember)); + CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate (this->da_base_types_[currentBase]); + CORBA::TypeCode_var field_tc (dbt->member_type (currentBaseMember)); if (CORBA::tk_value == field_tc->kind ()) { // This is recursive, keep reading from our inputCDR @@ -1125,8 +1128,8 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Are we ending the current base-type? - if (this->da_base_types_[currentBase]->member_count () - <= ++currentBaseMember) + CORBA::TypeCode_var currentdbt = CORBA::TypeCode::_duplicate(this->da_base_types_[currentBase]); + if (currentdbt->member_count () <= ++currentBaseMember) { // Remind us to start again with the next derived type // for the next member to be written. From 1b273c15634fa725e5f5eb1425f98d832de39956 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 15:25:50 +0200 Subject: [PATCH 340/445] Use nullptr * TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp: * TAO/tao/DynamicAny/DynAnyUtils_T.cpp: * TAO/tao/DynamicAny/DynValue_i.cpp: --- .../AnyTypeCode/Indirected_Type_TypeCode.cpp | 18 +++++++++--------- TAO/tao/DynamicAny/DynAnyUtils_T.cpp | 4 ++-- TAO/tao/DynamicAny/DynValue_i.cpp | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp b/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp index 93a88f1bbc783..e154a1121ca1b 100644 --- a/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp +++ b/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp @@ -63,11 +63,11 @@ void TAO::TypeCode::Indirected_Type::set_recursive_tc (CORBA::TypeCode_ptr tc) { // link only once (should never happen that this is called twice but test anyway) - if (this->recursive_tc_ == 0) + if (this->recursive_tc_ == nullptr) { ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); - if (tc == 0) // should never happen + if (tc == nullptr) // should never happen return; // make sure we are the right kind @@ -105,7 +105,7 @@ TAO::TypeCode::Indirected_Type::equivalent_i ( CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::get_compact_typecode_i () const { - return this->recursive_tc_ ? this->recursive_tc_->get_compact_typecode () : 0; + return this->recursive_tc_ ? this->recursive_tc_->get_compact_typecode () : nullptr; } char const * @@ -117,7 +117,7 @@ TAO::TypeCode::Indirected_Type::id_i () const char const * TAO::TypeCode::Indirected_Type::name_i () const { - return this->recursive_tc_ ? this->recursive_tc_->name () : 0; + return this->recursive_tc_ ? this->recursive_tc_->name () : nullptr; } CORBA::ULong @@ -130,14 +130,14 @@ char const * TAO::TypeCode::Indirected_Type::member_name_i ( CORBA::ULong index) const { - return this->recursive_tc_ ? this->recursive_tc_->member_name (index) : 0; + return this->recursive_tc_ ? this->recursive_tc_->member_name (index) : nullptr; } CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::member_type_i ( CORBA::ULong index) const { - return this->recursive_tc_ ? this->recursive_tc_->member_type (index) : 0; + return this->recursive_tc_ ? this->recursive_tc_->member_type (index) : nullptr; } CORBA::Visibility @@ -155,19 +155,19 @@ TAO::TypeCode::Indirected_Type::type_modifier_i () const CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::concrete_base_type_i () const { - return this->recursive_tc_ ? this->recursive_tc_->concrete_base_type () : 0; + return this->recursive_tc_ ? this->recursive_tc_->concrete_base_type () : nullptr; } CORBA::Any * TAO::TypeCode::Indirected_Type::member_label_i (CORBA::ULong index) const { - return this->recursive_tc_ ? this->recursive_tc_->member_label (index) : 0; + return this->recursive_tc_ ? this->recursive_tc_->member_label (index) : nullptr; } CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::discriminator_type_i () const { - return this->recursive_tc_ ? this->recursive_tc_->discriminator_type () : 0; + return this->recursive_tc_ ? this->recursive_tc_->discriminator_type () : nullptr; } CORBA::Long diff --git a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp index 011425fdc730b..553dc93e5e0df 100644 --- a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp +++ b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp @@ -128,7 +128,7 @@ namespace TAO // Currently only TAO_DynValue_i can throw the original (duplicate // of a previously found TAO_DynValue_i). The new BLANK one created // above on which we called init() will be deleted automatically by - // the ACE_Auto_Basic_Ptr. + // the unique_ptr. return original; } @@ -157,7 +157,7 @@ namespace TAO // Currently only TAO_DynValue_i can throw the original (duplicate // of a previously found TAO_DynValue_i). The new BLANK one created // above on which we called init() will be deleted automatically by - // the ACE_Auto_Basic_Ptr. + // the unique_ptr. return original; } diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index 1ee4535a31514..99dc1dad9ae2d 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -89,7 +89,7 @@ TAO_DynValue_i::init_helper (CORBA::TypeCode_ptr tc) get_base_types (tc, this->da_base_types_, &this->component_count_); this->da_members_.resize (this->component_count_); - // And initalize all of the DynCommon mix-in + // And initialize all of the DynCommon mix-in this->init_common (); } @@ -1091,7 +1091,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) { // This is recursive, keep reading from our inputCDR // this allows for indirection - this->da_members_[currentMember]= + this->da_members_[currentMember] = TAO::CreateDynAnyUtils ::create_dyn_any_t ( field_tc.in (), From d79b50d0cecef47c2508193edc253a2daac19d67 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 15:34:04 +0200 Subject: [PATCH 341/445] Revert change * TAO/tao/DynamicAny/DynValue_i.cpp: --- TAO/tao/DynamicAny/DynValue_i.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index 99dc1dad9ae2d..a9f314f028376 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -667,8 +667,7 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) CORBA::ULong trunc_ids; for (trunc_ids= 0u; trunc_ids < num_ids - 1u; ++trunc_ids) { - CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate(this->da_base_types_[trunc_ids]); - if (CORBA::VM_TRUNCATABLE != dbt->type_modifier ()) + if (CORBA::VM_TRUNCATABLE != this->da_base_types_[trunc_ids]->type_modifier ()) { break; // Found the first type that is not truncatable } @@ -686,8 +685,7 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) { for (CORBA::ULong i= trunc_ids - 1u; i < num_ids; ++i) { - CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate(this->da_base_types_[i]); - if (CORBA::VM_CUSTOM == dbt->type_modifier ()) + if (CORBA::VM_CUSTOM == this->da_base_types_[i]->type_modifier ()) { we_are_chunking = true; break; @@ -736,8 +734,7 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) // Using the dealliased tc for this current type, find // the next non-dealliased base typecode. - CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate (this->da_base_types_[i]); - next = dbt->concrete_base_type (); + next = this->da_base_types_[i]->concrete_base_type (); } // Write out the start chunking markers for the number @@ -841,8 +838,7 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) } // Are we ending the current base-type? - CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate (this->da_base_types_[currentBase]); - if (dbt->member_count () <= ++currentBaseMember) + if (this->da_base_types_[currentBase]->member_count () <= ++currentBaseMember) { // Remind us to start again with the next derived type // for the next member to be writen. @@ -989,8 +985,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) // Work out if the encoded valuetype inside the any is // required to be truncated into our DynValue. CORBA::Boolean requires_truncation = false; - CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate(this->da_base_types_[0]); - const char *const our_id = dbt->id (); + const char *const our_id = this->da_base_types_[0]->id (); CORBA::ULong i; for (i= 0u; i < num_ids; ++i) { @@ -1085,8 +1080,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // OK read in the current member - CORBA::TypeCode_var dbt = CORBA::TypeCode::_duplicate (this->da_base_types_[currentBase]); - CORBA::TypeCode_var field_tc (dbt->member_type (currentBaseMember)); + CORBA::TypeCode_var field_tc (this->da_base_types_[currentBase]->member_type (currentBaseMember)); if (CORBA::tk_value == field_tc->kind ()) { // This is recursive, keep reading from our inputCDR @@ -1128,8 +1122,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Are we ending the current base-type? - CORBA::TypeCode_var currentdbt = CORBA::TypeCode::_duplicate(this->da_base_types_[currentBase]); - if (currentdbt->member_count () <= ++currentBaseMember) + if (this->da_base_types_[currentBase]->member_count () <= ++currentBaseMember) { // Remind us to start again with the next derived type // for the next member to be written. From d7df2721d918efb988c407da06c333a65a948623 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 15:44:02 +0200 Subject: [PATCH 342/445] Fixed typo * TAO/tao/PI/Interceptor_List_T.h: * TAO/tests/DynValue_Test/Analyzer.cpp: --- TAO/tao/PI/Interceptor_List_T.h | 2 +- TAO/tests/DynValue_Test/Analyzer.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TAO/tao/PI/Interceptor_List_T.h b/TAO/tao/PI/Interceptor_List_T.h index 049027473eca5..04bfe57a41745 100644 --- a/TAO/tao/PI/Interceptor_List_T.h +++ b/TAO/tao/PI/Interceptor_List_T.h @@ -79,7 +79,7 @@ namespace TAO size_t size () const; private: - typedef ACE_Array_Base RegisteredArray; + typedef ACE_Array_Base RegisteredArray; /// Dynamic array of registered interceptors. RegisteredArray interceptors_; diff --git a/TAO/tests/DynValue_Test/Analyzer.cpp b/TAO/tests/DynValue_Test/Analyzer.cpp index e1f60920c1437..4dfc6972b5f3b 100644 --- a/TAO/tests/DynValue_Test/Analyzer.cpp +++ b/TAO/tests/DynValue_Test/Analyzer.cpp @@ -256,13 +256,13 @@ DynAnyAnalyzer::analyze ( base = get_correct_base_type ( base_types, sub_member_number); - const char *const visability = + const char *const visibility = ((CORBA::PRIVATE_MEMBER == base->member_visibility (sub_member_number)) ? "Private" : "Public "); tab ("["); ACE_DEBUG ((LM_DEBUG, "%03u] %C \"%C\": ", - ++member_number, visability, fn.in () )); + ++member_number, visibility, fn.in () )); if (CORBA::is_nil (cc.in ())) { ACE_DEBUG ((LM_DEBUG, " {Null}\n")); From 4cb33f4722a105961c3eda2c8cf109c4a280f08f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 15:51:48 +0200 Subject: [PATCH 343/445] Merge --- TAO/tao/PI/Interceptor_List_T.cpp | 6 +++--- TAO/tao/PI/Interceptor_List_T.h | 6 +++--- TAO/tao/PI/PICurrent_Impl.h | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/TAO/tao/PI/Interceptor_List_T.cpp b/TAO/tao/PI/Interceptor_List_T.cpp index 929797f21c146..1e9a5f0be9f08 100644 --- a/TAO/tao/PI/Interceptor_List_T.cpp +++ b/TAO/tao/PI/Interceptor_List_T.cpp @@ -87,7 +87,7 @@ namespace TAO /// Increase the length of the Interceptor sequence by one. size_t const new_len = old_len + 1; - this->interceptors_.size (new_len); + this->interceptors_.resize (new_len); // Add the interceptor this->interceptors_[old_len].interceptor_ = @@ -162,7 +162,7 @@ namespace TAO /// Increase the length of the Interceptor sequence by one. size_t const new_len = old_len + 1; - this->interceptors_.size (new_len); + this->interceptors_.resize (new_len); // Add the interceptor this->interceptors_[old_len].interceptor_ = @@ -207,7 +207,7 @@ namespace TAO // since some interceptors may not have been destroyed yet. // Note that this size reduction is fast since no memory is // actually deallocated. - this->interceptors_.size (ilen); + this->interceptors_.resize (ilen); } } catch (...) diff --git a/TAO/tao/PI/Interceptor_List_T.h b/TAO/tao/PI/Interceptor_List_T.h index 049027473eca5..526e1c43187e8 100644 --- a/TAO/tao/PI/Interceptor_List_T.h +++ b/TAO/tao/PI/Interceptor_List_T.h @@ -14,13 +14,13 @@ #include /**/ "ace/pre.h" -#include "ace/Array_Base.h" +#include "tao/orbconf.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/orbconf.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -79,7 +79,7 @@ namespace TAO size_t size () const; private: - typedef ACE_Array_Base RegisteredArray; + using RegisteredArray = std::vector; /// Dynamic array of registered interceptors. RegisteredArray interceptors_; diff --git a/TAO/tao/PI/PICurrent_Impl.h b/TAO/tao/PI/PICurrent_Impl.h index cad2844f78d67..ed7a6cd768c83 100644 --- a/TAO/tao/PI/PICurrent_Impl.h +++ b/TAO/tao/PI/PICurrent_Impl.h @@ -83,8 +83,8 @@ namespace TAO /// been changed.) void set_callback_for_impending_change (PICurrent_Impl *p); - /// Typedef for the underyling "slot table." - typedef ACE_Array_Base Table; + /// Type for the underyling "slot table." + using Table = ACE_Array_Base ; /// Return a reference to the slot table currently associated /// with this PICurrent_Impl object. From deef2c3a1a0ee49bd501f71161cda1ea95149daa Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 15:55:09 +0200 Subject: [PATCH 344/445] Whitespace * TAO/tao/PI/PICurrent_Impl.h: --- TAO/tao/PI/PICurrent_Impl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/PI/PICurrent_Impl.h b/TAO/tao/PI/PICurrent_Impl.h index ed7a6cd768c83..9055930e6cfa8 100644 --- a/TAO/tao/PI/PICurrent_Impl.h +++ b/TAO/tao/PI/PICurrent_Impl.h @@ -84,7 +84,7 @@ namespace TAO void set_callback_for_impending_change (PICurrent_Impl *p); /// Type for the underyling "slot table." - using Table = ACE_Array_Base ; + using Table = ACE_Array_Base; /// Return a reference to the slot table currently associated /// with this PICurrent_Impl object. From 7f32588294603e1a7ee996db8a35f9a733bc397b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 16:02:05 +0200 Subject: [PATCH 345/445] Fixed Coday issues * TAO/tao/DynamicAny/DynEnum_i.cpp: * TAO/tao/DynamicAny/DynStruct_i.cpp: --- TAO/tao/DynamicAny/DynEnum_i.cpp | 7 ++----- TAO/tao/DynamicAny/DynStruct_i.cpp | 7 +++---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/TAO/tao/DynamicAny/DynEnum_i.cpp b/TAO/tao/DynamicAny/DynEnum_i.cpp index 771bf1d8f7fab..91bbf14983a34 100644 --- a/TAO/tao/DynamicAny/DynEnum_i.cpp +++ b/TAO/tao/DynamicAny/DynEnum_i.cpp @@ -122,15 +122,12 @@ void TAO_DynEnum_i::set_as_string (const char *value_as_string) { CORBA::TypeCode_var ct = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - - CORBA::ULong count = ct.in ()->member_count (); - + CORBA::ULong const count = ct.in ()->member_count (); CORBA::ULong i {}; - const char *temp {}; for (i = 0; i < count; ++i) { - temp = ct.in ()->member_name (i); + const char *temp = ct.in ()->member_name (i); if (!ACE_OS::strcmp (value_as_string, temp)) { diff --git a/TAO/tao/DynamicAny/DynStruct_i.cpp b/TAO/tao/DynamicAny/DynStruct_i.cpp index 127650d2c8d48..7a65de983dbdc 100644 --- a/TAO/tao/DynamicAny/DynStruct_i.cpp +++ b/TAO/tao/DynamicAny/DynStruct_i.cpp @@ -521,7 +521,7 @@ TAO_DynStruct_i::to_any () out_cdr << this->type_->id (); } - TAO::Any_Impl *field_impl {}; + TAO::Unknown_IDL_Type *field_unk {}; TAO_InputCDR field_in_cdr (static_cast (0)); @@ -535,12 +535,11 @@ TAO_DynStruct_i::to_any () this->da_members_[i]->to_any (); TAO_OutputCDR field_out_cdr; - field_impl = field_any->impl (); + TAO::Any_Impl *field_impl = field_any->impl (); if (field_impl->encoded ()) { - field_unk = - dynamic_cast (field_impl); + field_unk = dynamic_cast (field_impl); if (!field_unk) throw CORBA::INTERNAL (); From 18dc6f8343993278327105a349958578b8cb48a5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 21 May 2024 17:32:04 +0200 Subject: [PATCH 346/445] Add missing include * TAO/tao/DynamicAny/DynValue_i.h: --- TAO/tao/DynamicAny/DynValue_i.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TAO/tao/DynamicAny/DynValue_i.h b/TAO/tao/DynamicAny/DynValue_i.h index 6f19c154fe8d9..24624e8e5538f 100644 --- a/TAO/tao/DynamicAny/DynValue_i.h +++ b/TAO/tao/DynamicAny/DynValue_i.h @@ -17,6 +17,8 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include + #if defined (_MSC_VER) # pragma warning(push) # pragma warning (disable:4250) From 8438079c911eb442897920d2a03e79c660140ac5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 22 May 2024 15:06:14 +0200 Subject: [PATCH 347/445] Revert "Use std::vector in Interceptor List" --- TAO/tao/PI/Interceptor_List_T.cpp | 6 +++--- TAO/tao/PI/Interceptor_List_T.h | 6 +++--- TAO/tao/PI/PICurrent_Impl.h | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/TAO/tao/PI/Interceptor_List_T.cpp b/TAO/tao/PI/Interceptor_List_T.cpp index 1e9a5f0be9f08..929797f21c146 100644 --- a/TAO/tao/PI/Interceptor_List_T.cpp +++ b/TAO/tao/PI/Interceptor_List_T.cpp @@ -87,7 +87,7 @@ namespace TAO /// Increase the length of the Interceptor sequence by one. size_t const new_len = old_len + 1; - this->interceptors_.resize (new_len); + this->interceptors_.size (new_len); // Add the interceptor this->interceptors_[old_len].interceptor_ = @@ -162,7 +162,7 @@ namespace TAO /// Increase the length of the Interceptor sequence by one. size_t const new_len = old_len + 1; - this->interceptors_.resize (new_len); + this->interceptors_.size (new_len); // Add the interceptor this->interceptors_[old_len].interceptor_ = @@ -207,7 +207,7 @@ namespace TAO // since some interceptors may not have been destroyed yet. // Note that this size reduction is fast since no memory is // actually deallocated. - this->interceptors_.resize (ilen); + this->interceptors_.size (ilen); } } catch (...) diff --git a/TAO/tao/PI/Interceptor_List_T.h b/TAO/tao/PI/Interceptor_List_T.h index 526e1c43187e8..049027473eca5 100644 --- a/TAO/tao/PI/Interceptor_List_T.h +++ b/TAO/tao/PI/Interceptor_List_T.h @@ -14,13 +14,13 @@ #include /**/ "ace/pre.h" -#include "tao/orbconf.h" +#include "ace/Array_Base.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include +#include "tao/orbconf.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -79,7 +79,7 @@ namespace TAO size_t size () const; private: - using RegisteredArray = std::vector; + typedef ACE_Array_Base RegisteredArray; /// Dynamic array of registered interceptors. RegisteredArray interceptors_; diff --git a/TAO/tao/PI/PICurrent_Impl.h b/TAO/tao/PI/PICurrent_Impl.h index 9055930e6cfa8..cad2844f78d67 100644 --- a/TAO/tao/PI/PICurrent_Impl.h +++ b/TAO/tao/PI/PICurrent_Impl.h @@ -83,8 +83,8 @@ namespace TAO /// been changed.) void set_callback_for_impending_change (PICurrent_Impl *p); - /// Type for the underyling "slot table." - using Table = ACE_Array_Base; + /// Typedef for the underyling "slot table." + typedef ACE_Array_Base Table; /// Return a reference to the slot table currently associated /// with this PICurrent_Impl object. From 8b34c8e3ffdcf8f5e411064e0d5bf1da52b169fd Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 22 May 2024 15:06:42 +0200 Subject: [PATCH 348/445] Revert "Minor modernization of DynamicAny code" --- .../AnyTypeCode/Indirected_Type_TypeCode.cpp | 18 +- TAO/tao/DynamicAny/DynAnyUtils_T.cpp | 8 +- TAO/tao/DynamicAny/DynAny_i.cpp | 264 ++++++------------ TAO/tao/DynamicAny/DynAny_i.h | 6 +- TAO/tao/DynamicAny/DynArray_i.cpp | 20 +- TAO/tao/DynamicAny/DynArray_i.h | 10 +- TAO/tao/DynamicAny/DynCommon.cpp | 51 ++-- TAO/tao/DynamicAny/DynEnum_i.cpp | 26 +- TAO/tao/DynamicAny/DynEnum_i.h | 8 +- TAO/tao/DynamicAny/DynSequence_i.cpp | 53 ++-- TAO/tao/DynamicAny/DynSequence_i.h | 10 +- TAO/tao/DynamicAny/DynStruct_i.cpp | 31 +- TAO/tao/DynamicAny/DynStruct_i.h | 10 +- TAO/tao/DynamicAny/DynUnion_i.cpp | 212 +++++--------- TAO/tao/DynamicAny/DynUnion_i.h | 6 +- TAO/tao/DynamicAny/DynValueBox_i.cpp | 8 +- TAO/tao/DynamicAny/DynValueBox_i.h | 6 +- TAO/tao/DynamicAny/DynValueCommon_i.h | 6 +- TAO/tao/DynamicAny/DynValue_i.cpp | 205 +++++++++----- TAO/tao/DynamicAny/DynValue_i.h | 31 +- TAO/tests/DynValue_Test/Analyzer.cpp | 7 +- 21 files changed, 436 insertions(+), 560 deletions(-) diff --git a/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp b/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp index e154a1121ca1b..93a88f1bbc783 100644 --- a/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp +++ b/TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp @@ -63,11 +63,11 @@ void TAO::TypeCode::Indirected_Type::set_recursive_tc (CORBA::TypeCode_ptr tc) { // link only once (should never happen that this is called twice but test anyway) - if (this->recursive_tc_ == nullptr) + if (this->recursive_tc_ == 0) { ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); - if (tc == nullptr) // should never happen + if (tc == 0) // should never happen return; // make sure we are the right kind @@ -105,7 +105,7 @@ TAO::TypeCode::Indirected_Type::equivalent_i ( CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::get_compact_typecode_i () const { - return this->recursive_tc_ ? this->recursive_tc_->get_compact_typecode () : nullptr; + return this->recursive_tc_ ? this->recursive_tc_->get_compact_typecode () : 0; } char const * @@ -117,7 +117,7 @@ TAO::TypeCode::Indirected_Type::id_i () const char const * TAO::TypeCode::Indirected_Type::name_i () const { - return this->recursive_tc_ ? this->recursive_tc_->name () : nullptr; + return this->recursive_tc_ ? this->recursive_tc_->name () : 0; } CORBA::ULong @@ -130,14 +130,14 @@ char const * TAO::TypeCode::Indirected_Type::member_name_i ( CORBA::ULong index) const { - return this->recursive_tc_ ? this->recursive_tc_->member_name (index) : nullptr; + return this->recursive_tc_ ? this->recursive_tc_->member_name (index) : 0; } CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::member_type_i ( CORBA::ULong index) const { - return this->recursive_tc_ ? this->recursive_tc_->member_type (index) : nullptr; + return this->recursive_tc_ ? this->recursive_tc_->member_type (index) : 0; } CORBA::Visibility @@ -155,19 +155,19 @@ TAO::TypeCode::Indirected_Type::type_modifier_i () const CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::concrete_base_type_i () const { - return this->recursive_tc_ ? this->recursive_tc_->concrete_base_type () : nullptr; + return this->recursive_tc_ ? this->recursive_tc_->concrete_base_type () : 0; } CORBA::Any * TAO::TypeCode::Indirected_Type::member_label_i (CORBA::ULong index) const { - return this->recursive_tc_ ? this->recursive_tc_->member_label (index) : nullptr; + return this->recursive_tc_ ? this->recursive_tc_->member_label (index) : 0; } CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::discriminator_type_i () const { - return this->recursive_tc_ ? this->recursive_tc_->discriminator_type () : nullptr; + return this->recursive_tc_ ? this->recursive_tc_->discriminator_type () : 0; } CORBA::Long diff --git a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp index 553dc93e5e0df..5c22e0f962e32 100644 --- a/TAO/tao/DynamicAny/DynAnyUtils_T.cpp +++ b/TAO/tao/DynamicAny/DynAnyUtils_T.cpp @@ -113,7 +113,7 @@ namespace TAO ANY_TC any_tc, CORBA::Boolean allow_truncation) { - DA_IMPL *p {}; + DA_IMPL *p = 0; ACE_NEW_THROW_EX (p, DA_IMPL (allow_truncation), CORBA::NO_MEMORY ()); @@ -128,7 +128,7 @@ namespace TAO // Currently only TAO_DynValue_i can throw the original (duplicate // of a previously found TAO_DynValue_i). The new BLANK one created // above on which we called init() will be deleted automatically by - // the unique_ptr. + // the ACE_Auto_Basic_Ptr. return original; } @@ -142,7 +142,7 @@ namespace TAO ANY_TC any_tc, CORBA::Boolean allow_truncation) { - DA_IMPL *p {}; + DA_IMPL *p = 0; ACE_NEW_THROW_EX (p, DA_IMPL (allow_truncation), CORBA::NO_MEMORY ()); @@ -157,7 +157,7 @@ namespace TAO // Currently only TAO_DynValue_i can throw the original (duplicate // of a previously found TAO_DynValue_i). The new BLANK one created // above on which we called init() will be deleted automatically by - // the unique_ptr. + // the ACE_Auto_Basic_Ptr. return original; } diff --git a/TAO/tao/DynamicAny/DynAny_i.cpp b/TAO/tao/DynamicAny/DynAny_i.cpp index 697eeb1801e98..270b617167b2f 100644 --- a/TAO/tao/DynamicAny/DynAny_i.cpp +++ b/TAO/tao/DynamicAny/DynAny_i.cpp @@ -142,7 +142,7 @@ TAO_DynAny_i::set_to_default_value (CORBA::TypeCode_ptr tc) TAO_OutputCDR stream; stream << CORBA::Object::_nil (); TAO_InputCDR in (stream); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW (unk, TAO::Unknown_IDL_Type (tc, in)); this->any_.replace (unk); @@ -262,7 +262,7 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) TAO_DynAny_i *rhs_n = TAO_DynAny_i::_narrow (rhs); - if (rhs_n == nullptr) + if (rhs_n == 0) { return false; } @@ -281,198 +281,115 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) return true; case CORBA::tk_short: { - CORBA::Short rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::Short lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::Short rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::Short lhs_v; + this->any_ >>= lhs_v; return (lhs_v == rhs_v); } case CORBA::tk_long: { - CORBA::Long rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::Long lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::Long rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::Long lhs_v; + this->any_ >>= lhs_v; return (lhs_v == rhs_v); } case CORBA::tk_ushort: { - CORBA::UShort rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::UShort lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::UShort rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::UShort lhs_v; + this->any_ >>= lhs_v; return (lhs_v == rhs_v); } case CORBA::tk_ulong: { - CORBA::ULong rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::ULong lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::ULong rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::ULong lhs_v; + this->any_ >>= lhs_v; return (lhs_v == rhs_v); } case CORBA::tk_float: { - CORBA::Float rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::Float lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::Float rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::Float lhs_v; + this->any_ >>= lhs_v; return ACE::is_equal (lhs_v, rhs_v); } case CORBA::tk_double: { - CORBA::Double rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::Double lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::Double rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::Double lhs_v; + this->any_ >>= lhs_v; return ACE::is_equal (lhs_v, rhs_v); } case CORBA::tk_longdouble: { - CORBA::LongDouble rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::LongDouble lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::LongDouble rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::LongDouble lhs_v; + this->any_ >>= lhs_v; return ACE::is_equal (lhs_v, rhs_v); } case CORBA::tk_longlong: { - CORBA::LongLong rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::LongLong lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::LongLong rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::LongLong lhs_v; + this->any_ >>= lhs_v; return (lhs_v == rhs_v); } case CORBA::tk_ulonglong: { - CORBA::ULongLong rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::ULongLong lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::ULongLong rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::ULongLong lhs_v; + this->any_ >>= lhs_v; return (lhs_v == rhs_v); } case CORBA::tk_boolean: { - CORBA::Boolean rhs_v {}; - if (!(rhs_n->any_ >>= CORBA::Any::to_boolean (rhs_v))) - { - throw CORBA::INTERNAL (); - } - CORBA::Boolean lhs_v {}; - if (!(this->any_ >>= CORBA::Any::to_boolean (lhs_v))) - { - throw CORBA::INTERNAL (); - } + CORBA::Boolean rhs_v; + rhs_n->any_ >>= CORBA::Any::to_boolean (rhs_v); + CORBA::Boolean lhs_v; + this->any_ >>= CORBA::Any::to_boolean (lhs_v); return (lhs_v == rhs_v); } case CORBA::tk_char: { - CORBA::Char rhs_v {}; - if (!(rhs_n->any_ >>= CORBA::Any::to_char (rhs_v))) - { - throw CORBA::INTERNAL (); - } - CORBA::Char lhs_v {}; - if (!(this->any_ >>= CORBA::Any::to_char (lhs_v))) - { - throw CORBA::INTERNAL (); - } + CORBA::Char rhs_v; + rhs_n->any_ >>= CORBA::Any::to_char (rhs_v); + CORBA::Char lhs_v; + this->any_ >>= CORBA::Any::to_char (lhs_v); return (lhs_v == rhs_v); } case CORBA::tk_wchar: { - CORBA::WChar rhs_v {}; - if (!(rhs_n->any_ >>= CORBA::Any::to_wchar (rhs_v))) - { - throw CORBA::INTERNAL (); - } - CORBA::WChar lhs_v {}; - if (!(this->any_ >>= CORBA::Any::to_wchar (lhs_v))) - { - throw CORBA::INTERNAL (); - } + CORBA::WChar rhs_v; + rhs_n->any_ >>= CORBA::Any::to_wchar (rhs_v); + CORBA::WChar lhs_v; + this->any_ >>= CORBA::Any::to_wchar (lhs_v); return (lhs_v == rhs_v); } case CORBA::tk_octet: { - CORBA::Octet rhs_v {}; - if (!(rhs_n->any_ >>= CORBA::Any::to_octet (rhs_v))) - { - throw CORBA::INTERNAL (); - } - CORBA::Octet lhs_v {}; - if (!(this->any_ >>= CORBA::Any::to_octet (lhs_v))) - { - throw CORBA::INTERNAL (); - } + CORBA::Octet rhs_v; + rhs_n->any_ >>= CORBA::Any::to_octet (rhs_v); + CORBA::Octet lhs_v; + this->any_ >>= CORBA::Any::to_octet (lhs_v); return (lhs_v == rhs_v); } case CORBA::tk_any: { - const CORBA::Any *rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - const CORBA::Any *lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + const CORBA::Any *rhs_v; + rhs_n->any_ >>= rhs_v; + const CORBA::Any *lhs_v; + this->any_ >>= lhs_v; + DynamicAny::DynAny_var rhs_dyn = TAO::MakeDynAnyUtils::make_dyn_any_t ( rhs_v->_tao_get_typecode (), @@ -495,39 +412,31 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) } case CORBA::tk_TypeCode: { - CORBA::TypeCode_ptr rhs_v {}; - if (!(rhs_n->any_ >>= rhs_v)) - { - throw CORBA::INTERNAL (); - } - CORBA::TypeCode_ptr lhs_v {}; - if (!(this->any_ >>= lhs_v)) - { - throw CORBA::INTERNAL (); - } + CORBA::TypeCode_ptr rhs_v; + rhs_n->any_ >>= rhs_v; + CORBA::TypeCode_ptr lhs_v; + this->any_ >>= lhs_v; // See CORBA 2.4.2 - must use equal() here. return lhs_v->equal (lhs_v); } case CORBA::tk_objref: { - CORBA::Object_ptr rhs_v {}; - if (!(rhs_n->any_ >>= CORBA::Any::to_object (rhs_v))) - { - throw CORBA::INTERNAL (); - } - CORBA::Object_ptr lhs_v {}; - if (!(this->any_ >>= CORBA::Any::to_object (lhs_v))) - { - throw CORBA::INTERNAL (); - } + CORBA::Object_ptr rhs_v; + rhs_n->any_ >>= CORBA::Any::to_object (rhs_v); + CORBA::Object_ptr lhs_v; + this->any_ >>= CORBA::Any::to_object (lhs_v); return lhs_v->_is_equivalent (lhs_v); } case CORBA::tk_string: { - CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - CORBA::ULong const bound = unaliased_tc->length (); - const char *rhs_v {}, *lhs_v {}; - CORBA::Boolean rstatus {}, lstatus {}; + CORBA::TypeCode_var unaliased_tc = + TAO_DynAnyFactory::strip_alias (this->type_.in ()); + + CORBA::ULong bound = + unaliased_tc->length (); + + const char *rhs_v, *lhs_v; + CORBA::Boolean rstatus, lstatus; if (bound == 0) { @@ -536,7 +445,7 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) if ((rstatus && lstatus) == 0) { - return false; + return 0; } } else @@ -546,7 +455,7 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) if ((rstatus && lstatus) == 0) { - return false; + return 0; } } @@ -554,11 +463,14 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) } case CORBA::tk_wstring: { - CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - CORBA::ULong const bound = unaliased_tc->length (); + CORBA::TypeCode_var unaliased_tc = + TAO_DynAnyFactory::strip_alias (this->type_.in ()); + + CORBA::ULong bound = + unaliased_tc->length (); - const CORBA::WChar *rhs_v {}, *lhs_v {}; - CORBA::Boolean rstatus {}, lstatus {}; + const CORBA::WChar *rhs_v, *lhs_v; + CORBA::Boolean rstatus, lstatus; if (bound == 0) { @@ -572,8 +484,10 @@ TAO_DynAny_i::equal (DynamicAny::DynAny_ptr rhs) } else { - rstatus = rhs_n->any_ >>= CORBA::Any::to_wstring (rhs_v, bound); - lstatus = this->any_ >>= CORBA::Any::to_wstring (lhs_v, bound); + rstatus = rhs_n->any_ >>= CORBA::Any::to_wstring (rhs_v, + bound); + lstatus = this->any_ >>= CORBA::Any::to_wstring (lhs_v, + bound); if ((rstatus && lstatus) == 0) { @@ -889,7 +803,7 @@ TAO_DynAny_i::destroy () if (!this->ref_to_component_ || this->container_is_destroying_) { - this->destroyed_ = true; + this->destroyed_ = 1; } } diff --git a/TAO/tao/DynamicAny/DynAny_i.h b/TAO/tao/DynamicAny/DynAny_i.h index 48177123bdd1a..5530cf49d8e3f 100644 --- a/TAO/tao/DynamicAny/DynAny_i.h +++ b/TAO/tao/DynamicAny/DynAny_i.h @@ -77,10 +77,8 @@ class TAO_DynamicAny_Export TAO_DynAny_i void init_common (); // Use copy() or assign() instead of these. - TAO_DynAny_i (const TAO_DynAny_i &) = delete; - TAO_DynAny_i &operator= (const TAO_DynAny_i &) = delete; - TAO_DynAny_i& operator= (TAO_DynAny_i&&) = delete; - TAO_DynAny_i (TAO_DynAny_i&&) = delete; + TAO_DynAny_i (const TAO_DynAny_i &src); + TAO_DynAny_i &operator= (const TAO_DynAny_i &src); }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynArray_i.cpp b/TAO/tao/DynamicAny/DynArray_i.cpp index 732aff39409c9..574102cc3b2c1 100644 --- a/TAO/tao/DynamicAny/DynArray_i.cpp +++ b/TAO/tao/DynamicAny/DynArray_i.cpp @@ -45,9 +45,9 @@ TAO_DynArray_i::init (const CORBA::Any & any) this->type_ = tc; - CORBA::ULong const numfields = this->get_tc_length (tc.in ()); + CORBA::ULong numfields = this->get_tc_length (tc.in ()); // Resize the array. - this->da_members_.resize (numfields); + this->da_members_.size (numfields); this->init_common (); @@ -79,7 +79,7 @@ TAO_DynArray_i::init (const CORBA::Any & any) for (CORBA::ULong i = 0; i < numfields; ++i) { CORBA::Any field_any; - TAO::Unknown_IDL_Type *field_unk {}; + TAO::Unknown_IDL_Type *field_unk = 0; TAO_InputCDR unk_in (cdr); ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); @@ -110,10 +110,10 @@ TAO_DynArray_i::init (CORBA::TypeCode_ptr tc) this->type_ = CORBA::TypeCode::_duplicate (tc); - CORBA::ULong const numfields = this->get_tc_length (tc); + CORBA::ULong numfields = this->get_tc_length (tc); // Resize the array. - this->da_members_.resize (numfields); + this->da_members_.size (numfields); this->init_common (); @@ -191,7 +191,7 @@ TAO_DynArray_i::get_elements () CORBA::ULong length = static_cast (this->da_members_.size ()); - DynamicAny::AnySeq *elements {}; + DynamicAny::AnySeq *elements = 0; ACE_NEW_THROW_EX (elements, DynamicAny::AnySeq (length), CORBA::NO_MEMORY ()); @@ -262,7 +262,7 @@ TAO_DynArray_i::get_elements_as_dyn_any () throw ::CORBA::OBJECT_NOT_EXIST (); } - DynamicAny::DynAnySeq *retval {}; + DynamicAny::DynAnySeq *retval = 0; ACE_NEW_THROW_EX (retval, DynamicAny::DynAnySeq (this->component_count_), CORBA::NO_MEMORY ()); @@ -375,7 +375,7 @@ TAO_DynArray_i::from_any (const CORBA::Any& any) { CORBA::Any field_any; TAO_InputCDR unk_in (cdr); - TAO::Unknown_IDL_Type *field_unk {}; + TAO::Unknown_IDL_Type *field_unk = 0; ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); field_any.replace (field_unk); @@ -452,7 +452,7 @@ TAO_DynArray_i::to_any () CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), @@ -518,7 +518,7 @@ TAO_DynArray_i::destroy () this->da_members_[i]->destroy (); } - this->destroyed_ = true; + this->destroyed_ = 1; } } diff --git a/TAO/tao/DynamicAny/DynArray_i.h b/TAO/tao/DynamicAny/DynArray_i.h index e0ec1f8ad195c..01cb6eb844745 100644 --- a/TAO/tao/DynamicAny/DynArray_i.h +++ b/TAO/tao/DynamicAny/DynArray_i.h @@ -21,7 +21,7 @@ #include "tao/DynamicAny/DynCommon.h" #include "tao/LocalObject.h" -#include +#include "ace/Containers.h" #if defined (_MSC_VER) # pragma warning(push) @@ -89,14 +89,12 @@ class TAO_DynamicAny_Export TAO_DynArray_i void init_common (); // Use copy() or assign() instead of these. - TAO_DynArray_i (const TAO_DynArray_i &) = delete; - TAO_DynArray_i &operator= (const TAO_DynArray_i &) = delete; - TAO_DynArray_i& operator= (TAO_DynArray_i&&) = delete; - TAO_DynArray_i (TAO_DynArray_i&&) = delete; + TAO_DynArray_i (const TAO_DynArray_i &src); + TAO_DynArray_i &operator= (const TAO_DynArray_i &src); private: /// Each component is also a DynAny. - std::vector da_members_; + ACE_Array_Base da_members_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynCommon.cpp b/TAO/tao/DynamicAny/DynCommon.cpp index 0f15db4bc5903..a9b0606205a3c 100644 --- a/TAO/tao/DynamicAny/DynCommon.cpp +++ b/TAO/tao/DynamicAny/DynCommon.cpp @@ -200,7 +200,8 @@ TAO_DynCommon::insert_reference (CORBA::Object_ptr value) if (ACE_OS::strcmp (value_id, "IDL:omg.org/CORBA/Object:1.0") != 0) { - const char *my_id = this->type_->id (); + const char *my_id = + this->type_->id (); if (ACE_OS::strcmp (value_id, my_id) != 0) { @@ -229,7 +230,7 @@ TAO_DynCommon::insert_reference (CORBA::Object_ptr value) } TAO_InputCDR in (cdr); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW (unk, TAO::Unknown_IDL_Type (this->type_.in (), in)); @@ -385,7 +386,7 @@ TAO_DynCommon::insert_val (CORBA::ValueBase *value) } TAO_InputCDR in (out); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW (unk, TAO::Unknown_IDL_Type (this->type_.in (), in)); this->any_.replace (unk); @@ -476,12 +477,14 @@ TAO_DynCommon::get_string () throw DynamicAny::DynAny::TypeMismatch (); } - char *retval {}; - CORBA::ULong const bound = unaliased_tc->length (); + char *retval = 0; + + CORBA::ULong const bound = + unaliased_tc->length (); // We will have caught a type mismatch above, so if this fails, // it must be for some other reason. - if (!(this->any_ >>= CORBA::Any::to_string (retval, bound))) + if ((this->any_ >>= CORBA::Any::to_string (retval, bound)) == 0) { throw DynamicAny::DynAny::InvalidValue (); } @@ -509,7 +512,7 @@ TAO_DynCommon::get_reference () { CORBA::Object_var retval; - if (!(this->any_ >>= CORBA::Any::to_object (retval.inout ()))) + if ((this->any_ >>= CORBA::Any::to_object (retval.inout ())) == 0) { throw DynamicAny::DynAny::TypeMismatch (); } @@ -536,7 +539,7 @@ TAO_DynCommon::get_typecode () { CORBA::TypeCode_ptr retval; - if (!(this->any_ >>= retval)) + if ((this->any_ >>= retval) == 0) { throw DynamicAny::DynAny::TypeMismatch (); } @@ -581,7 +584,7 @@ TAO_DynCommon::get_wchar () { CORBA::WChar retval; - if (!(this->any_ >>= CORBA::Any::to_wchar (retval))) + if ((this->any_ >>= CORBA::Any::to_wchar (retval)) == 0) { throw DynamicAny::DynAny::TypeMismatch (); } @@ -613,13 +616,12 @@ TAO_DynCommon::get_wstring () CORBA::TypeCode_var unaliased_tc = this->check_type_and_unalias (CORBA::_tc_wstring); - CORBA::WChar *retval = {}; - CORBA::ULong const bound = unaliased_tc->length (); + CORBA::WChar *retval = 0; - if (!(this->any_ >>= CORBA::Any::to_wstring (retval, bound))) - { - throw CORBA::INTERNAL (); - } + CORBA::ULong bound = + unaliased_tc->length (); + + (void) (this->any_ >>= CORBA::Any::to_wstring (retval, bound)); return CORBA::wstring_dup (retval); } @@ -642,17 +644,17 @@ TAO_DynCommon::get_any () } else { - const CORBA::Any *tmp {}; + const CORBA::Any *tmp = 0; - if (!(this->any_ >>= tmp)) + if ((this->any_ >>= tmp) == 0) { throw DynamicAny::DynAny::TypeMismatch (); } - CORBA::Any *retval {}; + CORBA::Any *retval = 0; ACE_NEW_RETURN (retval, CORBA::Any (*tmp), - nullptr); + 0); return retval; } } @@ -704,7 +706,7 @@ TAO_DynCommon::get_val () CORBA::ValueBase_var retval; TAO::Any_Impl *any_impl = this->any_.impl (); - if (!any_impl) + if (any_impl == 0) { throw DynamicAny::DynAny::InvalidValue (); } @@ -776,7 +778,7 @@ TAO_DynCommon::next () throw ::CORBA::OBJECT_NOT_EXIST (); } - CORBA::Long const component_count = static_cast (this->component_count_); + CORBA::Long component_count = static_cast (this->component_count_); if (this->has_components_ == 0 || this->current_position_ + 1 >= component_count) @@ -856,7 +858,8 @@ TAO_DynCommon::insert_abstract (CORBA::AbstractBase_ptr value) if (cmp != 0) { - const char *my_id = this->type_->id (); + const char *my_id = + this->type_->id (); if (ACE_OS::strcmp (value_id, my_id) != 0) { @@ -883,7 +886,7 @@ TAO_DynCommon::insert_abstract (CORBA::AbstractBase_ptr value) } TAO_InputCDR in (out); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW (unk, TAO::Unknown_IDL_Type (this->type_.in (), in)); this->any_.replace (unk); @@ -923,7 +926,7 @@ TAO_DynCommon::get_abstract () CORBA::AbstractBase_var retval; TAO::Any_Impl *any_impl = this->any_.impl (); - if (!any_impl) + if (any_impl == 0) { throw DynamicAny::DynAny::InvalidValue (); } diff --git a/TAO/tao/DynamicAny/DynEnum_i.cpp b/TAO/tao/DynamicAny/DynEnum_i.cpp index 91bbf14983a34..7f25e22f02dd9 100644 --- a/TAO/tao/DynamicAny/DynEnum_i.cpp +++ b/TAO/tao/DynamicAny/DynEnum_i.cpp @@ -57,20 +57,14 @@ TAO_DynEnum_i::init (const CORBA::Any &any) // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (unk->_tao_get_cdr ()); - if (!for_reading.read_ulong (this->value_)) - { - throw CORBA::INTERNAL (); - } + for_reading.read_ulong (this->value_); } else { TAO_OutputCDR out; impl->marshal_value (out); TAO_InputCDR in (out); - if (!in.read_ulong (this->value_)) - { - throw CORBA::INTERNAL (); - } + in.read_ulong (this->value_); } this->init_common (); @@ -122,12 +116,15 @@ void TAO_DynEnum_i::set_as_string (const char *value_as_string) { CORBA::TypeCode_var ct = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - CORBA::ULong const count = ct.in ()->member_count (); - CORBA::ULong i {}; + + CORBA::ULong count = ct.in ()->member_count (); + + CORBA::ULong i; + const char *temp = 0; for (i = 0; i < count; ++i) { - const char *temp = ct.in ()->member_name (i); + temp = ct.in ()->member_name (i); if (!ACE_OS::strcmp (value_as_string, temp)) { @@ -220,7 +217,7 @@ TAO_DynEnum_i::to_any () CORBA::NO_MEMORY ()); TAO_InputCDR in_cdr (out_cdr); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), @@ -258,10 +255,7 @@ TAO_DynEnum_i::equal (DynamicAny::DynAny_ptr rhs) // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (unk->_tao_get_cdr ()); - if (!for_reading.read_ulong (value)) - { - throw CORBA::INTERNAL (); - } + for_reading.read_ulong (value); } else { diff --git a/TAO/tao/DynamicAny/DynEnum_i.h b/TAO/tao/DynamicAny/DynEnum_i.h index 5ea9940946887..6d05d6d7fae4e 100644 --- a/TAO/tao/DynamicAny/DynEnum_i.h +++ b/TAO/tao/DynamicAny/DynEnum_i.h @@ -42,7 +42,7 @@ class TAO_DynamicAny_Export TAO_DynEnum_i { public: /// Constructor. - TAO_DynEnum_i (CORBA::Boolean allow_truncation = true); + TAO_DynEnum_i (CORBA::Boolean allow_truncation=true); /// Destructor. ~TAO_DynEnum_i (); @@ -83,10 +83,8 @@ class TAO_DynamicAny_Export TAO_DynEnum_i void init_common (); // = Use copy() or assign() instead of these. - TAO_DynEnum_i (const TAO_DynEnum_i &) = delete; - TAO_DynEnum_i &operator= (const TAO_DynEnum_i &) = delete; - TAO_DynEnum_i& operator= (TAO_DynEnum_i&&) = delete; - TAO_DynEnum_i (TAO_DynEnum_i&&) = delete; + TAO_DynEnum_i (const TAO_DynEnum_i &src); + TAO_DynEnum_i &operator= (const TAO_DynEnum_i &src); private: /// Current numeric value of the enum. diff --git a/TAO/tao/DynamicAny/DynSequence_i.cpp b/TAO/tao/DynamicAny/DynSequence_i.cpp index f6afeb44652f2..749a3b79e932c 100644 --- a/TAO/tao/DynamicAny/DynSequence_i.cpp +++ b/TAO/tao/DynamicAny/DynSequence_i.cpp @@ -70,13 +70,10 @@ TAO_DynSequence_i::init (const CORBA::Any& any) // If the any is a sequence, first 4 bytes of cdr hold the // length. - if (!cdr.read_ulong (length)) - { - throw CORBA::INTERNAL (); - } + cdr.read_ulong (length); // Resize the array. - this->da_members_.resize (length); + this->da_members_.size (length); this->init_common (); @@ -88,7 +85,7 @@ TAO_DynSequence_i::init (const CORBA::Any& any) { CORBA::Any field_any; TAO_InputCDR unk_in (cdr); - TAO::Unknown_IDL_Type *field_unk {}; + TAO::Unknown_IDL_Type *field_unk = 0; ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); field_any.replace (field_unk); @@ -117,7 +114,7 @@ TAO_DynSequence_i::init (CORBA::TypeCode_ptr tc) } // Empty sequence. - this->da_members_.clear (); + this->da_members_.size (0); this->init_common (); @@ -220,17 +217,18 @@ TAO_DynSequence_i::set_length (CORBA::ULong length) if (length > this->component_count_) { // Grow array first, then initialize new members. - this->da_members_.resize (length); + this->da_members_.size (length); - CORBA::TypeCode_var elemtype = stripped_tc->content_type (); + CORBA::TypeCode_var elemtype = + stripped_tc->content_type (); for (CORBA::ULong i = this->component_count_; i < length; ++i) { this->da_members_[i] = - TAO::MakeDynAnyUtils::make_dyn_any_t ( - elemtype.in (), - elemtype.in (), - this->allow_truncation_ ); + TAO::MakeDynAnyUtils::make_dyn_any_t ( + elemtype.in (), + elemtype.in (), + this->allow_truncation_ ); } } else if (length < this->component_count_) @@ -241,7 +239,7 @@ TAO_DynSequence_i::set_length (CORBA::ULong length) this->da_members_[j]->destroy (); } - this->da_members_.resize (length); + this->da_members_.size (length); } // Now we can update component_count_. @@ -311,7 +309,7 @@ TAO_DynSequence_i::set_elements (const DynamicAny::AnySeq & value) // If the array grows, we must do it now. if (length > this->component_count_) { - this->da_members_.resize (length); + this->da_members_.size (length); } CORBA::TypeCode_var element_type = this->get_element_type (); @@ -354,7 +352,7 @@ TAO_DynSequence_i::set_elements (const DynamicAny::AnySeq & value) // If the array shrinks, we must wait until now to do it. if (length < this->component_count_) { - this->da_members_.resize (length); + this->da_members_.size (length); } // Now we can update component_count_. @@ -369,7 +367,7 @@ TAO_DynSequence_i::get_elements_as_dyn_any () throw ::CORBA::OBJECT_NOT_EXIST (); } - DynamicAny::DynAnySeq *retval {}; + DynamicAny::DynAnySeq *retval = 0; ACE_NEW_THROW_EX (retval, DynamicAny::DynAnySeq (this->component_count_), CORBA::NO_MEMORY ()); @@ -413,7 +411,7 @@ TAO_DynSequence_i::set_elements_as_dyn_any ( // If the array grows, we must do it now. if (length > this->component_count_) { - this->da_members_.resize (length); + this->da_members_.size (length); } CORBA::TypeCode_var element_type = @@ -454,7 +452,7 @@ TAO_DynSequence_i::set_elements_as_dyn_any ( // If the array shrinks, we must wait until now to do it. if (length < this->component_count_) { - this->da_members_.resize (length); + this->da_members_.size (length); } // Now we can update component_count_. @@ -504,15 +502,12 @@ TAO_DynSequence_i::from_any (const CORBA::Any & any) // If the any is a sequence, first 4 bytes of cdr hold the // length. - if (!cdr.read_ulong (arg_length)) - { - throw CORBA::INTERNAL (); - } + cdr.read_ulong (arg_length); // If the array grows, we must do it now. if (arg_length > this->component_count_) { - this->da_members_.resize (arg_length); + this->da_members_.size (arg_length); } CORBA::TypeCode_var field_tc = @@ -522,7 +517,7 @@ TAO_DynSequence_i::from_any (const CORBA::Any & any) { CORBA::Any field_any; TAO_InputCDR unk_in (cdr); - TAO::Unknown_IDL_Type *field_unk {}; + TAO::Unknown_IDL_Type *field_unk = 0; ACE_NEW (field_unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); @@ -552,7 +547,7 @@ TAO_DynSequence_i::from_any (const CORBA::Any & any) // If the array shrinks, we must wait until now to do it. if (arg_length < this->component_count_) { - this->da_members_.resize (arg_length); + this->da_members_.size (arg_length); } // Now we can update component_count_. @@ -614,12 +609,12 @@ TAO_DynSequence_i::to_any () TAO_InputCDR in_cdr (out_cdr); - CORBA::Any_ptr retval {}; + CORBA::Any_ptr retval = 0; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), @@ -690,7 +685,7 @@ TAO_DynSequence_i::destroy () this->da_members_[i]->destroy (); } - this->destroyed_ = true; + this->destroyed_ = 1; } } diff --git a/TAO/tao/DynamicAny/DynSequence_i.h b/TAO/tao/DynamicAny/DynSequence_i.h index 0d17853ac25cb..276a39f702265 100644 --- a/TAO/tao/DynamicAny/DynSequence_i.h +++ b/TAO/tao/DynamicAny/DynSequence_i.h @@ -20,7 +20,7 @@ #include "tao/DynamicAny/DynCommon.h" #include "tao/LocalObject.h" -#include +#include "ace/Containers.h" #if defined (_MSC_VER) # pragma warning(push) @@ -90,14 +90,12 @@ class TAO_DynamicAny_Export TAO_DynSequence_i void init_common (); // = Use copy() or assign() instead of these - TAO_DynSequence_i (const TAO_DynSequence_i &) = delete; - TAO_DynSequence_i &operator= (const TAO_DynSequence_i &) = delete; - TAO_DynSequence_i& operator= (TAO_DynSequence_i&&) = delete; - TAO_DynSequence_i (TAO_DynSequence_i&&) = delete; + TAO_DynSequence_i (const TAO_DynSequence_i &src); + TAO_DynSequence_i &operator= (const TAO_DynSequence_i &src); private: /// Each component is also a DynAny. - std::vector da_members_; + ACE_Array_Base da_members_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynStruct_i.cpp b/TAO/tao/DynamicAny/DynStruct_i.cpp index 7a65de983dbdc..bfa40f2874ea9 100644 --- a/TAO/tao/DynamicAny/DynStruct_i.cpp +++ b/TAO/tao/DynamicAny/DynStruct_i.cpp @@ -65,10 +65,11 @@ TAO_DynStruct_i::set_from_any (const CORBA::Any & any) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (any._tao_get_typecode ()); - CORBA::ULong const numfields = unaliased_tc->member_count (); + CORBA::ULong numfields = + unaliased_tc->member_count (); // Resize the array. - this->da_members_.resize (numfields); + this->da_members_.size (numfields); this->init_common (); @@ -76,7 +77,7 @@ TAO_DynStruct_i::set_from_any (const CORBA::Any & any) TAO::Any_Impl *impl = any.impl (); TAO_OutputCDR out; TAO_InputCDR in (static_cast (0)); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; if (impl->encoded ()) { @@ -139,10 +140,11 @@ TAO_DynStruct_i::init (CORBA::TypeCode_ptr tc) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - this->component_count_ = unaliased_tc->member_count (); + this->component_count_ = + unaliased_tc->member_count (); // Resize the array. - this->da_members_.resize (this->component_count_); + this->da_members_.size (this->component_count_); this->init_common (); @@ -439,7 +441,7 @@ TAO_DynStruct_i::from_any (const CORBA::Any & any) TAO::Any_Impl *impl = any.impl (); TAO_OutputCDR out; TAO_InputCDR in (static_cast (0)); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; if (impl->encoded ()) { @@ -477,7 +479,7 @@ TAO_DynStruct_i::from_any (const CORBA::Any & any) CORBA::Any field_any; TAO_InputCDR unk_in (in); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW (unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in)); @@ -521,8 +523,8 @@ TAO_DynStruct_i::to_any () out_cdr << this->type_->id (); } - - TAO::Unknown_IDL_Type *field_unk {}; + TAO::Any_Impl *field_impl = 0; + TAO::Unknown_IDL_Type *field_unk = 0; TAO_InputCDR field_in_cdr (static_cast (0)); for (CORBA::ULong i = 0; i < this->component_count_; ++i) @@ -535,11 +537,12 @@ TAO_DynStruct_i::to_any () this->da_members_[i]->to_any (); TAO_OutputCDR field_out_cdr; - TAO::Any_Impl *field_impl = field_any->impl (); + field_impl = field_any->impl (); if (field_impl->encoded ()) { - field_unk = dynamic_cast (field_impl); + field_unk = + dynamic_cast (field_impl); if (!field_unk) throw CORBA::INTERNAL (); @@ -560,12 +563,12 @@ TAO_DynStruct_i::to_any () TAO_InputCDR in_cdr (out_cdr); - CORBA::Any_ptr retval {}; + CORBA::Any_ptr retval = 0; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), @@ -629,7 +632,7 @@ TAO_DynStruct_i::destroy () this->da_members_[i]->destroy (); } - this->destroyed_ = true; + this->destroyed_ = 1; } } diff --git a/TAO/tao/DynamicAny/DynStruct_i.h b/TAO/tao/DynamicAny/DynStruct_i.h index 50cc048c0a029..ba993d6c84c71 100644 --- a/TAO/tao/DynamicAny/DynStruct_i.h +++ b/TAO/tao/DynamicAny/DynStruct_i.h @@ -20,7 +20,7 @@ #include "tao/DynamicAny/DynCommon.h" #include "tao/LocalObject.h" -#include +#include "ace/Containers.h" #if defined (_MSC_VER) # pragma warning(push) @@ -94,14 +94,12 @@ class TAO_DynamicAny_Export TAO_DynStruct_i void init_common (); // = Use copy() or assign() instead of these. - TAO_DynStruct_i (const TAO_DynStruct_i &) = delete; - TAO_DynStruct_i &operator= (const TAO_DynStruct_i &) = delete; - TAO_DynStruct_i& operator= (TAO_DynStruct_i&&) = delete; - TAO_DynStruct_i (TAO_DynStruct_i&&) = delete; + TAO_DynStruct_i (const TAO_DynStruct_i &src); + TAO_DynStruct_i &operator= (const TAO_DynStruct_i &src); private: /// Each component is also a DynAny. - std::vector da_members_; + ACE_Array_Base da_members_; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/DynamicAny/DynUnion_i.cpp b/TAO/tao/DynamicAny/DynUnion_i.cpp index 737644b6d2d08..bba6b5e1a7282 100644 --- a/TAO/tao/DynamicAny/DynUnion_i.cpp +++ b/TAO/tao/DynamicAny/DynUnion_i.cpp @@ -75,13 +75,15 @@ TAO_DynUnion_i::init (CORBA::TypeCode_ptr tc) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - CORBA::Any_var first_label = unaliased_tc->member_label (this->current_position_); + CORBA::Any_var first_label = + unaliased_tc->member_label (this->current_position_); // Initialize the discriminator to the label value of the first member. CORBA::TypeCode_var disc_tc = unaliased_tc->discriminator_type (); CORBA::TCKind disc_kind = TAO_DynAnyFactory::unalias (disc_tc.in ()); CORBA::TCKind label_kind = TAO_DynAnyFactory::unalias (first_label->_tao_get_typecode ()); - if (disc_kind == CORBA::tk_enum && label_kind == CORBA::tk_ulong) + if (disc_kind == CORBA::tk_enum && + label_kind == CORBA::tk_ulong) { // incase the discriminator is an enum type we have to walk // a slightly more complex path because enum labels are @@ -91,15 +93,10 @@ TAO_DynUnion_i::init (CORBA::TypeCode_ptr tc) disc_tc.in (), disc_tc.in (), this->allow_truncation_ ); - CORBA::ULong label_val {}; - if (first_label >>= label_val) - { - TAO_DynEnum_i::_narrow (this->discriminator_.in ())->set_as_ulong (label_val); - } - else - { - throw CORBA::INTERNAL (); - } + CORBA::ULong label_val; + first_label >>= label_val; + TAO_DynEnum_i::_narrow (this->discriminator_.in ()) + ->set_as_ulong (label_val); } else { @@ -149,7 +146,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any) tc->discriminator_type (); CORBA::Any disc_any; - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; // Get a CDR stream - if the Any doesn't have one, make one. TAO::Any_Impl *impl = any.impl (); @@ -228,7 +225,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any) CORBA::TypeCode_var member_tc = tc->member_type (i); CORBA::Any member_any; - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW (unk, TAO::Unknown_IDL_Type (member_tc.in (), in)); @@ -266,7 +263,7 @@ TAO_DynUnion_i::set_from_any (const CORBA::Any & any) tc->member_type (index); CORBA::Any default_any; - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW (unk, TAO::Unknown_IDL_Type (default_tc.in (), in)); @@ -332,7 +329,7 @@ TAO_DynUnion_i::set_discriminator (DynamicAny::DynAny_ptr value) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); - CORBA::Boolean match = false; + CORBA::Boolean match = 0; for (i = 0; i < length; ++i) { @@ -364,15 +361,10 @@ TAO_DynUnion_i::set_discriminator (DynamicAny::DynAny_ptr value) // incase the discriminator is an enum type we have to walk // a slightly more complex path because enum labels are // stored as ulong in the union tc - CORBA::ULong label_val {}; - if (label_any >>= label_val) - { - TAO_DynEnum_i::_narrow (this->discriminator_.in ())->set_as_ulong (label_val); - } - else - { - throw CORBA::INTERNAL (); - } + CORBA::ULong label_val; + label_any >>= label_val; + TAO_DynEnum_i::_narrow (this->discriminator_.in ()) + ->set_as_ulong (label_val); } else { @@ -728,12 +720,12 @@ TAO_DynUnion_i::to_any () // Make the Any. TAO_InputCDR in_cdr (out_cdr); - CORBA::Any_ptr retval {}; + CORBA::Any_ptr retval = 0; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), @@ -753,9 +745,9 @@ TAO_DynUnion_i::equal (DynamicAny::DynAny_ptr rhs) TAO_DynUnion_i *impl = TAO_DynUnion_i::_narrow (rhs); - if (!impl) + if (impl == 0) { - return false; + return 0; } CORBA::Boolean equivalent = @@ -763,7 +755,7 @@ TAO_DynUnion_i::equal (DynamicAny::DynAny_ptr rhs) if (!equivalent) { - return false; + return 0; } CORBA::Boolean member_equal = @@ -800,7 +792,7 @@ TAO_DynUnion_i::destroy () this->discriminator_->destroy (); - this->destroyed_ = true; + this->destroyed_ = 1; } } @@ -836,7 +828,8 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // if we are iterating through the union type code's // member_label() calls. CORBA::TypeCode_var tc = my_any.type (); - CORBA::TCKind const kind = TAO_DynAnyFactory::unalias (tc.in ()); + + CORBA::TCKind kind = TAO_DynAnyFactory::unalias (tc.in ()); // No need to do any type checking - it was done before this // call was made. @@ -844,62 +837,41 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, { case CORBA::tk_octet: // Default case label - just skip it. - return false; + return 0; case CORBA::tk_short: { - CORBA::Short my_val {}; - CORBA::Short other_val {}; - if (!(my_any >>= my_val)) - { - throw CORBA::INTERNAL (); - } - if (!(other_any >>= other_val)) - { - throw CORBA::INTERNAL (); - } + CORBA::Short my_val; + CORBA::Short other_val; + my_any >>= my_val; + other_any >>= other_val; return my_val == other_val; } case CORBA::tk_long: { - CORBA::Long my_val {}; - if (!(my_any >>= my_val)) - { - throw CORBA::INTERNAL (); - } - CORBA::Long other_val {}; - if (!(other_any >>= other_val)) - { - throw CORBA::INTERNAL (); - } + CORBA::Long my_val; + CORBA::Long other_val; + my_any >>= my_val; + other_any >>= other_val; return my_val == other_val; } case CORBA::tk_ushort: { CORBA::UShort my_val; - if (!(my_any >>= my_val)) - { - throw CORBA::INTERNAL (); - } CORBA::UShort other_val; - if (!(other_any >>= other_val)) - { - throw CORBA::INTERNAL (); - } + my_any >>= my_val; + other_any >>= other_val; return my_val == other_val; } case CORBA::tk_ulong: { - CORBA::ULong my_val {}; - CORBA::ULong other_val {}; - if (!(my_any >>= my_val)) - { - throw CORBA::INTERNAL (); - } + CORBA::ULong my_val; + CORBA::ULong other_val; + my_any >>= my_val; // check whether the discriminator is possibly an enum type // since these get stored as ulong label values as well CORBA::TypeCode_var other_tc = other_any.type (); - CORBA::TCKind const kind = TAO_DynAnyFactory::unalias (other_tc.in ()); + CORBA::TCKind kind = TAO_DynAnyFactory::unalias (other_tc.in ()); if (kind == CORBA::tk_enum) { TAO::Any_Impl *other_impl = other_any.impl (); @@ -913,107 +885,67 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // shared by another Any, so we use this to copy the // state, not the buffer. TAO_InputCDR for_reading (other_unk->_tao_get_cdr ()); - if (!for_reading.read_ulong (other_val)) - { - throw CORBA::INTERNAL (); - } + for_reading.read_ulong (other_val); } else { TAO_OutputCDR other_out; other_impl->marshal_value (other_out); TAO_InputCDR other_in (other_out); - if (!other_in.read_ulong (other_val)) - { - throw CORBA::INTERNAL (); - } + other_in.read_ulong (other_val); } } else - { - if (!(other_any >>= other_val)) - { - throw CORBA::INTERNAL (); - } - } + other_any >>= other_val; return my_val == other_val; } case CORBA::tk_boolean: { - CORBA::Boolean my_val {}; - CORBA::Boolean other_val {}; - if (!(my_any >>= CORBA::Any::to_boolean (my_val))) - { - throw CORBA::INTERNAL (); - } - if (!(other_any >>= CORBA::Any::to_boolean (other_val))) - { - throw CORBA::INTERNAL (); - } + CORBA::Boolean my_val; + CORBA::Boolean other_val; + my_any >>= CORBA::Any::to_boolean (my_val); + other_any >>= CORBA::Any::to_boolean (other_val); return my_val == other_val; } case CORBA::tk_char: { - CORBA::Char my_val {}; - CORBA::Char other_val {}; - if (!(my_any >>= CORBA::Any::to_char (my_val))) - { - throw CORBA::INTERNAL (); - } - if (!(other_any >>= CORBA::Any::to_char (other_val))) - { - throw CORBA::INTERNAL (); - } + CORBA::Char my_val; + CORBA::Char other_val; + my_any >>= CORBA::Any::to_char (my_val); + other_any >>= CORBA::Any::to_char (other_val); return my_val == other_val; } // For platforms without native 64-bit ints. case CORBA::tk_longlong: { - CORBA::LongLong my_val {}; - CORBA::LongLong other_val {}; - if (!(my_any >>= my_val)) - { - throw CORBA::INTERNAL (); - } - if (!(other_any >>= other_val)) - { - throw CORBA::INTERNAL (); - } + CORBA::LongLong my_val; + CORBA::LongLong other_val; + my_any >>= my_val; + other_any >>= other_val; return my_val == other_val; } case CORBA::tk_ulonglong: { CORBA::ULongLong my_val; CORBA::ULongLong other_val; - if (!(my_any >>= my_val)) - { - throw CORBA::INTERNAL (); - } - if (!(other_any >>= other_val)) - { - throw CORBA::INTERNAL (); - } + my_any >>= my_val; + other_any >>= other_val; return my_val == other_val; } case CORBA::tk_wchar: { CORBA::WChar my_val; CORBA::WChar other_val; - if (!(my_any >>= CORBA::Any::to_wchar (my_val))) - { - throw CORBA::INTERNAL (); - } - if (!(other_any >>= CORBA::Any::to_wchar (other_val))) - { - throw CORBA::INTERNAL (); - } + my_any >>= CORBA::Any::to_wchar (my_val); + other_any >>= CORBA::Any::to_wchar (other_val); return my_val == other_val; } case CORBA::tk_enum: { - CORBA::ULong my_val {}; - CORBA::ULong other_val {}; + CORBA::ULong my_val; + CORBA::ULong other_val; + TAO::Any_Impl *my_impl = my_any.impl (); if (my_impl->encoded ()) @@ -1027,20 +959,14 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (my_unk->_tao_get_cdr ()); - if (!for_reading.read_ulong (my_val)) - { - throw CORBA::INTERNAL (); - } + for_reading.read_ulong (my_val); } else { TAO_OutputCDR my_out; my_impl->marshal_value (my_out); TAO_InputCDR my_in (my_out); - if (!(my_in.read_ulong (my_val))) - { - throw CORBA::INTERNAL (); - } + my_in.read_ulong (my_val); } TAO::Any_Impl *other_impl = other_any.impl (); @@ -1056,27 +982,21 @@ TAO_DynUnion_i::label_match (const CORBA::Any &my_any, // We don't want unk's rd_ptr to move, in case we are shared by // another Any, so we use this to copy the state, not the buffer. TAO_InputCDR for_reading (other_unk->_tao_get_cdr ()); - if (!for_reading.read_ulong (other_val)) - { - throw CORBA::INTERNAL (); - } + for_reading.read_ulong (other_val); } else { TAO_OutputCDR other_out; other_impl->marshal_value (other_out); TAO_InputCDR other_in (other_out); - if (!(other_in.read_ulong (other_val))) - { - throw CORBA::INTERNAL (); - } + other_in.read_ulong (other_val); } return my_val == other_val; } // Cannot happen - we've covered all the legal discriminator types. default: - return false; + return 0; } } diff --git a/TAO/tao/DynamicAny/DynUnion_i.h b/TAO/tao/DynamicAny/DynUnion_i.h index a835fc5933ea0..27436f421afe9 100644 --- a/TAO/tao/DynamicAny/DynUnion_i.h +++ b/TAO/tao/DynamicAny/DynUnion_i.h @@ -99,10 +99,8 @@ class TAO_DynamicAny_Export TAO_DynUnion_i const CORBA::Any &other_any); /// Use copy() or assign() instead of these. - TAO_DynUnion_i (const TAO_DynUnion_i &) = delete; - TAO_DynUnion_i &operator= (const TAO_DynUnion_i &) = delete; - TAO_DynUnion_i& operator= (TAO_DynUnion_i&&) = delete; - TAO_DynUnion_i (TAO_DynUnion_i&&) = delete; + TAO_DynUnion_i (const TAO_DynUnion_i &src); + TAO_DynUnion_i &operator= (const TAO_DynUnion_i &src); private: /// Just two components. diff --git a/TAO/tao/DynamicAny/DynValueBox_i.cpp b/TAO/tao/DynamicAny/DynValueBox_i.cpp index e11d12fe11cf7..cfa81bd3bea93 100644 --- a/TAO/tao/DynamicAny/DynValueBox_i.cpp +++ b/TAO/tao/DynamicAny/DynValueBox_i.cpp @@ -231,7 +231,7 @@ TAO_DynValueBox_i::destroy () this->boxed_.in ()->destroy (); } - this->destroyed_ = true; + this->destroyed_ = 1; } } @@ -310,7 +310,7 @@ TAO_DynValueBox_i::set_from_any (const CORBA::Any & any) CORBA::TypeCode_var unaliased_tc = TAO_DynAnyFactory::strip_alias (this->type_.in ()); CORBA::TypeCode_var boxed_tc (unaliased_tc->content_type ()); - TAO::Unknown_IDL_Type * unk {}; + TAO::Unknown_IDL_Type * unk = 0; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (boxed_tc.in (), in), CORBA::NO_MEMORY ()); @@ -384,11 +384,11 @@ TAO_DynValueBox_i::to_any () // Convert the out_cdr into a new any. TAO_InputCDR in_cdr (out_cdr); - TAO::Unknown_IDL_Type * unk {}; + TAO::Unknown_IDL_Type * unk = 0; ACE_NEW_THROW_EX (unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), CORBA::NO_MEMORY ()); - CORBA::Any_ptr retval {}; + CORBA::Any_ptr retval = 0; ACE_NEW_THROW_EX (retval, CORBA::Any, CORBA::NO_MEMORY ()); retval->replace (unk); return retval; diff --git a/TAO/tao/DynamicAny/DynValueBox_i.h b/TAO/tao/DynamicAny/DynValueBox_i.h index d27be8f18069a..3dadf64cb6cc3 100644 --- a/TAO/tao/DynamicAny/DynValueBox_i.h +++ b/TAO/tao/DynamicAny/DynValueBox_i.h @@ -82,10 +82,8 @@ class TAO_DynamicAny_Export TAO_DynValueBox_i void set_from_any (const CORBA::Any &any); // = Use copy() or assign() instead of these. - TAO_DynValueBox_i (const TAO_DynValueBox_i &) = delete; - TAO_DynValueBox_i &operator= (const TAO_DynValueBox_i &) = delete; - TAO_DynValueBox_i& operator= (TAO_DynValueBox_i&&) = delete; - TAO_DynValueBox_i (TAO_DynValueBox_i&&) = delete; + TAO_DynValueBox_i (const TAO_DynValueBox_i &src); + TAO_DynValueBox_i &operator= (const TAO_DynValueBox_i &src); /// The boxed component of DynValueBox is another DynAny. DynamicAny::DynAny_var boxed_; diff --git a/TAO/tao/DynamicAny/DynValueCommon_i.h b/TAO/tao/DynamicAny/DynValueCommon_i.h index 52a2aa3e0c0f5..7dbf099ecbfad 100644 --- a/TAO/tao/DynamicAny/DynValueCommon_i.h +++ b/TAO/tao/DynamicAny/DynValueCommon_i.h @@ -56,10 +56,8 @@ class TAO_DynamicAny_Export TAO_DynValueCommon_i private: // = Use copy() or assign() instead of these. - TAO_DynValueCommon_i (const TAO_DynValueCommon_i &) = delete; - TAO_DynValueCommon_i &operator= (const TAO_DynValueCommon_i &) = delete; - TAO_DynValueCommon_i& operator= (TAO_DynValueCommon_i&&) = delete; - TAO_DynValueCommon_i (TAO_DynValueCommon_i&&) = delete; + TAO_DynValueCommon_i (const TAO_DynValueCommon_i &src); + TAO_DynValueCommon_i &operator= (const TAO_DynValueCommon_i &src); /// Check if the typecode is acceptable. Needs to be provided by DynValue or DynValueBox virtual void check_typecode (CORBA::TypeCode_ptr tc)=0; diff --git a/TAO/tao/DynamicAny/DynValue_i.cpp b/TAO/tao/DynamicAny/DynValue_i.cpp index a9f314f028376..728b5614b1add 100644 --- a/TAO/tao/DynamicAny/DynValue_i.cpp +++ b/TAO/tao/DynamicAny/DynValue_i.cpp @@ -21,6 +21,10 @@ TAO_DynValue_i::TAO_DynValue_i (CORBA::Boolean allow_truncation) { } +TAO_DynValue_i::~TAO_DynValue_i () +{ +} + void TAO_DynValue_i::init (const CORBA::Any & any) { @@ -59,7 +63,9 @@ TAO_DynValue_i::init (CORBA::TypeCode_ptr tc) i < this->component_count_; ++i) { - CORBA::TypeCode_var member_type (get_member_type (this->da_base_types_, i)); + CORBA::TypeCode_var + member_type ( + get_member_type (this->da_base_types_, i)); this->da_members_[i] = TAO::MakeDynAnyUtils:: make_dyn_any_t @@ -85,11 +91,15 @@ TAO_DynValue_i::init_helper (CORBA::TypeCode_ptr tc) this->type_ = CORBA::TypeCode::_duplicate (tc); // Work out how many total members and types there - // are in total in this derived->base hierarchy. - get_base_types (tc, this->da_base_types_, &this->component_count_); - this->da_members_.resize (this->component_count_); + // are in total in this derived->base hiarchy. + + get_base_types ( + tc, + this->da_base_types_, + &this->component_count_); + this->da_members_.size (this->component_count_); - // And initialize all of the DynCommon mix-in + // And initalize all of the DynCommon mix-in this->init_common (); } @@ -100,31 +110,37 @@ TAO_DynValue_i::get_base_types ( BaseTypesList_t &base_types, CORBA::ULong *total_member_count) { - // First initialize to the fully derived type we are + // First initalize to the fully derived type we are // starting with. + CORBA::ULong numberOfBases = 1u; - base_types.resize (numberOfBases); + base_types.size (numberOfBases); base_types[0] = TAO_DynAnyFactory::strip_alias (tc); if (total_member_count) { - *total_member_count = base_types[0]->member_count (); + *total_member_count = + base_types[0]->member_count (); } // Obtain each derived type's basetype and add this to // the list. - CORBA::TypeCode_var base (base_types[0]->concrete_base_type()); + + CORBA::TypeCode_var + base (base_types[0]->concrete_base_type()); while (base.in() && CORBA::tk_value == (base= // assignment - TAO_DynAnyFactory::strip_alias (base.in()))->kind ()) + TAO_DynAnyFactory::strip_alias (base.in())) + ->kind ()) { if (total_member_count) { *total_member_count += base->member_count (); } - base_types.resize (numberOfBases + 1); - base_types[numberOfBases++] = CORBA::TypeCode::_duplicate (base.in ()); + base_types.size (numberOfBases + 1); + base_types[numberOfBases++] = + CORBA::TypeCode::_duplicate (base.in ()); base = base->concrete_base_type(); } } @@ -141,13 +157,14 @@ TAO_DynValue_i::get_correct_base_type ( // derived type until that type's members are exhausted // and so on until we reach the member we have asked for. - CORBA::ULong currentBase = ACE_Utils::truncate_cast (base_types.size ()); + CORBA::ULong + currentBase = ACE_Utils::truncate_cast (base_types.size ()); if (!currentBase) { TAOLIB_DEBUG ((LM_DEBUG, ACE_TEXT ("TAO (%P|%t) - %N:%l TAO_DynValue_i::get_correct_base_type () ") ACE_TEXT ("BaseTypesList_t is not initialised\n"))); - return nullptr; + return 0; } while (base_types[--currentBase]->member_count () <= index) @@ -168,24 +185,32 @@ TAO_DynValue_i::get_correct_base_type ( } CORBA::TypeCode_ptr -TAO_DynValue_i::get_member_type (const BaseTypesList_t &base_types, CORBA::ULong index) +TAO_DynValue_i::get_member_type ( + const BaseTypesList_t &base_types, + CORBA::ULong index) { - CORBA::TypeCode_ptr const base = get_correct_base_type (base_types, index); + const CORBA::TypeCode_ptr + base = get_correct_base_type (base_types, index); return base->member_type (index); } const char * -TAO_DynValue_i::get_member_name (const BaseTypesList_t &base_types, CORBA::ULong index) +TAO_DynValue_i::get_member_name ( + const BaseTypesList_t &base_types, + CORBA::ULong index) { - const CORBA::TypeCode_ptr base = get_correct_base_type (base_types, index); + const CORBA::TypeCode_ptr + base = get_correct_base_type (base_types, index); return base->member_name (index); } void TAO_DynValue_i::set_to_value () { - this->component_count_ = static_cast (this->da_members_.size ()); - this->current_position_ = this->component_count_ ? 0 : -1; + this->component_count_ = + static_cast (this->da_members_.size ()); + this->current_position_ = + this->component_count_ ? 0 : -1; this->is_null_ = false; } @@ -204,7 +229,7 @@ TAO_DynValue_i * TAO_DynValue_i::_narrow (CORBA::Object_ptr _tao_objref) { return (CORBA::is_nil (_tao_objref)) ? - nullptr : + 0 : dynamic_cast (_tao_objref); } @@ -221,7 +246,10 @@ TAO_DynValue_i::current_member_name () throw DynamicAny::DynAny::InvalidValue (); } - return CORBA::string_dup (this->get_member_name (this->da_base_types_, this->current_position_)); + return CORBA::string_dup ( + this->get_member_name ( + this->da_base_types_, + this->current_position_)); } CORBA::TCKind @@ -237,7 +265,10 @@ TAO_DynValue_i::current_member_kind () throw DynamicAny::DynAny::InvalidValue (); } - CORBA::TypeCode_var tc (get_member_type (this->da_base_types_, this->current_position_)); + CORBA::TypeCode_var tc ( + get_member_type ( + this->da_base_types_, + this->current_position_)); return TAO_DynAnyFactory::unalias (tc.in ()); } @@ -250,19 +281,24 @@ TAO_DynValue_i::get_members () } // Create the return NameValuePairSeq - DynamicAny::NameValuePairSeq *members {}; + DynamicAny::NameValuePairSeq *members = 0; ACE_NEW_THROW_EX ( members, DynamicAny::NameValuePairSeq (this->component_count_), CORBA::NO_MEMORY ()); members->length (this->component_count_); - DynamicAny::NameValuePairSeq_var safe_retval (members); + DynamicAny::NameValuePairSeq_var + safe_retval (members); // Assign member name and value to each slot. - for (CORBA::ULong i = 0u; i < this->component_count_; ++i) + for (CORBA::ULong i = 0u; + i < this->component_count_; + ++i) { - safe_retval[i].id = CORBA::string_dup (this->get_member_name (this->da_base_types_, i)); - CORBA::Any_var temp (this->da_members_[i]->to_any ()); + safe_retval[i].id = CORBA::string_dup ( + this->get_member_name (this->da_base_types_, i)); + CORBA::Any_var + temp (this->da_members_[i]->to_any ()); safe_retval[i].value = temp.in (); } @@ -279,8 +315,10 @@ TAO_DynValue_i::set_members ( } // Check lengths match. - CORBA::ULong const length = values.length (); - if (length != static_cast (this->da_members_.size ())) + const CORBA::ULong length = values.length (); + if (length != + static_cast + (this->da_members_.size ())) { throw DynamicAny::DynAny::InvalidValue (); } @@ -289,8 +327,10 @@ TAO_DynValue_i::set_members ( CORBA::ULong i; for (i = 0u; i < length; ++i) { - CORBA::TypeCode_var my_member (get_member_type (this->da_base_types_, i)); - CORBA::TypeCode_var value_member (values[i].value.type ()); + CORBA::TypeCode_var my_member ( + get_member_type (this->da_base_types_, i)); + CORBA::TypeCode_var value_member ( + values[i].value.type ()); if (!my_member->equivalent (value_member.in ())) { throw DynamicAny::DynAny::TypeMismatch (); @@ -300,7 +340,8 @@ TAO_DynValue_i::set_members ( // Copy in the new values to each member () for (i = 0u; i < length; ++i) { - this->da_members_[i] = TAO::MakeDynAnyUtils::make_dyn_any_t ( + this->da_members_[i] = TAO::MakeDynAnyUtils:: + make_dyn_any_t ( values[i].value._tao_get_typecode (), values[i].value, this->allow_truncation_); @@ -318,20 +359,22 @@ TAO_DynValue_i::get_members_as_dyn_any () } // Create the return NameDynAnyPairSeq - DynamicAny::NameDynAnyPairSeq *members {}; + DynamicAny::NameDynAnyPairSeq *members = 0; ACE_NEW_THROW_EX ( members, DynamicAny::NameDynAnyPairSeq (this->component_count_), CORBA::NO_MEMORY ()); members->length (this->component_count_); - DynamicAny::NameDynAnyPairSeq_var safe_retval (members); + DynamicAny::NameDynAnyPairSeq_var + safe_retval (members); // Assign name and value to each pearl on the string. for (CORBA::ULong i = 0u; i < this->component_count_; ++i) { - safe_retval[i].id = CORBA::string_dup (this->get_member_name (this->da_base_types_, i)); + safe_retval[i].id = CORBA::string_dup ( + this->get_member_name (this->da_base_types_, i)); // A deep copy is made only by copy() // (CORBA 2.4.2 section 9.2.3.6). @@ -368,7 +411,11 @@ TAO_DynValue_i::set_members_as_dyn_any ( CORBA::ULong i = 0u; for (; i < length; ++i) { - CORBA::TypeCode_var my_member (get_member_type (this->da_base_types_, i)), value_member (values[i].value->type ()); + CORBA::TypeCode_var + my_member ( + get_member_type (this->da_base_types_, i)), + value_member ( + values[i].value->type ()); if (!my_member->equivalent (value_member.in ())) { throw DynamicAny::DynAny::TypeMismatch (); @@ -392,7 +439,8 @@ TAO_DynValue_i::from_any (const CORBA::Any &any) throw ::CORBA::OBJECT_NOT_EXIST (); } - CORBA::TypeCode_var tc (any.type ()); + CORBA::TypeCode_var + tc (any.type ()); if (!this->type_->equivalent (tc.in ())) { throw DynamicAny::DynAny::TypeMismatch (); @@ -411,12 +459,14 @@ TAO_DynValue_i::equal (DynamicAny::DynAny_ptr rhs) CORBA::TypeCode_var tc (rhs->type ()); if (!tc->equivalent (this->type_.in ()) || - this->component_count_ != rhs->component_count ()) + this->component_count_ != + rhs->component_count () ) { return false; } - TAO_DynValue_i *rhs_v = dynamic_cast (rhs); + TAO_DynValue_i *rhs_v= + dynamic_cast (rhs); if (!rhs_v || this->is_null () != rhs_v->is_null ()) { @@ -429,7 +479,8 @@ TAO_DynValue_i::equal (DynamicAny::DynAny_ptr rhs) i < this->component_count_; ++i) { - if (!rhs_v->da_members_[i]->equal (this->da_members_[i].in ())) + if (!rhs_v->da_members_[i] + ->equal (this->da_members_[i].in ())) { return false; } @@ -447,18 +498,23 @@ TAO_DynValue_i::destroy () throw ::CORBA::OBJECT_NOT_EXIST (); } - if (!this->ref_to_component_ || this->container_is_destroying_) + if (!this->ref_to_component_ || + this->container_is_destroying_) { // Do a deep destroy. - this->component_count_ = static_cast (this->da_members_.size () ); + this->component_count_ = + static_cast ( + this->da_members_.size () ); - for (CORBA::ULong i = 0u; i < this->component_count_; ++i) + for (CORBA::ULong i = 0u; + i < this->component_count_; + ++i) { this->set_flag (da_members_[i].in (), 1); this->da_members_[i]->destroy (); } - this->destroyed_ = true; + this->destroyed_ = 1; } } @@ -559,7 +615,7 @@ TAO_DynValue_i::get_val () // Now read in this stream to create the actual value. TAO_InputCDR for_reading (out_cdr); - CORBA::ValueBase *retval {}; + CORBA::ValueBase *retval = 0; if (!CORBA::ValueBase::_tao_unmarshal ( for_reading, retval )) { @@ -583,12 +639,12 @@ TAO_DynValue_i::to_any () // Convert the out_cdr into a new any. TAO_InputCDR in_cdr (out_cdr); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk = 0; ACE_NEW_THROW_EX ( unk, TAO::Unknown_IDL_Type (this->type_.in (), in_cdr), CORBA::NO_MEMORY () ); - CORBA::Any_ptr retval {}; + CORBA::Any_ptr retval = 0; ACE_NEW_THROW_EX ( retval, CORBA::Any, @@ -663,11 +719,13 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) TAO_OBV_GIOP_Flags::Value_tag_base | TAO_OBV_GIOP_Flags::Type_info_single; - CORBA::ULong const num_ids = ACE_Utils::truncate_cast (this->da_base_types_.size ()); + const CORBA::ULong num_ids = + ACE_Utils::truncate_cast (this->da_base_types_.size ()); CORBA::ULong trunc_ids; for (trunc_ids= 0u; trunc_ids < num_ids - 1u; ++trunc_ids) { - if (CORBA::VM_TRUNCATABLE != this->da_base_types_[trunc_ids]->type_modifier ()) + if (CORBA::VM_TRUNCATABLE != + this->da_base_types_[trunc_ids]->type_modifier ()) { break; // Found the first type that is not truncatable } @@ -685,7 +743,8 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) { for (CORBA::ULong i= trunc_ids - 1u; i < num_ids; ++i) { - if (CORBA::VM_CUSTOM == this->da_base_types_[i]->type_modifier ()) + if (CORBA::VM_CUSTOM == + this->da_base_types_[i]->type_modifier ()) { we_are_chunking = true; break; @@ -756,8 +815,9 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) // Now write out every member's value (add further chunking // marks for each seporate base-type's state). CORBA::Boolean need_first = true; - CORBA::ULong currentBase = num_ids; // Note NOT just the trunc_ids - CORBA::ULong currentBaseMember = 0u; + CORBA::ULong + currentBase= num_ids, // Note NOT just the trunc_ids + currentBaseMember = 0u; for (CORBA::ULong currentMember= 0u; currentMember < this->component_count_; ++currentMember) @@ -766,7 +826,7 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) if (!currentBaseMember) { // Move on to the next derived type in the - // list of our type hierarchy + // list of our type hyarchy while (!this->da_base_types_[--currentBase] ->member_count ()) { @@ -838,7 +898,8 @@ TAO_DynValue_i::to_outputCDR (TAO_OutputCDR &out_cdr) } // Are we ending the current base-type? - if (this->da_base_types_[currentBase]->member_count () <= ++currentBaseMember) + if (this->da_base_types_[currentBase]->member_count () + <= ++currentBaseMember) { // Remind us to start again with the next derived type // for the next member to be writen. @@ -911,9 +972,9 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } if (is_indirected) { - // Effectively this member? is the same ValueType as previous + // Effectivly this member? is the same ValueType as previous // seen either in another member of this container OR the - // whole container itself. (Possibly can happen as a + // whole container itself. (Possiably can happen as a // circular linked list?) if (TAO_debug_level) { @@ -964,7 +1025,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Ok since we are not indirected (this time), record "this" - // DynValue_i for later possible indirections to use. + // DynValue_i for later possiable indirections to use. if (strm.get_value_map ()->get() ->bind ( start_of_valuetype, @@ -977,7 +1038,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Work out how many total types there - // are in this derived->base hierarchy. + // are in this derived->base hiarchy. const CORBA::ULong num_fields = static_cast (this->da_members_.size ()), num_ids = static_cast (ids.size ()); @@ -1001,7 +1062,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Since this does not match we must be attempting - // to truncated to a base-type, thus the incoming + // to truncated to a base-type, thus the incomming // any must be chuncked and this outer type must // allow truncation. if (!is_chunked) @@ -1045,9 +1106,11 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Now read in every member's value (reading further chunking - // marks for each separate base-type's state we pass). + // marks for each seporate base-type's state we pass). CORBA::Boolean need_first = true; - CORBA::ULong currentBase = ACE_Utils::truncate_cast (this->da_base_types_.size ()), currentBaseMember = 0u; + CORBA::ULong + currentBase = ACE_Utils::truncate_cast (this->da_base_types_.size ()), + currentBaseMember = 0u; for (CORBA::ULong currentMember= 0u; currentMember < num_fields; ++currentMember) @@ -1056,8 +1119,9 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) if (!currentBaseMember) { // Move on to the next derived type in the - // list of our type hierarchy - while (!this->da_base_types_[--currentBase]->member_count ()) + // list of our type hyarchy + while (!this->da_base_types_[--currentBase] + ->member_count ()) { // Skipping over all types that have no // state (i.e. no members to write). @@ -1080,12 +1144,14 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // OK read in the current member - CORBA::TypeCode_var field_tc (this->da_base_types_[currentBase]->member_type (currentBaseMember)); + CORBA::TypeCode_var + field_tc (this->da_base_types_[currentBase] + ->member_type (currentBaseMember)); if (CORBA::tk_value == field_tc->kind ()) { // This is recursive, keep reading from our inputCDR // this allows for indirection - this->da_members_[currentMember] = + this->da_members_[currentMember]= TAO::CreateDynAnyUtils ::create_dyn_any_t ( field_tc.in (), @@ -1096,7 +1162,7 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) { // Need to create an any for this field. TAO_InputCDR unk_in (strm); - TAO::Unknown_IDL_Type *unk {}; + TAO::Unknown_IDL_Type *unk= 0; ACE_NEW_THROW_EX ( unk, TAO::Unknown_IDL_Type (field_tc.in (), unk_in), @@ -1122,10 +1188,11 @@ TAO_DynValue_i::from_inputCDR (TAO_InputCDR &strm) } // Are we ending the current base-type? - if (this->da_base_types_[currentBase]->member_count () <= ++currentBaseMember) + if (this->da_base_types_[currentBase]->member_count () + <= ++currentBaseMember) { // Remind us to start again with the next derived type - // for the next member to be written. + // for the next member to be writen. currentBaseMember= 0u; if (currentBase < num_ids) diff --git a/TAO/tao/DynamicAny/DynValue_i.h b/TAO/tao/DynamicAny/DynValue_i.h index 24624e8e5538f..f3f8884342e94 100644 --- a/TAO/tao/DynamicAny/DynValue_i.h +++ b/TAO/tao/DynamicAny/DynValue_i.h @@ -7,6 +7,7 @@ */ //============================================================================= + #ifndef TAO_DYNVALUE_I_H #define TAO_DYNVALUE_I_H #include /**/ "ace/pre.h" @@ -17,8 +18,6 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include - #if defined (_MSC_VER) # pragma warning(push) # pragma warning (disable:4250) @@ -37,10 +36,10 @@ class TAO_DynamicAny_Export TAO_DynValue_i { public: /// Constructor. - TAO_DynValue_i (CORBA::Boolean allow_truncation = true); + TAO_DynValue_i (CORBA::Boolean allow_truncation=true); /// Destructor. - ~TAO_DynValue_i () = default; + ~TAO_DynValue_i (); /// Initialize using an Any. void init (const CORBA::Any& any); @@ -88,11 +87,11 @@ class TAO_DynamicAny_Export TAO_DynValue_i private: /// List of base types. - using BaseTypesList_t = std::vector; + typedef ACE_Array_Base BaseTypesList_t; - /// Decompose the given TypeCode into its hierarchical list of + /// Decompose the given TypeCode into its hiarchical list of /// basetypes. The first element of the list is our actual type, - /// each basetype follows in order backwards down the hierarchy. + /// each basetype follows in order backwards down the hiarchy. /// All types stored in the list are de-aliased. Optionally /// return the total_member_count of the fully derived type. static void get_base_types ( @@ -101,20 +100,20 @@ class TAO_DynamicAny_Export TAO_DynValue_i CORBA::ULong *total_member_count = 0); /// Return the unaliased valuetype typecode that corresponds to - /// index (0..total_members-1) from the given hierarchical list of + /// index (0..total_members-1) from the given hiarchical list of /// the derived type and it basetypes. static CORBA::TypeCode_ptr get_correct_base_type ( const BaseTypesList_t &base_types, CORBA::ULong &index); /// Return the member_type at index (0..total_members-1) from - /// the given hierarchical list of the derived type and it basetypes. + /// the given hiarchical list of the derived type and it basetypes. static CORBA::TypeCode_ptr get_member_type ( const BaseTypesList_t &, CORBA::ULong index); /// Return the member_name at index (0..total_members-1) from - /// the given hierarchical list of the derived type and it basetypes. + /// the given hiarchical list of the derived type and it basetypes. static const char * get_member_name ( const BaseTypesList_t &, CORBA::ULong index); @@ -136,18 +135,16 @@ class TAO_DynamicAny_Export TAO_DynValue_i /// Read the value from the input stream void from_inputCDR (TAO_InputCDR &); - /// These are not implemented! + /// These are not implimented! /// Use copy() or assign() instead of these. - TAO_DynValue_i (const TAO_DynValue_i &) = delete; - TAO_DynValue_i &operator= (const TAO_DynValue_i &) = delete; - TAO_DynValue_i& operator= (TAO_DynValue_i&&) = delete; - TAO_DynValue_i (TAO_DynValue_i&&) = delete; + TAO_DynValue_i (const TAO_DynValue_i &src); + TAO_DynValue_i &operator= (const TAO_DynValue_i &src); /// Each component of DynValue and DynValueBox is also a DynAny. - std::vector da_members_; + ACE_Array_Base da_members_; /// First element of this is our type, each basetype follows - /// in order backwards down the hierarchy. All types stored are + /// in order backwards down the hiarchy. All types stored are /// de-aliased. BaseTypesList_t da_base_types_; }; diff --git a/TAO/tests/DynValue_Test/Analyzer.cpp b/TAO/tests/DynValue_Test/Analyzer.cpp index 4dfc6972b5f3b..9dd484ea6d280 100644 --- a/TAO/tests/DynValue_Test/Analyzer.cpp +++ b/TAO/tests/DynValue_Test/Analyzer.cpp @@ -137,8 +137,7 @@ DynAnyAnalyzer::get_correct_base_type ( #define CASEE(type,CT,str) case CORBA::tk_##type: {\ CORBA::CT b = da->get_##type();\ - if (!newline) tab(""); \ - ACE_DEBUG ((LM_DEBUG, str , b));\ + if (!newline) tab(""); ACE_DEBUG ((LM_DEBUG, str , b));\ } break; void @@ -256,13 +255,13 @@ DynAnyAnalyzer::analyze ( base = get_correct_base_type ( base_types, sub_member_number); - const char *const visibility = + const char *const visability = ((CORBA::PRIVATE_MEMBER == base->member_visibility (sub_member_number)) ? "Private" : "Public "); tab ("["); ACE_DEBUG ((LM_DEBUG, "%03u] %C \"%C\": ", - ++member_number, visibility, fn.in () )); + ++member_number, visability, fn.in () )); if (CORBA::is_nil (cc.in ())) { ACE_DEBUG ((LM_DEBUG, " {Null}\n")); From 3b5f334604c5a0001cf0083278ba0b74a2c17f25 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 May 2024 08:54:21 +0200 Subject: [PATCH 349/445] Fix formatting * ACE/ACE-INSTALL.html: --- ACE/ACE-INSTALL.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index 22cd80cdeaf4f..7bed37506625e 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -427,7 +427,7 @@

                          Using the Traditional ACE/GNU Configuration
                        • If you've set the INSTALL_PREFIX before building, now run
                          % make install
                          -

                          An alternative to directly running make install is to use $ACE_ROOT/bin/install_proj.sh +

                          An alternative to directly running make install is to use $ACE_ROOT/bin/install_proj.sh which will only install projects that are built (instead of trying to build each one during make install).

                        • From 617734035e067f602f685433d0b2c7a71cfe692c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 29 May 2024 09:34:37 +0200 Subject: [PATCH 350/445] [githubCI] Upgrade to vcpkg 2024.05.24 --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 3956c179d9489..5c95276a4ce3b 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: a34c873a9717a888f58dc05268dea15592c2f0ff + vcpkgGitCommitId: 01f602195983451bc83e72f4214af2cbc495aa94 runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From 7d35ea74559865418c7f36bf8cb1b1d525e836e8 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 29 May 2024 13:59:58 +0200 Subject: [PATCH 351/445] Update README.md --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fa810ad82d946..6c03e204cfcc6 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@ [![Lastest release](https://img.shields.io/github/release/docgroup/ace_tao.svg)](https://github.com/DOCGroup/ACE_TAO/releases/latest) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/4089b696ab6c47ed933ca8d6a6cc6d9b)](https://www.codacy.com/gh/DOCGroup/ACE_TAO/dashboard?utm_source=github.com&utm_medium=referral&utm_content=DOCGroup/ACE_TAO&utm_campaign=Badge_Grade) -[![Linux CI](https://github.com/DOCGroup/ACE_TAO/workflows/linux/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Alinux) -[![Windows CI](https://github.com/DOCGroup/ACE_TAO/workflows/windows/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Awindows) -[![Fuzz CI](https://github.com/DOCGroup/ACE_TAO/workflows/fuzz/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Afuzz) -[![MacOSX CI](https://github.com/DOCGroup/ACE_TAO/workflows/macosx/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Amacosx) -[![face CI](https://github.com/DOCGroup/ACE_TAO/workflows/face/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Aface) +[![Linux CI](https://github.com/DOCGroup/ACE_TAO/actions/workflows/linux.yml/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Alinux) +[![Windows CI](https://github.com/DOCGroup/ACE_TAO/actions/workflows/windows.yml/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Awindows) +[![Fuzz CI](https://github.com/DOCGroup/ACE_TAO/actions/workflows/fuzz.yml/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Afuzz) +[![MacOSX CI](https://github.com/DOCGroup/ACE_TAO/actions/workflows/macosx.yml/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Amacosx) +[![Face CI](https://github.com/DOCGroup/ACE_TAO/actions/workflows/face.yml/badge.svg)](https://github.com/DOCGroup/ACE_TAO/actions?query=workflow%3Aface) [![Coverity Scan Build Status](https://scan.coverity.com/projects/1/badge.svg)](https://scan.coverity.com/projects/1) [![CodeFactor](https://www.codefactor.io/repository/github/docgroup/ace_tao/badge)](https://www.codefactor.io/repository/github/docgroup/ace_tao) - # ACE/TAO # See [Douglas C. Schmidt website](https://www.dre.vanderbilt.edu/~schmidt) for more information about ACE/TAO. The quality of ACE/TAO is monitored through our distributed [scoreboard](https://www.dre.vanderbilt.edu/scoreboard/) From f78f458a74555764370e0267ef57c4069d174ec9 Mon Sep 17 00:00:00 2001 From: Fred Hornsey Date: Sun, 9 Jun 2024 01:19:04 -0500 Subject: [PATCH 352/445] Minor Additions to IDL4 Support - Support the following IDL v4 features: - Empty structs - `octet` and `wchar` union discriminators - Allow using empty parentheses in annotation applications to workaround syntax errors when an annotation with no arguments has to be followed by a complete scoped name: `@example_annotation() ::ex::ExampleType` - Reserve the `bitfield`, `bitmask`, and `bitset` keywords in IDL v4 (these are not implemented yet) - Allow using `map` as an identifier in IDL v3 again --- TAO/NEWS | 12 + TAO/TAO_IDL/be/be_union.cpp | 2 + TAO/TAO_IDL/be/be_union_branch.cpp | 1 + .../be/be_visitor_structure/cdr_op_cs.cpp | 15 +- TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp | 3 + .../be/be_visitor_union/discriminant_ci.cpp | 1 + TAO/TAO_IDL/fe/fe_lookup.cpp | 2 +- TAO/TAO_IDL/fe/idl.ll | 90 +- TAO/TAO_IDL/fe/idl.tab.cpp | 5591 +++++++++-------- TAO/TAO_IDL/fe/idl.tab.hpp | 149 +- TAO/TAO_IDL/fe/idl.ypp | 89 +- TAO/TAO_IDL/fe/idl.yy.cpp | 1796 +++--- TAO/tao/idl_features.h | 10 +- .../IDLv4/annotations/annotation_tests.cpp | 14 +- TAO/tests/IDLv4/structs/.gitignore | 5 + TAO/tests/IDLv4/structs/IDLv4_structs.mpc | 6 + TAO/tests/IDLv4/structs/test.idl | 17 + TAO/tests/IDLv4/union_disc/.gitignore | 5 + .../IDLv4/union_disc/IDLv4_union_disc.mpc | 6 + TAO/tests/IDLv4/union_disc/test.idl | 21 + 20 files changed, 3935 insertions(+), 3900 deletions(-) create mode 100644 TAO/tests/IDLv4/structs/.gitignore create mode 100644 TAO/tests/IDLv4/structs/IDLv4_structs.mpc create mode 100644 TAO/tests/IDLv4/structs/test.idl create mode 100644 TAO/tests/IDLv4/union_disc/.gitignore create mode 100644 TAO/tests/IDLv4/union_disc/IDLv4_union_disc.mpc create mode 100644 TAO/tests/IDLv4/union_disc/test.idl diff --git a/TAO/NEWS b/TAO/NEWS index 32b437bc561ac..3973b95ff536a 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,6 +1,18 @@ USER VISIBLE CHANGES BETWEEN TAO-4.0.0 and TAO-4.0.1 ==================================================== +- TAO_IDL: + - Support the following IDL v4 features: + - Empty structs + - `octet` and `wchar` union discriminators + - Allow using empty parentheses in annotation applications to + workaround syntax errors when an annotation with no arguments has to + be followed by a complete scoped name: + `@example_annotation() ::ex::ExampleType` + - Reserve the `bitfield`, `bitmask`, and `bitset` keywords in IDL v4 + (these are not implemented yet) + - Allow using `map` as an identifier in IDL v3 again + USER VISIBLE CHANGES BETWEEN TAO-3.1.4 and TAO-4.0.0 ==================================================== diff --git a/TAO/TAO_IDL/be/be_union.cpp b/TAO/TAO_IDL/be/be_union.cpp index 01ecb59fbdddf..0ad3aaa6dfdf2 100644 --- a/TAO/TAO_IDL/be/be_union.cpp +++ b/TAO/TAO_IDL/be/be_union.cpp @@ -234,10 +234,12 @@ be_union::gen_empty_default_label () return (n_labels < 2); case AST_PredefinedType::PT_char: + case AST_PredefinedType::PT_octet: return (n_labels <= ACE_OCTET_MAX); case AST_PredefinedType::PT_short: case AST_PredefinedType::PT_ushort: + case AST_PredefinedType::PT_wchar: return (n_labels <= ACE_UINT16_MAX); case AST_PredefinedType::PT_long: diff --git a/TAO/TAO_IDL/be/be_union_branch.cpp b/TAO/TAO_IDL/be/be_union_branch.cpp index ce9ed6972d888..06a1416565cbe 100644 --- a/TAO/TAO_IDL/be/be_union_branch.cpp +++ b/TAO/TAO_IDL/be/be_union_branch.cpp @@ -121,6 +121,7 @@ be_union_branch::gen_default_label_value (TAO_OutStream *os, *os << dv.u.short_val; break; case AST_Expression::EV_ushort: + case AST_Expression::EV_wchar: *os << dv.u.ushort_val; break; case AST_Expression::EV_long: diff --git a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp index 2327f40ae93e8..67a9c202222be 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp @@ -56,7 +56,9 @@ be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) << "TAO_OutputCDR &strm," << be_nl << "const " << node->name () << " &_tao_aggregate)" << be_uidt << be_uidt_nl - << "{" << be_idt_nl; + << "{" << be_idt_nl + << "ACE_UNUSED_ARG(strm);" << be_nl + << "ACE_UNUSED_ARG(_tao_aggregate);" << be_nl; be_visitor_context new_ctx (*this->ctx_); be_visitor_cdr_op_field_decl field_decl (&new_ctx); @@ -81,7 +83,7 @@ be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) -1); } - *os << ";" << be_uidt << be_uidt_nl + *os << "true;" << be_uidt << be_uidt_nl << "}" << be_nl_2; // Set the substate as generating code for the input operator. @@ -104,7 +106,9 @@ be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) } *os << ")" << be_uidt << be_uidt_nl - << "{" << be_idt_nl; + << "{" << be_idt_nl + << "ACE_UNUSED_ARG(strm);" << be_nl + << "ACE_UNUSED_ARG(_tao_aggregate);" << be_nl; if (node->is_local ()) { @@ -135,7 +139,7 @@ be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) -1); } - *os << ";" << be_uidt << be_uidt; + *os << "true;" << be_uidt << be_uidt; } *os << be_uidt_nl << "}" << be_nl; @@ -157,8 +161,7 @@ be_visitor_structure_cdr_op_cs::post_process (be_decl *bd) { TAO_OutStream *os = this->ctx_->stream (); - if (!this->last_node (bd) - && bd->node_type () != AST_Decl::NT_enum_val) + if (bd->node_type () != AST_Decl::NT_enum_val) { switch (this->ctx_->sub_state ()) { diff --git a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp index fd251f41596b4..805a60ec55fc6 100644 --- a/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp @@ -43,6 +43,9 @@ namespace { case AST_Expression::EV_int8: tmp_suffix = "int8"; break; + case AST_Expression::EV_octet: + tmp_suffix = "octet"; + break; default: break; } diff --git a/TAO/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp b/TAO/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp index 96a77ccb6863d..3ea0e849eeab9 100644 --- a/TAO/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp @@ -160,6 +160,7 @@ be_visitor_union_discriminant_ci::visit_predefined_type ( *os << dv.u.short_val; break; case AST_Expression::EV_ushort: + case AST_Expression::EV_wchar: *os << dv.u.ushort_val; break; case AST_Expression::EV_long: diff --git a/TAO/TAO_IDL/fe/fe_lookup.cpp b/TAO/TAO_IDL/fe/fe_lookup.cpp index 3ee0a5be6493a..827538654e9da 100644 --- a/TAO/TAO_IDL/fe/fe_lookup.cpp +++ b/TAO/TAO_IDL/fe/fe_lookup.cpp @@ -7,7 +7,7 @@ unsigned int TAO_IDL_CPP_Keyword_Table::hash (const char *str, unsigned int len) { - static const unsigned char asso_values[] = + static constexpr unsigned char asso_values[] = { 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, diff --git a/TAO/TAO_IDL/fe/idl.ll b/TAO/TAO_IDL/fe/idl.ll index 4306c74383201..32a2d9b4467f1 100644 --- a/TAO/TAO_IDL/fe/idl.ll +++ b/TAO/TAO_IDL/fe/idl.ll @@ -112,6 +112,8 @@ static AST_Decl * idl_find_node (const char *); #undef ECHO #endif +#define IDL4_KEYWORD(TOKEN_NAME) if (idl_global->idl_version_ >= IDL_VERSION_4) return TOKEN_NAME; + %} /* SO we don't choke on files that use \r\n */ @@ -138,7 +140,6 @@ enum return IDL_ENUM; string return IDL_STRING; wstring return IDL_WSTRING; sequence return IDL_SEQUENCE; -map return IDL_MAP; union return IDL_UNION; fixed return IDL_FIXED; switch return IDL_SWITCH; @@ -158,79 +159,6 @@ native return IDL_NATIVE; local return IDL_LOCAL; abstract return IDL_ABSTRACT; -int8 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT8; - else - { - REJECT; - } -} -uint8 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT8; - else - { - REJECT; - } -} -int16 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT16; - else - { - REJECT; - } -} -uint16 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT16; - else - { - REJECT; - } -} -int32 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT32; - else - { - REJECT; - } -} -uint32 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT32; - else - { - REJECT; - } -} -int64 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT64; - else - { - REJECT; - } -} -uint64 { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT64; - else - { - REJECT; - } -} -map { - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_MAP; - else - { - REJECT; - } -} - custom return IDL_CUSTOM; factory return IDL_FACTORY; private return IDL_PRIVATE; @@ -282,6 +210,20 @@ oneway return IDL_ONEWAY; @annotation[^A-Za-z0-9_] return IDL_ANNOTATION_DECL; // Allow annotation names that start with "annotation" @ return IDL_ANNOTATION_SYMBOL; +int8 IDL4_KEYWORD(IDL_INT8); REJECT; +uint8 IDL4_KEYWORD(IDL_UINT8); REJECT; +int16 IDL4_KEYWORD(IDL_INT16); REJECT; +uint16 IDL4_KEYWORD(IDL_UINT16); REJECT; +int32 IDL4_KEYWORD(IDL_INT32); REJECT; +uint32 IDL4_KEYWORD(IDL_UINT32); REJECT; +int64 IDL4_KEYWORD(IDL_INT64); REJECT; +uint64 IDL4_KEYWORD(IDL_UINT64); REJECT; + +bitfield IDL4_KEYWORD(IDL_BITFIELD); REJECT; +bitmask IDL4_KEYWORD(IDL_BITMASK); REJECT; +bitset IDL4_KEYWORD(IDL_BITSET); REJECT; +map IDL4_KEYWORD(IDL_MAP); REJECT; + [a-ij-rs-zA-IJ-RS-Z_][a-ij-rs-zA-IJ-RS-Z0-9_]* { // Make sure that this identifier is not a C++ keyword. If it is, // prepend it with a _cxx_. Lookup in the perfect hash table for C++ diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index 43432b2741c45..fe70b8c71c4c9 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -215,501 +215,505 @@ enum yysymbol_kind_t YYSYMBOL_IDL_SWITCH = 22, /* IDL_SWITCH */ YYSYMBOL_IDL_ENUM = 23, /* IDL_ENUM */ YYSYMBOL_IDL_SEQUENCE = 24, /* IDL_SEQUENCE */ - YYSYMBOL_IDL_MAP = 25, /* IDL_MAP */ - YYSYMBOL_IDL_STRING = 26, /* IDL_STRING */ - YYSYMBOL_IDL_WSTRING = 27, /* IDL_WSTRING */ - YYSYMBOL_IDL_EXCEPTION = 28, /* IDL_EXCEPTION */ - YYSYMBOL_IDL_CASE = 29, /* IDL_CASE */ - YYSYMBOL_IDL_DEFAULT = 30, /* IDL_DEFAULT */ - YYSYMBOL_IDL_READONLY = 31, /* IDL_READONLY */ - YYSYMBOL_IDL_ATTRIBUTE = 32, /* IDL_ATTRIBUTE */ - YYSYMBOL_IDL_ONEWAY = 33, /* IDL_ONEWAY */ - YYSYMBOL_IDL_IDEMPOTENT = 34, /* IDL_IDEMPOTENT */ - YYSYMBOL_IDL_VOID = 35, /* IDL_VOID */ - YYSYMBOL_IDL_IN = 36, /* IDL_IN */ - YYSYMBOL_IDL_OUT = 37, /* IDL_OUT */ - YYSYMBOL_IDL_INOUT = 38, /* IDL_INOUT */ - YYSYMBOL_IDL_RAISES = 39, /* IDL_RAISES */ - YYSYMBOL_IDL_CONTEXT = 40, /* IDL_CONTEXT */ - YYSYMBOL_IDL_NATIVE = 41, /* IDL_NATIVE */ - YYSYMBOL_IDL_LOCAL = 42, /* IDL_LOCAL */ - YYSYMBOL_IDL_ABSTRACT = 43, /* IDL_ABSTRACT */ - YYSYMBOL_IDL_CUSTOM = 44, /* IDL_CUSTOM */ - YYSYMBOL_IDL_FACTORY = 45, /* IDL_FACTORY */ - YYSYMBOL_IDL_PRIVATE = 46, /* IDL_PRIVATE */ - YYSYMBOL_IDL_PUBLIC = 47, /* IDL_PUBLIC */ - YYSYMBOL_IDL_SUPPORTS = 48, /* IDL_SUPPORTS */ - YYSYMBOL_IDL_TRUNCATABLE = 49, /* IDL_TRUNCATABLE */ - YYSYMBOL_IDL_VALUETYPE = 50, /* IDL_VALUETYPE */ - YYSYMBOL_IDL_COMPONENT = 51, /* IDL_COMPONENT */ - YYSYMBOL_IDL_CONSUMES = 52, /* IDL_CONSUMES */ - YYSYMBOL_IDL_EMITS = 53, /* IDL_EMITS */ - YYSYMBOL_IDL_EVENTTYPE = 54, /* IDL_EVENTTYPE */ - YYSYMBOL_IDL_FINDER = 55, /* IDL_FINDER */ - YYSYMBOL_IDL_GETRAISES = 56, /* IDL_GETRAISES */ - YYSYMBOL_IDL_HOME = 57, /* IDL_HOME */ - YYSYMBOL_IDL_IMPORT = 58, /* IDL_IMPORT */ - YYSYMBOL_IDL_MULTIPLE = 59, /* IDL_MULTIPLE */ - YYSYMBOL_IDL_PRIMARYKEY = 60, /* IDL_PRIMARYKEY */ - YYSYMBOL_IDL_PROVIDES = 61, /* IDL_PROVIDES */ - YYSYMBOL_IDL_PUBLISHES = 62, /* IDL_PUBLISHES */ - YYSYMBOL_IDL_SETRAISES = 63, /* IDL_SETRAISES */ - YYSYMBOL_IDL_TYPEID = 64, /* IDL_TYPEID */ - YYSYMBOL_IDL_TYPEPREFIX = 65, /* IDL_TYPEPREFIX */ - YYSYMBOL_IDL_USES = 66, /* IDL_USES */ - YYSYMBOL_IDL_MANAGES = 67, /* IDL_MANAGES */ - YYSYMBOL_IDL_TYPENAME = 68, /* IDL_TYPENAME */ - YYSYMBOL_IDL_PORT = 69, /* IDL_PORT */ - YYSYMBOL_IDL_MIRRORPORT = 70, /* IDL_MIRRORPORT */ - YYSYMBOL_IDL_PORTTYPE = 71, /* IDL_PORTTYPE */ - YYSYMBOL_IDL_CONNECTOR = 72, /* IDL_CONNECTOR */ - YYSYMBOL_IDL_ALIAS = 73, /* IDL_ALIAS */ - YYSYMBOL_IDL_INTEGER_LITERAL = 74, /* IDL_INTEGER_LITERAL */ - YYSYMBOL_IDL_UINTEGER_LITERAL = 75, /* IDL_UINTEGER_LITERAL */ - YYSYMBOL_IDL_STRING_LITERAL = 76, /* IDL_STRING_LITERAL */ - YYSYMBOL_IDL_CHARACTER_LITERAL = 77, /* IDL_CHARACTER_LITERAL */ - YYSYMBOL_IDL_FLOATING_PT_LITERAL = 78, /* IDL_FLOATING_PT_LITERAL */ - YYSYMBOL_IDL_FIXED_PT_LITERAL = 79, /* IDL_FIXED_PT_LITERAL */ - YYSYMBOL_IDL_TRUETOK = 80, /* IDL_TRUETOK */ - YYSYMBOL_IDL_FALSETOK = 81, /* IDL_FALSETOK */ - YYSYMBOL_IDL_INT8 = 82, /* IDL_INT8 */ - YYSYMBOL_IDL_UINT8 = 83, /* IDL_UINT8 */ - YYSYMBOL_IDL_INT16 = 84, /* IDL_INT16 */ - YYSYMBOL_IDL_UINT16 = 85, /* IDL_UINT16 */ - YYSYMBOL_IDL_INT32 = 86, /* IDL_INT32 */ - YYSYMBOL_IDL_UINT32 = 87, /* IDL_UINT32 */ - YYSYMBOL_IDL_INT64 = 88, /* IDL_INT64 */ - YYSYMBOL_IDL_UINT64 = 89, /* IDL_UINT64 */ - YYSYMBOL_IDL_SCOPE_DELIMITOR = 90, /* IDL_SCOPE_DELIMITOR */ - YYSYMBOL_IDL_LEFT_SHIFT = 91, /* IDL_LEFT_SHIFT */ - YYSYMBOL_IDL_RIGHT_SHIFT = 92, /* IDL_RIGHT_SHIFT */ - YYSYMBOL_IDL_WCHAR_LITERAL = 93, /* IDL_WCHAR_LITERAL */ - YYSYMBOL_IDL_WSTRING_LITERAL = 94, /* IDL_WSTRING_LITERAL */ - YYSYMBOL_IDL_ANNOTATION_DECL = 95, /* IDL_ANNOTATION_DECL */ - YYSYMBOL_IDL_ANNOTATION_SYMBOL = 96, /* IDL_ANNOTATION_SYMBOL */ - YYSYMBOL_97_ = 97, /* ';' */ - YYSYMBOL_98_ = 98, /* '{' */ - YYSYMBOL_99_ = 99, /* '}' */ - YYSYMBOL_100_ = 100, /* '<' */ - YYSYMBOL_101_ = 101, /* '>' */ - YYSYMBOL_102_ = 102, /* ':' */ - YYSYMBOL_103_ = 103, /* ',' */ - YYSYMBOL_104_ = 104, /* '=' */ - YYSYMBOL_105_ = 105, /* '|' */ - YYSYMBOL_106_ = 106, /* '^' */ - YYSYMBOL_107_ = 107, /* '&' */ - YYSYMBOL_108_ = 108, /* '+' */ - YYSYMBOL_109_ = 109, /* '-' */ - YYSYMBOL_110_ = 110, /* '*' */ - YYSYMBOL_111_ = 111, /* '/' */ - YYSYMBOL_112_ = 112, /* '%' */ - YYSYMBOL_113_ = 113, /* '~' */ - YYSYMBOL_114_ = 114, /* '(' */ - YYSYMBOL_115_ = 115, /* ')' */ - YYSYMBOL_116_ = 116, /* '[' */ - YYSYMBOL_117_ = 117, /* ']' */ - YYSYMBOL_YYACCEPT = 118, /* $accept */ - YYSYMBOL_start = 119, /* start */ - YYSYMBOL_definitions = 120, /* definitions */ - YYSYMBOL_at_least_one_definition = 121, /* at_least_one_definition */ - YYSYMBOL_definition = 122, /* definition */ - YYSYMBOL_fixed_definition = 123, /* fixed_definition */ - YYSYMBOL_124_1 = 124, /* $@1 */ - YYSYMBOL_125_2 = 125, /* $@2 */ - YYSYMBOL_126_3 = 126, /* $@3 */ - YYSYMBOL_127_4 = 127, /* $@4 */ - YYSYMBOL_128_5 = 128, /* $@5 */ - YYSYMBOL_129_6 = 129, /* $@6 */ - YYSYMBOL_130_7 = 130, /* $@7 */ - YYSYMBOL_131_8 = 131, /* $@8 */ - YYSYMBOL_132_9 = 132, /* $@9 */ - YYSYMBOL_133_10 = 133, /* $@10 */ - YYSYMBOL_134_11 = 134, /* $@11 */ - YYSYMBOL_135_12 = 135, /* $@12 */ - YYSYMBOL_136_13 = 136, /* $@13 */ - YYSYMBOL_137_14 = 137, /* $@14 */ - YYSYMBOL_138_15 = 138, /* $@15 */ - YYSYMBOL_module_header = 139, /* module_header */ - YYSYMBOL_140_16 = 140, /* $@16 */ - YYSYMBOL_module = 141, /* module */ - YYSYMBOL_142_17 = 142, /* @17 */ - YYSYMBOL_143_18 = 143, /* $@18 */ - YYSYMBOL_144_19 = 144, /* $@19 */ - YYSYMBOL_template_module_header = 145, /* template_module_header */ - YYSYMBOL_template_module = 146, /* template_module */ - YYSYMBOL_147_20 = 147, /* $@20 */ - YYSYMBOL_148_21 = 148, /* $@21 */ - YYSYMBOL_149_22 = 149, /* $@22 */ - YYSYMBOL_150_23 = 150, /* $@23 */ - YYSYMBOL_151_24 = 151, /* $@24 */ - YYSYMBOL_at_least_one_tpl_definition = 152, /* at_least_one_tpl_definition */ - YYSYMBOL_tpl_definitions = 153, /* tpl_definitions */ - YYSYMBOL_tpl_definition = 154, /* tpl_definition */ - YYSYMBOL_template_module_ref = 155, /* template_module_ref */ - YYSYMBOL_156_25 = 156, /* $@25 */ - YYSYMBOL_157_26 = 157, /* $@26 */ - YYSYMBOL_template_module_inst = 158, /* template_module_inst */ - YYSYMBOL_159_27 = 159, /* $@27 */ - YYSYMBOL_160_28 = 160, /* $@28 */ - YYSYMBOL_interface_def = 161, /* interface_def */ - YYSYMBOL_interface = 162, /* interface */ - YYSYMBOL_163_29 = 163, /* $@29 */ - YYSYMBOL_164_30 = 164, /* $@30 */ - YYSYMBOL_165_31 = 165, /* $@31 */ - YYSYMBOL_interface_decl = 166, /* interface_decl */ - YYSYMBOL_167_32 = 167, /* $@32 */ - YYSYMBOL_interface_header = 168, /* interface_header */ - YYSYMBOL_inheritance_spec = 169, /* inheritance_spec */ - YYSYMBOL_170_33 = 170, /* $@33 */ - YYSYMBOL_value_def = 171, /* value_def */ - YYSYMBOL_valuetype = 172, /* valuetype */ - YYSYMBOL_value_concrete_decl = 173, /* value_concrete_decl */ - YYSYMBOL_174_34 = 174, /* @34 */ - YYSYMBOL_175_35 = 175, /* $@35 */ - YYSYMBOL_176_36 = 176, /* $@36 */ - YYSYMBOL_value_abs_decl = 177, /* value_abs_decl */ - YYSYMBOL_178_37 = 178, /* $@37 */ - YYSYMBOL_179_38 = 179, /* $@38 */ - YYSYMBOL_180_39 = 180, /* $@39 */ - YYSYMBOL_value_header = 181, /* value_header */ - YYSYMBOL_182_40 = 182, /* $@40 */ - YYSYMBOL_value_decl = 183, /* value_decl */ - YYSYMBOL_184_41 = 184, /* $@41 */ - YYSYMBOL_opt_truncatable = 185, /* opt_truncatable */ - YYSYMBOL_supports_spec = 186, /* supports_spec */ - YYSYMBOL_value_forward_decl = 187, /* value_forward_decl */ - YYSYMBOL_value_box_decl = 188, /* value_box_decl */ - YYSYMBOL_value_elements = 189, /* value_elements */ - YYSYMBOL_value_element = 190, /* value_element */ - YYSYMBOL_191_42 = 191, /* @42 */ - YYSYMBOL_visibility = 192, /* visibility */ - YYSYMBOL_state_member = 193, /* state_member */ - YYSYMBOL_exports = 194, /* exports */ - YYSYMBOL_at_least_one_export = 195, /* at_least_one_export */ - YYSYMBOL_export = 196, /* export */ - YYSYMBOL_197_43 = 197, /* $@43 */ - YYSYMBOL_198_44 = 198, /* $@44 */ - YYSYMBOL_199_45 = 199, /* $@45 */ - YYSYMBOL_200_46 = 200, /* $@46 */ - YYSYMBOL_201_47 = 201, /* $@47 */ - YYSYMBOL_202_48 = 202, /* $@48 */ - YYSYMBOL_203_49 = 203, /* $@49 */ - YYSYMBOL_204_50 = 204, /* $@50 */ - YYSYMBOL_at_least_one_scoped_name = 205, /* at_least_one_scoped_name */ - YYSYMBOL_scoped_names = 206, /* scoped_names */ - YYSYMBOL_207_51 = 207, /* $@51 */ - YYSYMBOL_scoped_name = 208, /* scoped_name */ - YYSYMBOL_209_52 = 209, /* $@52 */ - YYSYMBOL_210_53 = 210, /* $@53 */ - YYSYMBOL_id = 211, /* id */ - YYSYMBOL_defining_id = 212, /* defining_id */ - YYSYMBOL_interface_forward = 213, /* interface_forward */ - YYSYMBOL_const_dcl = 214, /* const_dcl */ - YYSYMBOL_215_54 = 215, /* $@54 */ - YYSYMBOL_216_55 = 216, /* $@55 */ - YYSYMBOL_217_56 = 217, /* $@56 */ - YYSYMBOL_218_57 = 218, /* $@57 */ - YYSYMBOL_const_type = 219, /* const_type */ - YYSYMBOL_expression = 220, /* expression */ - YYSYMBOL_const_expr = 221, /* const_expr */ - YYSYMBOL_or_expr = 222, /* or_expr */ - YYSYMBOL_xor_expr = 223, /* xor_expr */ - YYSYMBOL_and_expr = 224, /* and_expr */ - YYSYMBOL_shift_expr = 225, /* shift_expr */ - YYSYMBOL_add_expr = 226, /* add_expr */ - YYSYMBOL_mult_expr = 227, /* mult_expr */ - YYSYMBOL_unary_expr = 228, /* unary_expr */ - YYSYMBOL_primary_expr = 229, /* primary_expr */ - YYSYMBOL_literal = 230, /* literal */ - YYSYMBOL_positive_int_expr = 231, /* positive_int_expr */ - YYSYMBOL_annotation_dcl = 232, /* annotation_dcl */ - YYSYMBOL_233_58 = 233, /* $@58 */ - YYSYMBOL_annotation_body = 234, /* annotation_body */ - YYSYMBOL_annotation_statement = 235, /* annotation_statement */ - YYSYMBOL_236_59 = 236, /* $@59 */ - YYSYMBOL_annotation_member_type = 237, /* annotation_member_type */ - YYSYMBOL_annotation_member = 238, /* annotation_member */ - YYSYMBOL_annotation_member_default = 239, /* annotation_member_default */ - YYSYMBOL_at_least_one_annotation = 240, /* at_least_one_annotation */ - YYSYMBOL_annotations_maybe = 241, /* annotations_maybe */ - YYSYMBOL_annotation_appl = 242, /* annotation_appl */ - YYSYMBOL_243_60 = 243, /* @60 */ - YYSYMBOL_annotation_appl_params_maybe = 244, /* annotation_appl_params_maybe */ - YYSYMBOL_annotation_appl_params = 245, /* annotation_appl_params */ - YYSYMBOL_named_annotation_appl_params = 246, /* named_annotation_appl_params */ - YYSYMBOL_more_named_annotation_appl_params = 247, /* more_named_annotation_appl_params */ - YYSYMBOL_named_annotation_appl_param = 248, /* named_annotation_appl_param */ - YYSYMBOL_type_dcl = 249, /* type_dcl */ - YYSYMBOL_250_61 = 250, /* $@61 */ - YYSYMBOL_type_declarator = 251, /* type_declarator */ - YYSYMBOL_252_62 = 252, /* $@62 */ - YYSYMBOL_type_spec = 253, /* type_spec */ - YYSYMBOL_simple_type_spec = 254, /* simple_type_spec */ - YYSYMBOL_base_type_spec = 255, /* base_type_spec */ - YYSYMBOL_template_type_spec = 256, /* template_type_spec */ - YYSYMBOL_constructed_type_spec = 257, /* constructed_type_spec */ - YYSYMBOL_constructed_forward_type_spec = 258, /* constructed_forward_type_spec */ - YYSYMBOL_at_least_one_declarator = 259, /* at_least_one_declarator */ - YYSYMBOL_declarators = 260, /* declarators */ - YYSYMBOL_261_63 = 261, /* $@63 */ - YYSYMBOL_declarator = 262, /* declarator */ - YYSYMBOL_at_least_one_simple_declarator = 263, /* at_least_one_simple_declarator */ - YYSYMBOL_simple_declarators = 264, /* simple_declarators */ - YYSYMBOL_265_64 = 265, /* $@64 */ - YYSYMBOL_simple_declarator = 266, /* simple_declarator */ - YYSYMBOL_complex_declarator = 267, /* complex_declarator */ - YYSYMBOL_integer_type = 268, /* integer_type */ - YYSYMBOL_signed_int = 269, /* signed_int */ - YYSYMBOL_unsigned_int = 270, /* unsigned_int */ - YYSYMBOL_floating_pt_type = 271, /* floating_pt_type */ - YYSYMBOL_fixed_type = 272, /* fixed_type */ - YYSYMBOL_char_type = 273, /* char_type */ - YYSYMBOL_octet_type = 274, /* octet_type */ - YYSYMBOL_boolean_type = 275, /* boolean_type */ - YYSYMBOL_any_type = 276, /* any_type */ - YYSYMBOL_object_type = 277, /* object_type */ - YYSYMBOL_struct_decl = 278, /* struct_decl */ - YYSYMBOL_279_65 = 279, /* $@65 */ - YYSYMBOL_struct_type = 280, /* struct_type */ - YYSYMBOL_281_66 = 281, /* $@66 */ - YYSYMBOL_282_67 = 282, /* $@67 */ - YYSYMBOL_283_68 = 283, /* $@68 */ - YYSYMBOL_at_least_one_member = 284, /* at_least_one_member */ - YYSYMBOL_members = 285, /* members */ - YYSYMBOL_member = 286, /* member */ - YYSYMBOL_member_i = 287, /* member_i */ - YYSYMBOL_288_69 = 288, /* $@69 */ - YYSYMBOL_289_70 = 289, /* $@70 */ - YYSYMBOL_290_71 = 290, /* $@71 */ - YYSYMBOL_union_decl = 291, /* union_decl */ - YYSYMBOL_292_72 = 292, /* $@72 */ - YYSYMBOL_union_type = 293, /* union_type */ - YYSYMBOL_294_73 = 294, /* $@73 */ - YYSYMBOL_295_74 = 295, /* $@74 */ - YYSYMBOL_296_75 = 296, /* $@75 */ - YYSYMBOL_297_76 = 297, /* $@76 */ - YYSYMBOL_298_77 = 298, /* $@77 */ - YYSYMBOL_299_78 = 299, /* $@78 */ - YYSYMBOL_switch_type_spec = 300, /* switch_type_spec */ - YYSYMBOL_at_least_one_case_branch = 301, /* at_least_one_case_branch */ - YYSYMBOL_case_branches = 302, /* case_branches */ - YYSYMBOL_case_branch = 303, /* case_branch */ - YYSYMBOL_304_79 = 304, /* $@79 */ - YYSYMBOL_305_80 = 305, /* $@80 */ - YYSYMBOL_306_81 = 306, /* $@81 */ - YYSYMBOL_at_least_one_case_label = 307, /* at_least_one_case_label */ - YYSYMBOL_case_labels = 308, /* case_labels */ - YYSYMBOL_case_label = 309, /* case_label */ - YYSYMBOL_310_82 = 310, /* $@82 */ - YYSYMBOL_311_83 = 311, /* $@83 */ - YYSYMBOL_312_84 = 312, /* $@84 */ - YYSYMBOL_element_spec = 313, /* element_spec */ - YYSYMBOL_314_85 = 314, /* $@85 */ - YYSYMBOL_struct_forward_type = 315, /* struct_forward_type */ - YYSYMBOL_union_forward_type = 316, /* union_forward_type */ - YYSYMBOL_enum_type = 317, /* enum_type */ - YYSYMBOL_318_86 = 318, /* $@86 */ - YYSYMBOL_319_87 = 319, /* $@87 */ - YYSYMBOL_320_88 = 320, /* $@88 */ - YYSYMBOL_321_89 = 321, /* $@89 */ - YYSYMBOL_at_least_one_enumerator = 322, /* at_least_one_enumerator */ - YYSYMBOL_enumerators = 323, /* enumerators */ - YYSYMBOL_324_90 = 324, /* $@90 */ - YYSYMBOL_enumerator = 325, /* enumerator */ - YYSYMBOL_map_type_spec = 326, /* map_type_spec */ - YYSYMBOL_map_head = 327, /* map_head */ - YYSYMBOL_328_91 = 328, /* $@91 */ - YYSYMBOL_329_92 = 329, /* $@92 */ - YYSYMBOL_sequence_type_spec = 330, /* sequence_type_spec */ - YYSYMBOL_331_93 = 331, /* $@93 */ - YYSYMBOL_332_94 = 332, /* $@94 */ - YYSYMBOL_seq_head = 333, /* seq_head */ - YYSYMBOL_334_95 = 334, /* $@95 */ - YYSYMBOL_335_96 = 335, /* $@96 */ - YYSYMBOL_fixed_type_spec = 336, /* fixed_type_spec */ - YYSYMBOL_string_type_spec = 337, /* string_type_spec */ - YYSYMBOL_338_97 = 338, /* $@97 */ - YYSYMBOL_339_98 = 339, /* $@98 */ - YYSYMBOL_string_head = 340, /* string_head */ - YYSYMBOL_wstring_type_spec = 341, /* wstring_type_spec */ - YYSYMBOL_342_99 = 342, /* $@99 */ - YYSYMBOL_343_100 = 343, /* $@100 */ - YYSYMBOL_wstring_head = 344, /* wstring_head */ - YYSYMBOL_array_declarator = 345, /* array_declarator */ - YYSYMBOL_346_101 = 346, /* $@101 */ - YYSYMBOL_at_least_one_array_dim = 347, /* at_least_one_array_dim */ - YYSYMBOL_array_dims = 348, /* array_dims */ - YYSYMBOL_array_dim = 349, /* array_dim */ - YYSYMBOL_350_102 = 350, /* $@102 */ - YYSYMBOL_351_103 = 351, /* $@103 */ - YYSYMBOL_attribute = 352, /* attribute */ - YYSYMBOL_attribute_readonly = 353, /* attribute_readonly */ - YYSYMBOL_354_104 = 354, /* $@104 */ - YYSYMBOL_355_105 = 355, /* $@105 */ - YYSYMBOL_356_106 = 356, /* $@106 */ - YYSYMBOL_357_107 = 357, /* $@107 */ - YYSYMBOL_attribute_readwrite = 358, /* attribute_readwrite */ - YYSYMBOL_359_108 = 359, /* $@108 */ - YYSYMBOL_360_109 = 360, /* $@109 */ - YYSYMBOL_361_110 = 361, /* $@110 */ - YYSYMBOL_362_111 = 362, /* $@111 */ - YYSYMBOL_exception = 363, /* exception */ - YYSYMBOL_364_112 = 364, /* $@112 */ - YYSYMBOL_365_113 = 365, /* @113 */ - YYSYMBOL_366_114 = 366, /* $@114 */ - YYSYMBOL_367_115 = 367, /* $@115 */ - YYSYMBOL_operation = 368, /* operation */ - YYSYMBOL_369_116 = 369, /* $@116 */ - YYSYMBOL_370_117 = 370, /* $@117 */ - YYSYMBOL_371_118 = 371, /* $@118 */ - YYSYMBOL_372_119 = 372, /* $@119 */ - YYSYMBOL_opt_op_attribute = 373, /* opt_op_attribute */ - YYSYMBOL_op_type_spec = 374, /* op_type_spec */ - YYSYMBOL_init_decl = 375, /* init_decl */ - YYSYMBOL_376_120 = 376, /* $@120 */ - YYSYMBOL_377_121 = 377, /* @121 */ - YYSYMBOL_378_122 = 378, /* $@122 */ - YYSYMBOL_init_parameter_list = 379, /* init_parameter_list */ - YYSYMBOL_380_123 = 380, /* $@123 */ - YYSYMBOL_381_124 = 381, /* $@124 */ - YYSYMBOL_at_least_one_in_parameter = 382, /* at_least_one_in_parameter */ - YYSYMBOL_in_parameters = 383, /* in_parameters */ - YYSYMBOL_384_125 = 384, /* $@125 */ - YYSYMBOL_in_parameter = 385, /* in_parameter */ - YYSYMBOL_386_126 = 386, /* $@126 */ - YYSYMBOL_387_127 = 387, /* $@127 */ - YYSYMBOL_parameter_list = 388, /* parameter_list */ - YYSYMBOL_389_128 = 389, /* $@128 */ - YYSYMBOL_390_129 = 390, /* $@129 */ - YYSYMBOL_at_least_one_parameter = 391, /* at_least_one_parameter */ - YYSYMBOL_parameters = 392, /* parameters */ - YYSYMBOL_393_130 = 393, /* $@130 */ - YYSYMBOL_parameter = 394, /* parameter */ - YYSYMBOL_395_131 = 395, /* $@131 */ - YYSYMBOL_396_132 = 396, /* $@132 */ - YYSYMBOL_param_type_spec = 397, /* param_type_spec */ - YYSYMBOL_direction = 398, /* direction */ - YYSYMBOL_opt_raises = 399, /* opt_raises */ - YYSYMBOL_400_133 = 400, /* $@133 */ - YYSYMBOL_401_134 = 401, /* $@134 */ - YYSYMBOL_opt_getraises = 402, /* opt_getraises */ - YYSYMBOL_403_135 = 403, /* $@135 */ - YYSYMBOL_404_136 = 404, /* $@136 */ - YYSYMBOL_opt_setraises = 405, /* opt_setraises */ - YYSYMBOL_406_137 = 406, /* $@137 */ - YYSYMBOL_407_138 = 407, /* $@138 */ - YYSYMBOL_opt_context = 408, /* opt_context */ - YYSYMBOL_409_139 = 409, /* $@139 */ - YYSYMBOL_410_140 = 410, /* $@140 */ - YYSYMBOL_at_least_one_string_literal = 411, /* at_least_one_string_literal */ - YYSYMBOL_string_literals = 412, /* string_literals */ - YYSYMBOL_413_141 = 413, /* $@141 */ - YYSYMBOL_typeid_dcl = 414, /* typeid_dcl */ - YYSYMBOL_typeprefix_dcl = 415, /* typeprefix_dcl */ - YYSYMBOL_component = 416, /* component */ - YYSYMBOL_component_forward_decl = 417, /* component_forward_decl */ - YYSYMBOL_component_decl = 418, /* component_decl */ - YYSYMBOL_419_142 = 419, /* @142 */ - YYSYMBOL_420_143 = 420, /* $@143 */ - YYSYMBOL_421_144 = 421, /* $@144 */ - YYSYMBOL_component_header = 422, /* component_header */ - YYSYMBOL_423_145 = 423, /* $@145 */ - YYSYMBOL_424_146 = 424, /* $@146 */ - YYSYMBOL_component_inheritance_spec = 425, /* component_inheritance_spec */ - YYSYMBOL_426_147 = 426, /* $@147 */ - YYSYMBOL_component_exports = 427, /* component_exports */ - YYSYMBOL_component_export = 428, /* component_export */ - YYSYMBOL_429_148 = 429, /* $@148 */ - YYSYMBOL_430_149 = 430, /* $@149 */ - YYSYMBOL_431_150 = 431, /* $@150 */ - YYSYMBOL_432_151 = 432, /* $@151 */ - YYSYMBOL_433_152 = 433, /* $@152 */ - YYSYMBOL_434_153 = 434, /* $@153 */ - YYSYMBOL_435_154 = 435, /* $@154 */ - YYSYMBOL_provides_decl = 436, /* provides_decl */ - YYSYMBOL_interface_type = 437, /* interface_type */ - YYSYMBOL_uses_decl = 438, /* uses_decl */ - YYSYMBOL_uses_opt_multiple = 439, /* uses_opt_multiple */ - YYSYMBOL_opt_multiple = 440, /* opt_multiple */ - YYSYMBOL_emits_decl = 441, /* emits_decl */ - YYSYMBOL_publishes_decl = 442, /* publishes_decl */ - YYSYMBOL_consumes_decl = 443, /* consumes_decl */ - YYSYMBOL_home_decl = 444, /* home_decl */ - YYSYMBOL_445_155 = 445, /* $@155 */ - YYSYMBOL_home_header = 446, /* home_header */ - YYSYMBOL_447_156 = 447, /* $@156 */ - YYSYMBOL_448_157 = 448, /* $@157 */ - YYSYMBOL_449_158 = 449, /* $@158 */ - YYSYMBOL_450_159 = 450, /* $@159 */ - YYSYMBOL_451_160 = 451, /* $@160 */ - YYSYMBOL_452_161 = 452, /* $@161 */ - YYSYMBOL_home_inheritance_spec = 453, /* home_inheritance_spec */ - YYSYMBOL_454_162 = 454, /* $@162 */ - YYSYMBOL_primary_key_spec = 455, /* primary_key_spec */ - YYSYMBOL_home_body = 456, /* home_body */ - YYSYMBOL_457_163 = 457, /* $@163 */ - YYSYMBOL_458_164 = 458, /* $@164 */ - YYSYMBOL_home_exports = 459, /* home_exports */ - YYSYMBOL_home_export = 460, /* home_export */ - YYSYMBOL_461_165 = 461, /* $@165 */ - YYSYMBOL_462_166 = 462, /* $@166 */ - YYSYMBOL_factory_decl = 463, /* factory_decl */ - YYSYMBOL_464_167 = 464, /* $@167 */ - YYSYMBOL_465_168 = 465, /* $@168 */ - YYSYMBOL_finder_decl = 466, /* finder_decl */ - YYSYMBOL_467_169 = 467, /* $@169 */ - YYSYMBOL_468_170 = 468, /* $@170 */ - YYSYMBOL_event = 469, /* event */ - YYSYMBOL_event_forward_decl = 470, /* event_forward_decl */ - YYSYMBOL_event_concrete_forward_decl = 471, /* event_concrete_forward_decl */ - YYSYMBOL_event_abs_forward_decl = 472, /* event_abs_forward_decl */ - YYSYMBOL_event_abs_decl = 473, /* event_abs_decl */ - YYSYMBOL_474_171 = 474, /* $@171 */ - YYSYMBOL_475_172 = 475, /* $@172 */ - YYSYMBOL_476_173 = 476, /* $@173 */ - YYSYMBOL_event_abs_header = 477, /* event_abs_header */ - YYSYMBOL_event_custom_header = 478, /* event_custom_header */ - YYSYMBOL_event_plain_header = 479, /* event_plain_header */ - YYSYMBOL_event_rest_of_header = 480, /* event_rest_of_header */ - YYSYMBOL_481_174 = 481, /* $@174 */ - YYSYMBOL_event_decl = 482, /* event_decl */ - YYSYMBOL_483_175 = 483, /* @175 */ - YYSYMBOL_484_176 = 484, /* $@176 */ - YYSYMBOL_485_177 = 485, /* $@177 */ - YYSYMBOL_event_header = 486, /* event_header */ - YYSYMBOL_formal_parameter_type = 487, /* formal_parameter_type */ - YYSYMBOL_at_least_one_formal_parameter = 488, /* at_least_one_formal_parameter */ - YYSYMBOL_formal_parameters = 489, /* formal_parameters */ - YYSYMBOL_formal_parameter = 490, /* formal_parameter */ - YYSYMBOL_at_least_one_formal_parameter_name = 491, /* at_least_one_formal_parameter_name */ - YYSYMBOL_formal_parameter_names = 492, /* formal_parameter_names */ - YYSYMBOL_formal_parameter_name = 493, /* formal_parameter_name */ - YYSYMBOL_porttype_decl = 494, /* porttype_decl */ - YYSYMBOL_495_178 = 495, /* $@178 */ - YYSYMBOL_496_179 = 496, /* @179 */ - YYSYMBOL_497_180 = 497, /* $@180 */ - YYSYMBOL_498_181 = 498, /* $@181 */ - YYSYMBOL_at_least_one_port_export = 499, /* at_least_one_port_export */ - YYSYMBOL_port_exports = 500, /* port_exports */ - YYSYMBOL_port_export = 501, /* port_export */ - YYSYMBOL_502_182 = 502, /* $@182 */ - YYSYMBOL_extended_port_decl = 503, /* extended_port_decl */ - YYSYMBOL_at_least_one_actual_parameter = 504, /* at_least_one_actual_parameter */ - YYSYMBOL_actual_parameters = 505, /* actual_parameters */ - YYSYMBOL_actual_parameter = 506, /* actual_parameter */ - YYSYMBOL_connector_decl = 507, /* connector_decl */ - YYSYMBOL_connector_header = 508, /* connector_header */ - YYSYMBOL_509_183 = 509, /* $@183 */ - YYSYMBOL_510_184 = 510, /* $@184 */ - YYSYMBOL_connector_body = 511, /* connector_body */ - YYSYMBOL_512_185 = 512, /* $@185 */ - YYSYMBOL_513_186 = 513, /* $@186 */ - YYSYMBOL_connector_exports = 514, /* connector_exports */ - YYSYMBOL_connector_export = 515, /* connector_export */ - YYSYMBOL_516_187 = 516, /* $@187 */ - YYSYMBOL_517_188 = 517, /* $@188 */ - YYSYMBOL_518_189 = 518, /* $@189 */ - YYSYMBOL_519_190 = 519 /* $@190 */ + YYSYMBOL_IDL_STRING = 25, /* IDL_STRING */ + YYSYMBOL_IDL_WSTRING = 26, /* IDL_WSTRING */ + YYSYMBOL_IDL_EXCEPTION = 27, /* IDL_EXCEPTION */ + YYSYMBOL_IDL_CASE = 28, /* IDL_CASE */ + YYSYMBOL_IDL_DEFAULT = 29, /* IDL_DEFAULT */ + YYSYMBOL_IDL_READONLY = 30, /* IDL_READONLY */ + YYSYMBOL_IDL_ATTRIBUTE = 31, /* IDL_ATTRIBUTE */ + YYSYMBOL_IDL_ONEWAY = 32, /* IDL_ONEWAY */ + YYSYMBOL_IDL_IDEMPOTENT = 33, /* IDL_IDEMPOTENT */ + YYSYMBOL_IDL_VOID = 34, /* IDL_VOID */ + YYSYMBOL_IDL_IN = 35, /* IDL_IN */ + YYSYMBOL_IDL_OUT = 36, /* IDL_OUT */ + YYSYMBOL_IDL_INOUT = 37, /* IDL_INOUT */ + YYSYMBOL_IDL_RAISES = 38, /* IDL_RAISES */ + YYSYMBOL_IDL_CONTEXT = 39, /* IDL_CONTEXT */ + YYSYMBOL_IDL_NATIVE = 40, /* IDL_NATIVE */ + YYSYMBOL_IDL_LOCAL = 41, /* IDL_LOCAL */ + YYSYMBOL_IDL_ABSTRACT = 42, /* IDL_ABSTRACT */ + YYSYMBOL_IDL_CUSTOM = 43, /* IDL_CUSTOM */ + YYSYMBOL_IDL_FACTORY = 44, /* IDL_FACTORY */ + YYSYMBOL_IDL_PRIVATE = 45, /* IDL_PRIVATE */ + YYSYMBOL_IDL_PUBLIC = 46, /* IDL_PUBLIC */ + YYSYMBOL_IDL_SUPPORTS = 47, /* IDL_SUPPORTS */ + YYSYMBOL_IDL_TRUNCATABLE = 48, /* IDL_TRUNCATABLE */ + YYSYMBOL_IDL_VALUETYPE = 49, /* IDL_VALUETYPE */ + YYSYMBOL_IDL_COMPONENT = 50, /* IDL_COMPONENT */ + YYSYMBOL_IDL_CONSUMES = 51, /* IDL_CONSUMES */ + YYSYMBOL_IDL_EMITS = 52, /* IDL_EMITS */ + YYSYMBOL_IDL_EVENTTYPE = 53, /* IDL_EVENTTYPE */ + YYSYMBOL_IDL_FINDER = 54, /* IDL_FINDER */ + YYSYMBOL_IDL_GETRAISES = 55, /* IDL_GETRAISES */ + YYSYMBOL_IDL_HOME = 56, /* IDL_HOME */ + YYSYMBOL_IDL_IMPORT = 57, /* IDL_IMPORT */ + YYSYMBOL_IDL_MULTIPLE = 58, /* IDL_MULTIPLE */ + YYSYMBOL_IDL_PRIMARYKEY = 59, /* IDL_PRIMARYKEY */ + YYSYMBOL_IDL_PROVIDES = 60, /* IDL_PROVIDES */ + YYSYMBOL_IDL_PUBLISHES = 61, /* IDL_PUBLISHES */ + YYSYMBOL_IDL_SETRAISES = 62, /* IDL_SETRAISES */ + YYSYMBOL_IDL_TYPEID = 63, /* IDL_TYPEID */ + YYSYMBOL_IDL_TYPEPREFIX = 64, /* IDL_TYPEPREFIX */ + YYSYMBOL_IDL_USES = 65, /* IDL_USES */ + YYSYMBOL_IDL_MANAGES = 66, /* IDL_MANAGES */ + YYSYMBOL_IDL_TYPENAME = 67, /* IDL_TYPENAME */ + YYSYMBOL_IDL_PORT = 68, /* IDL_PORT */ + YYSYMBOL_IDL_MIRRORPORT = 69, /* IDL_MIRRORPORT */ + YYSYMBOL_IDL_PORTTYPE = 70, /* IDL_PORTTYPE */ + YYSYMBOL_IDL_CONNECTOR = 71, /* IDL_CONNECTOR */ + YYSYMBOL_IDL_ALIAS = 72, /* IDL_ALIAS */ + YYSYMBOL_IDL_INTEGER_LITERAL = 73, /* IDL_INTEGER_LITERAL */ + YYSYMBOL_IDL_UINTEGER_LITERAL = 74, /* IDL_UINTEGER_LITERAL */ + YYSYMBOL_IDL_STRING_LITERAL = 75, /* IDL_STRING_LITERAL */ + YYSYMBOL_IDL_CHARACTER_LITERAL = 76, /* IDL_CHARACTER_LITERAL */ + YYSYMBOL_IDL_FLOATING_PT_LITERAL = 77, /* IDL_FLOATING_PT_LITERAL */ + YYSYMBOL_IDL_FIXED_PT_LITERAL = 78, /* IDL_FIXED_PT_LITERAL */ + YYSYMBOL_IDL_TRUETOK = 79, /* IDL_TRUETOK */ + YYSYMBOL_IDL_FALSETOK = 80, /* IDL_FALSETOK */ + YYSYMBOL_IDL_INT8 = 81, /* IDL_INT8 */ + YYSYMBOL_IDL_UINT8 = 82, /* IDL_UINT8 */ + YYSYMBOL_IDL_INT16 = 83, /* IDL_INT16 */ + YYSYMBOL_IDL_UINT16 = 84, /* IDL_UINT16 */ + YYSYMBOL_IDL_INT32 = 85, /* IDL_INT32 */ + YYSYMBOL_IDL_UINT32 = 86, /* IDL_UINT32 */ + YYSYMBOL_IDL_INT64 = 87, /* IDL_INT64 */ + YYSYMBOL_IDL_UINT64 = 88, /* IDL_UINT64 */ + YYSYMBOL_IDL_SCOPE_DELIMITOR = 89, /* IDL_SCOPE_DELIMITOR */ + YYSYMBOL_IDL_LEFT_SHIFT = 90, /* IDL_LEFT_SHIFT */ + YYSYMBOL_IDL_RIGHT_SHIFT = 91, /* IDL_RIGHT_SHIFT */ + YYSYMBOL_IDL_WCHAR_LITERAL = 92, /* IDL_WCHAR_LITERAL */ + YYSYMBOL_IDL_WSTRING_LITERAL = 93, /* IDL_WSTRING_LITERAL */ + YYSYMBOL_IDL_ANNOTATION_DECL = 94, /* IDL_ANNOTATION_DECL */ + YYSYMBOL_IDL_ANNOTATION_SYMBOL = 95, /* IDL_ANNOTATION_SYMBOL */ + YYSYMBOL_IDL_BITFIELD = 96, /* IDL_BITFIELD */ + YYSYMBOL_IDL_BITMASK = 97, /* IDL_BITMASK */ + YYSYMBOL_IDL_BITSET = 98, /* IDL_BITSET */ + YYSYMBOL_IDL_MAP = 99, /* IDL_MAP */ + YYSYMBOL_100_ = 100, /* ';' */ + YYSYMBOL_101_ = 101, /* '{' */ + YYSYMBOL_102_ = 102, /* '}' */ + YYSYMBOL_103_ = 103, /* '<' */ + YYSYMBOL_104_ = 104, /* '>' */ + YYSYMBOL_105_ = 105, /* ':' */ + YYSYMBOL_106_ = 106, /* ',' */ + YYSYMBOL_107_ = 107, /* '=' */ + YYSYMBOL_108_ = 108, /* '|' */ + YYSYMBOL_109_ = 109, /* '^' */ + YYSYMBOL_110_ = 110, /* '&' */ + YYSYMBOL_111_ = 111, /* '+' */ + YYSYMBOL_112_ = 112, /* '-' */ + YYSYMBOL_113_ = 113, /* '*' */ + YYSYMBOL_114_ = 114, /* '/' */ + YYSYMBOL_115_ = 115, /* '%' */ + YYSYMBOL_116_ = 116, /* '~' */ + YYSYMBOL_117_ = 117, /* '(' */ + YYSYMBOL_118_ = 118, /* ')' */ + YYSYMBOL_119_ = 119, /* '[' */ + YYSYMBOL_120_ = 120, /* ']' */ + YYSYMBOL_YYACCEPT = 121, /* $accept */ + YYSYMBOL_start = 122, /* start */ + YYSYMBOL_definitions = 123, /* definitions */ + YYSYMBOL_at_least_one_definition = 124, /* at_least_one_definition */ + YYSYMBOL_definition = 125, /* definition */ + YYSYMBOL_fixed_definition = 126, /* fixed_definition */ + YYSYMBOL_127_1 = 127, /* $@1 */ + YYSYMBOL_128_2 = 128, /* $@2 */ + YYSYMBOL_129_3 = 129, /* $@3 */ + YYSYMBOL_130_4 = 130, /* $@4 */ + YYSYMBOL_131_5 = 131, /* $@5 */ + YYSYMBOL_132_6 = 132, /* $@6 */ + YYSYMBOL_133_7 = 133, /* $@7 */ + YYSYMBOL_134_8 = 134, /* $@8 */ + YYSYMBOL_135_9 = 135, /* $@9 */ + YYSYMBOL_136_10 = 136, /* $@10 */ + YYSYMBOL_137_11 = 137, /* $@11 */ + YYSYMBOL_138_12 = 138, /* $@12 */ + YYSYMBOL_139_13 = 139, /* $@13 */ + YYSYMBOL_140_14 = 140, /* $@14 */ + YYSYMBOL_141_15 = 141, /* $@15 */ + YYSYMBOL_module_header = 142, /* module_header */ + YYSYMBOL_143_16 = 143, /* $@16 */ + YYSYMBOL_module = 144, /* module */ + YYSYMBOL_145_17 = 145, /* @17 */ + YYSYMBOL_146_18 = 146, /* $@18 */ + YYSYMBOL_147_19 = 147, /* $@19 */ + YYSYMBOL_template_module_header = 148, /* template_module_header */ + YYSYMBOL_template_module = 149, /* template_module */ + YYSYMBOL_150_20 = 150, /* $@20 */ + YYSYMBOL_151_21 = 151, /* $@21 */ + YYSYMBOL_152_22 = 152, /* $@22 */ + YYSYMBOL_153_23 = 153, /* $@23 */ + YYSYMBOL_154_24 = 154, /* $@24 */ + YYSYMBOL_at_least_one_tpl_definition = 155, /* at_least_one_tpl_definition */ + YYSYMBOL_tpl_definitions = 156, /* tpl_definitions */ + YYSYMBOL_tpl_definition = 157, /* tpl_definition */ + YYSYMBOL_template_module_ref = 158, /* template_module_ref */ + YYSYMBOL_159_25 = 159, /* $@25 */ + YYSYMBOL_160_26 = 160, /* $@26 */ + YYSYMBOL_template_module_inst = 161, /* template_module_inst */ + YYSYMBOL_162_27 = 162, /* $@27 */ + YYSYMBOL_163_28 = 163, /* $@28 */ + YYSYMBOL_interface_def = 164, /* interface_def */ + YYSYMBOL_interface = 165, /* interface */ + YYSYMBOL_166_29 = 166, /* $@29 */ + YYSYMBOL_167_30 = 167, /* $@30 */ + YYSYMBOL_168_31 = 168, /* $@31 */ + YYSYMBOL_interface_decl = 169, /* interface_decl */ + YYSYMBOL_170_32 = 170, /* $@32 */ + YYSYMBOL_interface_header = 171, /* interface_header */ + YYSYMBOL_inheritance_spec = 172, /* inheritance_spec */ + YYSYMBOL_173_33 = 173, /* $@33 */ + YYSYMBOL_value_def = 174, /* value_def */ + YYSYMBOL_valuetype = 175, /* valuetype */ + YYSYMBOL_value_concrete_decl = 176, /* value_concrete_decl */ + YYSYMBOL_177_34 = 177, /* @34 */ + YYSYMBOL_178_35 = 178, /* $@35 */ + YYSYMBOL_179_36 = 179, /* $@36 */ + YYSYMBOL_value_abs_decl = 180, /* value_abs_decl */ + YYSYMBOL_181_37 = 181, /* $@37 */ + YYSYMBOL_182_38 = 182, /* $@38 */ + YYSYMBOL_183_39 = 183, /* $@39 */ + YYSYMBOL_value_header = 184, /* value_header */ + YYSYMBOL_185_40 = 185, /* $@40 */ + YYSYMBOL_value_decl = 186, /* value_decl */ + YYSYMBOL_187_41 = 187, /* $@41 */ + YYSYMBOL_opt_truncatable = 188, /* opt_truncatable */ + YYSYMBOL_supports_spec = 189, /* supports_spec */ + YYSYMBOL_value_forward_decl = 190, /* value_forward_decl */ + YYSYMBOL_value_box_decl = 191, /* value_box_decl */ + YYSYMBOL_value_elements = 192, /* value_elements */ + YYSYMBOL_value_element = 193, /* value_element */ + YYSYMBOL_194_42 = 194, /* @42 */ + YYSYMBOL_visibility = 195, /* visibility */ + YYSYMBOL_state_member = 196, /* state_member */ + YYSYMBOL_exports = 197, /* exports */ + YYSYMBOL_at_least_one_export = 198, /* at_least_one_export */ + YYSYMBOL_export = 199, /* export */ + YYSYMBOL_200_43 = 200, /* $@43 */ + YYSYMBOL_201_44 = 201, /* $@44 */ + YYSYMBOL_202_45 = 202, /* $@45 */ + YYSYMBOL_203_46 = 203, /* $@46 */ + YYSYMBOL_204_47 = 204, /* $@47 */ + YYSYMBOL_205_48 = 205, /* $@48 */ + YYSYMBOL_206_49 = 206, /* $@49 */ + YYSYMBOL_207_50 = 207, /* $@50 */ + YYSYMBOL_at_least_one_scoped_name = 208, /* at_least_one_scoped_name */ + YYSYMBOL_scoped_names = 209, /* scoped_names */ + YYSYMBOL_210_51 = 210, /* $@51 */ + YYSYMBOL_scoped_name = 211, /* scoped_name */ + YYSYMBOL_212_52 = 212, /* $@52 */ + YYSYMBOL_213_53 = 213, /* $@53 */ + YYSYMBOL_id = 214, /* id */ + YYSYMBOL_defining_id = 215, /* defining_id */ + YYSYMBOL_interface_forward = 216, /* interface_forward */ + YYSYMBOL_const_dcl = 217, /* const_dcl */ + YYSYMBOL_218_54 = 218, /* $@54 */ + YYSYMBOL_219_55 = 219, /* $@55 */ + YYSYMBOL_220_56 = 220, /* $@56 */ + YYSYMBOL_221_57 = 221, /* $@57 */ + YYSYMBOL_const_type = 222, /* const_type */ + YYSYMBOL_expression = 223, /* expression */ + YYSYMBOL_const_expr = 224, /* const_expr */ + YYSYMBOL_or_expr = 225, /* or_expr */ + YYSYMBOL_xor_expr = 226, /* xor_expr */ + YYSYMBOL_and_expr = 227, /* and_expr */ + YYSYMBOL_shift_expr = 228, /* shift_expr */ + YYSYMBOL_add_expr = 229, /* add_expr */ + YYSYMBOL_mult_expr = 230, /* mult_expr */ + YYSYMBOL_unary_expr = 231, /* unary_expr */ + YYSYMBOL_primary_expr = 232, /* primary_expr */ + YYSYMBOL_literal = 233, /* literal */ + YYSYMBOL_positive_int_expr = 234, /* positive_int_expr */ + YYSYMBOL_annotation_dcl = 235, /* annotation_dcl */ + YYSYMBOL_236_58 = 236, /* $@58 */ + YYSYMBOL_annotation_body = 237, /* annotation_body */ + YYSYMBOL_annotation_statement = 238, /* annotation_statement */ + YYSYMBOL_239_59 = 239, /* $@59 */ + YYSYMBOL_annotation_member_type = 240, /* annotation_member_type */ + YYSYMBOL_annotation_member = 241, /* annotation_member */ + YYSYMBOL_annotation_member_default = 242, /* annotation_member_default */ + YYSYMBOL_at_least_one_annotation = 243, /* at_least_one_annotation */ + YYSYMBOL_annotations_maybe = 244, /* annotations_maybe */ + YYSYMBOL_annotation_appl = 245, /* annotation_appl */ + YYSYMBOL_246_60 = 246, /* @60 */ + YYSYMBOL_annotation_appl_params_maybe = 247, /* annotation_appl_params_maybe */ + YYSYMBOL_annotation_appl_params = 248, /* annotation_appl_params */ + YYSYMBOL_named_annotation_appl_params = 249, /* named_annotation_appl_params */ + YYSYMBOL_more_named_annotation_appl_params = 250, /* more_named_annotation_appl_params */ + YYSYMBOL_named_annotation_appl_param = 251, /* named_annotation_appl_param */ + YYSYMBOL_type_dcl = 252, /* type_dcl */ + YYSYMBOL_253_61 = 253, /* $@61 */ + YYSYMBOL_type_declarator = 254, /* type_declarator */ + YYSYMBOL_255_62 = 255, /* $@62 */ + YYSYMBOL_type_spec = 256, /* type_spec */ + YYSYMBOL_simple_type_spec = 257, /* simple_type_spec */ + YYSYMBOL_base_type_spec = 258, /* base_type_spec */ + YYSYMBOL_template_type_spec = 259, /* template_type_spec */ + YYSYMBOL_constructed_type_spec = 260, /* constructed_type_spec */ + YYSYMBOL_constructed_forward_type_spec = 261, /* constructed_forward_type_spec */ + YYSYMBOL_at_least_one_declarator = 262, /* at_least_one_declarator */ + YYSYMBOL_declarators = 263, /* declarators */ + YYSYMBOL_264_63 = 264, /* $@63 */ + YYSYMBOL_declarator = 265, /* declarator */ + YYSYMBOL_at_least_one_simple_declarator = 266, /* at_least_one_simple_declarator */ + YYSYMBOL_simple_declarators = 267, /* simple_declarators */ + YYSYMBOL_268_64 = 268, /* $@64 */ + YYSYMBOL_simple_declarator = 269, /* simple_declarator */ + YYSYMBOL_complex_declarator = 270, /* complex_declarator */ + YYSYMBOL_integer_type = 271, /* integer_type */ + YYSYMBOL_signed_int = 272, /* signed_int */ + YYSYMBOL_unsigned_int = 273, /* unsigned_int */ + YYSYMBOL_floating_pt_type = 274, /* floating_pt_type */ + YYSYMBOL_fixed_type = 275, /* fixed_type */ + YYSYMBOL_char_type = 276, /* char_type */ + YYSYMBOL_octet_type = 277, /* octet_type */ + YYSYMBOL_boolean_type = 278, /* boolean_type */ + YYSYMBOL_any_type = 279, /* any_type */ + YYSYMBOL_object_type = 280, /* object_type */ + YYSYMBOL_struct_decl = 281, /* struct_decl */ + YYSYMBOL_282_65 = 282, /* $@65 */ + YYSYMBOL_struct_type = 283, /* struct_type */ + YYSYMBOL_284_66 = 284, /* $@66 */ + YYSYMBOL_285_67 = 285, /* $@67 */ + YYSYMBOL_struct_body = 286, /* struct_body */ + YYSYMBOL_struct_body_with_members = 287, /* struct_body_with_members */ + YYSYMBOL_288_68 = 288, /* $@68 */ + YYSYMBOL_members = 289, /* members */ + YYSYMBOL_member = 290, /* member */ + YYSYMBOL_member_i = 291, /* member_i */ + YYSYMBOL_292_69 = 292, /* $@69 */ + YYSYMBOL_293_70 = 293, /* $@70 */ + YYSYMBOL_294_71 = 294, /* $@71 */ + YYSYMBOL_union_decl = 295, /* union_decl */ + YYSYMBOL_296_72 = 296, /* $@72 */ + YYSYMBOL_union_type = 297, /* union_type */ + YYSYMBOL_298_73 = 298, /* $@73 */ + YYSYMBOL_299_74 = 299, /* $@74 */ + YYSYMBOL_300_75 = 300, /* $@75 */ + YYSYMBOL_301_76 = 301, /* $@76 */ + YYSYMBOL_302_77 = 302, /* $@77 */ + YYSYMBOL_303_78 = 303, /* $@78 */ + YYSYMBOL_switch_type_spec = 304, /* switch_type_spec */ + YYSYMBOL_at_least_one_case_branch = 305, /* at_least_one_case_branch */ + YYSYMBOL_case_branches = 306, /* case_branches */ + YYSYMBOL_case_branch = 307, /* case_branch */ + YYSYMBOL_308_79 = 308, /* $@79 */ + YYSYMBOL_309_80 = 309, /* $@80 */ + YYSYMBOL_310_81 = 310, /* $@81 */ + YYSYMBOL_at_least_one_case_label = 311, /* at_least_one_case_label */ + YYSYMBOL_case_labels = 312, /* case_labels */ + YYSYMBOL_case_label = 313, /* case_label */ + YYSYMBOL_314_82 = 314, /* $@82 */ + YYSYMBOL_315_83 = 315, /* $@83 */ + YYSYMBOL_316_84 = 316, /* $@84 */ + YYSYMBOL_element_spec = 317, /* element_spec */ + YYSYMBOL_318_85 = 318, /* $@85 */ + YYSYMBOL_struct_forward_type = 319, /* struct_forward_type */ + YYSYMBOL_union_forward_type = 320, /* union_forward_type */ + YYSYMBOL_enum_type = 321, /* enum_type */ + YYSYMBOL_322_86 = 322, /* $@86 */ + YYSYMBOL_323_87 = 323, /* $@87 */ + YYSYMBOL_324_88 = 324, /* $@88 */ + YYSYMBOL_325_89 = 325, /* $@89 */ + YYSYMBOL_at_least_one_enumerator = 326, /* at_least_one_enumerator */ + YYSYMBOL_enumerators = 327, /* enumerators */ + YYSYMBOL_328_90 = 328, /* $@90 */ + YYSYMBOL_enumerator = 329, /* enumerator */ + YYSYMBOL_map_type_spec = 330, /* map_type_spec */ + YYSYMBOL_map_head = 331, /* map_head */ + YYSYMBOL_332_91 = 332, /* $@91 */ + YYSYMBOL_333_92 = 333, /* $@92 */ + YYSYMBOL_sequence_type_spec = 334, /* sequence_type_spec */ + YYSYMBOL_335_93 = 335, /* $@93 */ + YYSYMBOL_336_94 = 336, /* $@94 */ + YYSYMBOL_seq_head = 337, /* seq_head */ + YYSYMBOL_338_95 = 338, /* $@95 */ + YYSYMBOL_339_96 = 339, /* $@96 */ + YYSYMBOL_fixed_type_spec = 340, /* fixed_type_spec */ + YYSYMBOL_string_type_spec = 341, /* string_type_spec */ + YYSYMBOL_342_97 = 342, /* $@97 */ + YYSYMBOL_343_98 = 343, /* $@98 */ + YYSYMBOL_string_head = 344, /* string_head */ + YYSYMBOL_wstring_type_spec = 345, /* wstring_type_spec */ + YYSYMBOL_346_99 = 346, /* $@99 */ + YYSYMBOL_347_100 = 347, /* $@100 */ + YYSYMBOL_wstring_head = 348, /* wstring_head */ + YYSYMBOL_array_declarator = 349, /* array_declarator */ + YYSYMBOL_350_101 = 350, /* $@101 */ + YYSYMBOL_at_least_one_array_dim = 351, /* at_least_one_array_dim */ + YYSYMBOL_array_dims = 352, /* array_dims */ + YYSYMBOL_array_dim = 353, /* array_dim */ + YYSYMBOL_354_102 = 354, /* $@102 */ + YYSYMBOL_355_103 = 355, /* $@103 */ + YYSYMBOL_attribute = 356, /* attribute */ + YYSYMBOL_attribute_readonly = 357, /* attribute_readonly */ + YYSYMBOL_358_104 = 358, /* $@104 */ + YYSYMBOL_359_105 = 359, /* $@105 */ + YYSYMBOL_360_106 = 360, /* $@106 */ + YYSYMBOL_361_107 = 361, /* $@107 */ + YYSYMBOL_attribute_readwrite = 362, /* attribute_readwrite */ + YYSYMBOL_363_108 = 363, /* $@108 */ + YYSYMBOL_364_109 = 364, /* $@109 */ + YYSYMBOL_365_110 = 365, /* $@110 */ + YYSYMBOL_366_111 = 366, /* $@111 */ + YYSYMBOL_exception = 367, /* exception */ + YYSYMBOL_368_112 = 368, /* $@112 */ + YYSYMBOL_369_113 = 369, /* @113 */ + YYSYMBOL_370_114 = 370, /* $@114 */ + YYSYMBOL_371_115 = 371, /* $@115 */ + YYSYMBOL_operation = 372, /* operation */ + YYSYMBOL_373_116 = 373, /* $@116 */ + YYSYMBOL_374_117 = 374, /* $@117 */ + YYSYMBOL_375_118 = 375, /* $@118 */ + YYSYMBOL_376_119 = 376, /* $@119 */ + YYSYMBOL_opt_op_attribute = 377, /* opt_op_attribute */ + YYSYMBOL_op_type_spec = 378, /* op_type_spec */ + YYSYMBOL_init_decl = 379, /* init_decl */ + YYSYMBOL_380_120 = 380, /* $@120 */ + YYSYMBOL_381_121 = 381, /* @121 */ + YYSYMBOL_382_122 = 382, /* $@122 */ + YYSYMBOL_init_parameter_list = 383, /* init_parameter_list */ + YYSYMBOL_384_123 = 384, /* $@123 */ + YYSYMBOL_385_124 = 385, /* $@124 */ + YYSYMBOL_at_least_one_in_parameter = 386, /* at_least_one_in_parameter */ + YYSYMBOL_in_parameters = 387, /* in_parameters */ + YYSYMBOL_388_125 = 388, /* $@125 */ + YYSYMBOL_in_parameter = 389, /* in_parameter */ + YYSYMBOL_390_126 = 390, /* $@126 */ + YYSYMBOL_391_127 = 391, /* $@127 */ + YYSYMBOL_parameter_list = 392, /* parameter_list */ + YYSYMBOL_393_128 = 393, /* $@128 */ + YYSYMBOL_394_129 = 394, /* $@129 */ + YYSYMBOL_at_least_one_parameter = 395, /* at_least_one_parameter */ + YYSYMBOL_parameters = 396, /* parameters */ + YYSYMBOL_397_130 = 397, /* $@130 */ + YYSYMBOL_parameter = 398, /* parameter */ + YYSYMBOL_399_131 = 399, /* $@131 */ + YYSYMBOL_400_132 = 400, /* $@132 */ + YYSYMBOL_param_type_spec = 401, /* param_type_spec */ + YYSYMBOL_direction = 402, /* direction */ + YYSYMBOL_opt_raises = 403, /* opt_raises */ + YYSYMBOL_404_133 = 404, /* $@133 */ + YYSYMBOL_405_134 = 405, /* $@134 */ + YYSYMBOL_opt_getraises = 406, /* opt_getraises */ + YYSYMBOL_407_135 = 407, /* $@135 */ + YYSYMBOL_408_136 = 408, /* $@136 */ + YYSYMBOL_opt_setraises = 409, /* opt_setraises */ + YYSYMBOL_410_137 = 410, /* $@137 */ + YYSYMBOL_411_138 = 411, /* $@138 */ + YYSYMBOL_opt_context = 412, /* opt_context */ + YYSYMBOL_413_139 = 413, /* $@139 */ + YYSYMBOL_414_140 = 414, /* $@140 */ + YYSYMBOL_at_least_one_string_literal = 415, /* at_least_one_string_literal */ + YYSYMBOL_string_literals = 416, /* string_literals */ + YYSYMBOL_417_141 = 417, /* $@141 */ + YYSYMBOL_typeid_dcl = 418, /* typeid_dcl */ + YYSYMBOL_typeprefix_dcl = 419, /* typeprefix_dcl */ + YYSYMBOL_component = 420, /* component */ + YYSYMBOL_component_forward_decl = 421, /* component_forward_decl */ + YYSYMBOL_component_decl = 422, /* component_decl */ + YYSYMBOL_423_142 = 423, /* @142 */ + YYSYMBOL_424_143 = 424, /* $@143 */ + YYSYMBOL_425_144 = 425, /* $@144 */ + YYSYMBOL_component_header = 426, /* component_header */ + YYSYMBOL_427_145 = 427, /* $@145 */ + YYSYMBOL_428_146 = 428, /* $@146 */ + YYSYMBOL_component_inheritance_spec = 429, /* component_inheritance_spec */ + YYSYMBOL_430_147 = 430, /* $@147 */ + YYSYMBOL_component_exports = 431, /* component_exports */ + YYSYMBOL_component_export = 432, /* component_export */ + YYSYMBOL_433_148 = 433, /* $@148 */ + YYSYMBOL_434_149 = 434, /* $@149 */ + YYSYMBOL_435_150 = 435, /* $@150 */ + YYSYMBOL_436_151 = 436, /* $@151 */ + YYSYMBOL_437_152 = 437, /* $@152 */ + YYSYMBOL_438_153 = 438, /* $@153 */ + YYSYMBOL_439_154 = 439, /* $@154 */ + YYSYMBOL_provides_decl = 440, /* provides_decl */ + YYSYMBOL_interface_type = 441, /* interface_type */ + YYSYMBOL_uses_decl = 442, /* uses_decl */ + YYSYMBOL_uses_opt_multiple = 443, /* uses_opt_multiple */ + YYSYMBOL_opt_multiple = 444, /* opt_multiple */ + YYSYMBOL_emits_decl = 445, /* emits_decl */ + YYSYMBOL_publishes_decl = 446, /* publishes_decl */ + YYSYMBOL_consumes_decl = 447, /* consumes_decl */ + YYSYMBOL_home_decl = 448, /* home_decl */ + YYSYMBOL_449_155 = 449, /* $@155 */ + YYSYMBOL_home_header = 450, /* home_header */ + YYSYMBOL_451_156 = 451, /* $@156 */ + YYSYMBOL_452_157 = 452, /* $@157 */ + YYSYMBOL_453_158 = 453, /* $@158 */ + YYSYMBOL_454_159 = 454, /* $@159 */ + YYSYMBOL_455_160 = 455, /* $@160 */ + YYSYMBOL_456_161 = 456, /* $@161 */ + YYSYMBOL_home_inheritance_spec = 457, /* home_inheritance_spec */ + YYSYMBOL_458_162 = 458, /* $@162 */ + YYSYMBOL_primary_key_spec = 459, /* primary_key_spec */ + YYSYMBOL_home_body = 460, /* home_body */ + YYSYMBOL_461_163 = 461, /* $@163 */ + YYSYMBOL_462_164 = 462, /* $@164 */ + YYSYMBOL_home_exports = 463, /* home_exports */ + YYSYMBOL_home_export = 464, /* home_export */ + YYSYMBOL_465_165 = 465, /* $@165 */ + YYSYMBOL_466_166 = 466, /* $@166 */ + YYSYMBOL_factory_decl = 467, /* factory_decl */ + YYSYMBOL_468_167 = 468, /* $@167 */ + YYSYMBOL_469_168 = 469, /* $@168 */ + YYSYMBOL_finder_decl = 470, /* finder_decl */ + YYSYMBOL_471_169 = 471, /* $@169 */ + YYSYMBOL_472_170 = 472, /* $@170 */ + YYSYMBOL_event = 473, /* event */ + YYSYMBOL_event_forward_decl = 474, /* event_forward_decl */ + YYSYMBOL_event_concrete_forward_decl = 475, /* event_concrete_forward_decl */ + YYSYMBOL_event_abs_forward_decl = 476, /* event_abs_forward_decl */ + YYSYMBOL_event_abs_decl = 477, /* event_abs_decl */ + YYSYMBOL_478_171 = 478, /* $@171 */ + YYSYMBOL_479_172 = 479, /* $@172 */ + YYSYMBOL_480_173 = 480, /* $@173 */ + YYSYMBOL_event_abs_header = 481, /* event_abs_header */ + YYSYMBOL_event_custom_header = 482, /* event_custom_header */ + YYSYMBOL_event_plain_header = 483, /* event_plain_header */ + YYSYMBOL_event_rest_of_header = 484, /* event_rest_of_header */ + YYSYMBOL_485_174 = 485, /* $@174 */ + YYSYMBOL_event_decl = 486, /* event_decl */ + YYSYMBOL_487_175 = 487, /* @175 */ + YYSYMBOL_488_176 = 488, /* $@176 */ + YYSYMBOL_489_177 = 489, /* $@177 */ + YYSYMBOL_event_header = 490, /* event_header */ + YYSYMBOL_formal_parameter_type = 491, /* formal_parameter_type */ + YYSYMBOL_at_least_one_formal_parameter = 492, /* at_least_one_formal_parameter */ + YYSYMBOL_formal_parameters = 493, /* formal_parameters */ + YYSYMBOL_formal_parameter = 494, /* formal_parameter */ + YYSYMBOL_at_least_one_formal_parameter_name = 495, /* at_least_one_formal_parameter_name */ + YYSYMBOL_formal_parameter_names = 496, /* formal_parameter_names */ + YYSYMBOL_formal_parameter_name = 497, /* formal_parameter_name */ + YYSYMBOL_porttype_decl = 498, /* porttype_decl */ + YYSYMBOL_499_178 = 499, /* $@178 */ + YYSYMBOL_500_179 = 500, /* @179 */ + YYSYMBOL_501_180 = 501, /* $@180 */ + YYSYMBOL_502_181 = 502, /* $@181 */ + YYSYMBOL_at_least_one_port_export = 503, /* at_least_one_port_export */ + YYSYMBOL_port_exports = 504, /* port_exports */ + YYSYMBOL_port_export = 505, /* port_export */ + YYSYMBOL_506_182 = 506, /* $@182 */ + YYSYMBOL_extended_port_decl = 507, /* extended_port_decl */ + YYSYMBOL_at_least_one_actual_parameter = 508, /* at_least_one_actual_parameter */ + YYSYMBOL_actual_parameters = 509, /* actual_parameters */ + YYSYMBOL_actual_parameter = 510, /* actual_parameter */ + YYSYMBOL_connector_decl = 511, /* connector_decl */ + YYSYMBOL_connector_header = 512, /* connector_header */ + YYSYMBOL_513_183 = 513, /* $@183 */ + YYSYMBOL_514_184 = 514, /* $@184 */ + YYSYMBOL_connector_body = 515, /* connector_body */ + YYSYMBOL_516_185 = 516, /* $@185 */ + YYSYMBOL_517_186 = 517, /* $@186 */ + YYSYMBOL_connector_exports = 518, /* connector_exports */ + YYSYMBOL_connector_export = 519, /* connector_export */ + YYSYMBOL_520_187 = 520, /* $@187 */ + YYSYMBOL_521_188 = 521, /* $@188 */ + YYSYMBOL_522_189 = 522, /* $@189 */ + YYSYMBOL_523_190 = 523 /* $@190 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -753,6 +757,18 @@ 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 + . */ +#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 \ @@ -1025,19 +1041,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2130 +#define YYLAST 2110 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 118 +#define YYNTOKENS 121 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 402 +#define YYNNTS 403 /* YYNRULES -- Number of rules. */ -#define YYNRULES 613 +#define YYNRULES 616 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 901 +#define YYNSTATES 903 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 351 +#define YYMAXUTOK 354 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -1054,16 +1070,16 @@ static const yytype_int8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 112, 107, 2, - 114, 115, 110, 108, 103, 109, 2, 111, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 102, 97, - 100, 104, 101, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 115, 110, 2, + 117, 118, 113, 111, 106, 112, 2, 114, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 105, 100, + 103, 107, 104, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 116, 2, 117, 106, 2, 2, 2, 2, 2, + 2, 119, 2, 120, 109, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 98, 105, 99, 113, 2, 2, 2, + 2, 2, 2, 101, 108, 102, 116, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1086,75 +1102,75 @@ static const yytype_int8 yytranslate[] = 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96 + 95, 96, 97, 98, 99 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 419, 419, 422, 423, 431, 446, 450, 451, 452, - 457, 456, 465, 464, 473, 472, 481, 480, 489, 488, - 497, 496, 505, 504, 513, 512, 521, 520, 529, 528, - 537, 536, 545, 544, 553, 552, 561, 560, 569, 568, - 582, 581, 593, 632, 636, 592, 652, 660, 674, 684, - 714, 718, 659, 743, 747, 748, 752, 753, 758, 763, - 757, 849, 854, 848, 925, 926, 931, 969, 973, 930, - 990, 989, 1001, 1038, 1068, 1101, 1100, 1109, 1116, 1117, - 1118, 1119, 1123, 1128, 1133, 1180, 1184, 1132, 1213, 1256, - 1260, 1211, 1279, 1277, 1317, 1316, 1328, 1332, 1339, 1344, - 1351, 1376, 1404, 1470, 1489, 1493, 1497, 1498, 1510, 1509, - 1527, 1531, 1538, 1559, 1560, 1564, 1579, 1584, 1583, 1592, - 1591, 1600, 1599, 1608, 1607, 1616, 1615, 1624, 1623, 1632, - 1631, 1640, 1639, 1652, 1664, 1662, 1687, 1694, 1704, 1703, - 1729, 1727, 1752, 1762, 1773, 1817, 1844, 1876, 1880, 1884, - 1888, 1875, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1960, - 1964, 2032, 2034, 2036, 2037, 2049, 2050, 2062, 2063, 2075, - 2076, 2085, 2097, 2098, 2107, 2119, 2120, 2129, 2138, 2150, - 2151, 2160, 2169, 2181, 2238, 2239, 2246, 2250, 2255, 2262, - 2269, 2273, 2278, 2282, 2286, 2290, 2297, 2366, 2365, 2394, - 2395, 2399, 2400, 2401, 2403, 2402, 2411, 2412, 2416, 2472, - 2476, 2483, 2496, 2506, 2514, 2513, 2601, 2605, 2612, 2621, - 2628, 2636, 2642, 2649, 2662, 2661, 2670, 2674, 2678, 2682, - 2710, 2718, 2717, 2788, 2789, 2793, 2800, 2801, 2827, 2828, - 2829, 2830, 2831, 2832, 2833, 2834, 2838, 2839, 2840, 2841, - 2842, 2846, 2847, 2848, 2852, 2853, 2857, 2869, 2867, 2892, - 2899, 2900, 2904, 2916, 2914, 2939, 2946, 2962, 2980, 2981, - 2985, 2989, 2993, 2997, 3001, 3005, 3009, 3016, 3020, 3024, - 3028, 3032, 3036, 3040, 3047, 3051, 3055, 3062, 3069, 3073, - 3080, 3087, 3094, 3101, 3109, 3108, 3122, 3153, 3157, 3121, - 3174, 3177, 3178, 3182, 3200, 3204, 3199, 3262, 3261, 3274, - 3273, 3286, 3290, 3323, 3327, 3386, 3390, 3285, 3412, 3419, - 3432, 3441, 3448, 3449, 3558, 3561, 3562, 3567, 3571, 3566, - 3607, 3606, 3618, 3628, 3646, 3654, 3653, 3667, 3671, 3666, - 3687, 3686, 3736, 3761, 3785, 3789, 3820, 3824, 3784, 3848, - 3853, 3851, 3857, 3861, 3899, 3963, 3973, 3962, 3998, 4002, - 3996, 4086, 4153, 4162, 4152, 4176, 4186, 4190, 4184, 4232, - 4258, 4267, 4271, 4265, 4313, 4339, 4347, 4346, 4389, 4399, - 4417, 4425, 4429, 4424, 4489, 4490, 4495, 4499, 4503, 4507, - 4494, 4566, 4570, 4574, 4578, 4565, 4646, 4650, 4682, 4686, - 4645, 4703, 4707, 4768, 4772, 4702, 4809, 4814, 4819, 4826, - 4827, 4838, 4843, 4886, 4837, 4908, 4907, 4916, 4915, 4926, - 4931, 4929, 4935, 4940, 4944, 4939, 4983, 4982, 4991, 4990, - 5001, 5006, 5004, 5010, 5015, 5019, 5014, 5064, 5071, 5072, - 5073, 5228, 5232, 5236, 5244, 5248, 5243, 5257, 5265, 5269, - 5264, 5278, 5286, 5290, 5285, 5299, 5307, 5311, 5306, 5320, - 5327, 5339, 5337, 5360, 5367, 5397, 5436, 5437, 5441, 5472, - 5514, 5518, 5471, 5537, 5541, 5535, 5582, 5581, 5589, 5596, - 5611, 5612, 5617, 5616, 5626, 5625, 5635, 5634, 5644, 5643, - 5653, 5652, 5662, 5661, 5671, 5670, 5681, 5774, 5780, 5805, - 5912, 5921, 5925, 5932, 6007, 6079, 6155, 6154, 6204, 6208, - 6212, 6216, 6220, 6224, 6203, 6277, 6276, 6284, 6291, 6296, - 6304, 6308, 6303, 6318, 6319, 6323, 6325, 6324, 6333, 6332, - 6345, 6368, 6343, 6394, 6421, 6392, 6445, 6446, 6447, 6451, - 6452, 6456, 6485, 6517, 6561, 6565, 6515, 6582, 6591, 6609, - 6620, 6619, 6657, 6708, 6712, 6655, 6729, 6733, 6740, 6744, - 6748, 6752, 6756, 6760, 6764, 6768, 6772, 6776, 6780, 6788, - 6819, 6832, 6839, 6864, 6882, 6889, 6904, 6911, 6921, 6925, - 6944, 6952, 6920, 6967, 6982, 6986, 6987, 6991, 6992, 6994, - 6993, 7004, 7071, 7119, 7135, 7148, 7155, 7214, 7222, 7226, - 7221, 7287, 7291, 7286, 7304, 7305, 7310, 7309, 7318, 7317, - 7326, 7325, 7334, 7333 + 0, 423, 423, 426, 427, 435, 450, 454, 455, 456, + 461, 460, 469, 468, 477, 476, 485, 484, 493, 492, + 501, 500, 509, 508, 517, 516, 525, 524, 533, 532, + 541, 540, 549, 548, 557, 556, 565, 564, 573, 572, + 586, 585, 597, 636, 640, 596, 656, 664, 678, 688, + 718, 722, 663, 747, 751, 752, 756, 757, 762, 767, + 761, 853, 858, 852, 929, 930, 935, 973, 977, 934, + 994, 993, 1005, 1042, 1072, 1105, 1104, 1113, 1120, 1121, + 1122, 1123, 1127, 1132, 1137, 1184, 1188, 1136, 1217, 1260, + 1264, 1215, 1283, 1281, 1321, 1320, 1332, 1336, 1343, 1348, + 1355, 1380, 1408, 1474, 1493, 1497, 1501, 1502, 1514, 1513, + 1531, 1535, 1542, 1563, 1564, 1568, 1583, 1588, 1587, 1596, + 1595, 1604, 1603, 1612, 1611, 1620, 1619, 1628, 1627, 1636, + 1635, 1644, 1643, 1656, 1668, 1666, 1691, 1698, 1708, 1707, + 1733, 1731, 1756, 1766, 1777, 1821, 1848, 1880, 1884, 1888, + 1892, 1879, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1964, + 1968, 2036, 2038, 2040, 2041, 2053, 2054, 2066, 2067, 2079, + 2080, 2089, 2101, 2102, 2111, 2123, 2124, 2133, 2142, 2154, + 2155, 2164, 2173, 2185, 2242, 2243, 2250, 2254, 2259, 2266, + 2273, 2277, 2282, 2286, 2290, 2294, 2301, 2370, 2369, 2396, + 2397, 2401, 2402, 2403, 2405, 2404, 2413, 2414, 2418, 2474, + 2478, 2485, 2498, 2508, 2516, 2515, 2601, 2605, 2612, 2621, + 2625, 2632, 2640, 2646, 2653, 2666, 2665, 2674, 2678, 2682, + 2686, 2714, 2722, 2721, 2792, 2793, 2797, 2804, 2805, 2831, + 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2842, 2843, 2844, + 2845, 2846, 2850, 2851, 2852, 2856, 2857, 2861, 2873, 2871, + 2896, 2903, 2904, 2908, 2920, 2918, 2943, 2950, 2966, 2984, + 2985, 2989, 2993, 2997, 3001, 3005, 3009, 3013, 3020, 3024, + 3028, 3032, 3036, 3040, 3044, 3051, 3055, 3059, 3066, 3073, + 3077, 3084, 3091, 3098, 3105, 3113, 3112, 3126, 3157, 3125, + 3173, 3181, 3186, 3185, 3196, 3197, 3201, 3219, 3223, 3218, + 3281, 3280, 3293, 3292, 3305, 3309, 3342, 3346, 3405, 3409, + 3304, 3431, 3435, 3443, 3451, 3455, 3456, 3565, 3568, 3569, + 3574, 3578, 3573, 3614, 3613, 3625, 3635, 3653, 3661, 3660, + 3674, 3678, 3673, 3694, 3693, 3743, 3768, 3792, 3796, 3827, + 3831, 3791, 3855, 3860, 3858, 3864, 3868, 3906, 3970, 3980, + 3969, 4005, 4009, 4003, 4093, 4160, 4169, 4159, 4183, 4193, + 4197, 4191, 4239, 4265, 4274, 4278, 4272, 4320, 4346, 4354, + 4353, 4396, 4406, 4424, 4432, 4436, 4431, 4496, 4497, 4502, + 4506, 4510, 4514, 4501, 4573, 4577, 4581, 4585, 4572, 4653, + 4657, 4689, 4693, 4652, 4710, 4714, 4775, 4779, 4709, 4816, + 4821, 4826, 4833, 4834, 4845, 4850, 4893, 4844, 4915, 4914, + 4923, 4922, 4933, 4938, 4936, 4942, 4947, 4951, 4946, 4990, + 4989, 4998, 4997, 5008, 5013, 5011, 5017, 5022, 5026, 5021, + 5071, 5078, 5079, 5080, 5235, 5239, 5243, 5251, 5255, 5250, + 5264, 5272, 5276, 5271, 5285, 5293, 5297, 5292, 5306, 5314, + 5318, 5313, 5327, 5334, 5346, 5344, 5367, 5374, 5404, 5443, + 5444, 5448, 5479, 5521, 5525, 5478, 5544, 5548, 5542, 5589, + 5588, 5596, 5603, 5618, 5619, 5624, 5623, 5633, 5632, 5642, + 5641, 5651, 5650, 5660, 5659, 5669, 5668, 5678, 5677, 5688, + 5781, 5787, 5812, 5919, 5928, 5932, 5939, 6014, 6086, 6162, + 6161, 6211, 6215, 6219, 6223, 6227, 6231, 6210, 6284, 6283, + 6291, 6298, 6303, 6311, 6315, 6310, 6325, 6326, 6330, 6332, + 6331, 6340, 6339, 6352, 6375, 6350, 6401, 6428, 6399, 6452, + 6453, 6454, 6458, 6459, 6463, 6492, 6524, 6568, 6572, 6522, + 6589, 6598, 6616, 6627, 6626, 6664, 6715, 6719, 6662, 6736, + 6740, 6747, 6751, 6755, 6759, 6763, 6767, 6771, 6775, 6779, + 6783, 6787, 6795, 6826, 6839, 6846, 6871, 6889, 6896, 6911, + 6918, 6928, 6932, 6951, 6959, 6927, 6974, 6989, 6993, 6994, + 6998, 6999, 7001, 7000, 7011, 7078, 7126, 7142, 7155, 7162, + 7221, 7229, 7233, 7228, 7294, 7298, 7293, 7311, 7312, 7317, + 7316, 7325, 7324, 7333, 7332, 7341, 7340 }; #endif @@ -1175,8 +1191,8 @@ static const char *const yytname[] = "IDL_SHORT", "IDL_UNSIGNED", "IDL_DOUBLE", "IDL_FLOAT", "IDL_CHAR", "IDL_WCHAR", "IDL_OCTET", "IDL_BOOLEAN", "IDL_FIXED", "IDL_ANY", "IDL_OBJECT", "IDL_STRUCT", "IDL_UNION", "IDL_SWITCH", "IDL_ENUM", - "IDL_SEQUENCE", "IDL_MAP", "IDL_STRING", "IDL_WSTRING", "IDL_EXCEPTION", - "IDL_CASE", "IDL_DEFAULT", "IDL_READONLY", "IDL_ATTRIBUTE", "IDL_ONEWAY", + "IDL_SEQUENCE", "IDL_STRING", "IDL_WSTRING", "IDL_EXCEPTION", "IDL_CASE", + "IDL_DEFAULT", "IDL_READONLY", "IDL_ATTRIBUTE", "IDL_ONEWAY", "IDL_IDEMPOTENT", "IDL_VOID", "IDL_IN", "IDL_OUT", "IDL_INOUT", "IDL_RAISES", "IDL_CONTEXT", "IDL_NATIVE", "IDL_LOCAL", "IDL_ABSTRACT", "IDL_CUSTOM", "IDL_FACTORY", "IDL_PRIVATE", "IDL_PUBLIC", "IDL_SUPPORTS", @@ -1192,9 +1208,10 @@ static const char *const yytname[] = "IDL_INT32", "IDL_UINT32", "IDL_INT64", "IDL_UINT64", "IDL_SCOPE_DELIMITOR", "IDL_LEFT_SHIFT", "IDL_RIGHT_SHIFT", "IDL_WCHAR_LITERAL", "IDL_WSTRING_LITERAL", "IDL_ANNOTATION_DECL", - "IDL_ANNOTATION_SYMBOL", "';'", "'{'", "'}'", "'<'", "'>'", "':'", "','", - "'='", "'|'", "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", - "'('", "')'", "'['", "']'", "$accept", "start", "definitions", + "IDL_ANNOTATION_SYMBOL", "IDL_BITFIELD", "IDL_BITMASK", "IDL_BITSET", + "IDL_MAP", "';'", "'{'", "'}'", "'<'", "'>'", "':'", "','", "'='", "'|'", + "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'('", "')'", + "'['", "']'", "$accept", "start", "definitions", "at_least_one_definition", "definition", "fixed_definition", "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14", "$@15", "module_header", "$@16", "module", "@17", @@ -1230,9 +1247,9 @@ static const char *const yytname[] = "integer_type", "signed_int", "unsigned_int", "floating_pt_type", "fixed_type", "char_type", "octet_type", "boolean_type", "any_type", "object_type", "struct_decl", "$@65", "struct_type", "$@66", "$@67", - "$@68", "at_least_one_member", "members", "member", "member_i", "$@69", - "$@70", "$@71", "union_decl", "$@72", "union_type", "$@73", "$@74", - "$@75", "$@76", "$@77", "$@78", "switch_type_spec", + "struct_body", "struct_body_with_members", "$@68", "members", "member", + "member_i", "$@69", "$@70", "$@71", "union_decl", "$@72", "union_type", + "$@73", "$@74", "$@75", "$@76", "$@77", "$@78", "switch_type_spec", "at_least_one_case_branch", "case_branches", "case_branch", "$@79", "$@80", "$@81", "at_least_one_case_label", "case_labels", "case_label", "$@82", "$@83", "$@84", "element_spec", "$@85", "struct_forward_type", @@ -1288,12 +1305,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-679) +#define YYPACT_NINF (-655) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-582) +#define YYTABLE_NINF (-585) #define yytable_value_is_error(Yyn) \ 0 @@ -1302,97 +1319,97 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -679, 94, 1414, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, 83, 51, 70, 106, -679, 83, - 83, -679, 57, 57, -679, -679, 83, -679, -679, 15, - -679, 577, 29, 69, -679, -679, 7, -679, -679, -679, - -679, -679, -679, 550, -679, -679, -679, -679, -679, 1616, - 21, -679, -679, 78, -679, 126, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, 60, -679, -679, -679, 60, -679, - -679, 87, 91, 2010, 57, 83, 1887, 83, 83, 83, - 83, -679, -679, -679, 10, 83, 25, -679, 76, 83, - -679, 60, 83, 97, 127, 83, -679, -679, 23, -679, - 26, 148, -679, 92, -679, 129, 138, 2062, -679, -679, - -679, 155, 196, -679, 156, 158, 159, 85, -679, 150, - -679, -679, -679, -679, -679, -679, 168, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, 163, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - 126, -679, -679, -679, 157, -679, 5, -679, -679, 169, - -679, 172, 176, 177, -679, 57, 160, 178, 180, -679, - 184, 188, 189, 190, 191, 193, 194, 199, -679, -679, - -679, 200, 204, -679, -679, -679, -679, 163, -679, -679, - -679, -679, -679, -679, -679, -679, -679, 163, -679, -679, - -679, -679, -679, -679, -679, -679, 205, -679, 195, -679, - -679, 207, -679, 288, -679, -679, -679, -679, 44, -679, - -679, -679, 2010, -679, -679, -679, -679, 198, -679, -679, - -679, -679, -679, 300, -679, -679, 56, 210, -679, -679, - -679, -679, -679, -679, -679, -679, 298, -679, 186, 212, - 216, 271, -679, -679, -679, -679, -679, -679, -679, 163, - -679, -679, 211, -679, -679, -679, -679, -679, -679, -679, - -679, -679, 271, 228, 242, -679, -679, -679, 83, 83, - 250, 251, -679, -679, -679, 253, -679, 288, 254, -679, - -679, -679, -679, -679, 350, -679, 257, 256, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, 135, 135, - 135, 186, 163, -679, -679, 249, 255, 259, 89, 93, - 86, -679, -679, -679, -679, -679, 57, -679, -679, -679, - -679, 264, -679, -679, 57, -679, 186, 186, 186, 246, - -679, -679, -679, -679, -679, -679, -679, 173, -679, -6, - -679, -679, -679, -679, -679, -679, -679, -679, 57, 271, - -679, -679, -679, -679, 207, 1342, 1529, 269, 268, -679, - 2062, -679, -679, -679, 258, 186, 186, 186, 186, 186, - 186, 186, 186, 186, 186, 267, 83, -679, 163, 1119, - -679, 838, 186, -679, 1435, -679, -679, -679, -679, 186, - -679, 1479, -679, -679, -679, 252, 1026, -679, -679, -679, - -679, 53, 312, 57, 57, -679, -679, -679, -679, -679, - 53, -679, 273, -679, 272, -679, 275, -679, -679, 1213, - 163, -679, 57, 271, -679, -679, -679, -679, 278, -679, - -679, 83, -679, -679, 282, 283, 382, 289, -679, -679, - 255, 259, 89, 93, 93, 86, 86, -679, -679, -679, - -679, -679, 285, -679, -679, -679, 287, -679, -679, 1799, - -679, -679, -679, -679, 1922, -679, -679, -679, -679, -679, - 292, -679, 1834, -679, -679, 1709, -679, 293, 1435, -679, - 299, 304, 306, 297, -679, 301, -679, 290, -679, -679, - -679, 314, 315, 503, 57, 57, 57, 276, -679, 316, - -679, -679, -679, -679, -679, -679, -679, 83, 83, -679, - 318, -679, -679, -679, 1307, 932, 388, 1975, -679, 163, - 288, -679, -679, 65, 67, 324, 328, 330, 288, 331, - -679, -679, -5, -679, 49, -679, -679, 332, 333, 163, - -679, 337, 110, 1887, -679, 399, -679, -679, -679, -679, - 56, -679, 341, -679, 344, -679, 345, 346, 347, 348, - -679, 163, -679, -679, -679, -679, -679, 349, 352, 444, - -679, -679, -679, 353, -679, -679, 351, -679, -679, -679, - 186, -679, 288, -679, 355, 83, -679, -679, 445, 163, - -679, -679, -679, -679, -679, -679, 71, 71, 71, -679, - 358, -679, 359, 360, 362, 363, 366, 369, -679, -679, - -679, 370, 371, 376, 377, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, 186, -679, -679, -679, 83, - -679, 379, 378, 384, -679, 402, 386, 110, -679, 390, - 391, -679, 392, 186, 393, 1591, -679, 57, -679, -679, - -679, -679, -679, -679, 488, -679, -679, -679, -679, -679, - -679, 297, 290, -679, -679, 380, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, 383, 383, -679, -679, - -679, -679, 1975, 83, -679, 186, 389, -679, -679, -679, - -679, -679, -679, -679, 395, -679, -679, -679, -679, -679, - 57, -679, -679, -679, -679, 396, 163, -679, 383, 1435, - -679, 397, -679, 460, -679, -679, -679, -679, -679, -679, - -679, -679, 57, -679, 163, 400, 668, -679, 394, -679, - -679, -679, 409, 385, 462, 470, 470, 83, 454, 417, - 404, -679, 163, 422, -679, -679, 408, -679, 470, -679, - -679, -679, 414, -679, -679, -679, -679, -679, -679, -679, - -679, -679, 464, 527, 416, 170, 470, -679, 153, 1975, - -679, 431, 423, 470, 424, 476, 83, 57, -679, -679, - 439, -679, -679, -679, -679, -679, 427, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, 163, -679, 440, -679, 441, - 1975, 506, 450, 186, 446, 451, 54, -679, 201, 83, - 462, 57, 57, 435, 83, 527, -679, -679, -679, -679, - -679, -679, -679, -679, -679, 1681, -679, -679, -679, 437, - 457, -679, -679, -679, 170, 83, 442, 452, -679, -679, - -679, -679, 57, -679, -679, -679, -679, 83, 458, 463, - 504, -679, -679, -679, -679, 467, 491, -679, -679, 519, - -679 + -655, 96, 1478, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, 99, 113, 68, 89, -655, 99, + 99, -655, 47, 47, -655, -655, 99, -655, -655, 21, + -655, 1531, 31, 50, -655, -655, 3, -655, -655, -655, + -655, -655, -655, 548, -655, -655, -655, -655, -655, 1671, + 53, -655, -655, 75, -655, 100, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, 73, -655, -655, -655, 73, -655, + -655, 93, 119, 2021, 47, 99, 1426, 99, 99, 99, + 99, -655, -655, -655, 6, 99, 25, -655, 27, 99, + -655, 73, 99, 126, 129, 99, -655, -655, 12, -655, + 29, 229, -655, 137, -655, 140, 144, 1539, -655, -655, + -655, 153, 199, -655, 156, 158, 170, 101, -655, 147, + -655, -655, -655, -655, -655, -655, 169, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, 187, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + 100, -655, -655, -655, 175, -655, 81, -655, -655, 177, + -655, 180, 184, 185, -655, 47, 192, 194, 188, -655, + 197, 198, 200, 201, 202, 210, 213, 211, -655, -655, + -655, 218, 221, -655, -655, -655, -655, 187, -655, -655, + -655, -655, -655, -655, -655, -655, -655, 187, -655, -655, + -655, -655, -655, -655, -655, -655, 222, -655, 224, -655, + -655, 186, -655, 287, -655, -655, -655, -655, 40, -655, + -655, -655, 2021, -655, -655, -655, -655, 196, -655, -655, + -655, -655, -655, 289, -655, -655, 138, 219, -655, -655, + -655, -655, -655, -655, -655, -655, 294, -655, 91, 223, + 225, 284, -655, -655, -655, -655, -655, -655, -655, 187, + -655, -655, 230, -655, -655, -655, -655, -655, -655, -655, + -655, -655, 284, 237, 238, -655, -655, -655, 99, 99, + 248, 249, -655, -655, -655, 246, -655, 287, 251, -655, + -655, -655, -655, -655, 350, -655, 253, 252, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, 189, 189, + 189, 91, 187, -655, -655, 247, 250, 255, 71, 70, + 39, -655, -655, -655, -655, -655, 47, -655, -655, -655, + -655, 256, -655, -655, 47, -655, 91, 91, 91, 254, + 259, -655, -655, -655, -655, -655, -655, 277, -655, -14, + -655, -655, -655, -655, -655, -655, -655, -655, 47, 284, + -655, -655, -655, -655, 186, 1293, 1570, 265, 266, -655, + 1539, -655, -655, -655, 257, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 263, 99, -655, 187, 1128, + -655, 840, 91, -655, 506, -655, -655, -655, -655, 91, + -655, -655, 726, -655, -655, -655, -655, 191, 1032, -655, + -655, -655, -655, 54, 314, 47, 47, -655, -655, -655, + -655, -655, 54, -655, 271, -655, 267, -655, 273, -655, + -655, 1163, 187, -655, 47, 284, -655, -655, -655, -655, + 280, -655, -655, 99, -655, -655, 283, 275, 383, 286, + -655, -655, 250, 255, 71, 70, 70, 39, 39, -655, + -655, -655, -655, -655, 282, -655, -655, -655, 291, -655, + -655, 1901, -655, -655, -655, -655, 1934, -655, -655, -655, + -655, -655, 292, -655, 1388, -655, -655, 1812, -655, 285, + 506, -655, 297, 301, 303, 288, -655, 298, -655, 306, + -655, -655, -655, 296, 1723, 47, 47, 47, 244, -655, + 313, -655, -655, -655, -655, -655, -655, -655, 99, 99, + -655, 315, -655, -655, -655, 1259, 936, 387, 1988, -655, + 187, 287, -655, -655, 48, 56, 319, 321, 324, 287, + 325, -655, -655, -9, -655, 44, -655, -655, 327, 328, + 187, -655, 329, 69, 1426, -655, 398, -655, -655, -655, + -655, 138, -655, 333, -655, 334, -655, 339, 342, 343, + 344, -655, 187, -655, -655, -655, -655, -655, 345, 346, + 444, -655, -655, -655, 348, -655, -655, 351, -655, -655, + -655, 91, -655, 287, -655, 349, 99, 352, -655, 442, + 187, -655, -655, -655, -655, -655, -655, 57, 57, 57, + -655, 356, -655, 360, 361, 362, 365, 368, 369, -655, + -655, -655, 370, 371, 374, 375, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, 91, -655, -655, -655, + 99, -655, 377, 378, 379, -655, 386, 384, 69, -655, + 389, 390, -655, 391, 91, 392, 1646, -655, 47, -655, + -655, -655, -655, -655, -655, 484, -655, -655, -655, -655, + -655, -655, 288, 306, -655, -655, -655, 376, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, 380, 380, + -655, -655, -655, -655, 1988, 99, -655, 91, 381, -655, + -655, -655, -655, -655, -655, -655, 393, -655, -655, -655, + -655, -655, 47, -655, -655, -655, -655, 395, 187, -655, + 380, 506, -655, 396, -655, 463, -655, -655, -655, -655, + -655, -655, -655, -655, 47, -655, 187, 397, 618, -655, + 394, -655, -655, -655, 400, 388, 475, 474, 474, 99, + 458, 421, 415, -655, 187, 436, -655, -655, 422, -655, + 474, -655, -655, -655, 423, -655, -655, -655, -655, -655, + -655, -655, -655, -655, 485, 540, 427, 123, 474, -655, + 62, 1988, -655, 440, 430, 474, 431, 487, 99, 47, + -655, -655, 446, -655, -655, -655, -655, -655, 435, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, 187, -655, 448, + -655, 449, 1988, 536, 476, 91, 472, 477, 55, -655, + 172, 99, 475, 47, 47, 461, 99, 540, -655, -655, + -655, -655, -655, -655, -655, -655, -655, 1407, -655, -655, + -655, 462, 464, -655, -655, -655, 123, 99, 466, 479, + -655, -655, -655, -655, 47, -655, -655, -655, -655, 99, + 481, 467, 511, -655, -655, -655, -655, 478, 492, -655, + -655, 524, -655 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1400,143 +1417,143 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 4, 0, 0, 3, 1, 38, 147, 40, 70, 224, - 294, 309, 344, 396, 0, 0, 0, 0, 94, 0, - 0, 508, 0, 0, 578, 598, 0, 6, 7, 42, + 4, 0, 0, 3, 1, 38, 147, 40, 70, 225, + 295, 312, 347, 399, 0, 0, 0, 0, 94, 0, + 0, 511, 0, 0, 581, 601, 0, 6, 7, 42, 24, 61, 0, 0, 22, 64, 77, 66, 26, 78, 83, 79, 84, 77, 80, 81, 65, 18, 10, 0, - 0, 12, 230, 296, 226, 343, 227, 254, 255, 228, - 20, 14, 16, 28, 467, 466, 469, 30, 506, 32, - 538, 540, 539, 537, 77, 556, 557, 536, 77, 34, + 0, 12, 231, 297, 227, 346, 228, 255, 256, 229, + 20, 14, 16, 28, 470, 469, 472, 30, 509, 32, + 541, 543, 542, 540, 77, 559, 560, 539, 77, 34, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 266, 229, 77, 0, 77, 88, 77, 0, - 82, 77, 0, 473, 549, 0, 142, 138, 0, 137, + 0, 143, 267, 230, 77, 0, 77, 88, 77, 0, + 82, 77, 0, 476, 552, 0, 142, 138, 0, 137, 0, 0, 213, 0, 46, 0, 0, 0, 213, 8, - 9, 0, 97, 72, 0, 0, 0, 270, 272, 0, - 284, 285, 288, 289, 290, 291, 287, 292, 293, 362, - 355, 370, 375, 273, 280, 274, 281, 275, 282, 276, - 283, 92, 237, 102, 233, 235, 236, 234, 238, 268, - 269, 239, 243, 240, 242, 241, 244, 245, 296, 251, - 0, 252, 253, 250, 0, 246, 0, 249, 247, 369, - 248, 374, 0, 0, 5, 0, 211, 0, 0, 311, - 0, 0, 0, 0, 0, 0, 0, 0, 550, 543, - 552, 0, 0, 601, 597, 39, 287, 160, 148, 152, - 156, 157, 153, 154, 155, 158, 159, 41, 71, 225, - 231, 295, 310, 345, 397, 73, 547, 74, 0, 548, - 95, 478, 509, 0, 464, 140, 465, 579, 0, 197, - 43, 25, 0, 564, 559, 560, 566, 562, 563, 567, - 565, 561, 558, 0, 48, 571, 0, 0, 23, 96, - 75, 67, 27, 85, 271, 286, 277, 279, 0, 0, - 0, 99, 354, 361, 358, 366, 371, 19, 11, 214, - 13, 297, 0, 21, 15, 17, 29, 470, 31, 520, - 507, 33, 99, 0, 0, 35, 37, 605, 0, 0, - 0, 0, 89, 476, 474, 517, 139, 0, 0, 599, - 212, 200, 4, 568, 0, 572, 0, 569, 186, 187, + 9, 0, 97, 72, 0, 0, 0, 271, 273, 0, + 285, 286, 289, 290, 291, 292, 288, 293, 294, 365, + 373, 378, 274, 281, 275, 282, 276, 283, 277, 284, + 358, 92, 238, 102, 234, 236, 237, 235, 239, 269, + 270, 240, 244, 241, 243, 242, 245, 246, 297, 252, + 0, 253, 254, 251, 0, 247, 0, 250, 248, 372, + 249, 377, 0, 0, 5, 0, 211, 0, 0, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 546, + 555, 0, 0, 604, 600, 39, 288, 160, 148, 152, + 156, 157, 153, 154, 155, 158, 159, 41, 71, 226, + 232, 296, 313, 348, 400, 73, 550, 74, 0, 551, + 95, 481, 512, 0, 467, 140, 468, 582, 0, 197, + 43, 25, 0, 567, 562, 563, 569, 565, 570, 568, + 564, 561, 566, 0, 48, 574, 0, 0, 23, 96, + 75, 67, 27, 85, 272, 287, 278, 280, 0, 0, + 0, 99, 357, 364, 361, 369, 374, 19, 11, 214, + 13, 298, 0, 21, 15, 17, 29, 473, 31, 523, + 510, 33, 99, 0, 0, 35, 37, 608, 0, 0, + 0, 0, 89, 479, 477, 520, 139, 0, 0, 602, + 212, 200, 4, 571, 0, 575, 0, 572, 186, 187, 188, 190, 193, 192, 194, 195, 191, 189, 0, 0, - 0, 0, 183, 596, 161, 162, 163, 165, 167, 169, - 172, 175, 179, 184, 595, 62, 0, 114, 105, 278, - 196, 0, 363, 213, 0, 93, 0, 0, 0, 217, - 213, 312, 481, 524, 551, 544, 553, 602, 149, 266, - 232, 259, 260, 261, 267, 346, 398, 114, 0, 99, - 515, 510, 141, 580, 478, 0, 0, 3, 0, 49, + 0, 0, 183, 599, 161, 162, 163, 165, 167, 169, + 172, 175, 179, 184, 598, 62, 0, 114, 105, 279, + 196, 0, 366, 213, 0, 93, 0, 0, 0, 217, + 213, 315, 484, 527, 554, 547, 556, 605, 149, 267, + 233, 260, 261, 262, 268, 349, 401, 114, 0, 99, + 518, 513, 141, 583, 481, 0, 0, 3, 0, 49, 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 593, 0, 76, 136, 0, - 113, 0, 0, 213, 0, 98, 359, 367, 372, 0, - 215, 0, 298, 302, 213, 213, 0, 114, 105, 386, - 391, 0, 502, 0, 0, 610, 384, 385, 606, 608, - 0, 612, 0, 604, 0, 213, 256, 213, 302, 0, - 477, 475, 0, 99, 586, 600, 204, 198, 0, 206, - 199, 0, 201, 207, 0, 0, 0, 0, 570, 185, - 164, 166, 168, 170, 171, 173, 174, 176, 177, 178, - 213, 63, 133, 131, 406, 407, 0, 116, 123, 0, - 117, 127, 125, 129, 0, 119, 121, 411, 111, 110, - 0, 104, 0, 106, 107, 0, 108, 0, 0, 356, - 0, 0, 0, 137, 218, 0, 219, 222, 307, 304, - 303, 0, 213, 0, 0, 0, 0, 0, 492, 0, - 480, 482, 484, 486, 488, 490, 494, 0, 0, 525, - 0, 523, 526, 528, 0, 0, 0, 0, 498, 497, - 0, 501, 500, 0, 0, 0, 0, 0, 0, 0, - 603, 150, 0, 257, 0, 347, 352, 213, 0, 516, - 511, 585, 213, 0, 202, 210, 203, 45, 573, 50, - 0, 134, 0, 69, 0, 115, 0, 0, 0, 0, - 410, 440, 437, 438, 439, 401, 409, 0, 0, 0, - 87, 112, 103, 0, 365, 364, 0, 360, 368, 373, - 0, 216, 0, 220, 0, 0, 299, 301, 270, 323, - 318, 319, 320, 321, 313, 322, 0, 0, 0, 479, - 0, 472, 0, 0, 0, 0, 0, 0, 530, 533, - 522, 0, 0, 0, 0, 387, 392, 496, 591, 592, - 611, 607, 609, 499, 613, 0, 381, 377, 380, 0, - 353, 0, 349, 0, 91, 0, 0, 0, 589, 0, - 0, 584, 0, 0, 0, 0, 594, 0, 132, 124, - 118, 128, 126, 130, 0, 120, 122, 412, 109, 213, - 223, 0, 222, 308, 305, 0, 505, 503, 504, 493, - 483, 485, 487, 489, 491, 495, 0, 0, 527, 529, - 546, 555, 0, 0, 151, 0, 378, 258, 348, 350, - 400, 512, 582, 583, 0, 587, 588, 205, 209, 208, - 0, 56, 42, 51, 55, 0, 135, 402, 0, 0, - 221, 0, 314, 415, 531, 534, 388, 393, 265, 382, - 379, 213, 0, 590, 58, 0, 0, 57, 0, 413, - 357, 306, 0, 0, 0, 447, 447, 0, 451, 262, - 0, 351, 513, 0, 52, 54, 428, 403, 447, 315, - 416, 423, 0, 422, 444, 532, 535, 389, 448, 394, - 263, 383, 519, 0, 0, 0, 447, 414, 0, 0, - 418, 419, 0, 447, 0, 455, 0, 0, 514, 577, - 0, 576, 427, 441, 442, 443, 0, 433, 434, 404, - 330, 337, 335, 316, 326, 327, 334, 424, 420, 445, - 390, 449, 452, 395, 264, 518, 59, 574, 429, 430, - 0, 459, 0, 0, 0, 0, 0, 213, 332, 0, - 0, 0, 0, 0, 0, 0, 431, 435, 456, 405, - 331, 338, 336, 317, 325, 0, 333, 425, 421, 0, - 0, 453, 60, 575, 0, 0, 0, 0, 340, 328, - 446, 450, 0, 432, 436, 457, 339, 0, 0, 0, - 0, 341, 329, 454, 463, 0, 460, 458, 461, 0, - 462 + 0, 0, 0, 0, 0, 596, 0, 76, 136, 0, + 113, 0, 0, 213, 0, 98, 362, 370, 375, 220, + 215, 300, 0, 299, 301, 305, 213, 213, 0, 114, + 105, 389, 394, 0, 505, 0, 0, 613, 387, 388, + 609, 611, 0, 615, 0, 607, 0, 213, 257, 213, + 305, 0, 480, 478, 0, 99, 589, 603, 204, 198, + 0, 206, 199, 0, 201, 207, 0, 0, 0, 0, + 573, 185, 164, 166, 168, 170, 171, 173, 174, 176, + 177, 178, 213, 63, 133, 131, 409, 410, 0, 116, + 123, 0, 117, 127, 125, 129, 0, 119, 121, 414, + 111, 110, 0, 104, 0, 106, 107, 0, 108, 0, + 0, 359, 0, 0, 0, 137, 218, 0, 219, 223, + 310, 307, 306, 213, 0, 0, 0, 0, 0, 495, + 0, 483, 485, 487, 489, 491, 493, 497, 0, 0, + 528, 0, 526, 529, 531, 0, 0, 0, 0, 501, + 500, 0, 504, 503, 0, 0, 0, 0, 0, 0, + 0, 606, 150, 0, 258, 0, 350, 355, 213, 0, + 519, 514, 588, 213, 0, 202, 210, 203, 45, 576, + 50, 0, 134, 0, 69, 0, 115, 0, 0, 0, + 0, 413, 443, 440, 441, 442, 404, 412, 0, 0, + 0, 87, 112, 103, 0, 368, 367, 0, 363, 371, + 376, 0, 216, 0, 221, 0, 0, 0, 304, 271, + 326, 321, 322, 323, 324, 316, 325, 0, 0, 0, + 482, 0, 475, 0, 0, 0, 0, 0, 0, 533, + 536, 525, 0, 0, 0, 0, 390, 395, 499, 594, + 595, 614, 610, 612, 502, 616, 0, 384, 380, 383, + 0, 356, 0, 352, 0, 91, 0, 0, 0, 592, + 0, 0, 587, 0, 0, 0, 0, 597, 0, 132, + 124, 118, 128, 126, 130, 0, 120, 122, 415, 109, + 213, 224, 0, 223, 311, 308, 303, 0, 508, 506, + 507, 496, 486, 488, 490, 492, 494, 498, 0, 0, + 530, 532, 549, 558, 0, 0, 151, 0, 381, 259, + 351, 353, 403, 515, 585, 586, 0, 590, 591, 205, + 209, 208, 0, 56, 42, 51, 55, 0, 135, 405, + 0, 0, 222, 0, 317, 418, 534, 537, 391, 396, + 266, 385, 382, 213, 0, 593, 58, 0, 0, 57, + 0, 416, 360, 309, 0, 0, 0, 450, 450, 0, + 454, 263, 0, 354, 516, 0, 52, 54, 431, 406, + 450, 318, 419, 426, 0, 425, 447, 535, 538, 392, + 451, 397, 264, 386, 522, 0, 0, 0, 450, 417, + 0, 0, 421, 422, 0, 450, 0, 458, 0, 0, + 517, 580, 0, 579, 430, 444, 445, 446, 0, 436, + 437, 407, 333, 340, 338, 319, 329, 330, 337, 427, + 423, 448, 393, 452, 455, 398, 265, 521, 59, 577, + 432, 433, 0, 462, 0, 0, 0, 0, 0, 213, + 335, 0, 0, 0, 0, 0, 0, 0, 434, 438, + 459, 408, 334, 341, 339, 320, 328, 0, 336, 428, + 424, 0, 0, 456, 60, 578, 0, 0, 0, 0, + 343, 331, 449, 453, 0, 435, 439, 460, 342, 0, + 0, 0, 0, 344, 332, 457, 466, 0, 463, 461, + 464, 0, 465 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -679, -679, 284, 291, 530, -617, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -588, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -152, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, 222, -679, - -679, 27, -679, -679, -679, 590, -679, -679, -679, -679, - -679, -679, -679, 592, -679, 224, -679, -679, -250, -679, - -679, 181, 107, -679, -679, -679, -324, -679, -361, -679, - -679, -679, -679, -679, -679, -679, -679, -337, -679, -679, - -22, -679, -679, -193, -10, -679, 17, -679, -679, -679, - -679, -198, -44, -233, -679, 218, 219, 217, -151, -150, - -185, -107, -679, -320, -679, -679, -679, -679, -679, -679, - -679, -679, 12, -83, 566, -679, -679, -679, -679, -74, - 8, 18, -679, 46, -679, -31, -389, -466, -679, -679, - -679, 2, -679, -679, -616, -146, -679, -679, -7, -679, - -75, -679, -679, -51, -42, -65, -50, -49, 237, -679, - -40, -679, -38, -679, -679, -679, -679, 175, 265, 122, - -679, -679, -679, -37, -679, -32, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -220, -679, -679, -679, -679, - -679, -219, -679, -679, -679, -679, -679, -679, -679, -41, - -679, -679, -679, -679, -679, -679, -679, -123, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -70, - -679, -679, -679, -68, -679, -679, -679, -679, -679, -679, - -679, -86, -679, -679, -328, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, 20, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -656, -679, -679, -679, -679, -679, -209, -679, -679, - -679, -679, -679, -679, -679, -679, -231, -679, -679, -517, - -679, -678, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, 22, 24, -679, -679, - -679, -679, -679, -679, -679, -679, -679, 262, -679, -679, - 121, -679, -679, -679, -679, -679, -679, -679, -340, 209, - -336, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679, 572, -679, -679, -679, -679, -679, -679, -679, - -679, -679, 261, -679, -679, -202, -679, -679, -679, -679, - -679, -679, -679, -13, -679, 294, -679, -679, 77, -679, - -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, - -679, -679 + -655, -655, 290, 299, 551, -618, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -611, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -155, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, 190, -655, + -655, 19, -655, -655, -655, 587, -655, -655, -655, -655, + -655, -655, -655, 590, -655, 193, -655, -655, -251, -655, + -655, 178, 102, -655, -655, -655, -309, -655, -358, -655, + -655, -655, -655, -655, -655, -655, -655, -346, -655, -655, + -22, -655, -655, -191, -10, -655, 17, -655, -655, -655, + -655, -190, -46, -233, -655, 220, 217, 231, -162, -161, + -206, -105, -655, -320, -655, -655, -655, -655, -655, -655, + -655, -655, 24, -83, 564, -655, -655, -655, -655, -77, + 4, 18, -655, 46, -655, -31, -387, -466, -655, -655, + -655, 2, -655, -655, -616, -148, -655, -655, -7, -655, + -69, -655, -655, -52, -51, -66, -65, -49, 241, -655, + -40, -655, -38, -655, -655, -655, -655, -655, 204, 295, + 136, -655, -655, -655, -37, -655, -32, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -221, -655, -655, -655, + -655, -655, -208, -655, -655, -655, -655, -655, -655, -655, + -41, -655, -655, -655, -655, -655, -655, -655, -110, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -70, -655, -655, -655, -68, -655, -655, -655, -655, -655, + -655, -655, -67, -655, -655, -339, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, 20, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -633, -655, -655, -655, -655, -655, -203, -655, + -655, -655, -655, -655, -655, -655, -655, -226, -655, -655, + -515, -655, -654, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, 22, 23, -655, + -655, -655, -655, -655, -655, -655, -655, -655, 268, -655, + -655, 134, -655, -655, -655, -655, -655, -655, -655, -328, + 215, -327, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655, 585, -655, -655, -655, -655, -655, -655, + -655, -655, -655, 274, -655, -655, -192, -655, -655, -655, + -655, -655, -655, -655, -2, -655, 302, -655, -655, 92, + -655, -655, -655, -655, -655, -655, -655, -655, -655, -655, + -655, -655, -655 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1544,45 +1561,45 @@ static const yytype_int16 yydefgoto[] = { 0, 1, 2, 3, 27, 28, 183, 187, 191, 192, 182, 190, 121, 116, 125, 193, 195, 197, 201, 202, - 82, 29, 84, 30, 115, 312, 465, 31, 32, 117, - 316, 467, 675, 755, 733, 756, 734, 735, 773, 854, - 33, 118, 406, 34, 35, 124, 347, 486, 36, 85, - 37, 151, 346, 38, 39, 40, 126, 348, 500, 41, - 228, 377, 568, 42, 271, 43, 102, 260, 355, 44, - 45, 411, 501, 603, 502, 503, 409, 410, 487, 586, - 597, 598, 584, 588, 587, 589, 582, 407, 482, 677, - 332, 233, 307, 109, 369, 46, 488, 83, 298, 444, - 655, 208, 333, 350, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 351, 48, 311, 385, 460, 573, 461, - 462, 674, 489, 50, 310, 359, 420, 515, 516, 613, - 517, 490, 86, 219, 299, 220, 154, 155, 156, 157, - 52, 370, 446, 659, 371, 747, 769, 806, 372, 373, + 82, 29, 84, 30, 115, 312, 467, 31, 32, 117, + 316, 469, 676, 757, 735, 758, 736, 737, 775, 856, + 33, 118, 406, 34, 35, 124, 347, 488, 36, 85, + 37, 151, 346, 38, 39, 40, 126, 348, 502, 41, + 228, 377, 569, 42, 271, 43, 102, 260, 355, 44, + 45, 411, 503, 604, 504, 505, 409, 410, 489, 587, + 598, 599, 585, 589, 588, 590, 583, 407, 484, 678, + 332, 233, 307, 109, 369, 46, 490, 83, 298, 446, + 656, 208, 333, 350, 335, 336, 337, 338, 339, 340, + 341, 342, 343, 351, 48, 311, 385, 462, 574, 463, + 464, 675, 491, 50, 310, 359, 420, 517, 518, 614, + 519, 492, 86, 219, 299, 220, 154, 155, 156, 157, + 52, 370, 448, 660, 371, 749, 771, 808, 372, 373, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 53, 87, 54, 188, 360, 521, 422, 522, 617, 520, - 615, 741, 614, 55, 88, 56, 282, 424, 695, 762, - 798, 845, 624, 823, 846, 824, 847, 888, 842, 825, - 848, 826, 844, 843, 877, 879, 887, 57, 58, 59, - 89, 300, 447, 661, 565, 662, 751, 566, 173, 174, - 270, 606, 175, 356, 510, 176, 269, 413, 177, 178, - 357, 511, 179, 180, 358, 512, 181, 374, 445, 657, - 716, 658, 715, 770, 491, 436, 546, 712, 767, 803, - 437, 547, 713, 768, 805, 492, 90, 301, 448, 663, - 493, 684, 758, 796, 841, 494, 595, 506, 599, 738, - 778, 744, 763, 764, 782, 801, 850, 783, 799, 849, - 777, 794, 795, 816, 839, 874, 817, 840, 875, 596, - 818, 785, 802, 851, 789, 804, 852, 833, 853, 882, - 859, 876, 890, 895, 896, 899, 495, 496, 63, 64, - 65, 194, 362, 529, 66, 231, 379, 304, 378, 425, - 530, 632, 633, 634, 635, 636, 630, 637, 531, 550, - 532, 440, 552, 533, 534, 535, 67, 196, 68, 105, - 305, 453, 665, 752, 792, 381, 452, 808, 290, 363, - 540, 426, 541, 641, 642, 542, 706, 765, 543, 707, - 766, 69, 70, 71, 72, 73, 293, 427, 643, 74, - 75, 76, 199, 292, 77, 294, 428, 644, 78, 253, - 254, 317, 255, 810, 837, 811, 79, 111, 308, 454, - 666, 571, 572, 671, 724, 536, 257, 405, 344, 80, - 81, 112, 384, 204, 297, 442, 367, 443, 556, 557, - 555, 559 + 53, 87, 54, 188, 360, 423, 424, 617, 523, 618, + 522, 616, 743, 615, 55, 88, 56, 282, 426, 697, + 764, 800, 847, 625, 825, 848, 826, 849, 890, 844, + 827, 850, 828, 846, 845, 879, 881, 889, 57, 58, + 59, 89, 300, 449, 662, 566, 663, 753, 567, 173, + 174, 270, 607, 175, 356, 512, 176, 269, 413, 177, + 178, 357, 513, 179, 180, 358, 514, 181, 374, 447, + 658, 718, 659, 717, 772, 493, 438, 547, 714, 769, + 805, 439, 548, 715, 770, 807, 494, 90, 301, 450, + 664, 495, 685, 760, 798, 843, 496, 596, 508, 600, + 740, 780, 746, 765, 766, 784, 803, 852, 785, 801, + 851, 779, 796, 797, 818, 841, 876, 819, 842, 877, + 597, 820, 787, 804, 853, 791, 806, 854, 835, 855, + 884, 861, 878, 892, 897, 898, 901, 497, 498, 63, + 64, 65, 194, 362, 530, 66, 231, 379, 304, 378, + 427, 531, 633, 634, 635, 636, 637, 631, 638, 532, + 551, 533, 442, 553, 534, 535, 536, 67, 196, 68, + 105, 305, 455, 666, 754, 794, 381, 454, 810, 290, + 363, 541, 428, 542, 642, 643, 543, 708, 767, 544, + 709, 768, 69, 70, 71, 72, 73, 293, 429, 644, + 74, 75, 76, 199, 292, 77, 294, 430, 645, 78, + 253, 254, 317, 255, 812, 839, 813, 79, 111, 308, + 456, 667, 572, 573, 672, 726, 537, 257, 405, 344, + 80, 81, 112, 384, 204, 297, 444, 367, 445, 557, + 558, 556, 560 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1590,602 +1607,598 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 108, 110, 172, 168, 92, 169, 170, 93, 209, 103, - 104, 171, 153, 215, 49, 216, 113, 415, 212, 47, - 51, 152, 60, 334, 61, 509, 62, 438, 592, 238, - 646, 439, 210, 213, 214, 256, 416, 417, 418, 435, - 306, 211, 364, 717, 313, 172, 168, 309, 169, 170, - 504, 745, 660, 449, 171, 820, 106, 8, 731, 106, - 106, 207, 217, 123, 152, 539, 47, 51, 648, 60, - 649, 61, 548, 62, 106, 218, 8, 221, 222, 223, - 224, 592, 759, 821, 822, 226, 91, 732, 786, 229, - -376, 185, 230, 264, 4, 232, 265, 528, 394, 234, - 797, 198, 236, 544, -144, 198, 273, -145, 274, 122, - -376, 656, 122, 235, 382, 114, 235, 185, 819, 605, - 18, 225, -146, 227, 95, 830, 119, 122, 585, 451, - 318, 319, 320, 321, 322, 323, 324, 325, 106, 731, - 185, 429, 430, 107, 504, 185, 107, 107, 189, 326, - 327, 237, 185, -324, 820, 235, 18, 235, 266, 267, - 99, 235, 122, 279, 328, 329, 120, 209, 732, 330, - 331, 431, 215, -100, 216, -342, 432, 212, 122, 507, - 398, 399, 821, 822, 504, 203, 514, 459, 205, 106, - 239, 210, 213, 214, -468, 746, 402, 403, 404, 528, - 211, 400, 401, 570, 429, 430, 813, 814, 815, 318, - 319, 320, 321, 322, 323, 324, 325, 477, 478, 479, - 207, 391, 392, 393, -541, 107, 513, 240, 326, 327, - 821, 822, 669, 867, 431, 241, 670, 94, 96, 432, - 98, 101, 433, 434, 668, 259, 592, 473, 474, 331, - 475, 476, 258, 235, 261, 262, -212, 263, 272, 884, - 318, 319, 320, 321, 322, 323, 324, 325, 268, 275, - 414, 891, 276, 277, 278, 280, 107, 421, 281, 326, - 327, 283, 827, 429, 430, 284, 285, 286, 368, 287, - 288, 106, 289, 302, 328, 329, 291, 295, 314, 330, - 331, 296, -542, 315, 524, 525, 349, 429, 430, 303, - 209, 345, 352, 431, 526, 215, 353, 216, 432, 354, - 212, 433, 434, 857, 408, 361, 365, 669, 524, 525, - 508, 670, 408, 592, 210, 213, 214, 431, 526, 668, - 366, 523, 432, 211, 464, 433, 434, 334, 375, 376, - 760, -471, 383, 388, 395, 380, 450, 647, 389, 390, - 419, 396, 562, 207, 564, 653, 397, 412, -44, 466, - 480, 551, 560, 469, 592, 574, 561, 690, 563, 576, - 172, 168, 577, 169, 170, 578, 583, 579, 581, 171, - 519, 600, 152, 612, 604, 749, 481, 580, 49, 152, - 607, 610, 458, 47, 51, 608, 60, 609, 61, 549, - 62, 553, 554, 616, -300, 631, 611, 640, 549, 691, - 645, 650, 334, 505, 593, 651, 594, 652, 654, 673, - 569, -399, 664, 696, 697, 698, -581, 527, 678, 421, - 728, 679, 680, 681, 682, 683, 685, 687, 620, 686, - 688, 575, 693, 264, 689, 699, 700, 701, 621, 702, - 703, 172, 168, 704, 169, 170, 705, 708, 709, 721, - 171, 519, 591, 622, 623, 710, 711, 593, 718, 594, - 152, 719, 625, 720, 421, 722, 152, 725, 726, 727, - 729, 737, 753, 757, 761, 742, -417, 743, 781, 774, - 780, 619, 626, 627, 628, 656, 106, 779, 776, 784, - 788, 618, 128, 129, 869, 870, 132, 133, 134, 135, - 790, 791, 793, -426, 807, 591, 12, 638, 639, 800, - 809, 812, 172, 168, 828, 169, 170, 829, 831, 832, - 836, 171, 838, 855, 856, 889, 858, 860, 862, 871, - 863, 152, 880, 106, 886, 892, 885, 505, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 10, 11, 881, 12, 139, 140, 141, 142, 893, 184, - 894, -47, 897, -47, 667, 143, 144, 145, 146, 147, - 148, 149, 150, 107, 898, 900, 386, -47, -47, 185, - -47, -47, -47, 387, 775, -47, 739, 100, 97, 545, - 861, 714, 602, 470, 472, 471, 186, 694, 740, 672, - 692, 787, 463, 567, 601, 423, 864, -47, 771, 866, - 750, -47, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 868, 593, 883, 594, -47, 455, -101, 629, 558, - 200, 468, 122, 873, 723, 736, 0, 676, 0, 0, - 0, 441, 0, 0, 0, 0, 0, 0, 564, 5, - 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, - 591, 12, 47, 51, 0, 60, 13, 61, 0, 62, - 0, 0, 0, 92, 0, 0, 748, 0, 754, 14, - 15, 16, 17, 0, 0, 0, 0, 152, 18, 19, - 0, 0, 20, 0, 0, 21, 0, 0, 0, 593, - 772, 594, 22, 23, 0, 0, 0, 0, 0, 24, - 25, 730, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 748, 0, 0, 26, 865, 0, 0, -53, 0, 0, - 593, 0, 594, 47, 51, 0, 60, 591, 61, 0, - 62, 0, 0, 0, 0, 835, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 834, + 108, 110, 172, 168, 92, 169, 170, 93, 415, 103, + 104, 171, 153, 215, 209, 216, 113, 212, 213, 47, + 51, 152, 60, 334, 61, 62, 49, 511, 437, 238, + 593, 210, 211, 647, 214, 256, 416, 417, 418, 440, + 441, 364, 306, 309, 719, 172, 168, 661, 169, 170, + 106, 649, 313, 506, 171, 123, 822, 106, 733, 650, + 106, 207, 217, 822, 152, 734, 47, 51, 451, 60, + 540, 61, 62, 549, 8, 218, 747, 221, 222, 223, + 224, -379, 593, 823, 824, 226, 185, 234, 529, 229, + 823, 824, 230, 198, 106, 232, 4, 198, 394, 431, + 432, 235, 91, -144, 236, -379, -145, 761, 122, 264, + 657, 122, 265, 225, 788, 227, 382, 18, 235, 8, + 545, 95, 189, 606, 114, -146, 799, -100, 453, 433, + 122, 119, 122, 586, 434, 185, 107, 235, 18, 185, + 733, 106, 99, 107, 821, 235, 235, 734, 185, 506, + 120, 832, 402, 403, 404, 266, 267, -327, 815, 816, + 817, 398, 399, 279, 318, 319, 320, 321, 322, 323, + 324, 325, 215, 209, 216, -345, 212, 213, 122, 509, + 107, 400, 401, 326, 327, 273, 516, 274, 506, 529, + 210, 211, 106, 214, 203, 461, 479, 480, 481, 748, + 823, 824, 328, 329, 571, 94, 96, 330, 331, 98, + 101, 318, 319, 320, 321, 322, 323, 324, 325, 205, + 207, 431, 432, 391, 392, 393, -471, 107, 515, -544, + 326, 327, 237, 185, 669, 869, 475, 476, 239, 477, + 478, 240, 525, 526, 241, 670, 671, 259, 593, 328, + 329, 433, 527, 258, 330, 331, 434, 261, 262, 435, + 436, 886, 318, 319, 320, 321, 322, 323, 324, 325, + 414, 263, 268, 893, 431, 432, 235, 422, 107, 272, + 275, 326, 327, 276, 277, 278, 829, -212, 368, 281, + 106, 303, 315, -474, 280, 525, 526, 283, 284, 314, + 285, 286, 349, 287, 433, 527, 331, 431, 432, 434, + 288, 291, 435, 436, 289, 215, 209, 216, 295, 212, + 213, 296, -545, 345, 408, 302, 352, 859, 353, 669, + 510, 354, 408, 210, 211, 593, 214, 433, 365, 366, + 670, 671, 434, 524, 466, 435, 436, 361, 334, 375, + 376, 380, 383, 388, 762, 395, 452, 389, 390, 396, + 648, 421, 412, 207, 563, 397, 565, -44, 654, 482, + 468, 419, 552, 561, 562, 471, 593, 578, 691, 564, + 575, 172, 168, 577, 169, 170, 579, 580, 582, 605, + 171, 521, 152, 584, 601, 611, 483, 751, -302, 581, + 152, 608, 460, 47, 51, 609, 60, 610, 61, 62, + 49, 550, 613, 554, 555, 632, 612, 641, 646, 651, + 550, 652, 692, 334, 653, 655, 594, 674, 595, -402, + 665, -584, 570, 679, 680, 507, 698, 699, 700, 681, + 422, 730, 682, 683, 684, 686, 687, 688, 689, 694, + 264, 528, 723, 576, 696, 621, 701, 690, 622, 623, + 702, 703, 704, 172, 168, 705, 169, 170, 706, 707, + 710, 711, 171, 521, 592, 624, 712, 713, 594, 720, + 595, 722, 152, 626, 721, 422, 724, 739, 152, 727, + 728, 729, 731, 755, 744, 759, 763, 745, -420, 776, + 657, 781, 620, 627, 628, 629, 782, 871, 872, 106, + 783, 778, 786, 790, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 592, 792, 639, 640, + 139, 140, 141, 172, 168, 793, 169, 170, 891, 795, + -429, 802, 171, 811, 809, 814, 830, 831, 833, 834, + 838, 106, 152, 840, 857, 858, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 507, 12, 139, 140, 141, 860, 862, 864, 873, 865, + 882, 894, 883, 887, 888, 895, 896, 142, 143, 144, + 145, 146, 147, 148, 149, 107, 899, 668, 900, 902, + 184, 185, 386, 777, 100, 150, 97, 741, 546, 603, + 716, 387, 863, 473, 186, 472, 742, 693, 695, 5, + 673, 789, 6, 7, 8, 9, 465, 866, 474, 142, + 143, 144, 145, 146, 147, 148, 149, 107, 10, 11, + 602, 12, 868, 773, 594, 13, 595, 150, -101, 870, + 885, 752, 457, 122, 568, 425, 738, 559, 14, 15, + 16, 17, 630, 200, 470, 875, 725, 18, 19, 443, + 565, 20, 0, 677, 21, 0, 0, 0, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 24, 25, + 732, 0, 592, 47, 51, 0, 60, 0, 61, 62, + 0, 0, 0, 0, 0, 92, 0, 0, 750, 0, + 756, 0, 26, 0, 0, 0, 0, 0, 0, 152, + -53, 0, 0, 0, 0, 0, 0, 520, 0, 106, + 0, 594, 774, 595, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, + 139, 140, 141, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 750, 0, 0, 0, 867, 0, 0, 0, + 0, 0, 594, 0, 595, 47, 51, 0, 60, 592, + 61, 62, 0, 0, 0, 0, 0, 837, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 836, 0, 0, 0, 0, 0, 142, 143, 144, + 145, 146, 147, 148, 149, 107, 0, 0, 0, 0, + 592, 185, 0, 0, 0, 150, 172, 168, 0, 169, + 170, 408, 408, 0, 0, 171, 880, 0, 0, 0, + 0, 485, 0, -411, 6, 152, 874, 9, -411, -411, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + 10, 11, 408, 12, 0, -411, -411, 13, 0, 0, + 431, 432, 486, 487, -411, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 591, 0, - 0, 0, 0, 0, 172, 168, 0, 169, 170, 408, - 408, 0, 0, 171, 878, 0, 0, 0, 0, 483, - 0, -408, 6, 152, 872, 9, -408, -408, -408, -408, - -408, -408, -408, -408, -408, -408, -408, -408, 10, 11, - 408, 12, 0, 0, -408, -408, 13, 0, 0, 429, - 430, 484, 485, -408, 0, 0, 0, 0, 0, 14, - 0, 0, 0, 497, 498, 499, 0, 0, 0, 0, + 0, -411, -411, -411, -411, -411, -411, -411, -411, -411, + 0, 0, 0, 0, 0, -213, 0, 485, 0, -411, + 6, 0, -86, 9, -411, -411, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 10, 11, 0, 12, + 0, -411, -411, 13, 0, 0, 431, 432, 486, 487, + -411, 0, 0, 0, 0, 0, 14, 0, 0, 0, + 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -411, -411, -411, + -411, -411, -411, -411, -411, -411, 0, 0, 0, 0, + 0, -213, 0, 485, 0, -411, 6, 0, -557, 9, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 10, 11, 0, 12, 0, -411, -411, 13, + 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 538, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 539, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 0, 0, 0, 0, 0, 0, 0, 485, + 0, -411, 6, 0, -524, 9, -411, -411, -411, -411, + -411, -411, -411, -411, -411, -411, -411, -411, 10, 11, + 0, 12, 0, -411, -411, 13, 0, 0, 431, 432, + 486, 487, -411, 0, 485, 0, -411, 6, 14, 0, + 9, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 10, 11, 0, 12, 0, -411, -411, + 13, 22, 23, 431, 432, 486, 487, -411, 0, 0, + 0, 0, 0, 14, 0, 0, 0, 0, 0, -411, + -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, + 0, 0, 0, -213, 0, 0, 22, 23, 0, 0, + -68, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -411, -411, -411, -411, -411, -411, + -411, -411, -411, 0, 0, 0, 0, 0, -213, 0, + 485, 0, -411, 6, 0, -90, 9, -411, -411, -411, + -411, -411, -411, -411, -411, -411, -411, -411, -411, 10, + 11, 0, 12, 0, -411, -411, 13, 0, 0, 431, + 432, 486, 487, -411, 0, 0, 106, 6, 0, 14, + 458, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 206, 137, 0, 0, 0, 0, 12, 0, 140, 141, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -408, -408, -408, -408, -408, -408, -408, -408, -408, 0, - 0, 0, 0, 483, -213, -408, 6, -86, 0, 9, - -408, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, -408, 10, 11, 0, 12, 0, 0, -408, -408, - 13, 0, 0, 429, 430, 484, 485, -408, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 497, 498, 499, + -411, -411, -411, -411, -411, -411, -411, -411, -411, 0, + 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, + 0, -548, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 143, 144, 145, 146, 147, + 148, 149, 107, 0, 0, 0, 0, 0, 0, 520, + 0, 106, 0, 0, 0, 459, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 10, 11, + 106, 12, 139, 140, 141, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 10, 11, 106, + 12, 139, 140, 141, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 10, 11, 0, 12, + 139, 140, 141, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, + 143, 144, 145, 146, 147, 148, 149, 107, -2, 5, + 0, 0, 6, 7, 8, 9, 0, 150, 142, 143, + 144, 145, 146, 147, 148, 149, 107, 0, 10, 11, + 0, 12, 185, 0, 0, 13, 150, 142, 143, 144, + 145, 146, 147, 148, 149, 107, 0, 0, 14, 15, + 16, 17, 0, 0, 0, 150, 0, 18, 19, 0, + 0, 20, 0, 0, 21, -47, 0, -47, 0, 0, + 0, 22, 23, 242, 0, 243, 0, 0, 24, 25, + 0, -47, -47, 0, -47, -47, 0, 0, -47, 244, + 245, 0, 246, 247, 0, 0, 248, 0, 0, 0, + 0, 5, 26, -213, 6, 7, 8, 9, 0, 0, + -47, 0, 0, 0, -47, 0, 0, 0, 249, 0, + 10, 11, 250, 12, 0, 0, 0, 13, -47, 0, + 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, + 14, 15, 16, 17, 0, 0, 0, 0, 0, 18, + 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, + -47, 0, 0, 22, 23, 0, 0, 0, 252, 0, + 24, 25, 0, 0, 0, 0, 0, 5, 0, 0, + 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, -213, 10, 11, 0, 12, + 0, 0, 5, 13, 0, 6, 7, 8, 9, 0, + 0, 0, 0, 0, 0, 0, 14, 15, 16, 17, + 0, 10, 11, 0, 12, 18, 19, 0, 13, 20, + 0, 0, 21, 0, 0, 0, 0, 0, 0, 22, + 23, 14, 15, 16, 17, 0, 24, 25, 732, 0, + 18, 19, 0, 0, 20, 0, 106, 21, 0, 0, + 0, 619, 128, 129, 22, 23, 132, 133, 134, 135, + 26, 24, 25, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -408, -408, -408, -408, -408, -408, - -408, -408, -408, 0, 0, 0, 0, 483, -213, -408, - 6, -554, 0, 9, -408, -408, -408, -408, -408, -408, - -408, -408, -408, -408, -408, -408, 10, 11, 0, 12, - 0, 0, -408, -408, 13, 0, 0, 429, 430, 484, - 485, -408, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 537, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 538, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -408, -408, - -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, - 483, 0, -408, 6, 0, -521, 9, -408, -408, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, - 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, - 429, 430, 484, 485, -408, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, - 0, 0, 0, 0, 483, -213, -408, 6, -68, 0, - 9, -408, -408, -408, -408, -408, -408, -408, -408, -408, - -408, -408, -408, 10, 11, 0, 12, 0, 0, -408, - -408, 13, 0, 0, 429, 430, 484, 485, -408, 0, - 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 143, 144, 145, 146, 147, + 148, 149, 107, 485, 0, -411, 6, 0, 185, 9, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 10, 11, 0, 12, 0, -411, -411, 13, + 0, 0, 431, 432, 486, 487, -411, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 499, 500, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -408, -408, -408, -408, -408, - -408, -408, -408, -408, 0, 0, 0, 0, 483, -213, - -408, 6, -90, 0, 9, -408, -408, -408, -408, -408, - -408, -408, -408, -408, -408, -408, -408, 10, 11, 0, - 12, 0, 0, -408, -408, 13, 0, 0, 429, 430, - 484, 485, -408, 0, 0, 106, 6, 0, 14, 456, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, - 137, 0, 0, 0, 0, 12, 0, 0, 141, 142, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, - -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, - 0, 0, 0, -213, 0, 0, -545, 0, 0, 0, - 0, 0, 0, 0, -2, 5, 0, 0, 6, 7, - 8, 9, 0, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 0, 10, 11, 0, 12, 106, 0, - 0, 457, 13, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 14, 15, 16, 17, 139, - 140, 141, 142, 0, 18, 19, 0, 0, 20, 0, - 0, 21, 0, 0, 0, 0, 0, 0, 22, 23, - 518, 0, 106, 0, 0, 24, 25, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 10, - 11, 0, 12, 139, 140, 141, 142, 0, 0, 26, - -213, 0, 0, 0, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 0, 0, 0, 0, - 5, 185, 0, 6, 7, 8, 9, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 11, 0, 12, 0, 0, 0, 0, 13, 0, 0, - 0, 143, 144, 145, 146, 147, 148, 149, 150, 107, - 14, 15, 16, 17, 0, 185, 0, 0, 0, 18, - 19, 0, 0, 20, 0, 0, 21, 0, 0, 0, - 0, 0, 5, 22, 23, 6, 7, 8, 9, 0, - 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 10, 11, 0, 12, 0, 0, 5, 0, 13, - 6, 7, 8, 9, 26, -213, 0, 0, 0, 0, - 0, 0, 14, 15, 16, 17, 10, 11, 0, 12, - 0, 18, 19, 0, 13, 20, 0, 0, 21, 0, - 0, 0, 0, 0, 0, 22, 23, 14, 15, 16, - 17, 0, 24, 25, 730, 0, 18, 19, 0, 0, - 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 22, 23, 0, 0, 106, 0, 26, 24, 25, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 10, 11, 0, 12, 139, 140, 141, 142, 0, - 483, 26, -408, 6, 0, 0, 9, -408, -408, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, - 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, - 429, 430, 484, 485, -408, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 497, 498, 499, 0, 0, 0, - 0, 0, 0, 143, 144, 145, 146, 147, 148, 149, - 150, 107, 0, 22, 23, 0, 0, 185, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, - 483, 0, -408, 6, 0, 0, 9, -408, -408, -408, - -408, -408, -408, -408, -408, -408, -408, -408, -408, 10, - 11, 0, 12, 0, 0, -408, -408, 13, 0, 0, - 429, 430, 484, 485, -408, 518, 0, 106, 0, 0, - 14, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 10, 11, 0, 12, 139, 140, - 141, 142, 0, 22, 23, 0, 0, 0, 0, 0, + 0, 0, 0, -411, -411, -411, -411, -411, -411, -411, + -411, -411, 485, 0, -411, 6, 0, 0, 9, -411, + -411, -411, -411, -411, -411, -411, -411, -411, -411, -411, + -411, 10, 11, 0, 12, 0, -411, -411, 13, 0, + 0, 431, 432, 486, 487, -411, 0, 106, 0, 0, + 0, 14, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 206, 137, 138, 0, 0, 0, 0, 0, 140, + 141, 0, 0, 0, 22, 23, 0, 0, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -408, -408, -408, -408, -408, -408, -408, -408, -408, - 106, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 10, 11, 0, - 12, 139, 140, 141, 142, 0, 143, 144, 145, 146, - 147, 148, 149, 150, 107, 106, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 206, - 137, 138, 0, 0, 0, 0, 0, 0, 141, 142, - 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 145, 146, 147, 148, 149, 150, 107, 106, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 206, 137, 138, 0, 0, 0, 0, 0, - 0, 141, 142, 0, 143, 144, 145, 146, 147, 148, - 149, 150, 107, 106, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 206, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 142, 0, 0, + 0, 0, -411, -411, -411, -411, -411, -411, -411, -411, + -411, 106, 0, 0, 0, 0, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 206, 137, 138, 0, 0, + 0, 0, 0, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 107, 106, 0, 0, 0, 0, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 206, 0, + 0, 0, 0, 0, 0, 0, 140, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 107, 242, 0, 243, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, + 143, 144, 145, 146, 147, 148, 149, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 245, 0, 246, 247, 248, 0, 0, - 249, 0, 143, 144, 145, 146, 147, 148, 149, 150, - 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 252 + 0, 0, 142, 143, 144, 145, 146, 147, 148, 149, + 107 }; static const yytype_int16 yycheck[] = { - 22, 23, 43, 43, 14, 43, 43, 14, 83, 19, - 20, 43, 43, 83, 2, 83, 26, 354, 83, 2, - 2, 43, 2, 256, 2, 414, 2, 367, 494, 112, - 547, 367, 83, 83, 83, 118, 356, 357, 358, 367, - 233, 83, 292, 659, 242, 86, 86, 3, 86, 86, - 411, 707, 3, 377, 86, 1, 3, 6, 675, 3, - 3, 83, 84, 36, 86, 426, 49, 49, 3, 49, - 3, 49, 19, 49, 3, 85, 6, 87, 88, 89, - 90, 547, 738, 29, 30, 95, 3, 675, 766, 99, - 96, 96, 102, 8, 0, 105, 11, 425, 331, 76, - 778, 74, 76, 427, 97, 78, 101, 97, 103, 102, - 116, 116, 102, 90, 307, 100, 90, 96, 796, 508, - 50, 94, 97, 96, 54, 803, 97, 102, 489, 379, - 74, 75, 76, 77, 78, 79, 80, 81, 3, 756, - 96, 31, 32, 90, 505, 96, 90, 90, 22, 93, - 94, 3, 96, 99, 1, 90, 50, 90, 8, 9, - 54, 90, 102, 185, 108, 109, 97, 242, 756, 113, - 114, 61, 242, 97, 242, 97, 66, 242, 102, 412, - 91, 92, 29, 30, 545, 98, 419, 385, 97, 3, - 98, 242, 242, 242, 97, 712, 110, 111, 112, 527, - 242, 108, 109, 453, 31, 32, 36, 37, 38, 74, - 75, 76, 77, 78, 79, 80, 81, 402, 403, 404, - 242, 328, 329, 330, 97, 90, 419, 98, 93, 94, - 29, 30, 572, 849, 61, 97, 572, 15, 16, 66, - 16, 17, 69, 70, 572, 49, 712, 398, 399, 114, - 400, 401, 97, 90, 98, 97, 96, 98, 101, 875, - 74, 75, 76, 77, 78, 79, 80, 81, 100, 100, - 353, 887, 100, 97, 97, 97, 90, 360, 98, 93, - 94, 97, 799, 31, 32, 97, 97, 97, 298, 98, - 97, 3, 98, 98, 108, 109, 97, 97, 100, 113, - 114, 97, 97, 3, 52, 53, 8, 31, 32, 102, - 385, 101, 100, 61, 62, 385, 100, 385, 66, 48, - 385, 69, 70, 840, 346, 114, 98, 667, 52, 53, - 413, 667, 354, 799, 385, 385, 385, 61, 62, 667, - 98, 424, 66, 385, 385, 69, 70, 580, 98, 98, - 739, 99, 98, 3, 105, 102, 378, 550, 101, 103, - 114, 106, 445, 385, 447, 558, 107, 103, 99, 101, - 103, 59, 99, 115, 840, 97, 104, 610, 103, 97, - 421, 421, 99, 421, 421, 3, 99, 98, 103, 421, - 421, 99, 414, 103, 101, 715, 406, 480, 386, 421, - 101, 104, 385, 386, 386, 101, 386, 101, 386, 431, - 386, 433, 434, 99, 99, 99, 115, 99, 440, 612, - 32, 97, 655, 411, 494, 97, 494, 97, 97, 30, - 452, 99, 99, 626, 627, 628, 99, 425, 97, 522, - 673, 97, 97, 97, 97, 97, 97, 3, 523, 97, - 97, 461, 97, 8, 103, 97, 97, 97, 523, 97, - 97, 502, 502, 97, 502, 502, 97, 97, 97, 67, - 502, 502, 494, 523, 523, 99, 99, 547, 99, 547, - 502, 103, 523, 99, 567, 99, 508, 97, 97, 97, - 97, 3, 97, 97, 97, 115, 36, 114, 36, 99, - 115, 523, 524, 525, 526, 116, 3, 98, 114, 39, - 56, 8, 9, 10, 851, 852, 13, 14, 15, 16, - 103, 117, 100, 115, 60, 547, 23, 537, 538, 115, - 3, 115, 573, 573, 103, 573, 573, 114, 114, 63, - 101, 573, 115, 103, 103, 882, 40, 97, 102, 114, - 99, 573, 115, 3, 102, 97, 114, 545, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 115, 23, 24, 25, 26, 27, 115, 49, - 76, 4, 115, 6, 572, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 103, 76, 312, 20, 21, 96, - 23, 24, 25, 312, 756, 28, 689, 17, 16, 428, - 843, 655, 505, 395, 397, 396, 50, 615, 692, 573, - 612, 767, 385, 448, 502, 360, 846, 50, 751, 848, - 716, 54, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 850, 712, 874, 712, 68, 384, 97, 527, 440, - 78, 390, 102, 855, 667, 677, -1, 580, -1, -1, - -1, 367, -1, -1, -1, -1, -1, -1, 751, 1, - -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - 712, 23, 675, 675, -1, 675, 28, 675, -1, 675, - -1, -1, -1, 713, -1, -1, 713, -1, 730, 41, - 42, 43, 44, -1, -1, -1, -1, 739, 50, 51, - -1, -1, 54, -1, -1, 57, -1, -1, -1, 799, - 752, 799, 64, 65, -1, -1, -1, -1, -1, 71, - 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 767, -1, -1, - 767, -1, -1, 95, 847, -1, -1, 99, -1, -1, - 840, -1, 840, 756, 756, -1, 756, 799, 756, -1, - 756, -1, -1, -1, -1, 807, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 806, -1, -1, 806, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 840, -1, - -1, -1, -1, -1, 865, 865, -1, 865, 865, 851, - 852, -1, -1, 865, 865, -1, -1, -1, -1, 1, - -1, 3, 4, 865, 854, 7, 8, 9, 10, 11, + 22, 23, 43, 43, 14, 43, 43, 14, 354, 19, + 20, 43, 43, 83, 83, 83, 26, 83, 83, 2, + 2, 43, 2, 256, 2, 2, 2, 414, 367, 112, + 496, 83, 83, 548, 83, 118, 356, 357, 358, 367, + 367, 292, 233, 3, 660, 86, 86, 3, 86, 86, + 3, 3, 242, 411, 86, 36, 1, 3, 676, 3, + 3, 83, 84, 1, 86, 676, 49, 49, 377, 49, + 428, 49, 49, 19, 6, 85, 709, 87, 88, 89, + 90, 95, 548, 28, 29, 95, 95, 75, 427, 99, + 28, 29, 102, 74, 3, 105, 0, 78, 331, 30, + 31, 89, 3, 100, 75, 119, 100, 740, 105, 8, + 119, 105, 11, 94, 768, 96, 307, 49, 89, 6, + 429, 53, 22, 510, 103, 100, 780, 100, 379, 60, + 105, 100, 105, 491, 65, 95, 89, 89, 49, 95, + 758, 3, 53, 89, 798, 89, 89, 758, 95, 507, + 100, 805, 113, 114, 115, 8, 9, 102, 35, 36, + 37, 90, 91, 185, 73, 74, 75, 76, 77, 78, + 79, 80, 242, 242, 242, 100, 242, 242, 105, 412, + 89, 111, 112, 92, 93, 104, 419, 106, 546, 528, + 242, 242, 3, 242, 101, 385, 402, 403, 404, 714, + 28, 29, 111, 112, 455, 15, 16, 116, 117, 16, + 17, 73, 74, 75, 76, 77, 78, 79, 80, 100, + 242, 30, 31, 328, 329, 330, 100, 89, 419, 100, + 92, 93, 3, 95, 573, 851, 398, 399, 101, 400, + 401, 101, 51, 52, 100, 573, 573, 48, 714, 111, + 112, 60, 61, 100, 116, 117, 65, 101, 100, 68, + 69, 877, 73, 74, 75, 76, 77, 78, 79, 80, + 353, 101, 103, 889, 30, 31, 89, 360, 89, 104, + 103, 92, 93, 103, 100, 100, 801, 95, 298, 101, + 3, 105, 3, 102, 100, 51, 52, 100, 100, 103, + 100, 100, 8, 101, 60, 61, 117, 30, 31, 65, + 100, 100, 68, 69, 101, 385, 385, 385, 100, 385, + 385, 100, 100, 104, 346, 101, 103, 842, 103, 668, + 413, 47, 354, 385, 385, 801, 385, 60, 101, 101, + 668, 668, 65, 426, 385, 68, 69, 117, 581, 101, + 101, 105, 101, 3, 741, 108, 378, 104, 106, 109, + 551, 102, 106, 385, 447, 110, 449, 102, 559, 106, + 104, 117, 58, 102, 107, 118, 842, 102, 611, 106, + 100, 422, 422, 100, 422, 422, 3, 101, 106, 104, + 422, 422, 414, 102, 102, 107, 406, 717, 102, 482, + 422, 104, 385, 386, 386, 104, 386, 104, 386, 386, + 386, 433, 106, 435, 436, 102, 118, 102, 31, 100, + 442, 100, 613, 656, 100, 100, 496, 29, 496, 102, + 102, 102, 454, 100, 100, 411, 627, 628, 629, 100, + 523, 674, 100, 100, 100, 100, 100, 3, 100, 100, + 8, 427, 66, 463, 102, 524, 100, 106, 524, 524, + 100, 100, 100, 504, 504, 100, 504, 504, 100, 100, + 100, 100, 504, 504, 496, 524, 102, 102, 548, 102, + 548, 102, 504, 524, 106, 568, 102, 3, 510, 100, + 100, 100, 100, 100, 118, 100, 100, 117, 35, 102, + 119, 101, 524, 525, 526, 527, 118, 853, 854, 3, + 35, 117, 38, 55, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 548, 106, 538, 539, + 24, 25, 26, 574, 574, 120, 574, 574, 884, 103, + 118, 118, 574, 3, 59, 118, 106, 117, 117, 62, + 104, 3, 574, 118, 106, 106, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 882, 23, -1, -1, 26, 27, 28, -1, -1, 31, - 32, 33, 34, 35, -1, -1, -1, -1, -1, 41, - -1, -1, -1, 45, 46, 47, -1, -1, -1, -1, + 546, 23, 24, 25, 26, 39, 100, 105, 117, 102, + 118, 100, 118, 117, 105, 118, 75, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 118, 573, 106, 75, + 49, 95, 312, 758, 17, 99, 16, 690, 430, 507, + 656, 312, 845, 396, 50, 395, 693, 613, 616, 1, + 574, 769, 4, 5, 6, 7, 385, 848, 397, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 20, 21, + 504, 23, 850, 753, 714, 27, 714, 99, 100, 852, + 876, 718, 384, 105, 450, 360, 678, 442, 40, 41, + 42, 43, 528, 78, 390, 857, 668, 49, 50, 367, + 753, 53, -1, 581, 56, -1, -1, -1, -1, -1, + -1, 63, 64, -1, -1, -1, -1, -1, 70, 71, + 72, -1, 714, 676, 676, -1, 676, -1, 676, 676, + -1, -1, -1, -1, -1, 715, -1, -1, 715, -1, + 732, -1, 94, -1, -1, -1, -1, -1, -1, 741, + 102, -1, -1, -1, -1, -1, -1, 1, -1, 3, + -1, 801, 754, 801, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + 24, 25, 26, -1, -1, -1, -1, -1, -1, 769, + -1, -1, 769, -1, -1, -1, 849, -1, -1, -1, + -1, -1, 842, -1, 842, 758, 758, -1, 758, 801, + 758, 758, -1, -1, -1, -1, -1, 809, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 808, -1, + -1, 808, -1, -1, -1, -1, -1, 81, 82, 83, + 84, 85, 86, 87, 88, 89, -1, -1, -1, -1, + 842, 95, -1, -1, -1, 99, 867, 867, -1, 867, + 867, 853, 854, -1, -1, 867, 867, -1, -1, -1, + -1, 1, -1, 3, 4, 867, 856, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 884, 23, -1, 25, 26, 27, -1, -1, + 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, -1, 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, -1, 1, 96, 3, 4, 99, -1, 7, + -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, + -1, -1, -1, -1, -1, 95, -1, 1, -1, 3, + 4, -1, 102, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, + -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, + 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, + 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, + 84, 85, 86, 87, 88, 89, -1, -1, -1, -1, + -1, 95, -1, 1, -1, 3, 4, -1, 102, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, -1, 23, -1, -1, 26, 27, - 28, -1, -1, 31, 32, 33, 34, 35, -1, -1, - -1, -1, -1, 41, -1, -1, -1, 45, 46, 47, + 18, 19, 20, 21, -1, 23, -1, 25, 26, 27, + -1, -1, 30, 31, 32, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, -1, 44, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 54, -1, -1, -1, + -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, + -1, -1, -1, 81, 82, 83, 84, 85, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, 1, + -1, 3, 4, -1, 102, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + -1, 23, -1, 25, 26, 27, -1, -1, 30, 31, + 32, 33, 34, -1, 1, -1, 3, 4, 40, -1, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, -1, 23, -1, 25, 26, + 27, 63, 64, 30, 31, 32, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, -1, -1, -1, 81, + 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, + -1, -1, -1, 95, -1, -1, 63, 64, -1, -1, + 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, + 87, 88, 89, -1, -1, -1, -1, -1, 95, -1, + 1, -1, 3, 4, -1, 102, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, -1, 23, -1, 25, 26, 27, -1, -1, 30, + 31, 32, 33, 34, -1, -1, 3, 4, -1, 40, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, -1, -1, -1, -1, 23, -1, 25, 26, + -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, -1, -1, -1, 1, 96, 3, - 4, 99, -1, 7, 8, 9, 10, 11, 12, 13, + 81, 82, 83, 84, 85, 86, 87, 88, 89, -1, + -1, -1, -1, -1, 95, -1, -1, -1, -1, -1, + -1, 102, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, + 87, 88, 89, -1, -1, -1, -1, -1, -1, 1, + -1, 3, -1, -1, -1, 102, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 3, 23, 24, 25, 26, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 3, + 23, 24, 25, 26, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, - -1, -1, 26, 27, 28, -1, -1, 31, 32, 33, - 34, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, -1, -1, - 1, -1, 3, 4, -1, 99, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, - 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, - 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 24, 25, 26, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 0, 1, + -1, -1, 4, 5, 6, 7, -1, 99, 81, 82, + 83, 84, 85, 86, 87, 88, 89, -1, 20, 21, + -1, 23, 95, -1, -1, 27, 99, 81, 82, 83, + 84, 85, 86, 87, 88, 89, -1, -1, 40, 41, + 42, 43, -1, -1, -1, 99, -1, 49, 50, -1, + -1, 53, -1, -1, 56, 4, -1, 6, -1, -1, + -1, 63, 64, 4, -1, 6, -1, -1, 70, 71, + -1, 20, 21, -1, 23, 24, -1, -1, 27, 20, + 21, -1, 23, 24, -1, -1, 27, -1, -1, -1, + -1, 1, 94, 95, 4, 5, 6, 7, -1, -1, + 49, -1, -1, -1, 53, -1, -1, -1, 49, -1, + 20, 21, 53, 23, -1, -1, -1, 27, 67, -1, + -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, + 40, 41, 42, 43, -1, -1, -1, -1, -1, 49, + 50, -1, -1, 53, -1, -1, 56, -1, -1, -1, + 99, -1, -1, 63, 64, -1, -1, -1, 99, -1, + 70, 71, -1, -1, -1, -1, -1, 1, -1, -1, + 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 94, 95, 20, 21, -1, 23, + -1, -1, 1, 27, -1, 4, 5, 6, 7, -1, + -1, -1, -1, -1, -1, -1, 40, 41, 42, 43, + -1, 20, 21, -1, 23, 49, 50, -1, 27, 53, + -1, -1, 56, -1, -1, -1, -1, -1, -1, 63, + 64, 40, 41, 42, 43, -1, 70, 71, 72, -1, + 49, 50, -1, -1, 53, -1, 3, 56, -1, -1, + -1, 8, 9, 10, 63, 64, 13, 14, 15, 16, + 94, 70, 71, -1, -1, -1, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - -1, -1, -1, -1, 1, 96, 3, 4, 99, -1, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, -1, 23, -1, -1, 26, - 27, 28, -1, -1, 31, 32, 33, 34, 35, -1, - -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, -1, -1, -1, -1, 1, 96, - 3, 4, 99, -1, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, - 23, -1, -1, 26, 27, 28, -1, -1, 31, 32, - 33, 34, 35, -1, -1, 3, 4, -1, 41, 7, + -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 1, -1, 3, 4, -1, 95, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, -1, -1, -1, -1, 23, -1, -1, 26, 27, - -1, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, - -1, -1, -1, 96, -1, -1, 99, -1, -1, -1, - -1, -1, -1, -1, 0, 1, -1, -1, 4, 5, - 6, 7, -1, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, -1, 20, 21, -1, 23, 3, -1, - -1, 99, 28, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 41, 42, 43, 44, 24, - 25, 26, 27, -1, 50, 51, -1, -1, 54, -1, - -1, 57, -1, -1, -1, -1, -1, -1, 64, 65, - 1, -1, 3, -1, -1, 71, 72, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, 24, 25, 26, 27, -1, -1, 95, - 96, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, - 1, 96, -1, 4, 5, 6, 7, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, - 21, -1, 23, -1, -1, -1, -1, 28, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 41, 42, 43, 44, -1, 96, -1, -1, -1, 50, - 51, -1, -1, 54, -1, -1, 57, -1, -1, -1, - -1, -1, 1, 64, 65, 4, 5, 6, 7, -1, - 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 20, 21, -1, 23, -1, -1, 1, -1, 28, - 4, 5, 6, 7, 95, 96, -1, -1, -1, -1, - -1, -1, 41, 42, 43, 44, 20, 21, -1, 23, - -1, 50, 51, -1, 28, 54, -1, -1, 57, -1, - -1, -1, -1, -1, -1, 64, 65, 41, 42, 43, - 44, -1, 71, 72, 73, -1, 50, 51, -1, -1, - 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, - 64, 65, -1, -1, 3, -1, 95, 71, 72, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, - 1, 95, 3, 4, -1, -1, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, - 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, - 41, -1, -1, -1, 45, 46, 47, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, -1, 64, 65, -1, -1, 96, -1, -1, + 18, 19, 20, 21, -1, 23, -1, 25, 26, 27, + -1, -1, 30, 31, 32, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, -1, 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 1, -1, 3, 4, -1, -1, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, -1, 23, -1, -1, 26, 27, 28, -1, -1, - 31, 32, 33, 34, 35, 1, -1, 3, -1, -1, - 41, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, -1, 23, 24, 25, - 26, 27, -1, 64, 65, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 3, -1, -1, -1, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, - 23, 24, 25, 26, 27, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 3, -1, -1, -1, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, -1, -1, -1, -1, -1, -1, 26, 27, - -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 3, -1, - -1, -1, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, - -1, 26, 27, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 3, -1, -1, -1, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, - -1, -1, -1, -1, -1, -1, 26, 27, -1, -1, + -1, -1, -1, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 1, -1, 3, 4, -1, -1, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, -1, 23, -1, 25, 26, 27, -1, + -1, 30, 31, 32, 33, 34, -1, 3, -1, -1, + -1, 40, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, + 26, -1, -1, -1, 63, 64, -1, -1, 34, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 3, -1, -1, -1, -1, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, -1, -1, + -1, -1, -1, 25, 26, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 3, -1, -1, -1, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, + -1, -1, -1, -1, -1, -1, 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 4, -1, 6, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, + 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 20, 21, -1, 23, 24, 25, -1, -1, - 28, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 50, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 68 + -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, + 89 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 119, 120, 121, 0, 1, 4, 5, 6, 7, - 20, 21, 23, 28, 41, 42, 43, 44, 50, 51, - 54, 57, 64, 65, 71, 72, 95, 122, 123, 139, - 141, 145, 146, 158, 161, 162, 166, 168, 171, 172, - 173, 177, 181, 183, 187, 188, 213, 214, 232, 240, - 241, 249, 258, 278, 280, 291, 293, 315, 316, 317, - 363, 414, 415, 416, 417, 418, 422, 444, 446, 469, - 470, 471, 472, 473, 477, 478, 479, 482, 486, 494, - 507, 508, 138, 215, 140, 167, 250, 279, 292, 318, - 364, 3, 212, 266, 166, 54, 166, 181, 183, 54, - 173, 183, 184, 212, 212, 447, 3, 90, 208, 211, - 208, 495, 509, 212, 100, 142, 131, 147, 159, 97, - 97, 130, 102, 169, 163, 132, 174, 8, 9, 10, + 0, 122, 123, 124, 0, 1, 4, 5, 6, 7, + 20, 21, 23, 27, 40, 41, 42, 43, 49, 50, + 53, 56, 63, 64, 70, 71, 94, 125, 126, 142, + 144, 148, 149, 161, 164, 165, 169, 171, 174, 175, + 176, 180, 184, 186, 190, 191, 216, 217, 235, 243, + 244, 252, 261, 281, 283, 295, 297, 319, 320, 321, + 367, 418, 419, 420, 421, 422, 426, 448, 450, 473, + 474, 475, 476, 477, 481, 482, 483, 486, 490, 498, + 511, 512, 141, 218, 143, 170, 253, 282, 296, 322, + 368, 3, 215, 269, 169, 53, 169, 184, 186, 53, + 176, 186, 187, 215, 215, 451, 3, 89, 211, 214, + 211, 499, 513, 215, 103, 145, 134, 150, 162, 100, + 100, 133, 105, 172, 166, 135, 177, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, - 25, 26, 27, 82, 83, 84, 85, 86, 87, 88, - 89, 169, 208, 253, 254, 255, 256, 257, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, - 291, 293, 317, 326, 327, 330, 333, 336, 337, 340, - 341, 344, 128, 124, 122, 96, 242, 125, 281, 22, - 129, 126, 127, 133, 419, 134, 445, 135, 169, 480, - 480, 136, 137, 98, 511, 97, 17, 208, 219, 268, - 271, 272, 273, 274, 275, 337, 341, 208, 212, 251, - 253, 212, 212, 212, 212, 169, 212, 169, 178, 212, - 212, 423, 212, 209, 76, 90, 76, 3, 241, 98, - 98, 97, 4, 6, 20, 21, 23, 24, 25, 28, - 50, 54, 68, 487, 488, 490, 241, 504, 97, 49, - 185, 98, 97, 98, 8, 11, 8, 9, 100, 334, - 328, 182, 101, 101, 103, 100, 100, 97, 97, 208, - 97, 98, 294, 97, 97, 97, 97, 98, 97, 98, - 456, 97, 481, 474, 483, 97, 97, 512, 216, 252, - 319, 365, 98, 102, 425, 448, 211, 210, 496, 3, - 242, 233, 143, 219, 100, 3, 148, 489, 74, 75, - 76, 77, 78, 79, 80, 81, 93, 94, 108, 109, - 113, 114, 208, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 506, 101, 170, 164, 175, 8, - 221, 231, 100, 100, 48, 186, 331, 338, 342, 243, - 282, 114, 420, 457, 186, 98, 98, 514, 212, 212, - 259, 262, 266, 267, 345, 98, 98, 179, 426, 424, - 102, 453, 211, 98, 510, 234, 120, 121, 3, 101, - 103, 229, 229, 229, 221, 105, 106, 107, 91, 92, - 108, 109, 110, 111, 112, 505, 160, 205, 208, 194, - 195, 189, 103, 335, 241, 205, 231, 231, 231, 114, - 244, 241, 284, 286, 295, 427, 459, 475, 484, 31, - 32, 61, 66, 69, 70, 352, 353, 358, 436, 438, - 439, 503, 513, 515, 217, 346, 260, 320, 366, 194, - 208, 186, 454, 449, 497, 425, 7, 99, 214, 219, - 235, 237, 238, 276, 317, 144, 101, 149, 490, 115, - 223, 224, 225, 226, 226, 227, 227, 228, 228, 228, - 103, 212, 206, 1, 33, 34, 165, 196, 214, 240, - 249, 352, 363, 368, 373, 414, 415, 45, 46, 47, - 176, 190, 192, 193, 196, 240, 375, 221, 241, 254, - 332, 339, 343, 211, 221, 245, 246, 248, 1, 253, - 287, 283, 285, 241, 52, 53, 62, 240, 352, 421, - 428, 436, 438, 441, 442, 443, 503, 45, 55, 196, - 458, 460, 463, 466, 194, 189, 354, 359, 19, 208, - 437, 59, 440, 208, 208, 518, 516, 517, 437, 519, - 99, 104, 241, 103, 241, 322, 325, 285, 180, 208, - 186, 499, 500, 236, 97, 212, 97, 99, 3, 98, - 241, 103, 204, 99, 200, 196, 197, 202, 201, 203, - 35, 208, 255, 337, 341, 374, 397, 198, 199, 376, - 99, 287, 190, 191, 101, 254, 329, 101, 101, 101, - 104, 115, 103, 247, 290, 288, 99, 286, 8, 208, - 268, 273, 274, 275, 300, 317, 208, 208, 208, 428, - 434, 99, 429, 430, 431, 432, 433, 435, 212, 212, - 99, 461, 462, 476, 485, 32, 397, 211, 3, 3, - 97, 97, 97, 211, 97, 218, 116, 347, 349, 261, - 3, 321, 323, 367, 99, 450, 498, 240, 352, 436, - 438, 501, 251, 30, 239, 150, 506, 207, 97, 97, - 97, 97, 97, 97, 369, 97, 97, 3, 97, 103, - 221, 211, 248, 97, 259, 296, 211, 211, 211, 97, - 97, 97, 97, 97, 97, 97, 464, 467, 97, 97, - 99, 99, 355, 360, 220, 350, 348, 262, 99, 103, - 99, 67, 99, 501, 502, 97, 97, 97, 221, 97, - 73, 123, 139, 152, 154, 155, 208, 3, 377, 241, - 247, 289, 115, 114, 379, 379, 397, 263, 266, 231, - 349, 324, 451, 97, 208, 151, 153, 97, 370, 379, - 254, 97, 297, 380, 381, 465, 468, 356, 361, 264, - 351, 325, 208, 156, 99, 154, 114, 388, 378, 98, - 115, 36, 382, 385, 39, 399, 399, 263, 56, 402, - 103, 117, 452, 100, 389, 390, 371, 399, 298, 386, - 115, 383, 400, 357, 403, 362, 265, 60, 455, 3, - 491, 493, 115, 36, 37, 38, 391, 394, 398, 399, - 1, 29, 30, 301, 303, 307, 309, 397, 103, 114, - 399, 114, 63, 405, 266, 208, 101, 492, 115, 392, - 395, 372, 306, 311, 310, 299, 302, 304, 308, 387, - 384, 401, 404, 406, 157, 103, 103, 397, 40, 408, - 97, 221, 102, 99, 303, 241, 309, 262, 385, 205, - 205, 114, 212, 493, 393, 396, 409, 312, 253, 313, - 115, 115, 407, 394, 262, 114, 102, 314, 305, 205, - 410, 262, 97, 115, 76, 411, 412, 115, 103, 413, - 76 + 25, 26, 81, 82, 83, 84, 85, 86, 87, 88, + 99, 172, 211, 256, 257, 258, 259, 260, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 283, + 295, 297, 321, 330, 331, 334, 337, 340, 341, 344, + 345, 348, 131, 127, 125, 95, 245, 128, 284, 22, + 132, 129, 130, 136, 423, 137, 449, 138, 172, 484, + 484, 139, 140, 101, 515, 100, 17, 211, 222, 271, + 274, 275, 276, 277, 278, 341, 345, 211, 215, 254, + 256, 215, 215, 215, 215, 172, 215, 172, 181, 215, + 215, 427, 215, 212, 75, 89, 75, 3, 244, 101, + 101, 100, 4, 6, 20, 21, 23, 24, 27, 49, + 53, 67, 99, 491, 492, 494, 244, 508, 100, 48, + 188, 101, 100, 101, 8, 11, 8, 9, 103, 338, + 332, 185, 104, 104, 106, 103, 103, 100, 100, 211, + 100, 101, 298, 100, 100, 100, 100, 101, 100, 101, + 460, 100, 485, 478, 487, 100, 100, 516, 219, 255, + 323, 369, 101, 105, 429, 452, 214, 213, 500, 3, + 245, 236, 146, 222, 103, 3, 151, 493, 73, 74, + 75, 76, 77, 78, 79, 80, 92, 93, 111, 112, + 116, 117, 211, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 510, 104, 173, 167, 178, 8, + 224, 234, 103, 103, 47, 189, 335, 342, 346, 246, + 285, 117, 424, 461, 189, 101, 101, 518, 215, 215, + 262, 265, 269, 270, 349, 101, 101, 182, 430, 428, + 105, 457, 214, 101, 514, 237, 123, 124, 3, 104, + 106, 232, 232, 232, 224, 108, 109, 110, 90, 91, + 111, 112, 113, 114, 115, 509, 163, 208, 211, 197, + 198, 192, 106, 339, 244, 208, 234, 234, 234, 117, + 247, 102, 244, 286, 287, 290, 299, 431, 463, 479, + 488, 30, 31, 60, 65, 68, 69, 356, 357, 362, + 440, 442, 443, 507, 517, 519, 220, 350, 263, 324, + 370, 197, 211, 189, 458, 453, 501, 429, 7, 102, + 217, 222, 238, 240, 241, 279, 321, 147, 104, 152, + 494, 118, 226, 227, 228, 229, 229, 230, 230, 231, + 231, 231, 106, 215, 209, 1, 32, 33, 168, 199, + 217, 243, 252, 356, 367, 372, 377, 418, 419, 44, + 45, 46, 179, 193, 195, 196, 199, 243, 379, 224, + 244, 257, 336, 343, 347, 214, 224, 248, 249, 251, + 1, 256, 291, 289, 244, 51, 52, 61, 243, 356, + 425, 432, 440, 442, 445, 446, 447, 507, 44, 54, + 199, 462, 464, 467, 470, 197, 192, 358, 363, 19, + 211, 441, 58, 444, 211, 211, 522, 520, 521, 441, + 523, 102, 107, 244, 106, 244, 326, 329, 289, 183, + 211, 189, 503, 504, 239, 100, 215, 100, 102, 3, + 101, 244, 106, 207, 102, 203, 199, 200, 205, 204, + 206, 34, 211, 258, 341, 345, 378, 401, 201, 202, + 380, 102, 291, 193, 194, 104, 257, 333, 104, 104, + 104, 107, 118, 106, 250, 294, 292, 288, 290, 8, + 211, 271, 276, 277, 278, 304, 321, 211, 211, 211, + 432, 438, 102, 433, 434, 435, 436, 437, 439, 215, + 215, 102, 465, 466, 480, 489, 31, 401, 214, 3, + 3, 100, 100, 100, 214, 100, 221, 119, 351, 353, + 264, 3, 325, 327, 371, 102, 454, 502, 243, 356, + 440, 442, 505, 254, 29, 242, 153, 510, 210, 100, + 100, 100, 100, 100, 100, 373, 100, 100, 3, 100, + 106, 224, 214, 251, 100, 262, 102, 300, 214, 214, + 214, 100, 100, 100, 100, 100, 100, 100, 468, 471, + 100, 100, 102, 102, 359, 364, 223, 354, 352, 265, + 102, 106, 102, 66, 102, 505, 506, 100, 100, 100, + 224, 100, 72, 126, 142, 155, 157, 158, 211, 3, + 381, 244, 250, 293, 118, 117, 383, 383, 401, 266, + 269, 234, 353, 328, 455, 100, 211, 154, 156, 100, + 374, 383, 257, 100, 301, 384, 385, 469, 472, 360, + 365, 267, 355, 329, 211, 159, 102, 157, 117, 392, + 382, 101, 118, 35, 386, 389, 38, 403, 403, 266, + 55, 406, 106, 120, 456, 103, 393, 394, 375, 403, + 302, 390, 118, 387, 404, 361, 407, 366, 268, 59, + 459, 3, 495, 497, 118, 35, 36, 37, 395, 398, + 402, 403, 1, 28, 29, 305, 307, 311, 313, 401, + 106, 117, 403, 117, 62, 409, 269, 211, 104, 496, + 118, 396, 399, 376, 310, 315, 314, 303, 306, 308, + 312, 391, 388, 405, 408, 410, 160, 106, 106, 401, + 39, 412, 100, 224, 105, 102, 307, 244, 313, 265, + 389, 208, 208, 117, 215, 497, 397, 400, 413, 316, + 256, 317, 118, 118, 411, 398, 265, 117, 105, 318, + 309, 208, 414, 265, 100, 118, 75, 415, 416, 118, + 106, 417, 75 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 118, 119, 120, 120, 121, 121, 122, 122, 122, - 124, 123, 125, 123, 126, 123, 127, 123, 128, 123, - 129, 123, 130, 123, 131, 123, 132, 123, 133, 123, - 134, 123, 135, 123, 136, 123, 137, 123, 138, 123, - 140, 139, 142, 143, 144, 141, 145, 147, 148, 149, - 150, 151, 146, 152, 153, 153, 154, 154, 156, 157, - 155, 159, 160, 158, 161, 161, 163, 164, 165, 162, - 167, 166, 168, 168, 168, 170, 169, 169, 171, 171, - 171, 171, 172, 172, 174, 175, 176, 173, 178, 179, - 180, 177, 182, 181, 184, 183, 185, 185, 186, 186, - 187, 187, 188, 189, 189, 189, 190, 190, 191, 190, - 192, 192, 193, 194, 194, 195, 195, 197, 196, 198, - 196, 199, 196, 200, 196, 201, 196, 202, 196, 203, - 196, 204, 196, 205, 207, 206, 206, 208, 209, 208, - 210, 208, 211, 212, 213, 213, 213, 215, 216, 217, - 218, 214, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 220, 221, 222, 222, 223, 223, 224, 224, 225, - 225, 225, 226, 226, 226, 227, 227, 227, 227, 228, - 228, 228, 228, 229, 229, 229, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 231, 233, 232, 234, - 234, 235, 235, 235, 236, 235, 237, 237, 238, 239, - 239, 240, 241, 241, 243, 242, 244, 244, 245, 245, - 246, 247, 247, 248, 250, 249, 249, 249, 249, 249, - 249, 252, 251, 253, 253, 254, 254, 254, 255, 255, - 255, 255, 255, 255, 255, 255, 256, 256, 256, 256, - 256, 257, 257, 257, 258, 258, 259, 261, 260, 260, - 262, 262, 263, 265, 264, 264, 266, 267, 268, 268, - 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, - 270, 270, 270, 270, 271, 271, 271, 272, 273, 273, - 274, 275, 276, 277, 279, 278, 281, 282, 283, 280, - 284, 285, 285, 286, 288, 289, 287, 290, 287, 292, - 291, 294, 295, 296, 297, 298, 299, 293, 300, 300, - 300, 300, 300, 300, 301, 302, 302, 304, 305, 303, - 306, 303, 307, 308, 308, 310, 309, 311, 312, 309, - 314, 313, 315, 316, 318, 319, 320, 321, 317, 322, - 324, 323, 323, 325, 326, 328, 329, 327, 331, 332, - 330, 330, 334, 335, 333, 336, 338, 339, 337, 337, - 340, 342, 343, 341, 341, 344, 346, 345, 347, 348, - 348, 350, 351, 349, 352, 352, 354, 355, 356, 357, - 353, 359, 360, 361, 362, 358, 364, 365, 366, 367, - 363, 369, 370, 371, 372, 368, 373, 373, 373, 374, - 374, 376, 377, 378, 375, 380, 379, 381, 379, 382, - 384, 383, 383, 386, 387, 385, 389, 388, 390, 388, - 391, 393, 392, 392, 395, 396, 394, 397, 397, 397, - 397, 398, 398, 398, 400, 401, 399, 399, 403, 404, - 402, 402, 406, 407, 405, 405, 409, 410, 408, 408, - 411, 413, 412, 412, 414, 415, 416, 416, 417, 419, - 420, 421, 418, 423, 424, 422, 426, 425, 425, 427, - 427, 427, 429, 428, 430, 428, 431, 428, 432, 428, - 433, 428, 434, 428, 435, 428, 436, 437, 437, 438, - 439, 440, 440, 441, 442, 443, 445, 444, 447, 448, - 449, 450, 451, 452, 446, 454, 453, 453, 455, 455, - 457, 458, 456, 459, 459, 460, 461, 460, 462, 460, - 464, 465, 463, 467, 468, 466, 469, 469, 469, 470, - 470, 471, 472, 474, 475, 476, 473, 477, 478, 479, - 481, 480, 483, 484, 485, 482, 486, 486, 487, 487, - 487, 487, 487, 487, 487, 487, 487, 487, 487, 488, - 489, 489, 490, 490, 491, 492, 492, 493, 495, 496, - 497, 498, 494, 499, 499, 500, 500, 501, 501, 502, - 501, 503, 503, 504, 505, 505, 506, 507, 509, 510, - 508, 512, 513, 511, 514, 514, 516, 515, 517, 515, - 518, 515, 519, 515 + 0, 121, 122, 123, 123, 124, 124, 125, 125, 125, + 127, 126, 128, 126, 129, 126, 130, 126, 131, 126, + 132, 126, 133, 126, 134, 126, 135, 126, 136, 126, + 137, 126, 138, 126, 139, 126, 140, 126, 141, 126, + 143, 142, 145, 146, 147, 144, 148, 150, 151, 152, + 153, 154, 149, 155, 156, 156, 157, 157, 159, 160, + 158, 162, 163, 161, 164, 164, 166, 167, 168, 165, + 170, 169, 171, 171, 171, 173, 172, 172, 174, 174, + 174, 174, 175, 175, 177, 178, 179, 176, 181, 182, + 183, 180, 185, 184, 187, 186, 188, 188, 189, 189, + 190, 190, 191, 192, 192, 192, 193, 193, 194, 193, + 195, 195, 196, 197, 197, 198, 198, 200, 199, 201, + 199, 202, 199, 203, 199, 204, 199, 205, 199, 206, + 199, 207, 199, 208, 210, 209, 209, 211, 212, 211, + 213, 211, 214, 215, 216, 216, 216, 218, 219, 220, + 221, 217, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 223, 224, 225, 225, 226, 226, 227, 227, 228, + 228, 228, 229, 229, 229, 230, 230, 230, 230, 231, + 231, 231, 231, 232, 232, 232, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 234, 236, 235, 237, + 237, 238, 238, 238, 239, 238, 240, 240, 241, 242, + 242, 243, 244, 244, 246, 245, 247, 247, 248, 248, + 248, 249, 250, 250, 251, 253, 252, 252, 252, 252, + 252, 252, 255, 254, 256, 256, 257, 257, 257, 258, + 258, 258, 258, 258, 258, 258, 258, 259, 259, 259, + 259, 259, 260, 260, 260, 261, 261, 262, 264, 263, + 263, 265, 265, 266, 268, 267, 267, 269, 270, 271, + 271, 272, 272, 272, 272, 272, 272, 272, 273, 273, + 273, 273, 273, 273, 273, 274, 274, 274, 275, 276, + 276, 277, 278, 279, 280, 282, 281, 284, 285, 283, + 286, 286, 288, 287, 289, 289, 290, 292, 293, 291, + 294, 291, 296, 295, 298, 299, 300, 301, 302, 303, + 297, 304, 304, 304, 304, 304, 304, 305, 306, 306, + 308, 309, 307, 310, 307, 311, 312, 312, 314, 313, + 315, 316, 313, 318, 317, 319, 320, 322, 323, 324, + 325, 321, 326, 328, 327, 327, 329, 330, 332, 333, + 331, 335, 336, 334, 334, 338, 339, 337, 340, 342, + 343, 341, 341, 344, 346, 347, 345, 345, 348, 350, + 349, 351, 352, 352, 354, 355, 353, 356, 356, 358, + 359, 360, 361, 357, 363, 364, 365, 366, 362, 368, + 369, 370, 371, 367, 373, 374, 375, 376, 372, 377, + 377, 377, 378, 378, 380, 381, 382, 379, 384, 383, + 385, 383, 386, 388, 387, 387, 390, 391, 389, 393, + 392, 394, 392, 395, 397, 396, 396, 399, 400, 398, + 401, 401, 401, 401, 402, 402, 402, 404, 405, 403, + 403, 407, 408, 406, 406, 410, 411, 409, 409, 413, + 414, 412, 412, 415, 417, 416, 416, 418, 419, 420, + 420, 421, 423, 424, 425, 422, 427, 428, 426, 430, + 429, 429, 431, 431, 431, 433, 432, 434, 432, 435, + 432, 436, 432, 437, 432, 438, 432, 439, 432, 440, + 441, 441, 442, 443, 444, 444, 445, 446, 447, 449, + 448, 451, 452, 453, 454, 455, 456, 450, 458, 457, + 457, 459, 459, 461, 462, 460, 463, 463, 464, 465, + 464, 466, 464, 468, 469, 467, 471, 472, 470, 473, + 473, 473, 474, 474, 475, 476, 478, 479, 480, 477, + 481, 482, 483, 485, 484, 487, 488, 489, 486, 490, + 490, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 492, 493, 493, 494, 494, 495, 496, 496, + 497, 499, 500, 501, 502, 498, 503, 503, 504, 504, + 505, 505, 506, 505, 507, 507, 508, 509, 509, 510, + 511, 513, 514, 512, 516, 517, 515, 518, 518, 520, + 519, 521, 519, 522, 519, 523, 519 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -2213,46 +2226,46 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 0, 6, 2, 0, 1, 2, 2, 0, 4, 1, 1, 4, 2, 0, 2, 2, 0, 0, 4, 3, 0, 1, 1, - 2, 3, 0, 3, 0, 3, 1, 1, 1, 2, - 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, + 0, 2, 3, 0, 3, 0, 3, 1, 1, 1, + 2, 1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 0, 4, 0, - 1, 1, 2, 0, 4, 0, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 2, 3, 2, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 0, 3, 0, 0, 0, 7, - 2, 2, 0, 2, 0, 0, 5, 0, 3, 0, - 3, 0, 0, 0, 0, 0, 0, 15, 1, 1, - 1, 1, 1, 1, 2, 2, 0, 0, 0, 6, - 0, 3, 2, 2, 0, 0, 3, 0, 0, 5, - 0, 3, 1, 1, 0, 0, 0, 0, 9, 2, - 0, 4, 0, 2, 2, 0, 0, 9, 0, 0, - 6, 2, 0, 0, 6, 6, 0, 0, 6, 1, - 1, 0, 0, 6, 1, 1, 0, 4, 2, 2, - 0, 0, 0, 5, 1, 1, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 10, 1, 1, 0, 1, - 1, 0, 0, 0, 7, 0, 3, 0, 4, 2, - 0, 4, 0, 0, 0, 5, 0, 3, 0, 4, - 2, 0, 4, 0, 0, 0, 5, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 6, 0, 0, 0, - 6, 0, 0, 0, 6, 0, 0, 0, 6, 0, - 2, 0, 4, 0, 3, 3, 1, 1, 2, 0, - 0, 0, 7, 0, 0, 6, 0, 3, 0, 3, - 2, 0, 0, 3, 0, 3, 0, 3, 0, 3, - 0, 3, 0, 3, 0, 3, 3, 1, 1, 3, - 2, 1, 0, 3, 3, 3, 0, 3, 0, 0, - 0, 0, 0, 0, 13, 0, 3, 0, 2, 0, - 0, 0, 5, 2, 0, 1, 0, 3, 0, 3, - 0, 0, 6, 0, 0, 6, 1, 1, 1, 1, - 1, 2, 3, 0, 0, 0, 8, 3, 3, 2, - 0, 3, 0, 0, 0, 8, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 3, 0, 2, 5, 2, 3, 0, 1, 0, 0, - 0, 0, 9, 3, 2, 1, 0, 2, 2, 0, - 3, 3, 3, 3, 4, 0, 1, 2, 0, 0, - 6, 0, 0, 5, 2, 0, 0, 3, 0, 3, - 0, 3, 0, 3 + 1, 1, 1, 1, 1, 1, 1, 2, 0, 4, + 0, 1, 1, 2, 0, 4, 0, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, 2, 3, + 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 0, 3, 0, 0, 5, + 1, 1, 0, 4, 2, 0, 2, 0, 0, 5, + 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, + 15, 1, 1, 1, 1, 1, 1, 2, 2, 0, + 0, 0, 6, 0, 3, 2, 2, 0, 0, 3, + 0, 0, 5, 0, 3, 1, 1, 0, 0, 0, + 0, 9, 2, 0, 4, 0, 2, 2, 0, 0, + 9, 0, 0, 6, 2, 0, 0, 6, 6, 0, + 0, 6, 1, 1, 0, 0, 6, 1, 1, 0, + 4, 2, 2, 0, 0, 0, 5, 1, 1, 0, + 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 9, 0, 0, 0, 0, 10, 1, + 1, 0, 1, 1, 0, 0, 0, 7, 0, 3, + 0, 4, 2, 0, 4, 0, 0, 0, 5, 0, + 3, 0, 4, 2, 0, 4, 0, 0, 0, 5, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 6, + 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, + 0, 6, 0, 2, 0, 4, 0, 3, 3, 1, + 1, 2, 0, 0, 0, 7, 0, 0, 6, 0, + 3, 0, 3, 2, 0, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 3, 0, 3, 0, 3, 3, + 1, 1, 3, 2, 1, 0, 3, 3, 3, 0, + 3, 0, 0, 0, 0, 0, 0, 13, 0, 3, + 0, 2, 0, 0, 0, 5, 2, 0, 1, 0, + 3, 0, 3, 0, 0, 6, 0, 0, 6, 1, + 1, 1, 1, 1, 2, 3, 0, 0, 0, 8, + 3, 3, 2, 0, 3, 0, 0, 0, 8, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 3, 0, 2, 5, 2, 3, 0, + 1, 0, 0, 0, 0, 9, 3, 2, 1, 0, + 2, 2, 0, 3, 3, 3, 3, 4, 0, 1, + 2, 0, 0, 6, 0, 0, 5, 2, 0, 0, + 3, 0, 3, 0, 3, 0, 3 }; @@ -2716,7 +2729,7 @@ yyparse (void) switch (yyn) { case 5: /* at_least_one_definition: definitions at_least_one_annotation definition */ -#line 432 "fe/idl.ypp" +#line 436 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -2731,269 +2744,269 @@ yyparse (void) } delete annotations; } -#line 2747 "fe/idl.tab.cpp" +#line 2748 "fe/idl.tab.cpp" break; case 10: /* $@1: %empty */ -#line 457 "fe/idl.ypp" +#line 461 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AnnotationDeclSeen); } -#line 2755 "fe/idl.tab.cpp" +#line 2756 "fe/idl.tab.cpp" break; case 11: /* fixed_definition: annotation_dcl $@1 ';' */ -#line 461 "fe/idl.ypp" +#line 465 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2763 "fe/idl.tab.cpp" +#line 2764 "fe/idl.tab.cpp" break; case 12: /* $@2: %empty */ -#line 465 "fe/idl.ypp" +#line 469 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 2771 "fe/idl.tab.cpp" +#line 2772 "fe/idl.tab.cpp" break; case 13: /* fixed_definition: type_dcl $@2 ';' */ -#line 469 "fe/idl.ypp" +#line 473 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2779 "fe/idl.tab.cpp" +#line 2780 "fe/idl.tab.cpp" break; case 14: /* $@3: %empty */ -#line 473 "fe/idl.ypp" +#line 477 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 2787 "fe/idl.tab.cpp" +#line 2788 "fe/idl.tab.cpp" break; case 15: /* fixed_definition: typeid_dcl $@3 ';' */ -#line 477 "fe/idl.ypp" +#line 481 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2795 "fe/idl.tab.cpp" +#line 2796 "fe/idl.tab.cpp" break; case 16: /* $@4: %empty */ -#line 481 "fe/idl.ypp" +#line 485 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 2803 "fe/idl.tab.cpp" +#line 2804 "fe/idl.tab.cpp" break; case 17: /* fixed_definition: typeprefix_dcl $@4 ';' */ -#line 485 "fe/idl.ypp" +#line 489 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2811 "fe/idl.tab.cpp" +#line 2812 "fe/idl.tab.cpp" break; case 18: /* $@5: %empty */ -#line 489 "fe/idl.ypp" +#line 493 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 2819 "fe/idl.tab.cpp" +#line 2820 "fe/idl.tab.cpp" break; case 19: /* fixed_definition: const_dcl $@5 ';' */ -#line 493 "fe/idl.ypp" +#line 497 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2827 "fe/idl.tab.cpp" +#line 2828 "fe/idl.tab.cpp" break; case 20: /* $@6: %empty */ -#line 497 "fe/idl.ypp" +#line 501 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 2835 "fe/idl.tab.cpp" +#line 2836 "fe/idl.tab.cpp" break; case 21: /* fixed_definition: exception $@6 ';' */ -#line 501 "fe/idl.ypp" +#line 505 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2843 "fe/idl.tab.cpp" +#line 2844 "fe/idl.tab.cpp" break; case 22: /* $@7: %empty */ -#line 505 "fe/idl.ypp" +#line 509 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceDeclSeen); } -#line 2851 "fe/idl.tab.cpp" +#line 2852 "fe/idl.tab.cpp" break; case 23: /* fixed_definition: interface_def $@7 ';' */ -#line 509 "fe/idl.ypp" +#line 513 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2859 "fe/idl.tab.cpp" +#line 2860 "fe/idl.tab.cpp" break; case 24: /* $@8: %empty */ -#line 513 "fe/idl.ypp" +#line 517 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleDeclSeen); } -#line 2867 "fe/idl.tab.cpp" +#line 2868 "fe/idl.tab.cpp" break; case 25: /* fixed_definition: module $@8 ';' */ -#line 517 "fe/idl.ypp" +#line 521 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2875 "fe/idl.tab.cpp" +#line 2876 "fe/idl.tab.cpp" break; case 26: /* $@9: %empty */ -#line 521 "fe/idl.ypp" +#line 525 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeDeclSeen); } -#line 2883 "fe/idl.tab.cpp" +#line 2884 "fe/idl.tab.cpp" break; case 27: /* fixed_definition: value_def $@9 ';' */ -#line 525 "fe/idl.ypp" +#line 529 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2891 "fe/idl.tab.cpp" +#line 2892 "fe/idl.tab.cpp" break; case 28: /* $@10: %empty */ -#line 529 "fe/idl.ypp" +#line 533 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentDeclSeen); } -#line 2899 "fe/idl.tab.cpp" +#line 2900 "fe/idl.tab.cpp" break; case 29: /* fixed_definition: component $@10 ';' */ -#line 533 "fe/idl.ypp" +#line 537 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2907 "fe/idl.tab.cpp" +#line 2908 "fe/idl.tab.cpp" break; case 30: /* $@11: %empty */ -#line 537 "fe/idl.ypp" +#line 541 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeDeclSeen); } -#line 2915 "fe/idl.tab.cpp" +#line 2916 "fe/idl.tab.cpp" break; case 31: /* fixed_definition: home_decl $@11 ';' */ -#line 541 "fe/idl.ypp" +#line 545 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2923 "fe/idl.tab.cpp" +#line 2924 "fe/idl.tab.cpp" break; case 32: /* $@12: %empty */ -#line 545 "fe/idl.ypp" +#line 549 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventDeclSeen); } -#line 2931 "fe/idl.tab.cpp" +#line 2932 "fe/idl.tab.cpp" break; case 33: /* fixed_definition: event $@12 ';' */ -#line 549 "fe/idl.ypp" +#line 553 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2939 "fe/idl.tab.cpp" +#line 2940 "fe/idl.tab.cpp" break; case 34: /* $@13: %empty */ -#line 553 "fe/idl.ypp" +#line 557 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeDeclSeen); } -#line 2947 "fe/idl.tab.cpp" +#line 2948 "fe/idl.tab.cpp" break; case 35: /* fixed_definition: porttype_decl $@13 ';' */ -#line 557 "fe/idl.ypp" +#line 561 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2955 "fe/idl.tab.cpp" +#line 2956 "fe/idl.tab.cpp" break; case 36: /* $@14: %empty */ -#line 561 "fe/idl.ypp" +#line 565 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorDeclSeen); } -#line 2963 "fe/idl.tab.cpp" +#line 2964 "fe/idl.tab.cpp" break; case 37: /* fixed_definition: connector_decl $@14 ';' */ -#line 565 "fe/idl.ypp" +#line 569 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 2971 "fe/idl.tab.cpp" +#line 2972 "fe/idl.tab.cpp" break; case 38: /* $@15: %empty */ -#line 569 "fe/idl.ypp" +#line 573 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 2979 "fe/idl.tab.cpp" +#line 2980 "fe/idl.tab.cpp" break; case 39: /* fixed_definition: error $@15 ';' */ -#line 573 "fe/idl.ypp" +#line 577 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 2989 "fe/idl.tab.cpp" +#line 2990 "fe/idl.tab.cpp" break; case 40: /* $@16: %empty */ -#line 582 "fe/idl.ypp" +#line 586 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSeen); } -#line 2997 "fe/idl.tab.cpp" +#line 2998 "fe/idl.tab.cpp" break; case 41: /* module_header: IDL_MODULE $@16 scoped_name */ -#line 586 "fe/idl.ypp" +#line 590 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 3005 "fe/idl.tab.cpp" +#line 3006 "fe/idl.tab.cpp" break; case 42: /* @17: %empty */ -#line 593 "fe/idl.ypp" +#line 597 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleIDSeen); @@ -3032,27 +3045,27 @@ yyparse (void) (yyval.dcval) = m; } -#line 3048 "fe/idl.tab.cpp" +#line 3049 "fe/idl.tab.cpp" break; case 43: /* $@18: %empty */ -#line 632 "fe/idl.ypp" +#line 636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleSqSeen); } -#line 3056 "fe/idl.tab.cpp" +#line 3057 "fe/idl.tab.cpp" break; case 44: /* $@19: %empty */ -#line 636 "fe/idl.ypp" +#line 640 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleBodySeen); } -#line 3064 "fe/idl.tab.cpp" +#line 3065 "fe/idl.tab.cpp" break; case 45: /* module: module_header @17 '{' $@18 at_least_one_definition $@19 '}' */ -#line 640 "fe/idl.ypp" +#line 644 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ModuleQsSeen); /* @@ -3062,19 +3075,19 @@ yyparse (void) idl_global->scopes ().pop (); (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3078 "fe/idl.tab.cpp" +#line 3079 "fe/idl.tab.cpp" break; case 46: /* template_module_header: module_header '<' */ -#line 653 "fe/idl.ypp" +#line 657 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleIDSeen); } -#line 3086 "fe/idl.tab.cpp" +#line 3087 "fe/idl.tab.cpp" break; case 47: /* $@20: %empty */ -#line 660 "fe/idl.ypp" +#line 664 "fe/idl.ypp" { // The module_header rule is common to template module, fixed // module and instantiated template module. In the last @@ -3088,11 +3101,11 @@ yyparse (void) IDL_GlobalData::PS_ModuleIDSeen); } } -#line 3104 "fe/idl.tab.cpp" +#line 3105 "fe/idl.tab.cpp" break; case 48: /* $@21: %empty */ -#line 674 "fe/idl.ypp" +#line 678 "fe/idl.ypp" { if (FE_Utils::duplicate_param_id ((yyvsp[0].plval))) { @@ -3102,11 +3115,11 @@ yyparse (void) return 1; } } -#line 3118 "fe/idl.tab.cpp" +#line 3119 "fe/idl.tab.cpp" break; case 49: /* $@22: %empty */ -#line 684 "fe/idl.ypp" +#line 688 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleParamsSeen); @@ -3136,27 +3149,27 @@ yyparse (void) // of the template module. idl_global->current_params ((yyvsp[-2].plval)); } -#line 3152 "fe/idl.tab.cpp" +#line 3153 "fe/idl.tab.cpp" break; case 50: /* $@23: %empty */ -#line 714 "fe/idl.ypp" +#line 718 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleSqSeen); } -#line 3160 "fe/idl.tab.cpp" +#line 3161 "fe/idl.tab.cpp" break; case 51: /* $@24: %empty */ -#line 718 "fe/idl.ypp" +#line 722 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleBodySeen); } -#line 3168 "fe/idl.tab.cpp" +#line 3169 "fe/idl.tab.cpp" break; case 52: /* template_module: template_module_header $@20 at_least_one_formal_parameter $@21 '>' $@22 '{' $@23 at_least_one_tpl_definition $@24 '}' */ -#line 722 "fe/idl.ypp" +#line 726 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TmplModuleQsSeen); @@ -3175,29 +3188,29 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3191 "fe/idl.tab.cpp" +#line 3192 "fe/idl.tab.cpp" break; case 58: /* $@25: %empty */ -#line 758 "fe/idl.ypp" +#line 762 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefSeen); } -#line 3200 "fe/idl.tab.cpp" +#line 3201 "fe/idl.tab.cpp" break; case 59: /* $@26: %empty */ -#line 763 "fe/idl.ypp" +#line 767 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefParamsSeen); } -#line 3209 "fe/idl.tab.cpp" +#line 3210 "fe/idl.tab.cpp" break; case 60: /* template_module_ref: IDL_ALIAS scoped_name $@25 '<' at_least_one_formal_parameter_name '>' $@26 defining_id */ -#line 768 "fe/idl.ypp" +#line 772 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_ModuleRefIDSeen); @@ -3275,29 +3288,29 @@ yyparse (void) idl_global->in_tmpl_mod_no_alias (itmna_flag); idl_global->in_tmpl_mod_alias (false); } -#line 3291 "fe/idl.tab.cpp" +#line 3292 "fe/idl.tab.cpp" break; case 61: /* $@27: %empty */ -#line 849 "fe/idl.ypp" +#line 853 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleSeen); } -#line 3300 "fe/idl.tab.cpp" +#line 3301 "fe/idl.tab.cpp" break; case 62: /* $@28: %empty */ -#line 854 "fe/idl.ypp" +#line 858 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleArgsSeen); } -#line 3309 "fe/idl.tab.cpp" +#line 3310 "fe/idl.tab.cpp" break; case 63: /* template_module_inst: template_module_header $@27 at_least_one_actual_parameter '>' $@28 defining_id */ -#line 859 "fe/idl.ypp" +#line 863 "fe/idl.ypp" { idl_global->set_parse_state ( IDL_GlobalData::PS_InstModuleIDSeen); @@ -3361,11 +3374,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3377 "fe/idl.tab.cpp" +#line 3378 "fe/idl.tab.cpp" break; case 66: /* $@29: %empty */ -#line 931 "fe/idl.ypp" +#line 935 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Interface *i = 0; @@ -3403,27 +3416,27 @@ yyparse (void) */ idl_global->scopes ().push (i); } -#line 3419 "fe/idl.tab.cpp" +#line 3420 "fe/idl.tab.cpp" break; case 67: /* $@30: %empty */ -#line 969 "fe/idl.ypp" +#line 973 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSqSeen); } -#line 3427 "fe/idl.tab.cpp" +#line 3428 "fe/idl.tab.cpp" break; case 68: /* $@31: %empty */ -#line 973 "fe/idl.ypp" +#line 977 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceBodySeen); } -#line 3435 "fe/idl.tab.cpp" +#line 3436 "fe/idl.tab.cpp" break; case 69: /* interface: interface_header $@29 '{' $@30 exports $@31 '}' */ -#line 977 "fe/idl.ypp" +#line 981 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceQsSeen); @@ -3433,28 +3446,28 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 3449 "fe/idl.tab.cpp" +#line 3450 "fe/idl.tab.cpp" break; case 70: /* $@32: %empty */ -#line 990 "fe/idl.ypp" +#line 994 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceSeen); } -#line 3457 "fe/idl.tab.cpp" +#line 3458 "fe/idl.tab.cpp" break; case 71: /* interface_decl: IDL_INTERFACE $@32 defining_id */ -#line 994 "fe/idl.ypp" +#line 998 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InterfaceIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3466 "fe/idl.tab.cpp" +#line 3467 "fe/idl.tab.cpp" break; case 72: /* interface_header: interface_decl inheritance_spec */ -#line 1002 "fe/idl.ypp" +#line 1006 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3490,11 +3503,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3506 "fe/idl.tab.cpp" +#line 3507 "fe/idl.tab.cpp" break; case 73: /* interface_header: IDL_LOCAL interface_decl inheritance_spec */ -#line 1039 "fe/idl.ypp" +#line 1043 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3523,11 +3536,11 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3539 "fe/idl.tab.cpp" +#line 3540 "fe/idl.tab.cpp" break; case 74: /* interface_header: IDL_ABSTRACT interface_decl inheritance_spec */ -#line 1069 "fe/idl.ypp" +#line 1073 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); @@ -3556,45 +3569,45 @@ yyparse (void) (yyvsp[0].nlval) = 0; } } -#line 3572 "fe/idl.tab.cpp" +#line 3573 "fe/idl.tab.cpp" break; case 75: /* $@33: %empty */ -#line 1101 "fe/idl.ypp" +#line 1105 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 3580 "fe/idl.tab.cpp" +#line 3581 "fe/idl.tab.cpp" break; case 76: /* inheritance_spec: ':' opt_truncatable $@33 at_least_one_scoped_name */ -#line 1105 "fe/idl.ypp" +#line 1109 "fe/idl.ypp" { (yyvsp[0].nlval)->truncatable ((yyvsp[-2].bval)); (yyval.nlval) = (yyvsp[0].nlval); } -#line 3589 "fe/idl.tab.cpp" +#line 3590 "fe/idl.tab.cpp" break; case 77: /* inheritance_spec: %empty */ -#line 1110 "fe/idl.ypp" +#line 1114 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3597 "fe/idl.tab.cpp" +#line 3598 "fe/idl.tab.cpp" break; case 82: /* valuetype: IDL_CUSTOM value_concrete_decl */ -#line 1124 "fe/idl.ypp" +#line 1128 "fe/idl.ypp" { idl_global->err ()->unsupported_error ("custom is not supported"); (yyval.dcval) = (yyvsp[0].dcval); } -#line 3606 "fe/idl.tab.cpp" +#line 3607 "fe/idl.tab.cpp" break; case 84: /* @34: %empty */ -#line 1133 "fe/idl.ypp" +#line 1137 "fe/idl.ypp" { FE_OBVHeader *&valuetype_header = (yyvsp[0].vhval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -3641,27 +3654,27 @@ yyparse (void) (yyval.dcval) = valuetype; } -#line 3657 "fe/idl.tab.cpp" +#line 3658 "fe/idl.tab.cpp" break; case 85: /* $@35: %empty */ -#line 1180 "fe/idl.ypp" +#line 1184 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3665 "fe/idl.tab.cpp" +#line 3666 "fe/idl.tab.cpp" break; case 86: /* $@36: %empty */ -#line 1184 "fe/idl.ypp" +#line 1188 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3673 "fe/idl.tab.cpp" +#line 3674 "fe/idl.tab.cpp" break; case 87: /* value_concrete_decl: value_header @34 '{' $@35 value_elements $@36 '}' */ -#line 1188 "fe/idl.ypp" +#line 1192 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3682,11 +3695,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 3698 "fe/idl.tab.cpp" +#line 3699 "fe/idl.tab.cpp" break; case 88: /* $@37: %empty */ -#line 1213 "fe/idl.ypp" +#line 1217 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_ValueType *v = 0; @@ -3729,27 +3742,27 @@ yyparse (void) */ idl_global->scopes ().push (v); } -#line 3745 "fe/idl.tab.cpp" +#line 3746 "fe/idl.tab.cpp" break; case 89: /* $@38: %empty */ -#line 1256 "fe/idl.ypp" +#line 1260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSqSeen); } -#line 3753 "fe/idl.tab.cpp" +#line 3754 "fe/idl.tab.cpp" break; case 90: /* $@39: %empty */ -#line 1260 "fe/idl.ypp" +#line 1264 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeBodySeen); } -#line 3761 "fe/idl.tab.cpp" +#line 3762 "fe/idl.tab.cpp" break; case 91: /* value_abs_decl: IDL_ABSTRACT value_header $@37 '{' $@38 exports $@39 '}' */ -#line 1264 "fe/idl.ypp" +#line 1268 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen); @@ -3760,19 +3773,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3776 "fe/idl.tab.cpp" +#line 3777 "fe/idl.tab.cpp" break; case 92: /* $@40: %empty */ -#line 1279 "fe/idl.ypp" +#line 1283 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 3784 "fe/idl.tab.cpp" +#line 3785 "fe/idl.tab.cpp" break; case 93: /* value_header: value_decl inheritance_spec $@40 supports_spec */ -#line 1283 "fe/idl.ypp" +#line 1287 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -3803,60 +3816,60 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 3819 "fe/idl.tab.cpp" +#line 3820 "fe/idl.tab.cpp" break; case 94: /* $@41: %empty */ -#line 1317 "fe/idl.ypp" +#line 1321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeSeen); } -#line 3827 "fe/idl.tab.cpp" +#line 3828 "fe/idl.tab.cpp" break; case 95: /* value_decl: IDL_VALUETYPE $@41 defining_id */ -#line 1321 "fe/idl.ypp" +#line 1325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 3836 "fe/idl.tab.cpp" +#line 3837 "fe/idl.tab.cpp" break; case 96: /* opt_truncatable: IDL_TRUNCATABLE */ -#line 1329 "fe/idl.ypp" +#line 1333 "fe/idl.ypp" { (yyval.bval) = true; } -#line 3844 "fe/idl.tab.cpp" +#line 3845 "fe/idl.tab.cpp" break; case 97: /* opt_truncatable: %empty */ -#line 1333 "fe/idl.ypp" +#line 1337 "fe/idl.ypp" { (yyval.bval) = false; } -#line 3852 "fe/idl.tab.cpp" +#line 3853 "fe/idl.tab.cpp" break; case 98: /* supports_spec: IDL_SUPPORTS at_least_one_scoped_name */ -#line 1341 "fe/idl.ypp" +#line 1345 "fe/idl.ypp" { (yyval.nlval) = (yyvsp[0].nlval); } -#line 3860 "fe/idl.tab.cpp" +#line 3861 "fe/idl.tab.cpp" break; case 99: /* supports_spec: %empty */ -#line 1345 "fe/idl.ypp" +#line 1349 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 3868 "fe/idl.tab.cpp" +#line 3869 "fe/idl.tab.cpp" break; case 100: /* value_forward_decl: IDL_ABSTRACT value_decl */ -#line 1353 "fe/idl.ypp" +#line 1357 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3879,11 +3892,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 3895 "fe/idl.tab.cpp" +#line 3896 "fe/idl.tab.cpp" break; case 101: /* value_forward_decl: value_decl */ -#line 1377 "fe/idl.ypp" +#line 1381 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -3908,11 +3921,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3924 "fe/idl.tab.cpp" +#line 3925 "fe/idl.tab.cpp" break; case 102: /* value_box_decl: value_decl type_spec */ -#line 1405 "fe/idl.ypp" +#line 1409 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ValueBoxDeclSeen); @@ -3975,11 +3988,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 3991 "fe/idl.tab.cpp" +#line 3992 "fe/idl.tab.cpp" break; case 103: /* value_elements: value_elements at_least_one_annotation value_element */ -#line 1471 "fe/idl.ypp" +#line 1475 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decls *&decls = (yyvsp[0].decls_val); @@ -3998,19 +4011,19 @@ yyparse (void) delete annotations; delete decls; } -#line 4014 "fe/idl.tab.cpp" +#line 4015 "fe/idl.tab.cpp" break; case 104: /* value_elements: value_elements value_element */ -#line 1490 "fe/idl.ypp" +#line 1494 "fe/idl.ypp" { delete (yyvsp[0].decls_val); } -#line 4022 "fe/idl.tab.cpp" +#line 4023 "fe/idl.tab.cpp" break; case 107: /* value_element: export */ -#line 1499 "fe/idl.ypp" +#line 1503 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4021,11 +4034,11 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4037 "fe/idl.tab.cpp" +#line 4038 "fe/idl.tab.cpp" break; case 108: /* @42: %empty */ -#line 1510 "fe/idl.ypp" +#line 1514 "fe/idl.ypp" { AST_Decl *&node = (yyvsp[0].dcval); AST_Decls *value = 0; @@ -4036,35 +4049,35 @@ yyparse (void) } (yyval.decls_val) = value; } -#line 4052 "fe/idl.tab.cpp" +#line 4053 "fe/idl.tab.cpp" break; case 109: /* value_element: init_decl @42 ';' */ -#line 1521 "fe/idl.ypp" +#line 1525 "fe/idl.ypp" { (yyval.decls_val) = (yyvsp[-1].decls_val); } -#line 4060 "fe/idl.tab.cpp" +#line 4061 "fe/idl.tab.cpp" break; case 110: /* visibility: IDL_PUBLIC */ -#line 1528 "fe/idl.ypp" +#line 1532 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PUBLIC; } -#line 4068 "fe/idl.tab.cpp" +#line 4069 "fe/idl.tab.cpp" break; case 111: /* visibility: IDL_PRIVATE */ -#line 1532 "fe/idl.ypp" +#line 1536 "fe/idl.ypp" { (yyval.vival) = AST_Field::vis_PRIVATE; } -#line 4076 "fe/idl.tab.cpp" +#line 4077 "fe/idl.tab.cpp" break; case 112: /* state_member: visibility member_i */ -#line 1539 "fe/idl.ypp" +#line 1543 "fe/idl.ypp" { AST_Field::Visibility &visibility = (yyvsp[-1].vival); AST_Decls *&decls_ptr = (yyvsp[0].decls_val); @@ -4082,11 +4095,11 @@ yyparse (void) } (yyval.decls_val) = decls_ptr; } -#line 4098 "fe/idl.tab.cpp" +#line 4099 "fe/idl.tab.cpp" break; case 115: /* at_least_one_export: exports at_least_one_annotation export */ -#line 1565 "fe/idl.ypp" +#line 1569 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decl *d = (yyvsp[0].dcval); @@ -4101,160 +4114,160 @@ yyparse (void) } delete annotations; } -#line 4117 "fe/idl.tab.cpp" +#line 4118 "fe/idl.tab.cpp" break; case 117: /* $@43: %empty */ -#line 1584 "fe/idl.ypp" +#line 1588 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeDeclSeen); } -#line 4125 "fe/idl.tab.cpp" +#line 4126 "fe/idl.tab.cpp" break; case 118: /* export: type_dcl $@43 ';' */ -#line 1588 "fe/idl.ypp" +#line 1592 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4133 "fe/idl.tab.cpp" +#line 4134 "fe/idl.tab.cpp" break; case 119: /* $@44: %empty */ -#line 1592 "fe/idl.ypp" +#line 1596 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeIdDeclSeen); } -#line 4141 "fe/idl.tab.cpp" +#line 4142 "fe/idl.tab.cpp" break; case 120: /* export: typeid_dcl $@44 ';' */ -#line 1596 "fe/idl.ypp" +#line 1600 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4149 "fe/idl.tab.cpp" +#line 4150 "fe/idl.tab.cpp" break; case 121: /* $@45: %empty */ -#line 1600 "fe/idl.ypp" +#line 1604 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypePrefixDeclSeen); } -#line 4157 "fe/idl.tab.cpp" +#line 4158 "fe/idl.tab.cpp" break; case 122: /* export: typeprefix_dcl $@45 ';' */ -#line 1604 "fe/idl.ypp" +#line 1608 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4165 "fe/idl.tab.cpp" +#line 4166 "fe/idl.tab.cpp" break; case 123: /* $@46: %empty */ -#line 1608 "fe/idl.ypp" +#line 1612 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstDeclSeen); } -#line 4173 "fe/idl.tab.cpp" +#line 4174 "fe/idl.tab.cpp" break; case 124: /* export: const_dcl $@46 ';' */ -#line 1612 "fe/idl.ypp" +#line 1616 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4181 "fe/idl.tab.cpp" +#line 4182 "fe/idl.tab.cpp" break; case 125: /* $@47: %empty */ -#line 1616 "fe/idl.ypp" +#line 1620 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptDeclSeen); } -#line 4189 "fe/idl.tab.cpp" +#line 4190 "fe/idl.tab.cpp" break; case 126: /* export: exception $@47 ';' */ -#line 1620 "fe/idl.ypp" +#line 1624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4197 "fe/idl.tab.cpp" +#line 4198 "fe/idl.tab.cpp" break; case 127: /* $@48: %empty */ -#line 1624 "fe/idl.ypp" +#line 1628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 4205 "fe/idl.tab.cpp" +#line 4206 "fe/idl.tab.cpp" break; case 128: /* export: attribute $@48 ';' */ -#line 1628 "fe/idl.ypp" +#line 1632 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4213 "fe/idl.tab.cpp" +#line 4214 "fe/idl.tab.cpp" break; case 129: /* $@49: %empty */ -#line 1632 "fe/idl.ypp" +#line 1636 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpDeclSeen); } -#line 4221 "fe/idl.tab.cpp" +#line 4222 "fe/idl.tab.cpp" break; case 130: /* export: operation $@49 ';' */ -#line 1636 "fe/idl.ypp" +#line 1640 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 4229 "fe/idl.tab.cpp" +#line 4230 "fe/idl.tab.cpp" break; case 131: /* $@50: %empty */ -#line 1640 "fe/idl.ypp" +#line 1644 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 4237 "fe/idl.tab.cpp" +#line 4238 "fe/idl.tab.cpp" break; case 132: /* export: error $@50 ';' */ -#line 1644 "fe/idl.ypp" +#line 1648 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; (yyval.dcval) = 0; } -#line 4247 "fe/idl.tab.cpp" +#line 4248 "fe/idl.tab.cpp" break; case 133: /* at_least_one_scoped_name: scoped_name scoped_names */ -#line 1653 "fe/idl.ypp" +#line 1657 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.nlval), UTL_NameList ((yyvsp[-1].idlist), (yyvsp[0].nlval)), 1); } -#line 4258 "fe/idl.tab.cpp" +#line 4259 "fe/idl.tab.cpp" break; case 134: /* $@51: %empty */ -#line 1664 "fe/idl.ypp" +#line 1668 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SNListCommaSeen); } -#line 4266 "fe/idl.tab.cpp" +#line 4267 "fe/idl.tab.cpp" break; case 135: /* scoped_names: scoped_names ',' $@51 scoped_name */ -#line 1668 "fe/idl.ypp" +#line 1672 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopedNameSeen); @@ -4274,19 +4287,19 @@ yyparse (void) (yyval.nlval) = (yyvsp[-3].nlval); } } -#line 4290 "fe/idl.tab.cpp" +#line 4291 "fe/idl.tab.cpp" break; case 136: /* scoped_names: %empty */ -#line 1688 "fe/idl.ypp" +#line 1692 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 4298 "fe/idl.tab.cpp" +#line 4299 "fe/idl.tab.cpp" break; case 137: /* scoped_name: id */ -#line 1695 "fe/idl.ypp" +#line 1699 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4295,19 +4308,19 @@ yyparse (void) 0), 1); } -#line 4311 "fe/idl.tab.cpp" +#line 4312 "fe/idl.tab.cpp" break; case 138: /* $@52: %empty */ -#line 1704 "fe/idl.ypp" +#line 1708 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); } -#line 4319 "fe/idl.tab.cpp" +#line 4320 "fe/idl.tab.cpp" break; case 139: /* scoped_name: IDL_SCOPE_DELIMITOR $@52 id */ -#line 1708 "fe/idl.ypp" +#line 1712 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4327,11 +4340,11 @@ yyparse (void) sn), 1); } -#line 4343 "fe/idl.tab.cpp" +#line 4344 "fe/idl.tab.cpp" break; case 140: /* $@53: %empty */ -#line 1729 "fe/idl.ypp" +#line 1733 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ScopeDelimSeen); @@ -4341,11 +4354,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4357 "fe/idl.tab.cpp" +#line 4358 "fe/idl.tab.cpp" break; case 141: /* scoped_name: scoped_name IDL_SCOPE_DELIMITOR $@53 id */ -#line 1739 "fe/idl.ypp" +#line 1743 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SN_IDSeen); @@ -4357,11 +4370,11 @@ yyparse (void) (yyvsp[-3].idlist)->nconc (sn); (yyval.idlist) = (yyvsp[-3].idlist); } -#line 4373 "fe/idl.tab.cpp" +#line 4374 "fe/idl.tab.cpp" break; case 142: /* id: IDENTIFIER */ -#line 1753 "fe/idl.ypp" +#line 1757 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.idval), Identifier ((yyvsp[0].strval)), @@ -4369,11 +4382,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4385 "fe/idl.tab.cpp" +#line 4386 "fe/idl.tab.cpp" break; case 143: /* defining_id: IDENTIFIER */ -#line 1763 "fe/idl.ypp" +#line 1767 "fe/idl.ypp" { /* defining_id is a defining identifier whereas id is usually a reference to a defining identifier */ @@ -4381,11 +4394,11 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 4397 "fe/idl.tab.cpp" +#line 4398 "fe/idl.tab.cpp" break; case 144: /* interface_forward: interface_decl */ -#line 1774 "fe/idl.ypp" +#line 1778 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -4428,11 +4441,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4444 "fe/idl.tab.cpp" +#line 4445 "fe/idl.tab.cpp" break; case 145: /* interface_forward: IDL_LOCAL interface_decl */ -#line 1818 "fe/idl.ypp" +#line 1822 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4458,11 +4471,11 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 4474 "fe/idl.tab.cpp" +#line 4475 "fe/idl.tab.cpp" break; case 146: /* interface_forward: IDL_ABSTRACT interface_decl */ -#line 1845 "fe/idl.ypp" +#line 1849 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -4490,43 +4503,43 @@ yyparse (void) (yyval.dcval) = dynamic_cast (f); } -#line 4506 "fe/idl.tab.cpp" +#line 4507 "fe/idl.tab.cpp" break; case 147: /* $@54: %empty */ -#line 1876 "fe/idl.ypp" +#line 1880 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstSeen); } -#line 4514 "fe/idl.tab.cpp" +#line 4515 "fe/idl.tab.cpp" break; case 148: /* $@55: %empty */ -#line 1880 "fe/idl.ypp" +#line 1884 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstTypeSeen); } -#line 4522 "fe/idl.tab.cpp" +#line 4523 "fe/idl.tab.cpp" break; case 149: /* $@56: %empty */ -#line 1884 "fe/idl.ypp" +#line 1888 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstIDSeen); } -#line 4530 "fe/idl.tab.cpp" +#line 4531 "fe/idl.tab.cpp" break; case 150: /* $@57: %empty */ -#line 1888 "fe/idl.ypp" +#line 1892 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConstAssignSeen); } -#line 4538 "fe/idl.tab.cpp" +#line 4539 "fe/idl.tab.cpp" break; case 151: /* const_dcl: IDL_CONST $@54 const_type $@55 defining_id $@56 '=' $@57 expression */ -#line 1892 "fe/idl.ypp" +#line 1896 "fe/idl.ypp" { (yyval.dcval) = 0; UTL_ScopedName n ((yyvsp[-4].idval), 0); @@ -4582,27 +4595,27 @@ yyparse (void) delete (yyvsp[-4].idval); (yyvsp[-4].idval) = 0; } -#line 4598 "fe/idl.tab.cpp" +#line 4599 "fe/idl.tab.cpp" break; case 158: /* const_type: string_type_spec */ -#line 1957 "fe/idl.ypp" +#line 1961 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_string; } -#line 4606 "fe/idl.tab.cpp" +#line 4607 "fe/idl.tab.cpp" break; case 159: /* const_type: wstring_type_spec */ -#line 1961 "fe/idl.ypp" +#line 1965 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wstring; } -#line 4614 "fe/idl.tab.cpp" +#line 4615 "fe/idl.tab.cpp" break; case 160: /* const_type: scoped_name */ -#line 1965 "fe/idl.ypp" +#line 1969 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_PredefinedType *c = 0; @@ -4668,11 +4681,11 @@ yyparse (void) sn = 0; (yyvsp[0].idlist) = 0; } -#line 4684 "fe/idl.tab.cpp" +#line 4685 "fe/idl.tab.cpp" break; case 164: /* or_expr: or_expr '|' xor_expr */ -#line 2038 "fe/idl.ypp" +#line 2042 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4681,11 +4694,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4697 "fe/idl.tab.cpp" +#line 4698 "fe/idl.tab.cpp" break; case 166: /* xor_expr: xor_expr '^' and_expr */ -#line 2051 "fe/idl.ypp" +#line 2055 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4694,11 +4707,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4710 "fe/idl.tab.cpp" +#line 4711 "fe/idl.tab.cpp" break; case 168: /* and_expr: and_expr '&' shift_expr */ -#line 2064 "fe/idl.ypp" +#line 2068 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4707,11 +4720,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4723 "fe/idl.tab.cpp" +#line 4724 "fe/idl.tab.cpp" break; case 170: /* shift_expr: shift_expr IDL_LEFT_SHIFT add_expr */ -#line 2077 "fe/idl.ypp" +#line 2081 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4720,11 +4733,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4736 "fe/idl.tab.cpp" +#line 4737 "fe/idl.tab.cpp" break; case 171: /* shift_expr: shift_expr IDL_RIGHT_SHIFT add_expr */ -#line 2086 "fe/idl.ypp" +#line 2090 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4733,11 +4746,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4749 "fe/idl.tab.cpp" +#line 4750 "fe/idl.tab.cpp" break; case 173: /* add_expr: add_expr '+' mult_expr */ -#line 2099 "fe/idl.ypp" +#line 2103 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4746,11 +4759,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4762 "fe/idl.tab.cpp" +#line 4763 "fe/idl.tab.cpp" break; case 174: /* add_expr: add_expr '-' mult_expr */ -#line 2108 "fe/idl.ypp" +#line 2112 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4759,11 +4772,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4775 "fe/idl.tab.cpp" +#line 4776 "fe/idl.tab.cpp" break; case 176: /* mult_expr: mult_expr '*' unary_expr */ -#line 2121 "fe/idl.ypp" +#line 2125 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4772,11 +4785,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4788 "fe/idl.tab.cpp" +#line 4789 "fe/idl.tab.cpp" break; case 177: /* mult_expr: mult_expr '/' unary_expr */ -#line 2130 "fe/idl.ypp" +#line 2134 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4785,11 +4798,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4801 "fe/idl.tab.cpp" +#line 4802 "fe/idl.tab.cpp" break; case 178: /* mult_expr: mult_expr '%' unary_expr */ -#line 2139 "fe/idl.ypp" +#line 2143 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4798,11 +4811,11 @@ yyparse (void) (yyvsp[0].exval) ); } -#line 4814 "fe/idl.tab.cpp" +#line 4815 "fe/idl.tab.cpp" break; case 180: /* unary_expr: '+' primary_expr */ -#line 2152 "fe/idl.ypp" +#line 2156 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4811,11 +4824,11 @@ yyparse (void) 0 ); } -#line 4827 "fe/idl.tab.cpp" +#line 4828 "fe/idl.tab.cpp" break; case 181: /* unary_expr: '-' primary_expr */ -#line 2161 "fe/idl.ypp" +#line 2165 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4824,11 +4837,11 @@ yyparse (void) 0 ); } -#line 4840 "fe/idl.tab.cpp" +#line 4841 "fe/idl.tab.cpp" break; case 182: /* unary_expr: '~' primary_expr */ -#line 2170 "fe/idl.ypp" +#line 2174 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ( @@ -4837,11 +4850,11 @@ yyparse (void) 0 ); } -#line 4853 "fe/idl.tab.cpp" +#line 4854 "fe/idl.tab.cpp" break; case 183: /* primary_expr: scoped_name */ -#line 2182 "fe/idl.ypp" +#line 2186 "fe/idl.ypp" { UTL_ScopedName *name = (yyvsp[0].idlist); @@ -4898,107 +4911,107 @@ yyparse (void) delete name; (yyvsp[0].idlist) = name = 0; } -#line 4914 "fe/idl.tab.cpp" +#line 4915 "fe/idl.tab.cpp" break; case 185: /* primary_expr: '(' const_expr ')' */ -#line 2240 "fe/idl.ypp" +#line 2244 "fe/idl.ypp" { (yyval.exval) = (yyvsp[-1].exval); } -#line 4922 "fe/idl.tab.cpp" +#line 4923 "fe/idl.tab.cpp" break; case 186: /* literal: IDL_INTEGER_LITERAL */ -#line 2247 "fe/idl.ypp" +#line 2251 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].ival)); } -#line 4930 "fe/idl.tab.cpp" +#line 4931 "fe/idl.tab.cpp" break; case 187: /* literal: IDL_UINTEGER_LITERAL */ -#line 2251 "fe/idl.ypp" +#line 2255 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].uival)); } -#line 4939 "fe/idl.tab.cpp" +#line 4940 "fe/idl.tab.cpp" break; case 188: /* literal: IDL_STRING_LITERAL */ -#line 2256 "fe/idl.ypp" +#line 2260 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].sval)); (yyvsp[0].sval)->destroy (); delete (yyvsp[0].sval); (yyvsp[0].sval) = 0; } -#line 4950 "fe/idl.tab.cpp" +#line 4951 "fe/idl.tab.cpp" break; case 189: /* literal: IDL_WSTRING_LITERAL */ -#line 2263 "fe/idl.ypp" +#line 2267 "fe/idl.ypp" { char *wide_string = (yyvsp[0].wsval); (yyval.exval) = idl_global->gen ()->create_expr (wide_string); ACE_OS::free (wide_string); (yyvsp[0].wsval) = 0; } -#line 4961 "fe/idl.tab.cpp" +#line 4962 "fe/idl.tab.cpp" break; case 190: /* literal: IDL_CHARACTER_LITERAL */ -#line 2270 "fe/idl.ypp" +#line 2274 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].cval)); } -#line 4969 "fe/idl.tab.cpp" +#line 4970 "fe/idl.tab.cpp" break; case 191: /* literal: IDL_WCHAR_LITERAL */ -#line 2274 "fe/idl.ypp" +#line 2278 "fe/idl.ypp" { ACE_OutputCDR::from_wchar wc ((yyvsp[0].wcval)); (yyval.exval) = idl_global->gen ()->create_expr (wc); } -#line 4978 "fe/idl.tab.cpp" +#line 4979 "fe/idl.tab.cpp" break; case 192: /* literal: IDL_FIXED_PT_LITERAL */ -#line 2279 "fe/idl.ypp" +#line 2283 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].fixval)); } -#line 4986 "fe/idl.tab.cpp" +#line 4987 "fe/idl.tab.cpp" break; case 193: /* literal: IDL_FLOATING_PT_LITERAL */ -#line 2283 "fe/idl.ypp" +#line 2287 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr ((yyvsp[0].dval)); } -#line 4994 "fe/idl.tab.cpp" +#line 4995 "fe/idl.tab.cpp" break; case 194: /* literal: IDL_TRUETOK */ -#line 2287 "fe/idl.ypp" +#line 2291 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (true); } -#line 5002 "fe/idl.tab.cpp" +#line 5003 "fe/idl.tab.cpp" break; case 195: /* literal: IDL_FALSETOK */ -#line 2291 "fe/idl.ypp" +#line 2295 "fe/idl.ypp" { (yyval.exval) = idl_global->gen ()->create_expr (false); } -#line 5010 "fe/idl.tab.cpp" +#line 5011 "fe/idl.tab.cpp" break; case 196: /* positive_int_expr: const_expr */ -#line 2298 "fe/idl.ypp" +#line 2302 "fe/idl.ypp" { int good_expression = 1; (yyvsp[0].exval)->evaluate (AST_Expression::EK_positive_int); @@ -5063,17 +5076,15 @@ yyparse (void) idl_global->err ()->syntax_error (idl_global->parse_state ()); } } -#line 5079 "fe/idl.tab.cpp" +#line 5080 "fe/idl.tab.cpp" break; case 197: /* $@58: %empty */ -#line 2366 "fe/idl.ypp" +#line 2370 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) - { - idl_global->err ()->idl_version_error ( - "Annotations are an IDL4 feature"); - } + idl_global->err ()->idl_version_error ( + "Annotations are not allowed in IDL3"); Identifier *id = (yyvsp[-1].idval); UTL_ScopedName name (id, 0); @@ -5084,11 +5095,11 @@ yyparse (void) fe_add_annotation_decl (annotation_decl); idl_global->scopes ().push (annotation_decl); } -#line 5100 "fe/idl.tab.cpp" +#line 5099 "fe/idl.tab.cpp" break; case 198: /* annotation_dcl: IDL_ANNOTATION_DECL defining_id '{' $@58 annotation_body '}' */ -#line 2383 "fe/idl.ypp" +#line 2385 "fe/idl.ypp" { Identifier *id = (yyvsp[-4].idval); idl_global->scopes ().pop (); @@ -5097,20 +5108,20 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5113 "fe/idl.tab.cpp" +#line 5112 "fe/idl.tab.cpp" break; case 204: /* $@59: %empty */ -#line 2403 "fe/idl.ypp" +#line 2405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5122 "fe/idl.tab.cpp" +#line 5121 "fe/idl.tab.cpp" break; case 208: /* annotation_member: annotation_member_type defining_id annotation_member_default ';' */ -#line 2417 "fe/idl.ypp" +#line 2419 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); UTL_Scope *root = idl_global->scopes ().bottom (); @@ -5163,27 +5174,27 @@ yyparse (void) delete result; } } -#line 5179 "fe/idl.tab.cpp" +#line 5178 "fe/idl.tab.cpp" break; case 209: /* annotation_member_default: IDL_DEFAULT const_expr */ -#line 2473 "fe/idl.ypp" +#line 2475 "fe/idl.ypp" { (yyval.exval) = (yyvsp[0].exval); } -#line 5187 "fe/idl.tab.cpp" +#line 5186 "fe/idl.tab.cpp" break; case 210: /* annotation_member_default: %empty */ -#line 2477 "fe/idl.ypp" +#line 2479 "fe/idl.ypp" { (yyval.exval) = 0; } -#line 5195 "fe/idl.tab.cpp" +#line 5194 "fe/idl.tab.cpp" break; case 211: /* at_least_one_annotation: annotations_maybe annotation_appl */ -#line 2484 "fe/idl.ypp" +#line 2486 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5193,11 +5204,11 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5209 "fe/idl.tab.cpp" +#line 5208 "fe/idl.tab.cpp" break; case 212: /* annotations_maybe: annotations_maybe annotation_appl */ -#line 2497 "fe/idl.ypp" +#line 2499 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Annotation_Appl *annotation = (yyvsp[0].annotation_val); @@ -5207,25 +5218,23 @@ yyparse (void) } (yyval.annotations_val) = annotations; } -#line 5223 "fe/idl.tab.cpp" +#line 5222 "fe/idl.tab.cpp" break; case 213: /* annotations_maybe: %empty */ -#line 2507 "fe/idl.ypp" +#line 2509 "fe/idl.ypp" { (yyval.annotations_val) = new AST_Annotation_Appls (); } -#line 5231 "fe/idl.tab.cpp" +#line 5230 "fe/idl.tab.cpp" break; case 214: /* @60: %empty */ -#line 2514 "fe/idl.ypp" +#line 2516 "fe/idl.ypp" { if (idl_global->idl_version_ < IDL_VERSION_4) - { - idl_global->err ()->idl_version_error ( - "Annotations are an IDL4 feature"); - } + idl_global->err ()->idl_version_error ( + "Annotations are not allowed in IDL3"); AST_Annotation_Decl *decl = 0; UTL_ScopedName *name = (yyvsp[0].idlist); @@ -5276,7 +5285,7 @@ yyparse (void) (yyval.annotation_decl_val) = decl; } -#line 5292 "fe/idl.tab.cpp" +#line 5289 "fe/idl.tab.cpp" break; case 215: /* annotation_appl: IDL_ANNOTATION_SYMBOL scoped_name @60 annotation_appl_params_maybe */ @@ -5308,7 +5317,7 @@ yyparse (void) (yyval.annotation_val) = appl; } -#line 5324 "fe/idl.tab.cpp" +#line 5321 "fe/idl.tab.cpp" break; case 216: /* annotation_appl_params_maybe: '(' annotation_appl_params ')' */ @@ -5316,7 +5325,7 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[-1].annotation_params_val); } -#line 5332 "fe/idl.tab.cpp" +#line 5329 "fe/idl.tab.cpp" break; case 217: /* annotation_appl_params_maybe: %empty */ @@ -5324,7 +5333,7 @@ yyparse (void) { (yyval.annotation_params_val) = 0; } -#line 5340 "fe/idl.tab.cpp" +#line 5337 "fe/idl.tab.cpp" break; case 218: /* annotation_appl_params: const_expr */ @@ -5337,7 +5346,7 @@ yyparse (void) params->push (param); (yyval.annotation_params_val) = params; } -#line 5353 "fe/idl.tab.cpp" +#line 5350 "fe/idl.tab.cpp" break; case 219: /* annotation_appl_params: named_annotation_appl_params */ @@ -5345,39 +5354,47 @@ yyparse (void) { (yyval.annotation_params_val) = (yyvsp[0].annotation_params_val); } -#line 5361 "fe/idl.tab.cpp" +#line 5358 "fe/idl.tab.cpp" + break; + + case 220: /* annotation_appl_params: %empty */ +#line 2626 "fe/idl.ypp" + { + (yyval.annotation_params_val) = 0; + } +#line 5366 "fe/idl.tab.cpp" break; - case 220: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ -#line 2629 "fe/idl.ypp" + case 221: /* named_annotation_appl_params: named_annotation_appl_param more_named_annotation_appl_params */ +#line 2633 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5371 "fe/idl.tab.cpp" +#line 5376 "fe/idl.tab.cpp" break; - case 221: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ -#line 2637 "fe/idl.ypp" + case 222: /* more_named_annotation_appl_params: ',' named_annotation_appl_param more_named_annotation_appl_params */ +#line 2641 "fe/idl.ypp" { AST_Annotation_Appl::Params *params = (yyvsp[0].annotation_params_val); params->push ((yyvsp[-1].annotation_param_val)); (yyval.annotation_params_val) = params; } -#line 5381 "fe/idl.tab.cpp" +#line 5386 "fe/idl.tab.cpp" break; - case 222: /* more_named_annotation_appl_params: %empty */ -#line 2643 "fe/idl.ypp" + case 223: /* more_named_annotation_appl_params: %empty */ +#line 2647 "fe/idl.ypp" { (yyval.annotation_params_val) = new AST_Annotation_Appl::Params; } -#line 5389 "fe/idl.tab.cpp" +#line 5394 "fe/idl.tab.cpp" break; - case 223: /* named_annotation_appl_param: id '=' const_expr */ -#line 2650 "fe/idl.ypp" + case 224: /* named_annotation_appl_param: id '=' const_expr */ +#line 2654 "fe/idl.ypp" { AST_Annotation_Appl::Param *param = new AST_Annotation_Appl::Param; param->id = (yyvsp[-2].idval); @@ -5386,52 +5403,52 @@ yyparse (void) param->expr = (yyvsp[0].exval); (yyval.annotation_param_val) = param; } -#line 5402 "fe/idl.tab.cpp" +#line 5407 "fe/idl.tab.cpp" break; - case 224: /* $@61: %empty */ -#line 2662 "fe/idl.ypp" + case 225: /* $@61: %empty */ +#line 2666 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypedefSeen); idl_global->in_typedef (true); } -#line 5411 "fe/idl.tab.cpp" +#line 5416 "fe/idl.tab.cpp" break; - case 225: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ -#line 2667 "fe/idl.ypp" + case 226: /* type_dcl: IDL_TYPEDEF $@61 type_declarator */ +#line 2671 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5419 "fe/idl.tab.cpp" +#line 5424 "fe/idl.tab.cpp" break; - case 226: /* type_dcl: struct_type */ -#line 2671 "fe/idl.ypp" + case 227: /* type_dcl: struct_type */ +#line 2675 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5427 "fe/idl.tab.cpp" +#line 5432 "fe/idl.tab.cpp" break; - case 227: /* type_dcl: union_type */ -#line 2675 "fe/idl.ypp" + case 228: /* type_dcl: union_type */ +#line 2679 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5435 "fe/idl.tab.cpp" +#line 5440 "fe/idl.tab.cpp" break; - case 228: /* type_dcl: enum_type */ -#line 2679 "fe/idl.ypp" + case 229: /* type_dcl: enum_type */ +#line 2683 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[0].dcval); } -#line 5443 "fe/idl.tab.cpp" +#line 5448 "fe/idl.tab.cpp" break; - case 229: /* type_dcl: IDL_NATIVE simple_declarator */ -#line 2683 "fe/idl.ypp" + case 230: /* type_dcl: IDL_NATIVE simple_declarator */ +#line 2687 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Native *node = 0; @@ -5459,27 +5476,27 @@ yyparse (void) (yyval.dcval) = 0; } -#line 5475 "fe/idl.tab.cpp" +#line 5480 "fe/idl.tab.cpp" break; - case 230: /* type_dcl: constructed_forward_type_spec */ -#line 2711 "fe/idl.ypp" + case 231: /* type_dcl: constructed_forward_type_spec */ +#line 2715 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 5483 "fe/idl.tab.cpp" +#line 5488 "fe/idl.tab.cpp" break; - case 231: /* $@62: %empty */ -#line 2718 "fe/idl.ypp" + case 232: /* $@62: %empty */ +#line 2722 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_TypeSpecSeen); } -#line 5491 "fe/idl.tab.cpp" +#line 5496 "fe/idl.tab.cpp" break; - case 232: /* type_declarator: type_spec $@62 at_least_one_declarator */ -#line 2722 "fe/idl.ypp" + case 233: /* type_declarator: type_spec $@62 at_least_one_declarator */ +#line 2726 "fe/idl.ypp" { AST_Decl *type_spec = (yyvsp[-2].dcval); UTL_DeclList *decls = (yyvsp[0].dlval); @@ -5543,22 +5560,22 @@ yyparse (void) (yyval.dcval) = t; } -#line 5559 "fe/idl.tab.cpp" +#line 5564 "fe/idl.tab.cpp" break; - case 235: /* simple_type_spec: base_type_spec */ -#line 2794 "fe/idl.ypp" + case 236: /* simple_type_spec: base_type_spec */ +#line 2798 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 5570 "fe/idl.tab.cpp" +#line 5575 "fe/idl.tab.cpp" break; - case 237: /* simple_type_spec: scoped_name */ -#line 2802 "fe/idl.ypp" + case 238: /* simple_type_spec: scoped_name */ +#line 2806 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -5581,30 +5598,30 @@ yyparse (void) (yyval.dcval) = d; } -#line 5597 "fe/idl.tab.cpp" +#line 5602 "fe/idl.tab.cpp" break; - case 256: /* at_least_one_declarator: declarator declarators */ -#line 2858 "fe/idl.ypp" + case 257: /* at_least_one_declarator: declarator declarators */ +#line 2862 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5608 "fe/idl.tab.cpp" +#line 5613 "fe/idl.tab.cpp" break; - case 257: /* $@63: %empty */ -#line 2869 "fe/idl.ypp" + case 258: /* $@63: %empty */ +#line 2873 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5616 "fe/idl.tab.cpp" +#line 5621 "fe/idl.tab.cpp" break; - case 258: /* declarators: declarators ',' $@63 declarator */ -#line 2873 "fe/idl.ypp" + case 259: /* declarators: declarators ',' $@63 declarator */ +#line 2877 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5624,38 +5641,38 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5640 "fe/idl.tab.cpp" +#line 5645 "fe/idl.tab.cpp" break; - case 259: /* declarators: %empty */ -#line 2893 "fe/idl.ypp" + case 260: /* declarators: %empty */ +#line 2897 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5648 "fe/idl.tab.cpp" +#line 5653 "fe/idl.tab.cpp" break; - case 262: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ -#line 2905 "fe/idl.ypp" + case 263: /* at_least_one_simple_declarator: simple_declarator simple_declarators */ +#line 2909 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.dlval), UTL_DeclList ((yyvsp[-1].deval), (yyvsp[0].dlval)), 1); } -#line 5659 "fe/idl.tab.cpp" +#line 5664 "fe/idl.tab.cpp" break; - case 263: /* $@64: %empty */ -#line 2916 "fe/idl.ypp" + case 264: /* $@64: %empty */ +#line 2920 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsCommaSeen); } -#line 5667 "fe/idl.tab.cpp" +#line 5672 "fe/idl.tab.cpp" break; - case 264: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ -#line 2920 "fe/idl.ypp" + case 265: /* simple_declarators: simple_declarators ',' $@64 simple_declarator */ +#line 2924 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DeclsDeclSeen); @@ -5675,19 +5692,19 @@ yyparse (void) (yyval.dlval) = (yyvsp[-3].dlval); } } -#line 5691 "fe/idl.tab.cpp" +#line 5696 "fe/idl.tab.cpp" break; - case 265: /* simple_declarators: %empty */ -#line 2940 "fe/idl.ypp" + case 266: /* simple_declarators: %empty */ +#line 2944 "fe/idl.ypp" { (yyval.dlval) = 0; } -#line 5699 "fe/idl.tab.cpp" +#line 5704 "fe/idl.tab.cpp" break; - case 266: /* simple_declarator: defining_id */ -#line 2947 "fe/idl.ypp" + case 267: /* simple_declarator: defining_id */ +#line 2951 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5700,11 +5717,11 @@ yyparse (void) 0), 1); } -#line 5716 "fe/idl.tab.cpp" +#line 5721 "fe/idl.tab.cpp" break; - case 267: /* complex_declarator: array_declarator */ -#line 2963 "fe/idl.ypp" + case 268: /* complex_declarator: array_declarator */ +#line 2967 "fe/idl.ypp" { UTL_ScopedName *sn = 0; ACE_NEW_RETURN (sn, @@ -5719,220 +5736,220 @@ yyparse (void) (yyvsp[0].dcval)), 1); } -#line 5735 "fe/idl.tab.cpp" +#line 5740 "fe/idl.tab.cpp" break; - case 270: /* signed_int: IDL_LONG */ -#line 2986 "fe/idl.ypp" + case 271: /* signed_int: IDL_LONG */ +#line 2990 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5743 "fe/idl.tab.cpp" +#line 5748 "fe/idl.tab.cpp" break; - case 271: /* signed_int: IDL_LONG IDL_LONG */ -#line 2990 "fe/idl.ypp" + case 272: /* signed_int: IDL_LONG IDL_LONG */ +#line 2994 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5751 "fe/idl.tab.cpp" +#line 5756 "fe/idl.tab.cpp" break; - case 272: /* signed_int: IDL_SHORT */ -#line 2994 "fe/idl.ypp" + case 273: /* signed_int: IDL_SHORT */ +#line 2998 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5759 "fe/idl.tab.cpp" +#line 5764 "fe/idl.tab.cpp" break; - case 273: /* signed_int: IDL_INT8 */ -#line 2998 "fe/idl.ypp" + case 274: /* signed_int: IDL_INT8 */ +#line 3002 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_int8; } -#line 5767 "fe/idl.tab.cpp" +#line 5772 "fe/idl.tab.cpp" break; - case 274: /* signed_int: IDL_INT16 */ -#line 3002 "fe/idl.ypp" + case 275: /* signed_int: IDL_INT16 */ +#line 3006 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_short; } -#line 5775 "fe/idl.tab.cpp" +#line 5780 "fe/idl.tab.cpp" break; - case 275: /* signed_int: IDL_INT32 */ -#line 3006 "fe/idl.ypp" + case 276: /* signed_int: IDL_INT32 */ +#line 3010 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_long; } -#line 5783 "fe/idl.tab.cpp" +#line 5788 "fe/idl.tab.cpp" break; - case 276: /* signed_int: IDL_INT64 */ -#line 3010 "fe/idl.ypp" + case 277: /* signed_int: IDL_INT64 */ +#line 3014 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longlong; } -#line 5791 "fe/idl.tab.cpp" +#line 5796 "fe/idl.tab.cpp" break; - case 277: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ -#line 3017 "fe/idl.ypp" + case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG */ +#line 3021 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5799 "fe/idl.tab.cpp" +#line 5804 "fe/idl.tab.cpp" break; - case 278: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ -#line 3021 "fe/idl.ypp" + case 279: /* unsigned_int: IDL_UNSIGNED IDL_LONG IDL_LONG */ +#line 3025 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5807 "fe/idl.tab.cpp" +#line 5812 "fe/idl.tab.cpp" break; - case 279: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ -#line 3025 "fe/idl.ypp" + case 280: /* unsigned_int: IDL_UNSIGNED IDL_SHORT */ +#line 3029 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5815 "fe/idl.tab.cpp" +#line 5820 "fe/idl.tab.cpp" break; - case 280: /* unsigned_int: IDL_UINT8 */ -#line 3029 "fe/idl.ypp" + case 281: /* unsigned_int: IDL_UINT8 */ +#line 3033 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_uint8; } -#line 5823 "fe/idl.tab.cpp" +#line 5828 "fe/idl.tab.cpp" break; - case 281: /* unsigned_int: IDL_UINT16 */ -#line 3033 "fe/idl.ypp" + case 282: /* unsigned_int: IDL_UINT16 */ +#line 3037 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ushort; } -#line 5831 "fe/idl.tab.cpp" +#line 5836 "fe/idl.tab.cpp" break; - case 282: /* unsigned_int: IDL_UINT32 */ -#line 3037 "fe/idl.ypp" + case 283: /* unsigned_int: IDL_UINT32 */ +#line 3041 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulong; } -#line 5839 "fe/idl.tab.cpp" +#line 5844 "fe/idl.tab.cpp" break; - case 283: /* unsigned_int: IDL_UINT64 */ -#line 3041 "fe/idl.ypp" + case 284: /* unsigned_int: IDL_UINT64 */ +#line 3045 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_ulonglong; } -#line 5847 "fe/idl.tab.cpp" +#line 5852 "fe/idl.tab.cpp" break; - case 284: /* floating_pt_type: IDL_DOUBLE */ -#line 3048 "fe/idl.ypp" + case 285: /* floating_pt_type: IDL_DOUBLE */ +#line 3052 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_double; } -#line 5855 "fe/idl.tab.cpp" +#line 5860 "fe/idl.tab.cpp" break; - case 285: /* floating_pt_type: IDL_FLOAT */ -#line 3052 "fe/idl.ypp" + case 286: /* floating_pt_type: IDL_FLOAT */ +#line 3056 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_float; } -#line 5863 "fe/idl.tab.cpp" +#line 5868 "fe/idl.tab.cpp" break; - case 286: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ -#line 3056 "fe/idl.ypp" + case 287: /* floating_pt_type: IDL_LONG IDL_DOUBLE */ +#line 3060 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_longdouble; } -#line 5871 "fe/idl.tab.cpp" +#line 5876 "fe/idl.tab.cpp" break; - case 287: /* fixed_type: IDL_FIXED */ -#line 3063 "fe/idl.ypp" + case 288: /* fixed_type: IDL_FIXED */ +#line 3067 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_fixed; } -#line 5879 "fe/idl.tab.cpp" +#line 5884 "fe/idl.tab.cpp" break; - case 288: /* char_type: IDL_CHAR */ -#line 3070 "fe/idl.ypp" + case 289: /* char_type: IDL_CHAR */ +#line 3074 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_char; } -#line 5887 "fe/idl.tab.cpp" +#line 5892 "fe/idl.tab.cpp" break; - case 289: /* char_type: IDL_WCHAR */ -#line 3074 "fe/idl.ypp" + case 290: /* char_type: IDL_WCHAR */ +#line 3078 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_wchar; } -#line 5895 "fe/idl.tab.cpp" +#line 5900 "fe/idl.tab.cpp" break; - case 290: /* octet_type: IDL_OCTET */ -#line 3081 "fe/idl.ypp" + case 291: /* octet_type: IDL_OCTET */ +#line 3085 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_octet; } -#line 5903 "fe/idl.tab.cpp" +#line 5908 "fe/idl.tab.cpp" break; - case 291: /* boolean_type: IDL_BOOLEAN */ -#line 3088 "fe/idl.ypp" + case 292: /* boolean_type: IDL_BOOLEAN */ +#line 3092 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_bool; } -#line 5911 "fe/idl.tab.cpp" +#line 5916 "fe/idl.tab.cpp" break; - case 292: /* any_type: IDL_ANY */ -#line 3095 "fe/idl.ypp" + case 293: /* any_type: IDL_ANY */ +#line 3099 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_any; } -#line 5919 "fe/idl.tab.cpp" +#line 5924 "fe/idl.tab.cpp" break; - case 293: /* object_type: IDL_OBJECT */ -#line 3102 "fe/idl.ypp" + case 294: /* object_type: IDL_OBJECT */ +#line 3106 "fe/idl.ypp" { (yyval.etval) = AST_Expression::EV_object; } -#line 5927 "fe/idl.tab.cpp" +#line 5932 "fe/idl.tab.cpp" break; - case 294: /* $@65: %empty */ -#line 3109 "fe/idl.ypp" + case 295: /* $@65: %empty */ +#line 3113 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructSeen); } -#line 5935 "fe/idl.tab.cpp" +#line 5940 "fe/idl.tab.cpp" break; - case 295: /* struct_decl: IDL_STRUCT $@65 defining_id */ -#line 3113 "fe/idl.ypp" + case 296: /* struct_decl: IDL_STRUCT $@65 defining_id */ +#line 3117 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StructIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 5944 "fe/idl.tab.cpp" +#line 5949 "fe/idl.tab.cpp" break; - case 296: /* $@66: %empty */ -#line 3122 "fe/idl.ypp" + case 297: /* $@66: %empty */ +#line 3126 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -5963,30 +5980,20 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 5979 "fe/idl.tab.cpp" - break; - - case 297: /* $@67: %empty */ -#line 3153 "fe/idl.ypp" - { - idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); - } -#line 5987 "fe/idl.tab.cpp" +#line 5984 "fe/idl.tab.cpp" break; - case 298: /* $@68: %empty */ + case 298: /* $@67: %empty */ #line 3157 "fe/idl.ypp" { - idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); + idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } -#line 5995 "fe/idl.tab.cpp" +#line 5992 "fe/idl.tab.cpp" break; - case 299: /* struct_type: struct_decl $@66 '{' $@67 at_least_one_member $@68 '}' */ + case 299: /* struct_type: struct_decl $@66 '{' $@67 struct_body */ #line 3161 "fe/idl.ypp" { - idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); - /* * Done with this struct. Pop its scope off the scopes stack. */ @@ -5995,11 +6002,39 @@ yyparse (void) ); idl_global->scopes ().pop (); } -#line 6011 "fe/idl.tab.cpp" +#line 6006 "fe/idl.tab.cpp" + break; + + case 300: /* struct_body: '}' */ +#line 3174 "fe/idl.ypp" + { + if (idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Empty structs are not allowed in IDL3"); + + idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); + } +#line 6018 "fe/idl.tab.cpp" + break; + + case 302: /* $@68: %empty */ +#line 3186 "fe/idl.ypp" + { + idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); + } +#line 6026 "fe/idl.tab.cpp" break; - case 303: /* member: annotations_maybe member_i */ -#line 3183 "fe/idl.ypp" + case 303: /* struct_body_with_members: member members $@68 '}' */ +#line 3190 "fe/idl.ypp" + { + idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); + } +#line 6034 "fe/idl.tab.cpp" + break; + + case 306: /* member: annotations_maybe member_i */ +#line 3202 "fe/idl.ypp" { AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); AST_Decls *members = (yyvsp[0].decls_val); @@ -6013,27 +6048,27 @@ yyparse (void) delete annotations; delete members; } -#line 6029 "fe/idl.tab.cpp" +#line 6052 "fe/idl.tab.cpp" break; - case 304: /* $@69: %empty */ -#line 3200 "fe/idl.ypp" + case 307: /* $@69: %empty */ +#line 3219 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberTypeSeen); } -#line 6037 "fe/idl.tab.cpp" +#line 6060 "fe/idl.tab.cpp" break; - case 305: /* $@70: %empty */ -#line 3204 "fe/idl.ypp" + case 308: /* $@70: %empty */ +#line 3223 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MemberDeclsSeen); } -#line 6045 "fe/idl.tab.cpp" +#line 6068 "fe/idl.tab.cpp" break; - case 306: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ -#line 3208 "fe/idl.ypp" + case 309: /* member_i: type_spec $@69 at_least_one_declarator $@70 ';' */ +#line 3227 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); FE_Declarator *d = 0; @@ -6087,53 +6122,53 @@ yyparse (void) (yyval.decls_val) = members; } -#line 6103 "fe/idl.tab.cpp" +#line 6126 "fe/idl.tab.cpp" break; - case 307: /* $@71: %empty */ -#line 3262 "fe/idl.ypp" + case 310: /* $@71: %empty */ +#line 3281 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6111 "fe/idl.tab.cpp" +#line 6134 "fe/idl.tab.cpp" break; - case 308: /* member_i: error $@71 ';' */ -#line 3266 "fe/idl.ypp" + case 311: /* member_i: error $@71 ';' */ +#line 3285 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6120 "fe/idl.tab.cpp" +#line 6143 "fe/idl.tab.cpp" break; - case 309: /* $@72: %empty */ -#line 3274 "fe/idl.ypp" + case 312: /* $@72: %empty */ +#line 3293 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSeen); } -#line 6128 "fe/idl.tab.cpp" +#line 6151 "fe/idl.tab.cpp" break; - case 310: /* union_decl: IDL_UNION $@72 defining_id */ -#line 3278 "fe/idl.ypp" + case 313: /* union_decl: IDL_UNION $@72 defining_id */ +#line 3297 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 6137 "fe/idl.tab.cpp" +#line 6160 "fe/idl.tab.cpp" break; - case 311: /* $@73: %empty */ -#line 3286 "fe/idl.ypp" + case 314: /* $@73: %empty */ +#line 3305 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchSeen); } -#line 6145 "fe/idl.tab.cpp" +#line 6168 "fe/idl.tab.cpp" break; - case 312: /* $@74: %empty */ -#line 3290 "fe/idl.ypp" + case 315: /* $@74: %empty */ +#line 3309 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[-3].idval), 0); @@ -6166,19 +6201,19 @@ yyparse (void) * Don't delete $1 yet; we'll need it a bit later. */ } -#line 6182 "fe/idl.tab.cpp" +#line 6205 "fe/idl.tab.cpp" break; - case 313: /* $@75: %empty */ -#line 3323 "fe/idl.ypp" + case 316: /* $@75: %empty */ +#line 3342 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SwitchTypeSeen); } -#line 6190 "fe/idl.tab.cpp" +#line 6213 "fe/idl.tab.cpp" break; - case 314: /* $@76: %empty */ -#line 3327 "fe/idl.ypp" + case 317: /* $@76: %empty */ +#line 3346 "fe/idl.ypp" { /* * The top of the scopes must be an empty union we added after we @@ -6237,27 +6272,27 @@ yyparse (void) delete disc_annotations; } -#line 6253 "fe/idl.tab.cpp" +#line 6276 "fe/idl.tab.cpp" break; - case 315: /* $@77: %empty */ -#line 3386 "fe/idl.ypp" + case 318: /* $@77: %empty */ +#line 3405 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionSqSeen); } -#line 6261 "fe/idl.tab.cpp" +#line 6284 "fe/idl.tab.cpp" break; - case 316: /* $@78: %empty */ -#line 3390 "fe/idl.ypp" + case 319: /* $@78: %empty */ +#line 3409 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionBodySeen); } -#line 6269 "fe/idl.tab.cpp" +#line 6292 "fe/idl.tab.cpp" break; - case 317: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ -#line 3394 "fe/idl.ypp" + case 320: /* union_type: union_decl IDL_SWITCH $@73 '(' $@74 annotations_maybe switch_type_spec $@75 ')' $@76 '{' $@77 at_least_one_case_branch $@78 '}' */ +#line 3413 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionQsSeen); @@ -6273,63 +6308,51 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6289 "fe/idl.tab.cpp" +#line 6312 "fe/idl.tab.cpp" break; - case 318: /* switch_type_spec: integer_type */ -#line 3413 "fe/idl.ypp" + case 321: /* switch_type_spec: integer_type */ +#line 3432 "fe/idl.ypp" { - (yyval.dcval) = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - (yyvsp[0].etval) - ); + (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ((yyvsp[0].etval)); } -#line 6300 "fe/idl.tab.cpp" +#line 6320 "fe/idl.tab.cpp" break; - case 319: /* switch_type_spec: char_type */ -#line 3420 "fe/idl.ypp" + case 322: /* switch_type_spec: char_type */ +#line 3436 "fe/idl.ypp" { - /* wchars are not allowed. */ - if ((yyvsp[0].etval) == AST_Expression::EV_wchar) - { - idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); - } + if ((yyvsp[0].etval) == AST_Expression::EV_wchar && idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Using wchar as a union discriminator isn't allowed in IDL3"); - (yyval.dcval) = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - (yyvsp[0].etval) - ); + (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ((yyvsp[0].etval)); } -#line 6317 "fe/idl.tab.cpp" +#line 6332 "fe/idl.tab.cpp" break; - case 320: /* switch_type_spec: octet_type */ -#line 3433 "fe/idl.ypp" + case 323: /* switch_type_spec: octet_type */ +#line 3444 "fe/idl.ypp" { - /* octets are not allowed. */ - idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); - (yyval.dcval) = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - (yyvsp[0].etval) - ); + if (idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Using octet as a union discriminator isn't allowed in IDL3"); + + (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ((yyvsp[0].etval)); } -#line 6330 "fe/idl.tab.cpp" +#line 6344 "fe/idl.tab.cpp" break; - case 321: /* switch_type_spec: boolean_type */ -#line 3442 "fe/idl.ypp" + case 324: /* switch_type_spec: boolean_type */ +#line 3452 "fe/idl.ypp" { - (yyval.dcval) = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - (yyvsp[0].etval) - ); + (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ((yyvsp[0].etval)); } -#line 6341 "fe/idl.tab.cpp" +#line 6352 "fe/idl.tab.cpp" break; - case 323: /* switch_type_spec: scoped_name */ -#line 3450 "fe/idl.ypp" + case 326: /* switch_type_spec: scoped_name */ +#line 3457 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -6436,27 +6459,27 @@ yyparse (void) delete (yyvsp[0].idlist); (yyvsp[0].idlist) = 0; } -#line 6452 "fe/idl.tab.cpp" +#line 6463 "fe/idl.tab.cpp" break; - case 327: /* $@79: %empty */ -#line 3567 "fe/idl.ypp" + case 330: /* $@79: %empty */ +#line 3574 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionLabelSeen); } -#line 6460 "fe/idl.tab.cpp" +#line 6471 "fe/idl.tab.cpp" break; - case 328: /* $@80: %empty */ -#line 3571 "fe/idl.ypp" + case 331: /* $@80: %empty */ +#line 3578 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemSeen); } -#line 6468 "fe/idl.tab.cpp" +#line 6479 "fe/idl.tab.cpp" break; - case 329: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ -#line 3575 "fe/idl.ypp" + case 332: /* case_branch: at_least_one_case_label $@79 annotations_maybe element_spec $@80 ';' */ +#line 3582 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_UnionBranch *b = 0; @@ -6488,39 +6511,39 @@ yyparse (void) delete annotations; } -#line 6504 "fe/idl.tab.cpp" +#line 6515 "fe/idl.tab.cpp" break; - case 330: /* $@81: %empty */ -#line 3607 "fe/idl.ypp" + case 333: /* $@81: %empty */ +#line 3614 "fe/idl.ypp" { idl_global->err ()->syntax_error (idl_global->parse_state ()); } -#line 6512 "fe/idl.tab.cpp" +#line 6523 "fe/idl.tab.cpp" break; - case 331: /* case_branch: error $@81 ';' */ -#line 3611 "fe/idl.ypp" + case 334: /* case_branch: error $@81 ';' */ +#line 3618 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); yyerrok; } -#line 6521 "fe/idl.tab.cpp" +#line 6532 "fe/idl.tab.cpp" break; - case 332: /* at_least_one_case_label: case_label case_labels */ -#line 3619 "fe/idl.ypp" + case 335: /* at_least_one_case_label: case_label case_labels */ +#line 3626 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.llval), UTL_LabelList ((yyvsp[-1].ulval), (yyvsp[0].llval)), 1); } -#line 6532 "fe/idl.tab.cpp" +#line 6543 "fe/idl.tab.cpp" break; - case 333: /* case_labels: case_labels case_label */ -#line 3629 "fe/idl.ypp" + case 336: /* case_labels: case_labels case_label */ +#line 3636 "fe/idl.ypp" { UTL_LabelList *ll = 0; ACE_NEW_RETURN (ll, @@ -6538,27 +6561,27 @@ yyparse (void) (yyval.llval) = (yyvsp[-1].llval); } } -#line 6554 "fe/idl.tab.cpp" +#line 6565 "fe/idl.tab.cpp" break; - case 334: /* case_labels: %empty */ -#line 3647 "fe/idl.ypp" + case 337: /* case_labels: %empty */ +#line 3654 "fe/idl.ypp" { (yyval.llval) = 0; } -#line 6562 "fe/idl.tab.cpp" +#line 6573 "fe/idl.tab.cpp" break; - case 335: /* $@82: %empty */ -#line 3654 "fe/idl.ypp" + case 338: /* $@82: %empty */ +#line 3661 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DefaultSeen); } -#line 6570 "fe/idl.tab.cpp" +#line 6581 "fe/idl.tab.cpp" break; - case 336: /* case_label: IDL_DEFAULT $@82 ':' */ -#line 3658 "fe/idl.ypp" + case 339: /* case_label: IDL_DEFAULT $@82 ':' */ +#line 3665 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6567,27 +6590,27 @@ yyparse (void) 0 ); } -#line 6583 "fe/idl.tab.cpp" +#line 6594 "fe/idl.tab.cpp" break; - case 337: /* $@83: %empty */ -#line 3667 "fe/idl.ypp" + case 340: /* $@83: %empty */ +#line 3674 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_CaseSeen); } -#line 6591 "fe/idl.tab.cpp" +#line 6602 "fe/idl.tab.cpp" break; - case 338: /* $@84: %empty */ -#line 3671 "fe/idl.ypp" + case 341: /* $@84: %empty */ +#line 3678 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelExprSeen); } -#line 6599 "fe/idl.tab.cpp" +#line 6610 "fe/idl.tab.cpp" break; - case 339: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ -#line 3675 "fe/idl.ypp" + case 342: /* case_label: IDL_CASE $@83 const_expr $@84 ':' */ +#line 3682 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_LabelColonSeen); @@ -6596,19 +6619,19 @@ yyparse (void) (yyvsp[-2].exval) ); } -#line 6612 "fe/idl.tab.cpp" +#line 6623 "fe/idl.tab.cpp" break; - case 340: /* $@85: %empty */ -#line 3687 "fe/idl.ypp" + case 343: /* $@85: %empty */ +#line 3694 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemTypeSeen); } -#line 6620 "fe/idl.tab.cpp" +#line 6631 "fe/idl.tab.cpp" break; - case 341: /* element_spec: type_spec $@85 declarator */ -#line 3691 "fe/idl.ypp" + case 344: /* element_spec: type_spec $@85 declarator */ +#line 3698 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UnionElemDeclSeen); @@ -6651,11 +6674,11 @@ yyparse (void) (yyvsp[0].deval) = 0; } } -#line 6667 "fe/idl.tab.cpp" +#line 6678 "fe/idl.tab.cpp" break; - case 342: /* struct_forward_type: struct_decl */ -#line 3737 "fe/idl.ypp" + case 345: /* struct_forward_type: struct_decl */ +#line 3744 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6677,11 +6700,11 @@ yyparse (void) (yyval.dcval) = d; } -#line 6693 "fe/idl.tab.cpp" +#line 6704 "fe/idl.tab.cpp" break; - case 343: /* union_forward_type: union_decl */ -#line 3762 "fe/idl.ypp" + case 346: /* union_forward_type: union_decl */ +#line 3769 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -6701,19 +6724,19 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6717 "fe/idl.tab.cpp" +#line 6728 "fe/idl.tab.cpp" break; - case 344: /* $@86: %empty */ -#line 3785 "fe/idl.ypp" + case 347: /* $@86: %empty */ +#line 3792 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSeen); } -#line 6725 "fe/idl.tab.cpp" +#line 6736 "fe/idl.tab.cpp" break; - case 345: /* $@87: %empty */ -#line 3789 "fe/idl.ypp" + case 348: /* $@87: %empty */ +#line 3796 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), 0); @@ -6744,27 +6767,27 @@ yyparse (void) delete (yyvsp[0].idval); (yyvsp[0].idval) = 0; } -#line 6760 "fe/idl.tab.cpp" +#line 6771 "fe/idl.tab.cpp" break; - case 346: /* $@88: %empty */ -#line 3820 "fe/idl.ypp" + case 349: /* $@88: %empty */ +#line 3827 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumSqSeen); } -#line 6768 "fe/idl.tab.cpp" +#line 6779 "fe/idl.tab.cpp" break; - case 347: /* $@89: %empty */ -#line 3824 "fe/idl.ypp" + case 350: /* $@89: %empty */ +#line 3831 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumBodySeen); } -#line 6776 "fe/idl.tab.cpp" +#line 6787 "fe/idl.tab.cpp" break; - case 348: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ -#line 3828 "fe/idl.ypp" + case 351: /* enum_type: IDL_ENUM $@86 defining_id $@87 '{' $@88 at_least_one_enumerator $@89 '}' */ +#line 3835 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumQsSeen); @@ -6783,19 +6806,19 @@ yyparse (void) idl_global->scopes ().pop (); } } -#line 6799 "fe/idl.tab.cpp" +#line 6810 "fe/idl.tab.cpp" break; - case 350: /* $@90: %empty */ -#line 3853 "fe/idl.ypp" + case 353: /* $@90: %empty */ +#line 3860 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EnumCommaSeen); } -#line 6807 "fe/idl.tab.cpp" +#line 6818 "fe/idl.tab.cpp" break; - case 353: /* enumerator: annotations_maybe IDENTIFIER */ -#line 3862 "fe/idl.ypp" + case 356: /* enumerator: annotations_maybe IDENTIFIER */ +#line 3869 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Annotation_Appls *annotations = (yyvsp[-1].annotations_val); @@ -6830,11 +6853,11 @@ yyparse (void) delete annotations; } -#line 6846 "fe/idl.tab.cpp" +#line 6857 "fe/idl.tab.cpp" break; - case 354: /* map_type_spec: map_head '>' */ -#line 3901 "fe/idl.ypp" + case 357: /* map_type_spec: map_head '>' */ +#line 3908 "fe/idl.ypp" { AST_Map *map = 0; Decl_Annotations_Pair_Pair* type_pair = (yyvsp[-1].decl_annotations_pair_val_pair); @@ -6893,11 +6916,11 @@ yyparse (void) delete type_pair; (yyval.dcval) = map; } -#line 6909 "fe/idl.tab.cpp" +#line 6920 "fe/idl.tab.cpp" break; - case 355: /* $@91: %empty */ -#line 3963 "fe/idl.ypp" + case 358: /* $@91: %empty */ +#line 3970 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MapSeen); @@ -6906,19 +6929,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 6922 "fe/idl.tab.cpp" +#line 6933 "fe/idl.tab.cpp" break; - case 356: /* $@92: %empty */ -#line 3973 "fe/idl.ypp" + case 359: /* $@92: %empty */ +#line 3980 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapKeyTypeSeen); } -#line 6930 "fe/idl.tab.cpp" +#line 6941 "fe/idl.tab.cpp" break; - case 357: /* map_head: IDL_MAP $@91 '<' annotations_maybe simple_type_spec $@92 ',' annotations_maybe simple_type_spec */ -#line 3978 "fe/idl.ypp" + case 360: /* map_head: IDL_MAP $@91 '<' annotations_maybe simple_type_spec $@92 ',' annotations_maybe simple_type_spec */ +#line 3985 "fe/idl.ypp" { idl_global->set_parse_state(IDL_GlobalData::PS_MapValueTypeSeen); Decl_Annotations_Pair *key = new Decl_Annotations_Pair; @@ -6934,27 +6957,27 @@ yyparse (void) pairs->second = value; (yyval.decl_annotations_pair_val_pair) = pairs; } -#line 6950 "fe/idl.tab.cpp" +#line 6961 "fe/idl.tab.cpp" break; - case 358: /* $@93: %empty */ -#line 3998 "fe/idl.ypp" + case 361: /* $@93: %empty */ +#line 4005 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceCommaSeen); } -#line 6958 "fe/idl.tab.cpp" +#line 6969 "fe/idl.tab.cpp" break; - case 359: /* $@94: %empty */ -#line 4002 "fe/idl.ypp" + case 362: /* $@94: %empty */ +#line 4009 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceExprSeen); } -#line 6966 "fe/idl.tab.cpp" +#line 6977 "fe/idl.tab.cpp" break; - case 360: /* sequence_type_spec: seq_head ',' $@93 positive_int_expr $@94 '>' */ -#line 4006 "fe/idl.ypp" + case 363: /* sequence_type_spec: seq_head ',' $@93 positive_int_expr $@94 '>' */ +#line 4013 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7035,11 +7058,11 @@ yyparse (void) ev = 0; (yyval.dcval) = seq; } -#line 7051 "fe/idl.tab.cpp" +#line 7062 "fe/idl.tab.cpp" break; - case 361: /* sequence_type_spec: seq_head '>' */ -#line 4088 "fe/idl.ypp" + case 364: /* sequence_type_spec: seq_head '>' */ +#line 4095 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceQsSeen); @@ -7101,11 +7124,11 @@ yyparse (void) delete type_annotations; (yyval.dcval) = seq; } -#line 7117 "fe/idl.tab.cpp" +#line 7128 "fe/idl.tab.cpp" break; - case 362: /* $@95: %empty */ -#line 4153 "fe/idl.ypp" + case 365: /* $@95: %empty */ +#line 4160 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSeen); @@ -7114,19 +7137,19 @@ yyparse (void) */ idl_global->scopes ().push (0); } -#line 7130 "fe/idl.tab.cpp" +#line 7141 "fe/idl.tab.cpp" break; - case 363: /* $@96: %empty */ -#line 4162 "fe/idl.ypp" + case 366: /* $@96: %empty */ +#line 4169 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceSqSeen); } -#line 7138 "fe/idl.tab.cpp" +#line 7149 "fe/idl.tab.cpp" break; - case 364: /* seq_head: IDL_SEQUENCE $@95 '<' $@96 annotations_maybe simple_type_spec */ -#line 4166 "fe/idl.ypp" + case 367: /* seq_head: IDL_SEQUENCE $@95 '<' $@96 annotations_maybe simple_type_spec */ +#line 4173 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SequenceTypeSeen); Decl_Annotations_Pair *seq_head = new Decl_Annotations_Pair; @@ -7134,36 +7157,36 @@ yyparse (void) seq_head->annotations = (yyvsp[-1].annotations_val); (yyval.decl_annotations_pair_val) = seq_head; } -#line 7150 "fe/idl.tab.cpp" +#line 7161 "fe/idl.tab.cpp" break; - case 365: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ -#line 4177 "fe/idl.ypp" + case 368: /* fixed_type_spec: IDL_FIXED '<' positive_int_expr ',' const_expr '>' */ +#line 4184 "fe/idl.ypp" { (yyvsp[-1].exval)->evaluate (AST_Expression::EK_positive_int); (yyval.dcval) = idl_global->gen ()->create_fixed ((yyvsp[-3].exval), (yyvsp[-1].exval)); } -#line 7159 "fe/idl.tab.cpp" +#line 7170 "fe/idl.tab.cpp" break; - case 366: /* $@97: %empty */ -#line 4186 "fe/idl.ypp" + case 369: /* $@97: %empty */ +#line 4193 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7167 "fe/idl.tab.cpp" +#line 7178 "fe/idl.tab.cpp" break; - case 367: /* $@98: %empty */ -#line 4190 "fe/idl.ypp" + case 370: /* $@98: %empty */ +#line 4197 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7175 "fe/idl.tab.cpp" +#line 7186 "fe/idl.tab.cpp" break; - case 368: /* string_type_spec: string_head '<' $@97 positive_int_expr $@98 '>' */ -#line 4194 "fe/idl.ypp" + case 371: /* string_type_spec: string_head '<' $@97 positive_int_expr $@98 '>' */ +#line 4201 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7202,11 +7225,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7218 "fe/idl.tab.cpp" +#line 7229 "fe/idl.tab.cpp" break; - case 369: /* string_type_spec: string_head */ -#line 4233 "fe/idl.ypp" + case 372: /* string_type_spec: string_head */ +#line 4240 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7229,35 +7252,35 @@ yyparse (void) (yyval.dcval) = tao_string_decl; } -#line 7245 "fe/idl.tab.cpp" +#line 7256 "fe/idl.tab.cpp" break; - case 370: /* string_head: IDL_STRING */ -#line 4259 "fe/idl.ypp" + case 373: /* string_head: IDL_STRING */ +#line 4266 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7253 "fe/idl.tab.cpp" +#line 7264 "fe/idl.tab.cpp" break; - case 371: /* $@99: %empty */ -#line 4267 "fe/idl.ypp" + case 374: /* $@99: %empty */ +#line 4274 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSqSeen); } -#line 7261 "fe/idl.tab.cpp" +#line 7272 "fe/idl.tab.cpp" break; - case 372: /* $@100: %empty */ -#line 4271 "fe/idl.ypp" + case 375: /* $@100: %empty */ +#line 4278 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringExprSeen); } -#line 7269 "fe/idl.tab.cpp" +#line 7280 "fe/idl.tab.cpp" break; - case 373: /* wstring_type_spec: wstring_head '<' $@99 positive_int_expr $@100 '>' */ -#line 4275 "fe/idl.ypp" + case 376: /* wstring_type_spec: wstring_head '<' $@99 positive_int_expr $@100 '>' */ +#line 4282 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringQsSeen); @@ -7296,11 +7319,11 @@ yyparse (void) delete ev; ev = 0; } -#line 7312 "fe/idl.tab.cpp" +#line 7323 "fe/idl.tab.cpp" break; - case 374: /* wstring_type_spec: wstring_head */ -#line 4314 "fe/idl.ypp" + case 377: /* wstring_type_spec: wstring_head */ +#line 4321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringCompleted); @@ -7323,27 +7346,27 @@ yyparse (void) (yyval.dcval) = string; } -#line 7339 "fe/idl.tab.cpp" +#line 7350 "fe/idl.tab.cpp" break; - case 375: /* wstring_head: IDL_WSTRING */ -#line 4340 "fe/idl.ypp" + case 378: /* wstring_head: IDL_WSTRING */ +#line 4347 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_StringSeen); } -#line 7347 "fe/idl.tab.cpp" +#line 7358 "fe/idl.tab.cpp" break; - case 376: /* $@101: %empty */ -#line 4347 "fe/idl.ypp" + case 379: /* $@101: %empty */ +#line 4354 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayIDSeen); } -#line 7355 "fe/idl.tab.cpp" +#line 7366 "fe/idl.tab.cpp" break; - case 377: /* array_declarator: defining_id $@101 annotations_maybe at_least_one_array_dim */ -#line 4351 "fe/idl.ypp" + case 380: /* array_declarator: defining_id $@101 annotations_maybe at_least_one_array_dim */ +#line 4358 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ArrayCompleted); @@ -7379,22 +7402,22 @@ yyparse (void) (yyval.dcval) = array; } -#line 7395 "fe/idl.tab.cpp" +#line 7406 "fe/idl.tab.cpp" break; - case 378: /* at_least_one_array_dim: array_dim array_dims */ -#line 4390 "fe/idl.ypp" + case 381: /* at_least_one_array_dim: array_dim array_dims */ +#line 4397 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.elval), UTL_ExprList ((yyvsp[-1].exval), (yyvsp[0].elval)), 1); } -#line 7406 "fe/idl.tab.cpp" +#line 7417 "fe/idl.tab.cpp" break; - case 379: /* array_dims: array_dims array_dim */ -#line 4400 "fe/idl.ypp" + case 382: /* array_dims: array_dims array_dim */ +#line 4407 "fe/idl.ypp" { UTL_ExprList *el = 0; ACE_NEW_RETURN (el, @@ -7412,35 +7435,35 @@ yyparse (void) (yyval.elval) = (yyvsp[-1].elval); } } -#line 7428 "fe/idl.tab.cpp" +#line 7439 "fe/idl.tab.cpp" break; - case 380: /* array_dims: %empty */ -#line 4418 "fe/idl.ypp" + case 383: /* array_dims: %empty */ +#line 4425 "fe/idl.ypp" { (yyval.elval) = 0; } -#line 7436 "fe/idl.tab.cpp" +#line 7447 "fe/idl.tab.cpp" break; - case 381: /* $@102: %empty */ -#line 4425 "fe/idl.ypp" + case 384: /* $@102: %empty */ +#line 4432 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimSqSeen); } -#line 7444 "fe/idl.tab.cpp" +#line 7455 "fe/idl.tab.cpp" break; - case 382: /* $@103: %empty */ -#line 4429 "fe/idl.ypp" + case 385: /* $@103: %empty */ +#line 4436 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimExprSeen); } -#line 7452 "fe/idl.tab.cpp" +#line 7463 "fe/idl.tab.cpp" break; - case 383: /* array_dim: '[' $@102 positive_int_expr $@103 ']' */ -#line 4433 "fe/idl.ypp" + case 386: /* array_dim: '[' $@102 positive_int_expr $@103 ']' */ +#line 4440 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_DimQsSeen); @@ -7494,43 +7517,43 @@ yyparse (void) delete ev; ev = 0; } -#line 7510 "fe/idl.tab.cpp" +#line 7521 "fe/idl.tab.cpp" break; - case 386: /* $@104: %empty */ -#line 4495 "fe/idl.ypp" + case 389: /* $@104: %empty */ +#line 4502 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrROSeen); } -#line 7518 "fe/idl.tab.cpp" +#line 7529 "fe/idl.tab.cpp" break; - case 387: /* $@105: %empty */ -#line 4499 "fe/idl.ypp" + case 390: /* $@105: %empty */ +#line 4506 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7526 "fe/idl.tab.cpp" +#line 7537 "fe/idl.tab.cpp" break; - case 388: /* $@106: %empty */ -#line 4503 "fe/idl.ypp" + case 391: /* $@106: %empty */ +#line 4510 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7534 "fe/idl.tab.cpp" +#line 7545 "fe/idl.tab.cpp" break; - case 389: /* $@107: %empty */ -#line 4507 "fe/idl.ypp" + case 392: /* $@107: %empty */ +#line 4514 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7542 "fe/idl.tab.cpp" +#line 7553 "fe/idl.tab.cpp" break; - case 390: /* attribute_readonly: IDL_READONLY $@104 IDL_ATTRIBUTE $@105 param_type_spec $@106 at_least_one_simple_declarator $@107 opt_raises */ -#line 4511 "fe/idl.ypp" + case 393: /* attribute_readonly: IDL_READONLY $@104 IDL_ATTRIBUTE $@105 param_type_spec $@106 at_least_one_simple_declarator $@107 opt_raises */ +#line 4518 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7582,43 +7605,43 @@ yyparse (void) (yyval.dcval) = a; } -#line 7598 "fe/idl.tab.cpp" +#line 7609 "fe/idl.tab.cpp" break; - case 391: /* $@108: %empty */ -#line 4566 "fe/idl.ypp" + case 394: /* $@108: %empty */ +#line 4573 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrSeen); } -#line 7606 "fe/idl.tab.cpp" +#line 7617 "fe/idl.tab.cpp" break; - case 392: /* $@109: %empty */ -#line 4570 "fe/idl.ypp" + case 395: /* $@109: %empty */ +#line 4577 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrTypeSeen); } -#line 7614 "fe/idl.tab.cpp" +#line 7625 "fe/idl.tab.cpp" break; - case 393: /* $@110: %empty */ -#line 4574 "fe/idl.ypp" + case 396: /* $@110: %empty */ +#line 4581 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclsSeen); } -#line 7622 "fe/idl.tab.cpp" +#line 7633 "fe/idl.tab.cpp" break; - case 394: /* $@111: %empty */ -#line 4578 "fe/idl.ypp" + case 397: /* $@111: %empty */ +#line 4585 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseCompleted); } -#line 7630 "fe/idl.tab.cpp" +#line 7641 "fe/idl.tab.cpp" break; - case 395: /* attribute_readwrite: IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_getraises $@111 opt_setraises */ -#line 4582 "fe/idl.ypp" + case 398: /* attribute_readwrite: IDL_ATTRIBUTE $@108 param_type_spec $@109 at_least_one_simple_declarator $@110 opt_getraises $@111 opt_setraises */ +#line 4589 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Attribute *a = 0; @@ -7679,19 +7702,19 @@ yyparse (void) (yyval.dcval) = a; } -#line 7695 "fe/idl.tab.cpp" +#line 7706 "fe/idl.tab.cpp" break; - case 396: /* $@112: %empty */ -#line 4646 "fe/idl.ypp" + case 399: /* $@112: %empty */ +#line 4653 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSeen); } -#line 7703 "fe/idl.tab.cpp" +#line 7714 "fe/idl.tab.cpp" break; - case 397: /* @113: %empty */ -#line 4650 "fe/idl.ypp" + case 400: /* @113: %empty */ +#line 4657 "fe/idl.ypp" { Identifier *&id = (yyvsp[0].idval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7723,27 +7746,27 @@ yyparse (void) (yyval.dcval) = exception; } -#line 7739 "fe/idl.tab.cpp" +#line 7750 "fe/idl.tab.cpp" break; - case 398: /* $@114: %empty */ -#line 4682 "fe/idl.ypp" + case 401: /* $@114: %empty */ +#line 4689 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptSqSeen); } -#line 7747 "fe/idl.tab.cpp" +#line 7758 "fe/idl.tab.cpp" break; - case 399: /* $@115: %empty */ -#line 4686 "fe/idl.ypp" + case 402: /* $@115: %empty */ +#line 4693 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptBodySeen); } -#line 7755 "fe/idl.tab.cpp" +#line 7766 "fe/idl.tab.cpp" break; - case 400: /* exception: IDL_EXCEPTION $@112 defining_id @113 '{' $@114 members $@115 '}' */ -#line 4690 "fe/idl.ypp" + case 403: /* exception: IDL_EXCEPTION $@112 defining_id @113 '{' $@114 members $@115 '}' */ +#line 4697 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExceptQsSeen); /* @@ -7753,19 +7776,19 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 7769 "fe/idl.tab.cpp" +#line 7780 "fe/idl.tab.cpp" break; - case 401: /* $@116: %empty */ -#line 4703 "fe/idl.ypp" + case 404: /* $@116: %empty */ +#line 4710 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7777 "fe/idl.tab.cpp" +#line 7788 "fe/idl.tab.cpp" break; - case 402: /* $@117: %empty */ -#line 4707 "fe/idl.ypp" + case 405: /* $@117: %empty */ +#line 4714 "fe/idl.ypp" { AST_Operation *op = 0; UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -7826,27 +7849,27 @@ yyparse (void) */ idl_global->scopes ().push (op); } -#line 7842 "fe/idl.tab.cpp" +#line 7853 "fe/idl.tab.cpp" break; - case 403: /* $@118: %empty */ -#line 4768 "fe/idl.ypp" + case 406: /* $@118: %empty */ +#line 4775 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7850 "fe/idl.tab.cpp" +#line 7861 "fe/idl.tab.cpp" break; - case 404: /* $@119: %empty */ -#line 4772 "fe/idl.ypp" + case 407: /* $@119: %empty */ +#line 4779 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); } -#line 7858 "fe/idl.tab.cpp" +#line 7869 "fe/idl.tab.cpp" break; - case 405: /* operation: opt_op_attribute op_type_spec $@116 IDENTIFIER $@117 parameter_list $@118 opt_raises $@119 opt_context */ -#line 4776 "fe/idl.ypp" + case 408: /* operation: opt_op_attribute op_type_spec $@116 IDENTIFIER $@117 parameter_list $@118 opt_raises $@119 opt_context */ +#line 4783 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Operation *o = 0; @@ -7877,57 +7900,57 @@ yyparse (void) (yyval.dcval) = o; } -#line 7893 "fe/idl.tab.cpp" +#line 7904 "fe/idl.tab.cpp" break; - case 406: /* opt_op_attribute: IDL_ONEWAY */ -#line 4810 "fe/idl.ypp" + case 409: /* opt_op_attribute: IDL_ONEWAY */ +#line 4817 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_oneway; } -#line 7902 "fe/idl.tab.cpp" +#line 7913 "fe/idl.tab.cpp" break; - case 407: /* opt_op_attribute: IDL_IDEMPOTENT */ -#line 4815 "fe/idl.ypp" + case 410: /* opt_op_attribute: IDL_IDEMPOTENT */ +#line 4822 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpAttrSeen); (yyval.ofval) = AST_Operation::OP_idempotent; } -#line 7911 "fe/idl.tab.cpp" +#line 7922 "fe/idl.tab.cpp" break; - case 408: /* opt_op_attribute: %empty */ -#line 4820 "fe/idl.ypp" + case 411: /* opt_op_attribute: %empty */ +#line 4827 "fe/idl.ypp" { (yyval.ofval) = AST_Operation::OP_noflags; } -#line 7919 "fe/idl.tab.cpp" +#line 7930 "fe/idl.tab.cpp" break; - case 410: /* op_type_spec: IDL_VOID */ -#line 4828 "fe/idl.ypp" + case 413: /* op_type_spec: IDL_VOID */ +#line 4835 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( AST_Expression::EV_void ); } -#line 7930 "fe/idl.tab.cpp" +#line 7941 "fe/idl.tab.cpp" break; - case 411: /* $@120: %empty */ -#line 4838 "fe/idl.ypp" + case 414: /* $@120: %empty */ +#line 4845 "fe/idl.ypp" { //@@ PS_FactorySeen? idl_global->set_parse_state (IDL_GlobalData::PS_OpTypeSeen); } -#line 7939 "fe/idl.tab.cpp" +#line 7950 "fe/idl.tab.cpp" break; - case 412: /* @121: %empty */ -#line 4843 "fe/idl.ypp" + case 415: /* @121: %empty */ +#line 4850 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -7970,19 +7993,19 @@ yyparse (void) (yyval.dcval) = factory; } -#line 7986 "fe/idl.tab.cpp" +#line 7997 "fe/idl.tab.cpp" break; - case 413: /* $@122: %empty */ -#line 4886 "fe/idl.ypp" + case 416: /* $@122: %empty */ +#line 4893 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 7994 "fe/idl.tab.cpp" +#line 8005 "fe/idl.tab.cpp" break; - case 414: /* init_decl: IDL_FACTORY $@120 IDENTIFIER @121 init_parameter_list $@122 opt_raises */ -#line 4890 "fe/idl.ypp" + case 417: /* init_decl: IDL_FACTORY $@120 IDENTIFIER @121 init_parameter_list $@122 opt_raises */ +#line 4897 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -7997,67 +8020,67 @@ yyparse (void) (yyval.dcval) = (yyvsp[-3].dcval); } -#line 8013 "fe/idl.tab.cpp" +#line 8024 "fe/idl.tab.cpp" break; - case 415: /* $@123: %empty */ -#line 4908 "fe/idl.ypp" + case 418: /* $@123: %empty */ +#line 4915 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8021 "fe/idl.tab.cpp" +#line 8032 "fe/idl.tab.cpp" break; - case 416: /* init_parameter_list: '(' $@123 ')' */ -#line 4912 "fe/idl.ypp" + case 419: /* init_parameter_list: '(' $@123 ')' */ +#line 4919 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8029 "fe/idl.tab.cpp" +#line 8040 "fe/idl.tab.cpp" break; - case 417: /* $@124: %empty */ -#line 4916 "fe/idl.ypp" + case 420: /* $@124: %empty */ +#line 4923 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8037 "fe/idl.tab.cpp" +#line 8048 "fe/idl.tab.cpp" break; - case 418: /* init_parameter_list: '(' $@124 at_least_one_in_parameter ')' */ -#line 4921 "fe/idl.ypp" + case 421: /* init_parameter_list: '(' $@124 at_least_one_in_parameter ')' */ +#line 4928 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8045 "fe/idl.tab.cpp" +#line 8056 "fe/idl.tab.cpp" break; - case 420: /* $@125: %empty */ -#line 4931 "fe/idl.ypp" + case 423: /* $@125: %empty */ +#line 4938 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8053 "fe/idl.tab.cpp" +#line 8064 "fe/idl.tab.cpp" break; - case 423: /* $@126: %empty */ -#line 4940 "fe/idl.ypp" + case 426: /* $@126: %empty */ +#line 4947 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8061 "fe/idl.tab.cpp" +#line 8072 "fe/idl.tab.cpp" break; - case 424: /* $@127: %empty */ -#line 4944 "fe/idl.ypp" + case 427: /* $@127: %empty */ +#line 4951 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8069 "fe/idl.tab.cpp" +#line 8080 "fe/idl.tab.cpp" break; - case 425: /* in_parameter: IDL_IN $@126 param_type_spec $@127 declarator */ -#line 4948 "fe/idl.ypp" + case 428: /* in_parameter: IDL_IN $@126 param_type_spec $@127 declarator */ +#line 4955 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8089,67 +8112,67 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8105 "fe/idl.tab.cpp" +#line 8116 "fe/idl.tab.cpp" break; - case 426: /* $@128: %empty */ -#line 4983 "fe/idl.ypp" + case 429: /* $@128: %empty */ +#line 4990 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8113 "fe/idl.tab.cpp" +#line 8124 "fe/idl.tab.cpp" break; - case 427: /* parameter_list: '(' $@128 ')' */ -#line 4987 "fe/idl.ypp" + case 430: /* parameter_list: '(' $@128 ')' */ +#line 4994 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8121 "fe/idl.tab.cpp" +#line 8132 "fe/idl.tab.cpp" break; - case 428: /* $@129: %empty */ -#line 4991 "fe/idl.ypp" + case 431: /* $@129: %empty */ +#line 4998 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSqSeen); } -#line 8129 "fe/idl.tab.cpp" +#line 8140 "fe/idl.tab.cpp" break; - case 429: /* parameter_list: '(' $@129 at_least_one_parameter ')' */ -#line 4996 "fe/idl.ypp" + case 432: /* parameter_list: '(' $@129 at_least_one_parameter ')' */ +#line 5003 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpQsSeen); } -#line 8137 "fe/idl.tab.cpp" +#line 8148 "fe/idl.tab.cpp" break; - case 431: /* $@130: %empty */ -#line 5006 "fe/idl.ypp" + case 434: /* $@130: %empty */ +#line 5013 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParCommaSeen); } -#line 8145 "fe/idl.tab.cpp" +#line 8156 "fe/idl.tab.cpp" break; - case 434: /* $@131: %empty */ -#line 5015 "fe/idl.ypp" + case 437: /* $@131: %empty */ +#line 5022 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParDirSeen); } -#line 8153 "fe/idl.tab.cpp" +#line 8164 "fe/idl.tab.cpp" break; - case 435: /* $@132: %empty */ -#line 5019 "fe/idl.ypp" + case 438: /* $@132: %empty */ +#line 5026 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParTypeSeen); } -#line 8161 "fe/idl.tab.cpp" +#line 8172 "fe/idl.tab.cpp" break; - case 436: /* parameter: direction $@131 param_type_spec $@132 declarator */ -#line 5023 "fe/idl.ypp" + case 439: /* parameter: direction $@131 param_type_spec $@132 declarator */ +#line 5030 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Argument *a = 0; @@ -8188,22 +8211,22 @@ yyparse (void) delete (yyvsp[0].deval); (yyvsp[0].deval) = 0; } -#line 8204 "fe/idl.tab.cpp" +#line 8215 "fe/idl.tab.cpp" break; - case 437: /* param_type_spec: base_type_spec */ -#line 5065 "fe/idl.ypp" + case 440: /* param_type_spec: base_type_spec */ +#line 5072 "fe/idl.ypp" { (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ( (yyvsp[0].etval) ); } -#line 8215 "fe/idl.tab.cpp" +#line 8226 "fe/idl.tab.cpp" break; - case 440: /* param_type_spec: scoped_name */ -#line 5074 "fe/idl.ypp" + case 443: /* param_type_spec: scoped_name */ +#line 5081 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = 0; @@ -8355,186 +8378,186 @@ yyparse (void) (yyval.dcval) = d; } -#line 8371 "fe/idl.tab.cpp" +#line 8382 "fe/idl.tab.cpp" break; - case 441: /* direction: IDL_IN */ -#line 5229 "fe/idl.ypp" + case 444: /* direction: IDL_IN */ +#line 5236 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_IN; } -#line 8379 "fe/idl.tab.cpp" +#line 8390 "fe/idl.tab.cpp" break; - case 442: /* direction: IDL_OUT */ -#line 5233 "fe/idl.ypp" + case 445: /* direction: IDL_OUT */ +#line 5240 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_OUT; } -#line 8387 "fe/idl.tab.cpp" +#line 8398 "fe/idl.tab.cpp" break; - case 443: /* direction: IDL_INOUT */ -#line 5237 "fe/idl.ypp" + case 446: /* direction: IDL_INOUT */ +#line 5244 "fe/idl.ypp" { (yyval.dival) = AST_Argument::dir_INOUT; } -#line 8395 "fe/idl.tab.cpp" +#line 8406 "fe/idl.tab.cpp" break; - case 444: /* $@133: %empty */ -#line 5244 "fe/idl.ypp" + case 447: /* $@133: %empty */ +#line 5251 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSeen); } -#line 8403 "fe/idl.tab.cpp" +#line 8414 "fe/idl.tab.cpp" break; - case 445: /* $@134: %empty */ -#line 5248 "fe/idl.ypp" + case 448: /* $@134: %empty */ +#line 5255 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseSqSeen); } -#line 8411 "fe/idl.tab.cpp" +#line 8422 "fe/idl.tab.cpp" break; - case 446: /* opt_raises: IDL_RAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ -#line 5253 "fe/idl.ypp" + case 449: /* opt_raises: IDL_RAISES $@133 '(' $@134 at_least_one_scoped_name ')' */ +#line 5260 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8420 "fe/idl.tab.cpp" +#line 8431 "fe/idl.tab.cpp" break; - case 447: /* opt_raises: %empty */ -#line 5258 "fe/idl.ypp" + case 450: /* opt_raises: %empty */ +#line 5265 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8428 "fe/idl.tab.cpp" +#line 8439 "fe/idl.tab.cpp" break; - case 448: /* $@135: %empty */ -#line 5265 "fe/idl.ypp" + case 451: /* $@135: %empty */ +#line 5272 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSeen); } -#line 8436 "fe/idl.tab.cpp" +#line 8447 "fe/idl.tab.cpp" break; - case 449: /* $@136: %empty */ -#line 5269 "fe/idl.ypp" + case 452: /* $@136: %empty */ +#line 5276 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseSqSeen); } -#line 8444 "fe/idl.tab.cpp" +#line 8455 "fe/idl.tab.cpp" break; - case 450: /* opt_getraises: IDL_GETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ -#line 5274 "fe/idl.ypp" + case 453: /* opt_getraises: IDL_GETRAISES $@135 '(' $@136 at_least_one_scoped_name ')' */ +#line 5281 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpGetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8453 "fe/idl.tab.cpp" +#line 8464 "fe/idl.tab.cpp" break; - case 451: /* opt_getraises: %empty */ -#line 5279 "fe/idl.ypp" + case 454: /* opt_getraises: %empty */ +#line 5286 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8461 "fe/idl.tab.cpp" +#line 8472 "fe/idl.tab.cpp" break; - case 452: /* $@137: %empty */ -#line 5286 "fe/idl.ypp" + case 455: /* $@137: %empty */ +#line 5293 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSeen); } -#line 8469 "fe/idl.tab.cpp" +#line 8480 "fe/idl.tab.cpp" break; - case 453: /* $@138: %empty */ -#line 5290 "fe/idl.ypp" + case 456: /* $@138: %empty */ +#line 5297 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseSqSeen); } -#line 8477 "fe/idl.tab.cpp" +#line 8488 "fe/idl.tab.cpp" break; - case 454: /* opt_setraises: IDL_SETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ -#line 5295 "fe/idl.ypp" + case 457: /* opt_setraises: IDL_SETRAISES $@137 '(' $@138 at_least_one_scoped_name ')' */ +#line 5302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpSetRaiseQsSeen); (yyval.nlval) = (yyvsp[-1].nlval); } -#line 8486 "fe/idl.tab.cpp" +#line 8497 "fe/idl.tab.cpp" break; - case 455: /* opt_setraises: %empty */ -#line 5300 "fe/idl.ypp" + case 458: /* opt_setraises: %empty */ +#line 5307 "fe/idl.ypp" { (yyval.nlval) = 0; } -#line 8494 "fe/idl.tab.cpp" +#line 8505 "fe/idl.tab.cpp" break; - case 456: /* $@139: %empty */ -#line 5307 "fe/idl.ypp" + case 459: /* $@139: %empty */ +#line 5314 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSeen); } -#line 8502 "fe/idl.tab.cpp" +#line 8513 "fe/idl.tab.cpp" break; - case 457: /* $@140: %empty */ -#line 5311 "fe/idl.ypp" + case 460: /* $@140: %empty */ +#line 5318 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextSqSeen); } -#line 8510 "fe/idl.tab.cpp" +#line 8521 "fe/idl.tab.cpp" break; - case 458: /* opt_context: IDL_CONTEXT $@139 '(' $@140 at_least_one_string_literal ')' */ -#line 5316 "fe/idl.ypp" + case 461: /* opt_context: IDL_CONTEXT $@139 '(' $@140 at_least_one_string_literal ')' */ +#line 5323 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextQsSeen); (yyval.slval) = (yyvsp[-1].slval); } -#line 8519 "fe/idl.tab.cpp" +#line 8530 "fe/idl.tab.cpp" break; - case 459: /* opt_context: %empty */ -#line 5321 "fe/idl.ypp" + case 462: /* opt_context: %empty */ +#line 5328 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8527 "fe/idl.tab.cpp" +#line 8538 "fe/idl.tab.cpp" break; - case 460: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ -#line 5328 "fe/idl.ypp" + case 463: /* at_least_one_string_literal: IDL_STRING_LITERAL string_literals */ +#line 5335 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 8538 "fe/idl.tab.cpp" +#line 8549 "fe/idl.tab.cpp" break; - case 461: /* $@141: %empty */ -#line 5339 "fe/idl.ypp" + case 464: /* $@141: %empty */ +#line 5346 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpContextCommaSeen); } -#line 8546 "fe/idl.tab.cpp" +#line 8557 "fe/idl.tab.cpp" break; - case 462: /* string_literals: string_literals ',' $@141 IDL_STRING_LITERAL */ -#line 5343 "fe/idl.ypp" + case 465: /* string_literals: string_literals ',' $@141 IDL_STRING_LITERAL */ +#line 5350 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, @@ -8552,19 +8575,19 @@ yyparse (void) (yyval.slval) = (yyvsp[-3].slval); } } -#line 8568 "fe/idl.tab.cpp" +#line 8579 "fe/idl.tab.cpp" break; - case 463: /* string_literals: %empty */ -#line 5361 "fe/idl.ypp" + case 466: /* string_literals: %empty */ +#line 5368 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 8576 "fe/idl.tab.cpp" +#line 8587 "fe/idl.tab.cpp" break; - case 464: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ -#line 5368 "fe/idl.ypp" + case 467: /* typeid_dcl: IDL_TYPEID scoped_name IDL_STRING_LITERAL */ +#line 5375 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = @@ -8591,11 +8614,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8607 "fe/idl.tab.cpp" +#line 8618 "fe/idl.tab.cpp" break; - case 465: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ -#line 5398 "fe/idl.ypp" + case 468: /* typeprefix_dcl: IDL_TYPEPREFIX scoped_name IDL_STRING_LITERAL */ +#line 5405 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = ScopeAsDecl (s); @@ -8631,11 +8654,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8647 "fe/idl.tab.cpp" +#line 8658 "fe/idl.tab.cpp" break; - case 468: /* component_forward_decl: IDL_COMPONENT defining_id */ -#line 5443 "fe/idl.ypp" + case 471: /* component_forward_decl: IDL_COMPONENT defining_id */ +#line 5450 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -8661,11 +8684,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 8677 "fe/idl.tab.cpp" +#line 8688 "fe/idl.tab.cpp" break; - case 469: /* @142: %empty */ -#line 5472 "fe/idl.ypp" + case 472: /* @142: %empty */ +#line 5479 "fe/idl.ypp" { FE_ComponentHeader *&component_header = (yyvsp[0].chval); UTL_Scope *scope = idl_global->scopes ().top_non_null (); @@ -8707,27 +8730,27 @@ yyparse (void) (yyval.dcval) = component; } -#line 8723 "fe/idl.tab.cpp" +#line 8734 "fe/idl.tab.cpp" break; - case 470: /* $@143: %empty */ -#line 5514 "fe/idl.ypp" + case 473: /* $@143: %empty */ +#line 5521 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentSqSeen); } -#line 8731 "fe/idl.tab.cpp" +#line 8742 "fe/idl.tab.cpp" break; - case 471: /* $@144: %empty */ -#line 5518 "fe/idl.ypp" + case 474: /* $@144: %empty */ +#line 5525 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentBodySeen); } -#line 8739 "fe/idl.tab.cpp" +#line 8750 "fe/idl.tab.cpp" break; - case 472: /* component_decl: component_header @142 '{' $@143 component_exports $@144 '}' */ -#line 5522 "fe/idl.ypp" + case 475: /* component_decl: component_header @142 '{' $@143 component_exports $@144 '}' */ +#line 5529 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentQsSeen); @@ -8738,27 +8761,27 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 8754 "fe/idl.tab.cpp" +#line 8765 "fe/idl.tab.cpp" break; - case 473: /* $@145: %empty */ -#line 5537 "fe/idl.ypp" + case 476: /* $@145: %empty */ +#line 5544 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ComponentIDSeen); } -#line 8762 "fe/idl.tab.cpp" +#line 8773 "fe/idl.tab.cpp" break; - case 474: /* $@146: %empty */ -#line 5541 "fe/idl.ypp" + case 477: /* $@146: %empty */ +#line 5548 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 8770 "fe/idl.tab.cpp" +#line 8781 "fe/idl.tab.cpp" break; - case 475: /* component_header: IDL_COMPONENT defining_id $@145 component_inheritance_spec $@146 supports_spec */ -#line 5545 "fe/idl.ypp" + case 478: /* component_header: IDL_COMPONENT defining_id $@145 component_inheritance_spec $@146 supports_spec */ +#line 5552 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -8792,35 +8815,35 @@ yyparse (void) (yyvsp[-2].idlist) = 0; } } -#line 8808 "fe/idl.tab.cpp" +#line 8819 "fe/idl.tab.cpp" break; - case 476: /* $@147: %empty */ -#line 5582 "fe/idl.ypp" + case 479: /* $@147: %empty */ +#line 5589 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 8816 "fe/idl.tab.cpp" +#line 8827 "fe/idl.tab.cpp" break; - case 477: /* component_inheritance_spec: ':' $@147 scoped_name */ -#line 5586 "fe/idl.ypp" + case 480: /* component_inheritance_spec: ':' $@147 scoped_name */ +#line 5593 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 8824 "fe/idl.tab.cpp" +#line 8835 "fe/idl.tab.cpp" break; - case 478: /* component_inheritance_spec: %empty */ -#line 5590 "fe/idl.ypp" + case 481: /* component_inheritance_spec: %empty */ +#line 5597 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 8832 "fe/idl.tab.cpp" +#line 8843 "fe/idl.tab.cpp" break; - case 479: /* component_exports: component_exports at_least_one_annotation component_export */ -#line 5597 "fe/idl.ypp" + case 482: /* component_exports: component_exports at_least_one_annotation component_export */ +#line 5604 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -8835,130 +8858,130 @@ yyparse (void) } delete annotations; } -#line 8851 "fe/idl.tab.cpp" +#line 8862 "fe/idl.tab.cpp" break; - case 482: /* $@148: %empty */ -#line 5617 "fe/idl.ypp" + case 485: /* $@148: %empty */ +#line 5624 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 8859 "fe/idl.tab.cpp" +#line 8870 "fe/idl.tab.cpp" break; - case 483: /* component_export: provides_decl $@148 ';' */ -#line 5621 "fe/idl.ypp" + case 486: /* component_export: provides_decl $@148 ';' */ +#line 5628 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8868 "fe/idl.tab.cpp" +#line 8879 "fe/idl.tab.cpp" break; - case 484: /* $@149: %empty */ -#line 5626 "fe/idl.ypp" + case 487: /* $@149: %empty */ +#line 5633 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 8876 "fe/idl.tab.cpp" +#line 8887 "fe/idl.tab.cpp" break; - case 485: /* component_export: uses_decl $@149 ';' */ -#line 5630 "fe/idl.ypp" + case 488: /* component_export: uses_decl $@149 ';' */ +#line 5637 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8885 "fe/idl.tab.cpp" +#line 8896 "fe/idl.tab.cpp" break; - case 486: /* $@150: %empty */ -#line 5635 "fe/idl.ypp" + case 489: /* $@150: %empty */ +#line 5642 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EmitsDeclSeen); } -#line 8893 "fe/idl.tab.cpp" +#line 8904 "fe/idl.tab.cpp" break; - case 487: /* component_export: emits_decl $@150 ';' */ -#line 5639 "fe/idl.ypp" + case 490: /* component_export: emits_decl $@150 ';' */ +#line 5646 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8902 "fe/idl.tab.cpp" +#line 8913 "fe/idl.tab.cpp" break; - case 488: /* $@151: %empty */ -#line 5644 "fe/idl.ypp" + case 491: /* $@151: %empty */ +#line 5651 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PublishesDeclSeen); } -#line 8910 "fe/idl.tab.cpp" +#line 8921 "fe/idl.tab.cpp" break; - case 489: /* component_export: publishes_decl $@151 ';' */ -#line 5648 "fe/idl.ypp" + case 492: /* component_export: publishes_decl $@151 ';' */ +#line 5655 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8919 "fe/idl.tab.cpp" +#line 8930 "fe/idl.tab.cpp" break; - case 490: /* $@152: %empty */ -#line 5653 "fe/idl.ypp" + case 493: /* $@152: %empty */ +#line 5660 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConsumesDeclSeen); } -#line 8927 "fe/idl.tab.cpp" +#line 8938 "fe/idl.tab.cpp" break; - case 491: /* component_export: consumes_decl $@152 ';' */ -#line 5657 "fe/idl.ypp" + case 494: /* component_export: consumes_decl $@152 ';' */ +#line 5664 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8936 "fe/idl.tab.cpp" +#line 8947 "fe/idl.tab.cpp" break; - case 492: /* $@153: %empty */ -#line 5662 "fe/idl.ypp" + case 495: /* $@153: %empty */ +#line 5669 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 8944 "fe/idl.tab.cpp" +#line 8955 "fe/idl.tab.cpp" break; - case 493: /* component_export: attribute $@153 ';' */ -#line 5666 "fe/idl.ypp" + case 496: /* component_export: attribute $@153 ';' */ +#line 5673 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8953 "fe/idl.tab.cpp" +#line 8964 "fe/idl.tab.cpp" break; - case 494: /* $@154: %empty */ -#line 5671 "fe/idl.ypp" + case 497: /* $@154: %empty */ +#line 5678 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 8961 "fe/idl.tab.cpp" +#line 8972 "fe/idl.tab.cpp" break; - case 495: /* component_export: extended_port_decl $@154 ';' */ -#line 5675 "fe/idl.ypp" + case 498: /* component_export: extended_port_decl $@154 ';' */ +#line 5682 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); (yyval.dcval) = (yyvsp[-2].dcval); } -#line 8970 "fe/idl.tab.cpp" +#line 8981 "fe/idl.tab.cpp" break; - case 496: /* provides_decl: IDL_PROVIDES interface_type id */ -#line 5682 "fe/idl.ypp" + case 499: /* provides_decl: IDL_PROVIDES interface_type id */ +#line 5689 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9048,21 +9071,21 @@ yyparse (void) (yyval.dcval) = dynamic_cast (provides); } -#line 9064 "fe/idl.tab.cpp" +#line 9075 "fe/idl.tab.cpp" break; - case 497: /* interface_type: scoped_name */ -#line 5775 "fe/idl.ypp" + case 500: /* interface_type: scoped_name */ +#line 5782 "fe/idl.ypp" { // Lookups and checking are done where the 'interface_type' // token is used, in 'provides_decl' and 'uses_decl'. (yyval.idlist) = (yyvsp[0].idlist); } -#line 9074 "fe/idl.tab.cpp" +#line 9085 "fe/idl.tab.cpp" break; - case 498: /* interface_type: IDL_OBJECT */ -#line 5781 "fe/idl.ypp" + case 501: /* interface_type: IDL_OBJECT */ +#line 5788 "fe/idl.ypp" { Identifier *corba_id = 0; @@ -9085,11 +9108,11 @@ yyparse (void) conc_name), 1); } -#line 9101 "fe/idl.tab.cpp" +#line 9112 "fe/idl.tab.cpp" break; - case 499: /* uses_decl: uses_opt_multiple interface_type id */ -#line 5806 "fe/idl.ypp" + case 502: /* uses_decl: uses_opt_multiple interface_type id */ +#line 5813 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9193,37 +9216,37 @@ yyparse (void) (yyval.dcval) = uses; } -#line 9209 "fe/idl.tab.cpp" +#line 9220 "fe/idl.tab.cpp" break; - case 500: /* uses_opt_multiple: IDL_USES opt_multiple */ -#line 5913 "fe/idl.ypp" + case 503: /* uses_opt_multiple: IDL_USES opt_multiple */ +#line 5920 "fe/idl.ypp" { // We use this extra rule here to use in both uses_decl and // extended_uses_decl, so the LALR(1) parser can avoid conflicts. (yyval.bval) = (yyvsp[0].bval); } -#line 9219 "fe/idl.tab.cpp" +#line 9230 "fe/idl.tab.cpp" break; - case 501: /* opt_multiple: IDL_MULTIPLE */ -#line 5922 "fe/idl.ypp" + case 504: /* opt_multiple: IDL_MULTIPLE */ +#line 5929 "fe/idl.ypp" { (yyval.bval) = true; } -#line 9227 "fe/idl.tab.cpp" +#line 9238 "fe/idl.tab.cpp" break; - case 502: /* opt_multiple: %empty */ -#line 5926 "fe/idl.ypp" + case 505: /* opt_multiple: %empty */ +#line 5933 "fe/idl.ypp" { (yyval.bval) = false; } -#line 9235 "fe/idl.tab.cpp" +#line 9246 "fe/idl.tab.cpp" break; - case 503: /* emits_decl: IDL_EMITS scoped_name id */ -#line 5933 "fe/idl.ypp" + case 506: /* emits_decl: IDL_EMITS scoped_name id */ +#line 5940 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9295,11 +9318,11 @@ yyparse (void) (yyval.dcval) = e; } -#line 9311 "fe/idl.tab.cpp" +#line 9322 "fe/idl.tab.cpp" break; - case 504: /* publishes_decl: IDL_PUBLISHES scoped_name id */ -#line 6008 "fe/idl.ypp" + case 507: /* publishes_decl: IDL_PUBLISHES scoped_name id */ +#line 6015 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9368,11 +9391,11 @@ yyparse (void) (yyval.dcval) = p; } -#line 9384 "fe/idl.tab.cpp" +#line 9395 "fe/idl.tab.cpp" break; - case 505: /* consumes_decl: IDL_CONSUMES scoped_name id */ -#line 6080 "fe/idl.ypp" + case 508: /* consumes_decl: IDL_CONSUMES scoped_name id */ +#line 6087 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); bool so_far_so_good = true; @@ -9444,11 +9467,11 @@ yyparse (void) (yyval.dcval) = c; } -#line 9460 "fe/idl.tab.cpp" +#line 9471 "fe/idl.tab.cpp" break; - case 506: /* $@155: %empty */ -#line 6155 "fe/idl.ypp" + case 509: /* $@155: %empty */ +#line 6162 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Home *h = 0; @@ -9485,11 +9508,11 @@ yyparse (void) */ idl_global->scopes ().push (h); } -#line 9501 "fe/idl.tab.cpp" +#line 9512 "fe/idl.tab.cpp" break; - case 507: /* home_decl: home_header $@155 home_body */ -#line 6192 "fe/idl.ypp" + case 510: /* home_decl: home_header $@155 home_body */ +#line 6199 "fe/idl.ypp" { /* * Done with this component - pop it off the scopes stack. @@ -9498,59 +9521,59 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9514 "fe/idl.tab.cpp" +#line 9525 "fe/idl.tab.cpp" break; - case 508: /* $@156: %empty */ -#line 6204 "fe/idl.ypp" + case 511: /* $@156: %empty */ +#line 6211 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSeen); } -#line 9522 "fe/idl.tab.cpp" +#line 9533 "fe/idl.tab.cpp" break; - case 509: /* $@157: %empty */ -#line 6208 "fe/idl.ypp" + case 512: /* $@157: %empty */ +#line 6215 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeIDSeen); } -#line 9530 "fe/idl.tab.cpp" +#line 9541 "fe/idl.tab.cpp" break; - case 510: /* $@158: %empty */ -#line 6212 "fe/idl.ypp" + case 513: /* $@158: %empty */ +#line 6219 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 9538 "fe/idl.tab.cpp" +#line 9549 "fe/idl.tab.cpp" break; - case 511: /* $@159: %empty */ -#line 6216 "fe/idl.ypp" + case 514: /* $@159: %empty */ +#line 6223 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); } -#line 9546 "fe/idl.tab.cpp" +#line 9557 "fe/idl.tab.cpp" break; - case 512: /* $@160: %empty */ -#line 6220 "fe/idl.ypp" + case 515: /* $@160: %empty */ +#line 6227 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesSeen); } -#line 9554 "fe/idl.tab.cpp" +#line 9565 "fe/idl.tab.cpp" break; - case 513: /* $@161: %empty */ -#line 6224 "fe/idl.ypp" + case 516: /* $@161: %empty */ +#line 6231 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ManagesIDSeen); } -#line 9562 "fe/idl.tab.cpp" +#line 9573 "fe/idl.tab.cpp" break; - case 514: /* home_header: IDL_HOME $@156 defining_id $@157 home_inheritance_spec $@158 supports_spec $@159 IDL_MANAGES $@160 scoped_name $@161 primary_key_spec */ -#line 6228 "fe/idl.ypp" + case 517: /* home_header: IDL_HOME $@156 defining_id $@157 home_inheritance_spec $@158 supports_spec $@159 IDL_MANAGES $@160 scoped_name $@161 primary_key_spec */ +#line 6235 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PrimaryKeySpecSeen); @@ -9596,107 +9619,107 @@ yyparse (void) (yyvsp[-6].nlval) = 0; } } -#line 9612 "fe/idl.tab.cpp" +#line 9623 "fe/idl.tab.cpp" break; - case 515: /* $@162: %empty */ -#line 6277 "fe/idl.ypp" + case 518: /* $@162: %empty */ +#line 6284 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritColonSeen); } -#line 9620 "fe/idl.tab.cpp" +#line 9631 "fe/idl.tab.cpp" break; - case 516: /* home_inheritance_spec: ':' $@162 scoped_name */ -#line 6281 "fe/idl.ypp" + case 519: /* home_inheritance_spec: ':' $@162 scoped_name */ +#line 6288 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9628 "fe/idl.tab.cpp" +#line 9639 "fe/idl.tab.cpp" break; - case 517: /* home_inheritance_spec: %empty */ -#line 6285 "fe/idl.ypp" + case 520: /* home_inheritance_spec: %empty */ +#line 6292 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9636 "fe/idl.tab.cpp" +#line 9647 "fe/idl.tab.cpp" break; - case 518: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ -#line 6293 "fe/idl.ypp" + case 521: /* primary_key_spec: IDL_PRIMARYKEY scoped_name */ +#line 6300 "fe/idl.ypp" { (yyval.idlist) = (yyvsp[0].idlist); } -#line 9644 "fe/idl.tab.cpp" +#line 9655 "fe/idl.tab.cpp" break; - case 519: /* primary_key_spec: %empty */ -#line 6297 "fe/idl.ypp" + case 522: /* primary_key_spec: %empty */ +#line 6304 "fe/idl.ypp" { (yyval.idlist) = 0; } -#line 9652 "fe/idl.tab.cpp" +#line 9663 "fe/idl.tab.cpp" break; - case 520: /* $@163: %empty */ -#line 6304 "fe/idl.ypp" + case 523: /* $@163: %empty */ +#line 6311 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeSqSeen); } -#line 9660 "fe/idl.tab.cpp" +#line 9671 "fe/idl.tab.cpp" break; - case 521: /* $@164: %empty */ -#line 6308 "fe/idl.ypp" + case 524: /* $@164: %empty */ +#line 6315 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeBodySeen); } -#line 9668 "fe/idl.tab.cpp" +#line 9679 "fe/idl.tab.cpp" break; - case 522: /* home_body: '{' $@163 home_exports $@164 '}' */ -#line 6312 "fe/idl.ypp" + case 525: /* home_body: '{' $@163 home_exports $@164 '}' */ +#line 6319 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_HomeQsSeen); } -#line 9676 "fe/idl.tab.cpp" +#line 9687 "fe/idl.tab.cpp" break; - case 526: /* $@165: %empty */ -#line 6325 "fe/idl.ypp" + case 529: /* $@165: %empty */ +#line 6332 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FactoryDeclSeen); } -#line 9684 "fe/idl.tab.cpp" +#line 9695 "fe/idl.tab.cpp" break; - case 527: /* home_export: factory_decl $@165 ';' */ -#line 6329 "fe/idl.ypp" + case 530: /* home_export: factory_decl $@165 ';' */ +#line 6336 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9692 "fe/idl.tab.cpp" +#line 9703 "fe/idl.tab.cpp" break; - case 528: /* $@166: %empty */ -#line 6333 "fe/idl.ypp" + case 531: /* $@166: %empty */ +#line 6340 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_FinderDeclSeen); } -#line 9700 "fe/idl.tab.cpp" +#line 9711 "fe/idl.tab.cpp" break; - case 529: /* home_export: finder_decl $@166 ';' */ -#line 6337 "fe/idl.ypp" + case 532: /* home_export: finder_decl $@166 ';' */ +#line 6344 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 9708 "fe/idl.tab.cpp" +#line 9719 "fe/idl.tab.cpp" break; - case 530: /* $@167: %empty */ -#line 6345 "fe/idl.ypp" + case 533: /* $@167: %empty */ +#line 6352 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9719,19 +9742,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9735 "fe/idl.tab.cpp" +#line 9746 "fe/idl.tab.cpp" break; - case 531: /* $@168: %empty */ -#line 6368 "fe/idl.ypp" + case 534: /* $@168: %empty */ +#line 6375 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9743 "fe/idl.tab.cpp" +#line 9754 "fe/idl.tab.cpp" break; - case 532: /* factory_decl: IDL_FACTORY defining_id $@167 init_parameter_list $@168 opt_raises */ -#line 6372 "fe/idl.ypp" + case 535: /* factory_decl: IDL_FACTORY defining_id $@167 init_parameter_list $@168 opt_raises */ +#line 6379 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9749,11 +9772,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9765 "fe/idl.tab.cpp" +#line 9776 "fe/idl.tab.cpp" break; - case 533: /* $@169: %empty */ -#line 6394 "fe/idl.ypp" + case 536: /* $@169: %empty */ +#line 6401 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9780,19 +9803,19 @@ yyparse (void) */ idl_global->scopes ().push (f); } -#line 9796 "fe/idl.tab.cpp" +#line 9807 "fe/idl.tab.cpp" break; - case 534: /* $@170: %empty */ -#line 6421 "fe/idl.ypp" + case 537: /* $@170: %empty */ +#line 6428 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_OpParsCompleted); } -#line 9804 "fe/idl.tab.cpp" +#line 9815 "fe/idl.tab.cpp" break; - case 535: /* finder_decl: IDL_FINDER defining_id $@169 init_parameter_list $@170 opt_raises */ -#line 6425 "fe/idl.ypp" + case 538: /* finder_decl: IDL_FINDER defining_id $@169 init_parameter_list $@170 opt_raises */ +#line 6432 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted); @@ -9810,11 +9833,11 @@ yyparse (void) */ idl_global->scopes ().pop (); } -#line 9826 "fe/idl.tab.cpp" +#line 9837 "fe/idl.tab.cpp" break; - case 541: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ -#line 6458 "fe/idl.ypp" + case 544: /* event_concrete_forward_decl: IDL_EVENTTYPE defining_id */ +#line 6465 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9839,11 +9862,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9855 "fe/idl.tab.cpp" +#line 9866 "fe/idl.tab.cpp" break; - case 542: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6488 "fe/idl.ypp" + case 545: /* event_abs_forward_decl: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6495 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); UTL_ScopedName n ((yyvsp[0].idval), @@ -9868,11 +9891,11 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9884 "fe/idl.tab.cpp" +#line 9895 "fe/idl.tab.cpp" break; - case 543: /* $@171: %empty */ -#line 6517 "fe/idl.ypp" + case 546: /* $@171: %empty */ +#line 6524 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_EventType *e = 0; @@ -9916,27 +9939,27 @@ yyparse (void) delete (yyvsp[-1].idval); (yyvsp[-1].idval) = 0; } -#line 9932 "fe/idl.tab.cpp" +#line 9943 "fe/idl.tab.cpp" break; - case 544: /* $@172: %empty */ -#line 6561 "fe/idl.ypp" + case 547: /* $@172: %empty */ +#line 6568 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 9940 "fe/idl.tab.cpp" +#line 9951 "fe/idl.tab.cpp" break; - case 545: /* $@173: %empty */ -#line 6565 "fe/idl.ypp" + case 548: /* $@173: %empty */ +#line 6572 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 9948 "fe/idl.tab.cpp" +#line 9959 "fe/idl.tab.cpp" break; - case 546: /* event_abs_decl: event_abs_header event_rest_of_header $@171 '{' $@172 exports $@173 '}' */ -#line 6569 "fe/idl.ypp" + case 549: /* event_abs_decl: event_abs_header event_rest_of_header $@171 '{' $@172 exports $@173 '}' */ +#line 6576 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -9947,19 +9970,19 @@ yyparse (void) (yyval.dcval) = 0; } -#line 9963 "fe/idl.tab.cpp" +#line 9974 "fe/idl.tab.cpp" break; - case 547: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ -#line 6585 "fe/idl.ypp" + case 550: /* event_abs_header: IDL_ABSTRACT IDL_EVENTTYPE defining_id */ +#line 6592 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 9971 "fe/idl.tab.cpp" +#line 9982 "fe/idl.tab.cpp" break; - case 548: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ -#line 6594 "fe/idl.ypp" + case 551: /* event_custom_header: IDL_CUSTOM IDL_EVENTTYPE defining_id */ +#line 6601 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); @@ -9972,29 +9995,29 @@ yyparse (void) ACE_TEXT (" custom yet\n"))); (yyval.idval) = 0; } -#line 9988 "fe/idl.tab.cpp" +#line 9999 "fe/idl.tab.cpp" break; - case 549: /* event_plain_header: IDL_EVENTTYPE defining_id */ -#line 6611 "fe/idl.ypp" + case 552: /* event_plain_header: IDL_EVENTTYPE defining_id */ +#line 6618 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeIDSeen); (yyval.idval) = (yyvsp[0].idval); } -#line 9998 "fe/idl.tab.cpp" +#line 10009 "fe/idl.tab.cpp" break; - case 550: /* $@174: %empty */ -#line 6620 "fe/idl.ypp" + case 553: /* $@174: %empty */ +#line 6627 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_InheritSpecSeen); } -#line 10006 "fe/idl.tab.cpp" +#line 10017 "fe/idl.tab.cpp" break; - case 551: /* event_rest_of_header: inheritance_spec $@174 supports_spec */ -#line 6624 "fe/idl.ypp" + case 554: /* event_rest_of_header: inheritance_spec $@174 supports_spec */ +#line 6631 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_SupportSpecSeen); @@ -10023,11 +10046,11 @@ yyparse (void) (yyvsp[-2].nlval) = 0; } } -#line 10039 "fe/idl.tab.cpp" +#line 10050 "fe/idl.tab.cpp" break; - case 552: /* @175: %empty */ -#line 6657 "fe/idl.ypp" + case 555: /* @175: %empty */ +#line 6664 "fe/idl.ypp" { UTL_Scope *scope = idl_global->scopes ().top_non_null (); Identifier *&event_id = (yyvsp[-1].idval); @@ -10078,27 +10101,27 @@ yyparse (void) (yyval.dcval) = eventtype; } -#line 10094 "fe/idl.tab.cpp" +#line 10105 "fe/idl.tab.cpp" break; - case 553: /* $@176: %empty */ -#line 6708 "fe/idl.ypp" + case 556: /* $@176: %empty */ +#line 6715 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeSqSeen); } -#line 10102 "fe/idl.tab.cpp" +#line 10113 "fe/idl.tab.cpp" break; - case 554: /* $@177: %empty */ -#line 6712 "fe/idl.ypp" + case 557: /* $@177: %empty */ +#line 6719 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeBodySeen); } -#line 10110 "fe/idl.tab.cpp" +#line 10121 "fe/idl.tab.cpp" break; - case 555: /* event_decl: event_header event_rest_of_header @175 '{' $@176 value_elements $@177 '}' */ -#line 6716 "fe/idl.ypp" + case 558: /* event_decl: event_header event_rest_of_header @175 '{' $@176 value_elements $@177 '}' */ +#line 6723 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_EventTypeQsSeen); @@ -10109,116 +10132,116 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10125 "fe/idl.tab.cpp" +#line 10136 "fe/idl.tab.cpp" break; - case 556: /* event_header: event_custom_header */ -#line 6730 "fe/idl.ypp" + case 559: /* event_header: event_custom_header */ +#line 6737 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10133 "fe/idl.tab.cpp" +#line 10144 "fe/idl.tab.cpp" break; - case 557: /* event_header: event_plain_header */ -#line 6734 "fe/idl.ypp" + case 560: /* event_header: event_plain_header */ +#line 6741 "fe/idl.ypp" { (yyval.idval) = (yyvsp[0].idval); } -#line 10141 "fe/idl.tab.cpp" +#line 10152 "fe/idl.tab.cpp" break; - case 558: /* formal_parameter_type: IDL_TYPENAME */ -#line 6741 "fe/idl.ypp" + case 561: /* formal_parameter_type: IDL_TYPENAME */ +#line 6748 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_type; } -#line 10149 "fe/idl.tab.cpp" +#line 10160 "fe/idl.tab.cpp" break; - case 559: /* formal_parameter_type: IDL_STRUCT */ -#line 6745 "fe/idl.ypp" + case 562: /* formal_parameter_type: IDL_STRUCT */ +#line 6752 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_struct; } -#line 10157 "fe/idl.tab.cpp" +#line 10168 "fe/idl.tab.cpp" break; - case 560: /* formal_parameter_type: IDL_UNION */ -#line 6749 "fe/idl.ypp" + case 563: /* formal_parameter_type: IDL_UNION */ +#line 6756 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_union; } -#line 10165 "fe/idl.tab.cpp" +#line 10176 "fe/idl.tab.cpp" break; - case 561: /* formal_parameter_type: IDL_EVENTTYPE */ -#line 6753 "fe/idl.ypp" + case 564: /* formal_parameter_type: IDL_EVENTTYPE */ +#line 6760 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_eventtype; } -#line 10173 "fe/idl.tab.cpp" +#line 10184 "fe/idl.tab.cpp" break; - case 562: /* formal_parameter_type: IDL_SEQUENCE */ -#line 6757 "fe/idl.ypp" + case 565: /* formal_parameter_type: IDL_SEQUENCE */ +#line 6764 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_sequence; } -#line 10181 "fe/idl.tab.cpp" +#line 10192 "fe/idl.tab.cpp" break; - case 563: /* formal_parameter_type: IDL_MAP */ -#line 6761 "fe/idl.ypp" + case 566: /* formal_parameter_type: IDL_MAP */ +#line 6768 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_map; } -#line 10189 "fe/idl.tab.cpp" +#line 10200 "fe/idl.tab.cpp" break; - case 564: /* formal_parameter_type: IDL_INTERFACE */ -#line 6765 "fe/idl.ypp" + case 567: /* formal_parameter_type: IDL_INTERFACE */ +#line 6772 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_interface; } -#line 10197 "fe/idl.tab.cpp" +#line 10208 "fe/idl.tab.cpp" break; - case 565: /* formal_parameter_type: IDL_VALUETYPE */ -#line 6769 "fe/idl.ypp" + case 568: /* formal_parameter_type: IDL_VALUETYPE */ +#line 6776 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_valuetype; } -#line 10205 "fe/idl.tab.cpp" +#line 10216 "fe/idl.tab.cpp" break; - case 566: /* formal_parameter_type: IDL_ENUM */ -#line 6773 "fe/idl.ypp" + case 569: /* formal_parameter_type: IDL_ENUM */ +#line 6780 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_enum; } -#line 10213 "fe/idl.tab.cpp" +#line 10224 "fe/idl.tab.cpp" break; - case 567: /* formal_parameter_type: IDL_EXCEPTION */ -#line 6777 "fe/idl.ypp" + case 570: /* formal_parameter_type: IDL_EXCEPTION */ +#line 6784 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_except; } -#line 10221 "fe/idl.tab.cpp" +#line 10232 "fe/idl.tab.cpp" break; - case 568: /* formal_parameter_type: IDL_CONST const_type */ -#line 6781 "fe/idl.ypp" + case 571: /* formal_parameter_type: IDL_CONST const_type */ +#line 6788 "fe/idl.ypp" { (yyval.ntval) = AST_Decl::NT_const; t_param_const_type = (yyvsp[0].etval); } -#line 10230 "fe/idl.tab.cpp" +#line 10241 "fe/idl.tab.cpp" break; - case 569: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ -#line 6789 "fe/idl.ypp" + case 572: /* at_least_one_formal_parameter: formal_parameter formal_parameters */ +#line 6796 "fe/idl.ypp" { if ((yyvsp[0].plval) == 0) { @@ -10246,11 +10269,11 @@ yyparse (void) (yyval.plval) = (yyvsp[0].plval); } -#line 10262 "fe/idl.tab.cpp" +#line 10273 "fe/idl.tab.cpp" break; - case 570: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 6820 "fe/idl.ypp" + case 573: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 6827 "fe/idl.ypp" { if ((yyvsp[-2].plval) == 0) { @@ -10263,19 +10286,19 @@ yyparse (void) delete (yyvsp[0].pival); (yyvsp[0].pival) = 0; } -#line 10279 "fe/idl.tab.cpp" +#line 10290 "fe/idl.tab.cpp" break; - case 571: /* formal_parameters: %empty */ -#line 6833 "fe/idl.ypp" + case 574: /* formal_parameters: %empty */ +#line 6840 "fe/idl.ypp" { (yyval.plval) = 0; } -#line 10287 "fe/idl.tab.cpp" +#line 10298 "fe/idl.tab.cpp" break; - case 572: /* formal_parameter: formal_parameter_type IDENTIFIER */ -#line 6840 "fe/idl.ypp" + case 575: /* formal_parameter: formal_parameter_type IDENTIFIER */ +#line 6847 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), @@ -10300,11 +10323,11 @@ yyparse (void) tao_enum_constant_decl = 0; } } -#line 10316 "fe/idl.tab.cpp" +#line 10327 "fe/idl.tab.cpp" break; - case 573: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ -#line 6865 "fe/idl.ypp" + case 576: /* formal_parameter: IDL_SEQUENCE '<' IDENTIFIER '>' IDENTIFIER */ +#line 6872 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.pival), FE_Utils::T_Param_Info, @@ -10319,19 +10342,19 @@ yyparse (void) ACE::strdelete ((yyvsp[0].strval)); (yyvsp[0].strval) = 0; } -#line 10335 "fe/idl.tab.cpp" +#line 10346 "fe/idl.tab.cpp" break; - case 574: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ -#line 6883 "fe/idl.ypp" + case 577: /* at_least_one_formal_parameter_name: formal_parameter_name formal_parameter_names */ +#line 6890 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.slval), UTL_StrList ((yyvsp[-1].sval), (yyvsp[0].slval)), 1); } -#line 10343 "fe/idl.tab.cpp" +#line 10354 "fe/idl.tab.cpp" break; - case 575: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ -#line 6890 "fe/idl.ypp" + case 578: /* formal_parameter_names: formal_parameter_names ',' formal_parameter_name */ +#line 6897 "fe/idl.ypp" { UTL_StrList *sl = 0; ACE_NEW_RETURN (sl, UTL_StrList ((yyvsp[0].sval), 0), 1); @@ -10346,37 +10369,37 @@ yyparse (void) (yyval.slval) = (yyvsp[-2].slval); } } -#line 10362 "fe/idl.tab.cpp" +#line 10373 "fe/idl.tab.cpp" break; - case 576: /* formal_parameter_names: %empty */ -#line 6905 "fe/idl.ypp" + case 579: /* formal_parameter_names: %empty */ +#line 6912 "fe/idl.ypp" { (yyval.slval) = 0; } -#line 10370 "fe/idl.tab.cpp" +#line 10381 "fe/idl.tab.cpp" break; - case 577: /* formal_parameter_name: IDENTIFIER */ -#line 6912 "fe/idl.ypp" + case 580: /* formal_parameter_name: IDENTIFIER */ +#line 6919 "fe/idl.ypp" { ACE_NEW_RETURN ((yyval.sval), UTL_String ((yyvsp[0].strval), true), 1); } -#line 10380 "fe/idl.tab.cpp" +#line 10391 "fe/idl.tab.cpp" break; - case 578: /* $@178: %empty */ -#line 6921 "fe/idl.ypp" + case 581: /* $@178: %empty */ +#line 6928 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSeen); } -#line 10388 "fe/idl.tab.cpp" +#line 10399 "fe/idl.tab.cpp" break; - case 579: /* @179: %empty */ -#line 6925 "fe/idl.ypp" + case 582: /* @179: %empty */ +#line 6932 "fe/idl.ypp" { char *&id_value = (yyvsp[0].strval); idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); @@ -10395,27 +10418,27 @@ yyparse (void) // Push it on the scopes stack. idl_global->scopes ().push (porttype); } -#line 10411 "fe/idl.tab.cpp" +#line 10422 "fe/idl.tab.cpp" break; - case 580: /* $@180: %empty */ -#line 6944 "fe/idl.ypp" + case 583: /* $@180: %empty */ +#line 6951 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeSqSeen); } -#line 10419 "fe/idl.tab.cpp" +#line 10430 "fe/idl.tab.cpp" break; - case 581: /* $@181: %empty */ -#line 6952 "fe/idl.ypp" + case 584: /* $@181: %empty */ +#line 6959 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeBodySeen); } -#line 10427 "fe/idl.tab.cpp" +#line 10438 "fe/idl.tab.cpp" break; - case 582: /* porttype_decl: IDL_PORTTYPE $@178 IDENTIFIER @179 '{' $@180 at_least_one_port_export $@181 '}' */ -#line 6956 "fe/idl.ypp" + case 585: /* porttype_decl: IDL_PORTTYPE $@178 IDENTIFIER @179 '{' $@180 at_least_one_port_export $@181 '}' */ +#line 6963 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeQsSeen); @@ -10424,11 +10447,11 @@ yyparse (void) (yyval.dcval) = (yyvsp[-5].dcval); } -#line 10440 "fe/idl.tab.cpp" +#line 10451 "fe/idl.tab.cpp" break; - case 583: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ -#line 6968 "fe/idl.ypp" + case 586: /* at_least_one_port_export: port_exports at_least_one_annotation port_export */ +#line 6975 "fe/idl.ypp" { AST_Annotation_Appls *&annotations = (yyvsp[-1].annotations_val); AST_Decl *&node = (yyvsp[0].dcval); @@ -10443,27 +10466,27 @@ yyparse (void) } delete annotations; } -#line 10459 "fe/idl.tab.cpp" +#line 10470 "fe/idl.tab.cpp" break; - case 589: /* $@182: %empty */ -#line 6994 "fe/idl.ypp" + case 592: /* $@182: %empty */ +#line 7001 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10467 "fe/idl.tab.cpp" +#line 10478 "fe/idl.tab.cpp" break; - case 590: /* port_export: attribute $@182 ';' */ -#line 6998 "fe/idl.ypp" + case 593: /* port_export: attribute $@182 ';' */ +#line 7005 "fe/idl.ypp" { (yyval.dcval) = (yyvsp[-2].dcval); } -#line 10475 "fe/idl.tab.cpp" +#line 10486 "fe/idl.tab.cpp" break; - case 591: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ -#line 7005 "fe/idl.ypp" + case 594: /* extended_port_decl: IDL_PORT scoped_name IDENTIFIER */ +#line 7012 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10530,11 +10553,11 @@ yyparse (void) (yyval.dcval) = ep; } -#line 10546 "fe/idl.tab.cpp" +#line 10557 "fe/idl.tab.cpp" break; - case 592: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ -#line 7072 "fe/idl.ypp" + case 595: /* extended_port_decl: IDL_MIRRORPORT scoped_name IDENTIFIER */ +#line 7079 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_MirrorPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); @@ -10579,11 +10602,11 @@ yyparse (void) (yyval.dcval) = mp; } -#line 10595 "fe/idl.tab.cpp" +#line 10606 "fe/idl.tab.cpp" break; - case 593: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ -#line 7120 "fe/idl.ypp" + case 596: /* at_least_one_actual_parameter: annotations_maybe actual_parameter actual_parameters */ +#line 7127 "fe/idl.ypp" { if ((yyvsp[0].alval) == 0) { @@ -10596,11 +10619,11 @@ yyparse (void) (yyvsp[0].alval)->enqueue_head ((yyvsp[-1].dcval)); (yyval.alval) = (yyvsp[0].alval); } -#line 10612 "fe/idl.tab.cpp" +#line 10623 "fe/idl.tab.cpp" break; - case 594: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ -#line 7136 "fe/idl.ypp" + case 597: /* actual_parameters: actual_parameters ',' annotations_maybe actual_parameter */ +#line 7143 "fe/idl.ypp" { if ((yyvsp[-3].alval) == 0) { @@ -10613,19 +10636,19 @@ yyparse (void) (yyvsp[-3].alval)->enqueue_tail ((yyvsp[0].dcval)); (yyval.alval) = (yyvsp[-3].alval); } -#line 10629 "fe/idl.tab.cpp" +#line 10640 "fe/idl.tab.cpp" break; - case 595: /* actual_parameters: %empty */ -#line 7149 "fe/idl.ypp" + case 598: /* actual_parameters: %empty */ +#line 7156 "fe/idl.ypp" { (yyval.alval) = 0; } -#line 10637 "fe/idl.tab.cpp" +#line 10648 "fe/idl.tab.cpp" break; - case 596: /* actual_parameter: expression */ -#line 7156 "fe/idl.ypp" + case 599: /* actual_parameter: expression */ +#line 7163 "fe/idl.ypp" { // To avoid grammar conflicts with this LALR(1) parser, // we take advantage of the fact that an expression can @@ -10681,35 +10704,35 @@ yyparse (void) 0); } } -#line 10697 "fe/idl.tab.cpp" +#line 10708 "fe/idl.tab.cpp" break; - case 597: /* connector_decl: connector_header connector_body */ -#line 7215 "fe/idl.ypp" + case 600: /* connector_decl: connector_header connector_body */ +#line 7222 "fe/idl.ypp" { (yyval.dcval) = 0; } -#line 10705 "fe/idl.tab.cpp" +#line 10716 "fe/idl.tab.cpp" break; - case 598: /* $@183: %empty */ -#line 7222 "fe/idl.ypp" + case 601: /* $@183: %empty */ +#line 7229 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSeen); } -#line 10713 "fe/idl.tab.cpp" +#line 10724 "fe/idl.tab.cpp" break; - case 599: /* $@184: %empty */ -#line 7226 "fe/idl.ypp" + case 602: /* $@184: %empty */ +#line 7233 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorIDSeen); } -#line 10721 "fe/idl.tab.cpp" +#line 10732 "fe/idl.tab.cpp" break; - case 600: /* connector_header: IDL_CONNECTOR $@183 annotations_maybe IDENTIFIER $@184 component_inheritance_spec */ -#line 7230 "fe/idl.ypp" + case 603: /* connector_header: IDL_CONNECTOR $@183 annotations_maybe IDENTIFIER $@184 component_inheritance_spec */ +#line 7237 "fe/idl.ypp" { UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Connector *parent = 0; @@ -10763,102 +10786,102 @@ yyparse (void) delete (yyvsp[-3].annotations_val); } -#line 10779 "fe/idl.tab.cpp" +#line 10790 "fe/idl.tab.cpp" break; - case 601: /* $@185: %empty */ -#line 7287 "fe/idl.ypp" + case 604: /* $@185: %empty */ +#line 7294 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorSqSeen); } -#line 10787 "fe/idl.tab.cpp" +#line 10798 "fe/idl.tab.cpp" break; - case 602: /* $@186: %empty */ -#line 7291 "fe/idl.ypp" + case 605: /* $@186: %empty */ +#line 7298 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorBodySeen); } -#line 10795 "fe/idl.tab.cpp" +#line 10806 "fe/idl.tab.cpp" break; - case 603: /* connector_body: '{' $@185 connector_exports $@186 '}' */ -#line 7295 "fe/idl.ypp" + case 606: /* connector_body: '{' $@185 connector_exports $@186 '}' */ +#line 7302 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ConnectorQsSeen); // Done with this connector - pop it off the scope stack. idl_global->scopes ().pop (); } -#line 10806 "fe/idl.tab.cpp" +#line 10817 "fe/idl.tab.cpp" break; - case 606: /* $@187: %empty */ -#line 7310 "fe/idl.ypp" + case 609: /* $@187: %empty */ +#line 7317 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ProvidesDeclSeen); } -#line 10814 "fe/idl.tab.cpp" +#line 10825 "fe/idl.tab.cpp" break; - case 607: /* connector_export: provides_decl $@187 ';' */ -#line 7314 "fe/idl.ypp" + case 610: /* connector_export: provides_decl $@187 ';' */ +#line 7321 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10822 "fe/idl.tab.cpp" +#line 10833 "fe/idl.tab.cpp" break; - case 608: /* $@188: %empty */ -#line 7318 "fe/idl.ypp" + case 611: /* $@188: %empty */ +#line 7325 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_UsesDeclSeen); } -#line 10830 "fe/idl.tab.cpp" +#line 10841 "fe/idl.tab.cpp" break; - case 609: /* connector_export: uses_decl $@188 ';' */ -#line 7322 "fe/idl.ypp" + case 612: /* connector_export: uses_decl $@188 ';' */ +#line 7329 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10838 "fe/idl.tab.cpp" +#line 10849 "fe/idl.tab.cpp" break; - case 610: /* $@189: %empty */ -#line 7326 "fe/idl.ypp" + case 613: /* $@189: %empty */ +#line 7333 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_AttrDeclSeen); } -#line 10846 "fe/idl.tab.cpp" +#line 10857 "fe/idl.tab.cpp" break; - case 611: /* connector_export: attribute $@189 ';' */ -#line 7330 "fe/idl.ypp" + case 614: /* connector_export: attribute $@189 ';' */ +#line 7337 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10854 "fe/idl.tab.cpp" +#line 10865 "fe/idl.tab.cpp" break; - case 612: /* $@190: %empty */ -#line 7334 "fe/idl.ypp" + case 615: /* $@190: %empty */ +#line 7341 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); } -#line 10862 "fe/idl.tab.cpp" +#line 10873 "fe/idl.tab.cpp" break; - case 613: /* connector_export: extended_port_decl $@190 ';' */ -#line 7338 "fe/idl.ypp" + case 616: /* connector_export: extended_port_decl $@190 ';' */ +#line 7345 "fe/idl.ypp" { idl_global->set_parse_state (IDL_GlobalData::PS_NoState); } -#line 10870 "fe/idl.tab.cpp" +#line 10881 "fe/idl.tab.cpp" break; -#line 10874 "fe/idl.tab.cpp" +#line 10885 "fe/idl.tab.cpp" default: break; } @@ -11051,7 +11074,7 @@ yyparse (void) return yyresult; } -#line 7343 "fe/idl.ypp" +#line 7350 "fe/idl.ypp" /* programs */ diff --git a/TAO/TAO_IDL/fe/idl.tab.hpp b/TAO/TAO_IDL/fe/idl.tab.hpp index 512f86809f647..ea66d80608415 100644 --- a/TAO/TAO_IDL/fe/idl.tab.hpp +++ b/TAO/TAO_IDL/fe/idl.tab.hpp @@ -76,78 +76,81 @@ extern int tao_yydebug; IDL_SWITCH = 277, /* IDL_SWITCH */ IDL_ENUM = 278, /* IDL_ENUM */ IDL_SEQUENCE = 279, /* IDL_SEQUENCE */ - IDL_MAP = 280, /* IDL_MAP */ - IDL_STRING = 281, /* IDL_STRING */ - IDL_WSTRING = 282, /* IDL_WSTRING */ - IDL_EXCEPTION = 283, /* IDL_EXCEPTION */ - IDL_CASE = 284, /* IDL_CASE */ - IDL_DEFAULT = 285, /* IDL_DEFAULT */ - IDL_READONLY = 286, /* IDL_READONLY */ - IDL_ATTRIBUTE = 287, /* IDL_ATTRIBUTE */ - IDL_ONEWAY = 288, /* IDL_ONEWAY */ - IDL_IDEMPOTENT = 289, /* IDL_IDEMPOTENT */ - IDL_VOID = 290, /* IDL_VOID */ - IDL_IN = 291, /* IDL_IN */ - IDL_OUT = 292, /* IDL_OUT */ - IDL_INOUT = 293, /* IDL_INOUT */ - IDL_RAISES = 294, /* IDL_RAISES */ - IDL_CONTEXT = 295, /* IDL_CONTEXT */ - IDL_NATIVE = 296, /* IDL_NATIVE */ - IDL_LOCAL = 297, /* IDL_LOCAL */ - IDL_ABSTRACT = 298, /* IDL_ABSTRACT */ - IDL_CUSTOM = 299, /* IDL_CUSTOM */ - IDL_FACTORY = 300, /* IDL_FACTORY */ - IDL_PRIVATE = 301, /* IDL_PRIVATE */ - IDL_PUBLIC = 302, /* IDL_PUBLIC */ - IDL_SUPPORTS = 303, /* IDL_SUPPORTS */ - IDL_TRUNCATABLE = 304, /* IDL_TRUNCATABLE */ - IDL_VALUETYPE = 305, /* IDL_VALUETYPE */ - IDL_COMPONENT = 306, /* IDL_COMPONENT */ - IDL_CONSUMES = 307, /* IDL_CONSUMES */ - IDL_EMITS = 308, /* IDL_EMITS */ - IDL_EVENTTYPE = 309, /* IDL_EVENTTYPE */ - IDL_FINDER = 310, /* IDL_FINDER */ - IDL_GETRAISES = 311, /* IDL_GETRAISES */ - IDL_HOME = 312, /* IDL_HOME */ - IDL_IMPORT = 313, /* IDL_IMPORT */ - IDL_MULTIPLE = 314, /* IDL_MULTIPLE */ - IDL_PRIMARYKEY = 315, /* IDL_PRIMARYKEY */ - IDL_PROVIDES = 316, /* IDL_PROVIDES */ - IDL_PUBLISHES = 317, /* IDL_PUBLISHES */ - IDL_SETRAISES = 318, /* IDL_SETRAISES */ - IDL_TYPEID = 319, /* IDL_TYPEID */ - IDL_TYPEPREFIX = 320, /* IDL_TYPEPREFIX */ - IDL_USES = 321, /* IDL_USES */ - IDL_MANAGES = 322, /* IDL_MANAGES */ - IDL_TYPENAME = 323, /* IDL_TYPENAME */ - IDL_PORT = 324, /* IDL_PORT */ - IDL_MIRRORPORT = 325, /* IDL_MIRRORPORT */ - IDL_PORTTYPE = 326, /* IDL_PORTTYPE */ - IDL_CONNECTOR = 327, /* IDL_CONNECTOR */ - IDL_ALIAS = 328, /* IDL_ALIAS */ - IDL_INTEGER_LITERAL = 329, /* IDL_INTEGER_LITERAL */ - IDL_UINTEGER_LITERAL = 330, /* IDL_UINTEGER_LITERAL */ - IDL_STRING_LITERAL = 331, /* IDL_STRING_LITERAL */ - IDL_CHARACTER_LITERAL = 332, /* IDL_CHARACTER_LITERAL */ - IDL_FLOATING_PT_LITERAL = 333, /* IDL_FLOATING_PT_LITERAL */ - IDL_FIXED_PT_LITERAL = 334, /* IDL_FIXED_PT_LITERAL */ - IDL_TRUETOK = 335, /* IDL_TRUETOK */ - IDL_FALSETOK = 336, /* IDL_FALSETOK */ - IDL_INT8 = 337, /* IDL_INT8 */ - IDL_UINT8 = 338, /* IDL_UINT8 */ - IDL_INT16 = 339, /* IDL_INT16 */ - IDL_UINT16 = 340, /* IDL_UINT16 */ - IDL_INT32 = 341, /* IDL_INT32 */ - IDL_UINT32 = 342, /* IDL_UINT32 */ - IDL_INT64 = 343, /* IDL_INT64 */ - IDL_UINT64 = 344, /* IDL_UINT64 */ - IDL_SCOPE_DELIMITOR = 345, /* IDL_SCOPE_DELIMITOR */ - IDL_LEFT_SHIFT = 346, /* IDL_LEFT_SHIFT */ - IDL_RIGHT_SHIFT = 347, /* IDL_RIGHT_SHIFT */ - IDL_WCHAR_LITERAL = 348, /* IDL_WCHAR_LITERAL */ - IDL_WSTRING_LITERAL = 349, /* IDL_WSTRING_LITERAL */ - IDL_ANNOTATION_DECL = 350, /* IDL_ANNOTATION_DECL */ - IDL_ANNOTATION_SYMBOL = 351 /* IDL_ANNOTATION_SYMBOL */ + IDL_STRING = 280, /* IDL_STRING */ + IDL_WSTRING = 281, /* IDL_WSTRING */ + IDL_EXCEPTION = 282, /* IDL_EXCEPTION */ + IDL_CASE = 283, /* IDL_CASE */ + IDL_DEFAULT = 284, /* IDL_DEFAULT */ + IDL_READONLY = 285, /* IDL_READONLY */ + IDL_ATTRIBUTE = 286, /* IDL_ATTRIBUTE */ + IDL_ONEWAY = 287, /* IDL_ONEWAY */ + IDL_IDEMPOTENT = 288, /* IDL_IDEMPOTENT */ + IDL_VOID = 289, /* IDL_VOID */ + IDL_IN = 290, /* IDL_IN */ + IDL_OUT = 291, /* IDL_OUT */ + IDL_INOUT = 292, /* IDL_INOUT */ + IDL_RAISES = 293, /* IDL_RAISES */ + IDL_CONTEXT = 294, /* IDL_CONTEXT */ + IDL_NATIVE = 295, /* IDL_NATIVE */ + IDL_LOCAL = 296, /* IDL_LOCAL */ + IDL_ABSTRACT = 297, /* IDL_ABSTRACT */ + IDL_CUSTOM = 298, /* IDL_CUSTOM */ + IDL_FACTORY = 299, /* IDL_FACTORY */ + IDL_PRIVATE = 300, /* IDL_PRIVATE */ + IDL_PUBLIC = 301, /* IDL_PUBLIC */ + IDL_SUPPORTS = 302, /* IDL_SUPPORTS */ + IDL_TRUNCATABLE = 303, /* IDL_TRUNCATABLE */ + IDL_VALUETYPE = 304, /* IDL_VALUETYPE */ + IDL_COMPONENT = 305, /* IDL_COMPONENT */ + IDL_CONSUMES = 306, /* IDL_CONSUMES */ + IDL_EMITS = 307, /* IDL_EMITS */ + IDL_EVENTTYPE = 308, /* IDL_EVENTTYPE */ + IDL_FINDER = 309, /* IDL_FINDER */ + IDL_GETRAISES = 310, /* IDL_GETRAISES */ + IDL_HOME = 311, /* IDL_HOME */ + IDL_IMPORT = 312, /* IDL_IMPORT */ + IDL_MULTIPLE = 313, /* IDL_MULTIPLE */ + IDL_PRIMARYKEY = 314, /* IDL_PRIMARYKEY */ + IDL_PROVIDES = 315, /* IDL_PROVIDES */ + IDL_PUBLISHES = 316, /* IDL_PUBLISHES */ + IDL_SETRAISES = 317, /* IDL_SETRAISES */ + IDL_TYPEID = 318, /* IDL_TYPEID */ + IDL_TYPEPREFIX = 319, /* IDL_TYPEPREFIX */ + IDL_USES = 320, /* IDL_USES */ + IDL_MANAGES = 321, /* IDL_MANAGES */ + IDL_TYPENAME = 322, /* IDL_TYPENAME */ + IDL_PORT = 323, /* IDL_PORT */ + IDL_MIRRORPORT = 324, /* IDL_MIRRORPORT */ + IDL_PORTTYPE = 325, /* IDL_PORTTYPE */ + IDL_CONNECTOR = 326, /* IDL_CONNECTOR */ + IDL_ALIAS = 327, /* IDL_ALIAS */ + IDL_INTEGER_LITERAL = 328, /* IDL_INTEGER_LITERAL */ + IDL_UINTEGER_LITERAL = 329, /* IDL_UINTEGER_LITERAL */ + IDL_STRING_LITERAL = 330, /* IDL_STRING_LITERAL */ + IDL_CHARACTER_LITERAL = 331, /* IDL_CHARACTER_LITERAL */ + IDL_FLOATING_PT_LITERAL = 332, /* IDL_FLOATING_PT_LITERAL */ + IDL_FIXED_PT_LITERAL = 333, /* IDL_FIXED_PT_LITERAL */ + IDL_TRUETOK = 334, /* IDL_TRUETOK */ + IDL_FALSETOK = 335, /* IDL_FALSETOK */ + IDL_INT8 = 336, /* IDL_INT8 */ + IDL_UINT8 = 337, /* IDL_UINT8 */ + IDL_INT16 = 338, /* IDL_INT16 */ + IDL_UINT16 = 339, /* IDL_UINT16 */ + IDL_INT32 = 340, /* IDL_INT32 */ + IDL_UINT32 = 341, /* IDL_UINT32 */ + IDL_INT64 = 342, /* IDL_INT64 */ + IDL_UINT64 = 343, /* IDL_UINT64 */ + IDL_SCOPE_DELIMITOR = 344, /* IDL_SCOPE_DELIMITOR */ + IDL_LEFT_SHIFT = 345, /* IDL_LEFT_SHIFT */ + IDL_RIGHT_SHIFT = 346, /* IDL_RIGHT_SHIFT */ + IDL_WCHAR_LITERAL = 347, /* IDL_WCHAR_LITERAL */ + IDL_WSTRING_LITERAL = 348, /* IDL_WSTRING_LITERAL */ + IDL_ANNOTATION_DECL = 349, /* IDL_ANNOTATION_DECL */ + IDL_ANNOTATION_SYMBOL = 350, /* IDL_ANNOTATION_SYMBOL */ + IDL_BITFIELD = 351, /* IDL_BITFIELD */ + IDL_BITMASK = 352, /* IDL_BITMASK */ + IDL_BITSET = 353, /* IDL_BITSET */ + IDL_MAP = 354 /* IDL_MAP */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -202,7 +205,7 @@ union YYSTYPE Decl_Annotations_Pair *decl_annotations_pair_val; Decl_Annotations_Pair_Pair* decl_annotations_pair_val_pair; -#line 206 "fe/idl.tab.hpp" +#line 209 "fe/idl.tab.hpp" }; typedef union YYSTYPE YYSTYPE; diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index ff2d5b6677310..6444926eb9187 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -234,7 +234,6 @@ bool stack_based_lookup_for_primary_expr = false; %token IDL_SWITCH %token IDL_ENUM %token IDL_SEQUENCE -%token IDL_MAP %token IDL_STRING %token IDL_WSTRING %token IDL_EXCEPTION @@ -315,6 +314,11 @@ bool stack_based_lookup_for_primary_expr = false; %token IDL_ANNOTATION_DECL %token IDL_ANNOTATION_SYMBOL +%token IDL_BITFIELD +%token IDL_BITMASK +%token IDL_BITSET +%token IDL_MAP + /* * These are production names: */ @@ -2365,10 +2369,8 @@ annotation_dcl : IDL_ANNOTATION_DECL defining_id '{' { if (idl_global->idl_version_ < IDL_VERSION_4) - { - idl_global->err ()->idl_version_error ( - "Annotations are an IDL4 feature"); - } + idl_global->err ()->idl_version_error ( + "Annotations are not allowed in IDL3"); Identifier *id = $2; UTL_ScopedName name (id, 0); @@ -2513,10 +2515,8 @@ annotation_appl : IDL_ANNOTATION_SYMBOL scoped_name { if (idl_global->idl_version_ < IDL_VERSION_4) - { - idl_global->err ()->idl_version_error ( - "Annotations are an IDL4 feature"); - } + idl_global->err ()->idl_version_error ( + "Annotations are not allowed in IDL3"); AST_Annotation_Decl *decl = 0; UTL_ScopedName *name = $2; @@ -2622,6 +2622,10 @@ annotation_appl_params { $$ = $1; } + | %empty + { + $$ = 0; + } ; named_annotation_appl_params @@ -3153,14 +3157,8 @@ struct_type { idl_global->set_parse_state (IDL_GlobalData::PS_StructSqSeen); } - at_least_one_member - { - idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); - } - '}' + struct_body { - idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); - /* * Done with this struct. Pop its scope off the scopes stack. */ @@ -3171,7 +3169,28 @@ struct_type } ; -at_least_one_member : member members ; +struct_body + : '}' + { + if (idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Empty structs are not allowed in IDL3"); + + idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); + } + | struct_body_with_members + ; + +struct_body_with_members + : member members + { + idl_global->set_parse_state (IDL_GlobalData::PS_StructBodySeen); + } + '}' + { + idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); + } + ; members : members member @@ -3411,39 +3430,27 @@ union_type switch_type_spec : integer_type { - $$ = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - $1 - ); + $$ = idl_global->scopes ().bottom ()->lookup_primitive_type ($1); } | char_type { - /* wchars are not allowed. */ - if ($1 == AST_Expression::EV_wchar) - { - idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); - } + if ($1 == AST_Expression::EV_wchar && idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Using wchar as a union discriminator isn't allowed in IDL3"); - $$ = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - $1 - ); + $$ = idl_global->scopes ().bottom ()->lookup_primitive_type ($1); } | octet_type { - /* octets are not allowed. */ - idl_global->err ()->error0 (UTL_Error::EIDL_DISC_TYPE); - $$ = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - $1 - ); + if (idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Using octet as a union discriminator isn't allowed in IDL3"); + + $$ = idl_global->scopes ().bottom ()->lookup_primitive_type ($1); } | boolean_type { - $$ = - idl_global->scopes ().bottom ()->lookup_primitive_type ( - $1 - ); + $$ = idl_global->scopes ().bottom ()->lookup_primitive_type ($1); } | enum_type | scoped_name @@ -3895,7 +3902,7 @@ enumerator : } ; -map_type_spec +map_type_spec : map_head '>' { diff --git a/TAO/TAO_IDL/fe/idl.yy.cpp b/TAO/TAO_IDL/fe/idl.yy.cpp index 98ab312d85c80..21634a13bc1c5 100644 --- a/TAO/TAO_IDL/fe/idl.yy.cpp +++ b/TAO/TAO_IDL/fe/idl.yy.cpp @@ -1,6 +1,6 @@ -#line 1 "fe/idl.yy.cpp" +#line 2 "fe/idl.yy.cpp" -#line 3 "fe/idl.yy.cpp" +#line 4 "fe/idl.yy.cpp" #define YY_INT_ALIGNED short int @@ -288,7 +288,7 @@ /* C99 systems have . Non-C99 systems may or may not. */ -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L || defined (__HP_aCC) /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. @@ -608,8 +608,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \ yy_flex_strncpy( yytext, (yytext_ptr), yyleng + 1 ); \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 123 -#define YY_END_OF_BUFFER 124 +#define YY_NUM_RULES 125 +#define YY_END_OF_BUFFER 126 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -617,80 +617,82 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_acclist[629] = +static const flex_int16_t yy_acclist[645] = { 0, - 120, 120, 124, 122, 123, 120, 122, 123, 121, 123, - 121, 122, 123, 122, 123, 122, 123, 122, 123, 122, - 123, 122, 123, 95, 122, 123, 91, 122, 123, 122, - 123, 122, 123, 122, 123, 85, 122, 123, 86, 122, - 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, - 86, 122, 123, 86, 122, 123, 86, 122, 123, 86, - 122, 123, 86, 122, 123, 86, 122, 123, 86, 122, - 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, - 86, 122, 123, 86, 122, 123, 86, 122, 123, 86, - 122, 123, 86, 122, 123, 86, 122, 123, 86, 122, - - 123, 86, 122, 123, 86, 122, 123, 86, 122, 123, - 86, 122, 123, 120, 122, 123, 122, 123, 121, 122, - 123, 120, 96, 94, 90, 87, 119, 87, 95, 89, - 91, 83, 81, 82, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 78, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 120, - 114, 96, 98, 98, 94, 90, 87, 118, 118, 87, - - 88, 93, 86, 97, 86, 86, 86, 86, 1, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 17, 44, 86, 86, 86, - 86, 86, 86, 86, 79, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 101, 99, - 101, 92, 87, 88, 86, 97, 102, 86, 75, 86, - 86, 86, 86, 86, 21, 86, 28, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 13, 86, 86, 86, - - 86, 86, 86, 86, 86, 58, 86, 86, 86, 86, - 86, 86, 36, 86, 86, 86, 25, 86, 86, 86, - 86, 86, 86, 86, 86, 70, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 67, 86, 86, 32, 86, - 86, 86, 115, 99, 100, 76, 86, 86, 86, 74, - 86, 86, 86, 86, 86, 10, 86, 86, 86, 86, - 86, 86, 54, 86, 86, 86, 86, 86, 19, 86, - 23, 86, 86, 86, 77, 86, 38, 86, 40, 86, - 42, 86, 86, 34, 86, 86, 86, 86, 86, 86, - - 31, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 26, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 37, 86, 18, 86, - 86, 86, 29, 86, 86, 110, 103, 2, 86, 86, - 86, 86, 86, 86, 86, 86, 45, 86, 86, 24, - 86, 86, 86, 86, 56, 86, 86, 59, 86, 86, - 86, 86, 3, 86, 86, 33, 86, 80, 86, 86, - 86, 86, 86, 48, 86, 86, 4, 86, 86, 86, - 86, 14, 86, 12, 86, 86, 20, 86, 86, 86, - 65, 86, 86, 86, 39, 86, 41, 86, 43, 86, - - 86, 86, 86, 108, 86, 86, 30, 86, 86, 86, - 86, 8, 86, 22, 86, 86, 86, 46, 86, 86, - 86, 68, 86, 86, 86, 86, 86, 47, 86, 86, - 86, 86, 86, 86, 86, 86, 11, 86, 86, 86, - 86, 86, 15, 86, 106, 106, 112, 111, 35, 86, - 86, 86, 86, 53, 86, 86, 86, 86, 86, 86, - 60, 86, 72, 86, 86, 62, 86, 86, 5, 86, - 16, 86, 86, 49, 86, 86, 69, 86, 86, 27, - 86, 86, 116, 116, 109, 6, 86, 52, 86, 73, - 86, 55, 86, 7, 86, 57, 86, 9, 86, 86, - - 86, 63, 86, 64, 86, 86, 86, 51, 86, 104, - 104, 107, 107, 71, 86, 61, 86, 86, 66, 86, - 117, 117, 50, 86, 113, 105, 105, 84 + 122, 122, 126, 124, 125, 122, 124, 125, 123, 125, + 123, 124, 125, 124, 125, 124, 125, 124, 125, 124, + 125, 124, 125, 97, 124, 125, 93, 124, 125, 124, + 125, 124, 125, 124, 125, 75, 124, 125, 88, 124, + 125, 88, 124, 125, 88, 124, 125, 88, 124, 125, + 88, 124, 125, 88, 124, 125, 88, 124, 125, 88, + 124, 125, 88, 124, 125, 88, 124, 125, 88, 124, + 125, 88, 124, 125, 88, 124, 125, 88, 124, 125, + 88, 124, 125, 88, 124, 125, 88, 124, 125, 88, + 124, 125, 88, 124, 125, 88, 124, 125, 88, 124, + + 125, 88, 124, 125, 88, 124, 125, 88, 124, 125, + 88, 124, 125, 122, 124, 125, 124, 125, 123, 124, + 125, 122, 98, 96, 92, 89, 121, 89, 97, 91, + 93, 73, 71, 72, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 68, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 122, 116, 98, 100, 100, 96, 92, 89, 120, 120, + + 89, 90, 95, 88, 99, 88, 88, 88, 88, 1, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 87, 88, 88, + 88, 88, 88, 88, 88, 69, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 103, + 101, 103, 94, 89, 90, 88, 99, 104, 88, 65, + 88, 88, 88, 88, 88, 88, 88, 88, 20, 88, + 27, 88, 88, 88, 88, 88, 88, 88, 88, 88, + + 13, 88, 88, 88, 88, 88, 88, 88, 88, 48, + 88, 88, 88, 88, 88, 88, 76, 88, 88, 88, + 24, 88, 88, 88, 88, 88, 88, 88, 88, 60, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 57, + 88, 88, 31, 88, 88, 88, 117, 101, 102, 66, + 88, 88, 88, 64, 88, 88, 88, 88, 88, 88, + 88, 88, 10, 88, 88, 88, 88, 88, 88, 44, + 88, 88, 88, 88, 88, 18, 88, 22, 88, 88, + 88, 67, 88, 78, 88, 80, 88, 82, 88, 88, + + 33, 88, 88, 88, 88, 88, 88, 30, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 25, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 77, 88, 17, 88, 88, 88, 28, + 88, 88, 112, 105, 2, 88, 88, 88, 88, 88, + 86, 88, 88, 88, 88, 88, 88, 35, 88, 88, + 23, 88, 88, 88, 88, 46, 88, 88, 49, 88, + 88, 88, 88, 3, 88, 88, 32, 88, 70, 88, + 88, 88, 88, 88, 38, 88, 88, 4, 88, 88, + 88, 88, 14, 88, 12, 88, 88, 19, 88, 88, + + 88, 55, 88, 88, 88, 79, 88, 81, 88, 83, + 88, 88, 88, 88, 110, 88, 88, 88, 85, 88, + 29, 88, 88, 88, 88, 8, 88, 21, 88, 88, + 88, 36, 88, 88, 88, 58, 88, 88, 88, 88, + 88, 37, 88, 88, 88, 88, 88, 88, 88, 88, + 11, 88, 88, 88, 88, 88, 15, 88, 108, 108, + 114, 113, 34, 88, 88, 84, 88, 88, 88, 43, + 88, 88, 88, 88, 88, 88, 50, 88, 62, 88, + 88, 52, 88, 88, 5, 88, 16, 88, 88, 39, + 88, 88, 59, 88, 88, 26, 88, 88, 118, 118, + + 111, 6, 88, 42, 88, 63, 88, 45, 88, 7, + 88, 47, 88, 9, 88, 88, 88, 53, 88, 54, + 88, 88, 88, 41, 88, 106, 106, 109, 109, 61, + 88, 51, 88, 88, 56, 88, 119, 119, 40, 88, + 115, 107, 107, 74 } ; -static const flex_int16_t yy_accept[624] = +static const flex_int16_t yy_accept[638] = { 0, 1, 2, 3, 4, 6, 9, 11, 14, 16, 18, 20, 22, 24, 27, 30, 32, 34, 36, 39, 42, @@ -701,66 +703,67 @@ static const flex_int16_t yy_accept[624] = 130, 130, 131, 131, 131, 132, 133, 134, 135, 135, 136, 137, 137, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, + 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 191, 191, 192, - 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, - 193, 194, 194, 195, 195, 195, 196, 196, 197, 197, - 198, 198, 199, 200, 201, 201, 202, 203, 203, 204, - 204, 205, 205, 205, 205, 206, 207, 208, 209, 211, + 185, 186, 187, 188, 189, 190, 191, 192, 192, 192, + 193, 193, 193, 193, 193, 193, 193, 193, 194, 194, + 194, 194, 195, 195, 196, 196, 196, 197, 197, 198, + 198, 199, 199, 200, 201, 202, 202, 203, 204, 204, + 205, 205, 206, 206, 206, 206, 207, 208, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 239, 240, 241, 242, 243, - - 244, 245, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 269, 269, 269, 269, 269, - 269, 269, 269, 270, 272, 272, 272, 273, 273, 274, - 275, 275, 276, 277, 277, 277, 277, 277, 278, 278, - 279, 281, 282, 283, 284, 285, 287, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 299, 300, 301, 302, - 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, - 315, 316, 317, 319, 320, 321, 322, 323, 324, 325, - 326, 328, 329, 330, 331, 332, 333, 334, 335, 336, - - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 348, 349, 351, 352, 353, 353, 353, 353, 353, 353, - 353, 353, 354, 354, 354, 354, 354, 354, 354, 354, - 355, 355, 356, 356, 356, 358, 358, 358, 358, 359, - 360, 362, 363, 364, 365, 366, 368, 369, 370, 371, - 372, 373, 375, 376, 377, 378, 379, 381, 383, 384, - 385, 387, 389, 391, 393, 394, 396, 397, 398, 399, - 400, 401, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 429, 431, 432, 433, - - 435, 436, 437, 437, 437, 437, 437, 437, 437, 437, - 437, 437, 437, 437, 437, 437, 437, 438, 438, 440, - 441, 442, 443, 444, 445, 446, 447, 449, 450, 452, - 453, 454, 455, 457, 458, 460, 461, 462, 463, 465, - 466, 468, 470, 471, 472, 473, 474, 476, 477, 479, - 480, 481, 482, 484, 486, 487, 489, 490, 491, 493, - 494, 495, 497, 499, 501, 502, 503, 504, 504, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 505, 506, 507, 509, 510, 511, - 512, 514, 516, 517, 518, 520, 521, 522, 524, 525, - - 526, 527, 528, 530, 531, 532, 533, 534, 535, 536, - 537, 539, 540, 541, 542, 543, 545, 545, 545, 546, - 547, 547, 547, 548, 548, 548, 549, 549, 549, 549, - 549, 549, 549, 549, 549, 551, 552, 553, 554, 556, - 557, 558, 559, 560, 561, 563, 565, 566, 568, 569, - 571, 573, 574, 576, 577, 579, 580, 582, 583, 583, - 584, 585, 585, 585, 585, 585, 586, 586, 586, 586, - 586, 586, 586, 586, 586, 588, 590, 592, 594, 596, - 598, 600, 601, 602, 604, 606, 607, 608, 610, 610, - 610, 610, 611, 612, 612, 612, 613, 614, 614, 614, - - 614, 614, 614, 616, 618, 619, 621, 621, 621, 622, - 623, 623, 623, 623, 623, 625, 625, 626, 626, 627, - 628, 629, 629 + 232, 233, 234, 235, 236, 237, 238, 240, 241, 242, + + 243, 244, 245, 246, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 271, 273, 273, 273, 274, + 274, 275, 276, 276, 277, 278, 278, 278, 278, 278, + 279, 279, 280, 282, 283, 284, 285, 286, 287, 288, + 289, 291, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 303, 304, 305, 306, 307, 308, 309, 310, 312, + 313, 314, 315, 316, 317, 319, 320, 321, 323, 324, + 325, 326, 327, 328, 329, 330, 332, 333, 334, 335, + + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 352, 353, 355, 356, 357, + 357, 357, 357, 357, 357, 357, 357, 358, 358, 358, + 358, 358, 358, 358, 358, 359, 359, 360, 360, 360, + 362, 362, 362, 362, 363, 364, 366, 367, 368, 369, + 370, 371, 372, 373, 375, 376, 377, 378, 379, 380, + 382, 383, 384, 385, 386, 388, 390, 391, 392, 394, + 396, 398, 400, 401, 403, 404, 405, 406, 407, 408, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 422, 423, 424, 425, 426, 427, 428, 429, 430, + + 431, 432, 433, 434, 436, 438, 439, 440, 442, 443, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 445, 445, 447, 448, 449, + 450, 451, 453, 454, 455, 456, 457, 458, 460, 461, + 463, 464, 465, 466, 468, 469, 471, 472, 473, 474, + 476, 477, 479, 481, 482, 483, 484, 485, 487, 488, + 490, 491, 492, 493, 495, 497, 498, 500, 501, 502, + 504, 505, 506, 508, 510, 512, 513, 514, 515, 515, + 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, + 516, 516, 516, 516, 516, 516, 517, 518, 519, 521, + + 523, 524, 525, 526, 528, 530, 531, 532, 534, 535, + 536, 538, 539, 540, 541, 542, 544, 545, 546, 547, + 548, 549, 550, 551, 553, 554, 555, 556, 557, 559, + 559, 559, 560, 561, 561, 561, 562, 562, 562, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 565, 566, + 568, 569, 570, 572, 573, 574, 575, 576, 577, 579, + 581, 582, 584, 585, 587, 589, 590, 592, 593, 595, + 596, 598, 599, 599, 600, 601, 601, 601, 601, 601, + 602, 602, 602, 602, 602, 602, 602, 602, 602, 604, + 606, 608, 610, 612, 614, 616, 617, 618, 620, 622, + + 623, 624, 626, 626, 626, 626, 627, 628, 628, 628, + 629, 630, 630, 630, 630, 630, 630, 632, 634, 635, + 637, 637, 637, 638, 639, 639, 639, 639, 639, 641, + 641, 642, 642, 643, 644, 645, 645 } ; static const YY_CHAR yy_ec[256] = @@ -806,161 +809,163 @@ static const YY_CHAR yy_meta[68] = 14, 16, 17, 16, 14, 16, 14 } ; -static const flex_int16_t yy_base[665] = +static const flex_int16_t yy_base[679] = { 0, - 0, 66, 1501, 1502, 67, 1502, 1502, 64, 1458, 62, - 80, 76, 95, 91, 1476, 1474, 1471, 1453, 0, 1466, - 80, 1450, 1456, 77, 1435, 97, 61, 64, 81, 1444, - 1433, 35, 1432, 100, 1445, 89, 93, 82, 108, 99, - 111, 121, 104, 172, 178, 1460, 182, 162, 183, 192, - 1478, 205, 223, 260, 202, 313, 1502, 224, 354, 103, - 223, 1502, 94, 0, 252, 1502, 1502, 1502, 1429, 0, - 1449, 210, 1441, 1430, 1441, 1419, 1428, 1411, 1415, 1419, - 1414, 1431, 120, 1412, 1424, 1408, 1419, 1406, 1421, 1422, - 1421, 135, 1408, 1402, 1408, 1404, 30, 202, 90, 1401, - - 1414, 1405, 1396, 1395, 1409, 1393, 1394, 199, 1409, 1401, - 1408, 156, 1393, 1389, 1390, 1396, 1383, 1387, 1388, 202, - 1396, 1388, 1390, 1390, 1377, 255, 0, 211, 1502, 255, - 345, 1387, 1391, 1385, 1375, 1409, 283, 224, 225, 296, - 1502, 1425, 1424, 396, 1423, 227, 0, 293, 192, 1502, - 291, 1502, 293, 0, 403, 344, 0, 1374, 1391, 280, - 347, 412, 1420, 279, 1380, 1394, 1363, 1381, 0, 1363, - 1368, 1374, 1360, 1361, 295, 1356, 1374, 1372, 1353, 1359, - 1357, 1365, 1349, 1364, 1362, 1365, 1347, 1359, 1348, 1341, - 418, 1360, 1353, 1358, 0, 1340, 1336, 1336, 1346, 1349, - - 1330, 0, 1332, 253, 1329, 1338, 1330, 1344, 1326, 1328, - 1327, 290, 1328, 1323, 1328, 1336, 1320, 1324, 1329, 1318, - 1315, 1331, 1333, 1315, 1368, 1367, 1318, 1324, 1314, 1326, - 474, 428, 1502, 1502, 441, 1360, 0, 488, 488, 1502, - 1310, 1334, 360, 1359, 294, 529, 0, 1502, 0, 1319, - 0, 1303, 1301, 1310, 1313, 0, 0, 1302, 1311, 301, - 1310, 1299, 1292, 1300, 1292, 0, 1290, 1293, 1293, 1302, - 1302, 1285, 1303, 0, 1285, 1282, 1323, 1326, 1323, 0, - 1280, 1285, 0, 1289, 1280, 1282, 1284, 1270, 1271, 1289, - 1269, 1287, 1286, 1277, 1276, 1279, 1268, 1277, 1280, 1260, - - 1265, 1275, 1262, 1273, 1272, 332, 447, 1260, 1266, 0, - 1267, 0, 1253, 1260, 1304, 447, 1234, 1224, 1232, 1229, - 1166, 1502, 267, 479, 1168, 1172, 1166, 1133, 352, 1502, - 1184, 1502, 1183, 1128, 0, 544, 581, 1176, 1121, 1139, - 0, 1137, 1137, 1123, 1129, 0, 1118, 1106, 1116, 1078, - 1082, 0, 1064, 1063, 1043, 1042, 0, 0, 1050, 1038, - 0, 0, 0, 0, 1047, 0, 1045, 1029, 1041, 1009, - 1019, 0, 998, 997, 1003, 1000, 1011, 336, 995, 999, - 998, 998, 0, 997, 981, 982, 989, 993, 985, 983, - 982, 962, 999, 1002, 978, 0, 0, 939, 932, 0, - - 936, 1502, 511, 404, 928, 435, 934, 978, 975, 924, - 927, 915, 925, 924, 399, 616, 1502, 943, 0, 885, - 864, 866, 872, 856, 849, 833, 0, 815, 0, 805, - 820, 803, 0, 807, 0, 823, 804, 798, 0, 798, - 0, 0, 793, 766, 765, 764, 0, 760, 0, 755, - 763, 746, 0, 0, 743, 0, 742, 754, 0, 745, - 751, 0, 0, 0, 749, 727, 744, 549, 1502, 563, - 514, 461, 467, 577, 743, 779, 588, 718, 688, 693, - 687, 672, 651, 721, 665, 664, 0, 669, 657, 648, - 0, 0, 650, 650, 0, 646, 631, 0, 618, 611, - - 610, 590, 0, 581, 593, 572, 575, 562, 546, 563, - 0, 558, 546, 543, 530, 0, 614, 581, 1502, 617, - 647, 650, 1502, 564, 478, 1502, 683, 480, 495, 495, - 501, 489, 513, 531, 0, 477, 458, 452, 0, 464, - 431, 425, 426, 411, 0, 0, 407, 0, 392, 0, - 0, 375, 0, 363, 0, 340, 0, 337, 675, 1502, - 686, 374, 701, 688, 714, 1502, 718, 697, 524, 529, - 567, 732, 323, 286, 0, 0, 0, 0, 0, 0, - 0, 275, 256, 0, 0, 265, 238, 0, 728, 572, - 708, 1502, 735, 754, 739, 1502, 757, 760, 284, 211, - - 573, 134, 0, 0, 139, 0, 765, 768, 1502, 770, - 69, 772, 774, 0, 0, 786, 1502, 776, 1502, 779, - 1502, 1502, 813, 830, 840, 845, 858, 874, 884, 897, - 907, 914, 916, 931, 948, 960, 967, 976, 982, 999, - 1011, 1018, 1025, 1035, 1049, 1059, 1069, 1081, 1095, 1106, - 1118, 1133, 1150, 1166, 1176, 1185, 1196, 1212, 1223, 1240, - 1257, 1273, 1284, 1301 + 0, 66, 1515, 1516, 67, 1516, 1516, 64, 1472, 62, + 80, 76, 95, 91, 1490, 1488, 1485, 1467, 0, 1480, + 80, 1464, 1470, 77, 67, 97, 72, 79, 101, 1459, + 1448, 35, 1447, 105, 1460, 101, 106, 61, 120, 65, + 120, 108, 113, 170, 184, 1475, 148, 86, 188, 198, + 1493, 211, 229, 266, 208, 319, 1516, 206, 360, 64, + 225, 1516, 168, 0, 229, 1516, 1516, 1516, 1444, 0, + 1464, 153, 1456, 1445, 1456, 1434, 1443, 1426, 1430, 1429, + 1433, 1428, 1445, 136, 1426, 1438, 1422, 1433, 1420, 1435, + 1436, 1435, 141, 1422, 1416, 1422, 1418, 196, 128, 165, + + 1415, 1428, 1419, 1410, 1409, 1423, 1407, 1408, 208, 1423, + 1415, 1422, 204, 1407, 1403, 1404, 1410, 1397, 1401, 1402, + 173, 1410, 1402, 1404, 1404, 1391, 262, 0, 214, 1516, + 267, 351, 1401, 1405, 1399, 1389, 1423, 287, 264, 268, + 285, 1516, 1439, 1438, 402, 1437, 253, 0, 297, 285, + 1516, 319, 1516, 321, 0, 409, 350, 0, 1388, 1405, + 284, 312, 418, 1434, 300, 1394, 1408, 1377, 1395, 0, + 1377, 294, 1382, 1388, 1374, 1375, 308, 1370, 1388, 1386, + 1367, 1373, 1371, 1379, 1363, 1378, 1376, 1379, 1361, 1373, + 1362, 1355, 424, 1374, 1367, 1372, 0, 1354, 1350, 1350, + + 1360, 1363, 1344, 0, 1346, 256, 1343, 1352, 1344, 1358, + 1340, 1342, 1341, 24, 1342, 1337, 1342, 1350, 1334, 1338, + 1343, 1332, 1329, 1345, 1347, 1329, 1382, 1381, 1332, 1338, + 1328, 1340, 480, 434, 1516, 1516, 447, 1374, 0, 494, + 494, 1516, 1324, 1348, 366, 1373, 352, 535, 0, 1516, + 0, 1333, 0, 1317, 1315, 1324, 1323, 1330, 1325, 1324, + 0, 0, 1313, 1322, 268, 1321, 1310, 1303, 1311, 1303, + 0, 1301, 1304, 1304, 1313, 1313, 1296, 1314, 0, 1296, + 1293, 1334, 1337, 1334, 0, 1291, 1296, 0, 1300, 1291, + 1293, 1295, 1281, 1282, 1300, 1280, 1298, 1297, 1288, 1287, + + 1290, 1279, 1288, 1291, 1271, 1276, 1286, 1273, 1284, 1283, + 422, 369, 1271, 1277, 0, 1278, 0, 1264, 1272, 1315, + 516, 1273, 1235, 1243, 1240, 1234, 1516, 405, 520, 1179, + 1183, 1177, 1167, 437, 1516, 1195, 1516, 1194, 1139, 0, + 566, 603, 1192, 1132, 1150, 0, 1148, 1144, 1129, 1127, + 1141, 1127, 1137, 0, 1126, 1076, 1084, 1082, 1088, 0, + 1051, 1050, 1051, 1050, 0, 0, 1054, 1040, 0, 0, + 0, 0, 1051, 0, 1051, 1017, 1029, 1017, 1027, 0, + 1006, 1005, 1007, 1004, 1019, 135, 1003, 1003, 1000, 1002, + 0, 1003, 987, 986, 992, 996, 988, 986, 986, 968, + + 986, 989, 986, 0, 0, 946, 938, 0, 943, 1516, + 542, 357, 932, 395, 936, 982, 978, 927, 931, 921, + 918, 897, 450, 638, 1516, 929, 0, 887, 866, 874, + 853, 0, 849, 840, 820, 834, 818, 0, 816, 0, + 809, 824, 799, 0, 801, 0, 818, 782, 764, 0, + 767, 0, 0, 762, 751, 770, 769, 0, 764, 0, + 759, 767, 750, 0, 0, 748, 0, 747, 759, 0, + 751, 758, 0, 0, 0, 756, 734, 740, 560, 1516, + 586, 443, 410, 455, 599, 744, 776, 532, 729, 716, + 709, 698, 675, 673, 727, 669, 668, 669, 0, 0, + + 644, 639, 619, 0, 0, 621, 608, 0, 617, 618, + 0, 604, 584, 582, 575, 0, 566, 568, 547, 565, + 564, 549, 557, 0, 551, 549, 550, 537, 0, 635, + 529, 1516, 572, 589, 670, 1516, 588, 467, 1516, 639, + 472, 517, 484, 518, 515, 481, 550, 0, 493, 0, + 477, 470, 0, 479, 468, 457, 470, 415, 0, 0, + 411, 0, 381, 0, 0, 352, 0, 359, 0, 345, + 0, 341, 603, 1516, 674, 381, 705, 695, 709, 1516, + 721, 724, 486, 488, 555, 724, 329, 300, 0, 0, + 0, 0, 0, 0, 0, 283, 251, 0, 0, 262, + + 213, 0, 750, 501, 730, 1516, 746, 756, 759, 1516, + 761, 763, 230, 216, 565, 152, 0, 0, 102, 0, + 766, 771, 1516, 775, 114, 777, 781, 0, 0, 792, + 1516, 788, 1516, 796, 1516, 1516, 823, 840, 850, 855, + 868, 884, 894, 907, 917, 924, 926, 941, 958, 970, + 977, 986, 992, 1009, 1021, 1028, 1035, 1045, 1059, 1069, + 1079, 1091, 1105, 1116, 1128, 1143, 1160, 1176, 1186, 1195, + 1206, 1222, 1233, 1250, 1267, 1283, 1294, 1311 } ; -static const flex_int16_t yy_def[665] = +static const flex_int16_t yy_def[679] = { 0, - 622, 1, 622, 622, 622, 622, 622, 623, 624, 622, - 622, 622, 622, 625, 622, 622, 622, 622, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 622, 622, 622, 622, 623, 622, 627, - 622, 628, 622, 622, 629, 622, 622, 630, 622, 13, - 631, 622, 632, 633, 625, 622, 622, 622, 622, 626, - 626, 634, 635, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 622, 45, 45, 622, 45, - 45, 622, 622, 622, 622, 622, 622, 623, 623, 623, - 622, 622, 622, 622, 636, 54, 637, 629, 638, 622, - 630, 622, 630, 59, 622, 632, 633, 622, 626, 634, - 622, 639, 622, 622, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 640, 622, 622, 622, 622, 622, - 622, 623, 622, 622, 622, 641, 637, 622, 638, 622, - 622, 626, 622, 622, 634, 634, 642, 622, 643, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 640, 622, 622, 622, 622, 622, - 231, 622, 231, 231, 622, 622, 622, 622, 623, 622, - 622, 622, 622, 622, 626, 634, 634, 644, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 622, 645, 622, 622, 646, 622, 647, 622, 622, - 622, 622, 622, 622, 634, 337, 622, 648, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 649, 622, 645, - 650, 622, 646, 646, 622, 647, 622, 622, 622, 622, - 622, 622, 337, 651, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 649, 650, 622, 650, - 652, 622, 622, 653, 622, 622, 654, 622, 622, 655, - 622, 622, 634, 622, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 652, 622, - 652, 653, 656, 657, 658, 622, 654, 659, 622, 655, - 655, 622, 622, 622, 626, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 626, 626, 656, 589, - 657, 622, 657, 658, 659, 622, 659, 660, 661, 622, - - 622, 622, 626, 626, 626, 626, 662, 660, 622, 660, - 661, 622, 663, 664, 626, 662, 622, 663, 622, 663, - 622, 0, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622 + 636, 1, 636, 636, 636, 636, 636, 637, 638, 636, + 636, 636, 636, 639, 636, 636, 636, 636, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 636, 636, 636, 636, 637, 636, 641, + 636, 642, 636, 636, 643, 636, 636, 644, 636, 13, + 645, 636, 646, 647, 639, 636, 636, 636, 636, 640, + 640, 648, 649, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 636, 45, 45, 636, + 45, 45, 636, 636, 636, 636, 636, 636, 637, 637, + 637, 636, 636, 636, 636, 650, 54, 651, 643, 652, + 636, 644, 636, 644, 59, 636, 646, 647, 636, 640, + 648, 636, 653, 636, 636, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 654, 636, 636, 636, + 636, 636, 636, 637, 636, 636, 636, 655, 651, 636, + 652, 636, 636, 640, 636, 636, 648, 648, 656, 636, + 657, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 654, + 636, 636, 636, 636, 636, 233, 636, 233, 233, 636, + 636, 636, 636, 637, 636, 636, 636, 636, 636, 640, + 648, 648, 658, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + + 640, 640, 640, 640, 640, 640, 640, 640, 640, 636, + 659, 636, 636, 660, 636, 661, 636, 636, 636, 636, + 636, 636, 648, 342, 636, 662, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 663, 636, + 659, 664, 636, 660, 660, 636, 661, 636, 636, 636, + 636, 636, 636, 342, 665, 640, 640, 640, 640, 640, + + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 663, + 664, 636, 664, 666, 636, 636, 667, 636, 636, 668, + 636, 636, 669, 636, 636, 648, 636, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + 640, 640, 666, 636, 666, 667, 670, 671, 672, 636, + 668, 673, 636, 669, 669, 636, 636, 636, 640, 640, + 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, + + 640, 640, 670, 603, 671, 636, 671, 672, 673, 636, + 673, 674, 675, 636, 636, 636, 640, 640, 640, 640, + 676, 674, 636, 674, 675, 636, 677, 678, 640, 676, + 636, 677, 636, 677, 636, 0, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636 } ; -static const flex_int16_t yy_nxt[1570] = +static const flex_int16_t yy_nxt[1584] = { 0, 4, 5, 6, 7, 5, 8, 4, 9, 4, 4, 10, 11, 12, 13, 14, 14, 14, 14, 14, 14, @@ -969,174 +974,176 @@ static const flex_int16_t yy_nxt[1570] = 19, 4, 24, 25, 26, 27, 28, 29, 30, 31, 32, 19, 19, 33, 34, 35, 36, 37, 19, 38, 39, 40, 41, 42, 43, 19, 19, 44, 47, 49, - 44, 47, 45, 53, 612, 54, 55, 55, 55, 55, - 55, 55, 55, 55, 57, 72, 190, 73, 58, 96, - 97, 191, 46, 56, 56, 56, 56, 56, 56, 56, - - 56, 56, 59, 155, 155, 50, 59, 85, 60, 60, - 60, 60, 60, 60, 60, 61, 61, 86, 87, 88, - 76, 62, 63, 91, 110, 62, 63, 89, 111, 90, - 77, 92, 78, 104, 93, 64, 62, 63, 79, 81, - 62, 63, 99, 622, 105, 194, 82, 195, 124, 107, - 100, 106, 108, 83, 112, 109, 101, 113, 117, 84, - 64, 119, 102, 122, 125, 118, 120, 49, 622, 114, - 115, 121, 116, 126, 174, 175, 126, 123, 127, 128, - 129, 129, 130, 47, 137, 615, 47, 137, 138, 614, - 184, 131, 131, 131, 131, 131, 131, 131, 131, 131, - - 185, 238, 238, 50, 129, 140, 140, 140, 140, 140, - 140, 140, 143, 59, 209, 161, 599, 210, 144, 144, - 144, 144, 144, 144, 144, 132, 152, 153, 133, 49, - 49, 134, 62, 63, 59, 135, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 145, 192, 62, 63, 204, - 153, 162, 218, 62, 63, 205, 126, 193, 622, 126, - 225, 127, 219, 59, 622, 50, 50, 622, 62, 63, - 145, 59, 408, 146, 146, 146, 146, 146, 146, 146, - 61, 61, 62, 63, 137, 161, 248, 137, 138, 612, - 62, 63, 622, 152, 153, 152, 153, 62, 63, 161, - - 147, 49, 622, 606, 59, 62, 63, 292, 622, 232, - 232, 232, 232, 232, 232, 232, 293, 153, 605, 153, - 622, 162, 604, 62, 63, 147, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 162, 603, 50, 62, 63, - 301, 249, 602, 62, 149, 150, 622, 150, 243, 226, - 259, 243, 302, 622, 622, 260, 261, 49, 62, 149, - 150, 243, 346, 347, 243, 601, 150, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 240, 389, 240, 563, - 447, 244, 390, 588, 62, 149, 150, 391, 150, 392, - 587, 240, 622, 50, 244, 622, 448, 240, 622, 62, - - 149, 150, 622, 234, 161, 471, 586, 150, 471, 235, - 235, 235, 235, 235, 235, 235, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 246, 246, 246, 246, 246, - 246, 246, 277, 49, 278, 585, 473, 279, 280, 473, - 162, 329, 329, 329, 329, 329, 329, 329, 330, 402, - 402, 403, 584, 583, 331, 331, 331, 331, 331, 331, - 331, 393, 521, 394, 281, 521, 395, 396, 473, 50, - 582, 473, 581, 402, 247, 321, 322, 322, 323, 564, - 622, 568, 564, 409, 568, 580, 579, 324, 324, 324, - 324, 324, 324, 324, 324, 324, 570, 622, 622, 571, - - 322, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 578, 577, 468, 469, 469, 468, 519, 520, 161, 576, - 150, 325, 150, 575, 326, 598, 622, 327, 598, 622, - 570, 328, 622, 571, 161, 150, 622, 469, 417, 574, - 520, 150, 336, 336, 336, 336, 336, 336, 336, 161, - 468, 469, 469, 468, 162, 573, 569, 415, 415, 415, - 415, 415, 415, 415, 468, 469, 469, 468, 570, 563, - 162, 571, 599, 607, 613, 469, 607, 613, 522, 523, - 523, 522, 524, 519, 520, 162, 161, 558, 557, 469, - 526, 526, 527, 556, 416, 416, 416, 416, 416, 416, - - 416, 416, 416, 523, 555, 554, 553, 520, 552, 416, - 416, 416, 416, 416, 526, 468, 469, 469, 468, 519, - 520, 551, 162, 416, 416, 416, 416, 416, 416, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 550, 549, - 469, 548, 547, 520, 483, 483, 483, 483, 483, 560, - 561, 522, 523, 523, 522, 524, 546, 545, 483, 483, - 483, 483, 483, 483, 533, 533, 533, 533, 533, 533, - 533, 533, 533, 561, 544, 543, 523, 560, 561, 533, - 533, 533, 533, 533, 565, 566, 566, 565, 560, 561, - 592, 593, 542, 533, 533, 533, 533, 533, 533, 596, - - 597, 561, 589, 523, 523, 589, 541, 540, 539, 566, - 592, 593, 561, 538, 593, 565, 566, 566, 565, 565, - 566, 566, 565, 597, 537, 536, 535, 523, 417, 589, - 523, 523, 589, 532, 593, 531, 600, 592, 593, 530, - 566, 596, 597, 529, 566, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 523, 622, 566, 566, 622, 596, - 597, 593, 609, 610, 528, 597, 607, 523, 523, 607, - 609, 610, 609, 610, 617, 617, 619, 620, 619, 620, - 566, 619, 620, 597, 477, 525, 610, 622, 523, 523, - 622, 523, 516, 515, 610, 514, 610, 513, 617, 512, - - 620, 511, 620, 510, 509, 620, 508, 507, 506, 505, - 504, 503, 523, 48, 48, 48, 48, 48, 48, 48, + 44, 47, 45, 53, 306, 54, 55, 55, 55, 55, + 55, 55, 55, 55, 57, 72, 307, 73, 58, 97, + 98, 49, 46, 56, 56, 56, 56, 56, 56, 56, + + 56, 56, 59, 111, 636, 50, 59, 112, 60, 60, + 60, 60, 60, 60, 60, 61, 61, 80, 86, 626, + 76, 62, 63, 81, 118, 62, 63, 50, 87, 636, + 77, 119, 78, 88, 89, 64, 62, 63, 79, 82, + 62, 63, 90, 92, 91, 105, 83, 100, 629, 47, + 123, 93, 47, 84, 94, 101, 106, 125, 162, 85, + 64, 102, 108, 107, 124, 109, 113, 103, 110, 114, + 120, 127, 194, 126, 127, 121, 128, 156, 156, 458, + 122, 115, 116, 195, 117, 129, 130, 130, 131, 138, + 176, 177, 138, 139, 163, 459, 186, 132, 132, 132, + + 132, 132, 132, 132, 132, 132, 187, 628, 153, 154, + 130, 141, 141, 141, 141, 141, 141, 141, 144, 59, + 196, 613, 197, 220, 145, 145, 145, 145, 145, 145, + 145, 133, 154, 221, 134, 626, 59, 135, 62, 63, + 59, 136, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 146, 192, 62, 63, 62, 63, 193, 206, 62, + 63, 636, 211, 127, 207, 212, 127, 636, 128, 49, + 62, 63, 227, 49, 62, 63, 146, 59, 620, 147, + 147, 147, 147, 147, 147, 147, 61, 61, 138, 162, + 49, 138, 139, 636, 240, 240, 62, 63, 234, 234, + + 234, 234, 234, 234, 234, 50, 148, 250, 59, 50, + 297, 62, 63, 245, 636, 619, 245, 618, 636, 298, + 636, 153, 154, 153, 154, 163, 50, 62, 63, 354, + 355, 148, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 257, 62, 63, 617, 154, 246, 154, 258, 62, + 150, 151, 636, 151, 259, 228, 616, 162, 482, 636, + 636, 482, 251, 264, 62, 150, 151, 245, 265, 266, + 245, 615, 151, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 242, 401, 242, 402, 577, 602, 403, 404, + 62, 150, 151, 163, 151, 601, 484, 242, 636, 484, + + 246, 636, 600, 242, 636, 62, 150, 151, 636, 236, + 416, 534, 599, 151, 534, 237, 237, 237, 237, 237, + 237, 237, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 248, 248, 248, 248, 248, 248, 248, 282, 49, + 283, 598, 49, 284, 285, 532, 533, 334, 334, 334, + 334, 334, 334, 334, 335, 162, 484, 597, 636, 484, + 336, 336, 336, 336, 336, 336, 336, 397, 578, 533, + 286, 578, 398, 582, 596, 50, 582, 399, 50, 400, + 249, 326, 327, 327, 328, 584, 162, 612, 585, 584, + 612, 163, 585, 329, 329, 329, 329, 329, 329, 329, + + 329, 329, 621, 636, 636, 621, 327, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 595, 594, 410, 410, + 411, 636, 163, 593, 417, 592, 151, 330, 151, 591, + 331, 532, 533, 332, 539, 539, 540, 333, 590, 589, + 162, 151, 410, 479, 480, 480, 479, 151, 341, 341, + 341, 341, 341, 341, 341, 533, 584, 425, 539, 585, + 613, 479, 480, 480, 479, 588, 627, 636, 480, 627, + 636, 162, 587, 636, 532, 533, 163, 636, 583, 423, + 423, 423, 423, 423, 423, 423, 480, 479, 480, 480, + 479, 574, 575, 577, 572, 571, 570, 569, 533, 568, + + 535, 536, 536, 535, 537, 574, 575, 163, 162, 567, + 566, 565, 480, 564, 563, 575, 424, 424, 424, 424, + 424, 424, 424, 424, 424, 536, 562, 561, 560, 575, + 559, 424, 424, 424, 424, 424, 479, 480, 480, 479, + 579, 580, 580, 579, 163, 424, 424, 424, 424, 424, + 424, 494, 494, 494, 494, 494, 494, 494, 494, 494, + 558, 480, 557, 556, 555, 580, 494, 494, 494, 494, + 494, 535, 536, 536, 535, 537, 574, 575, 554, 553, + 494, 494, 494, 494, 494, 494, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 552, 536, 606, 607, 551, + + 575, 546, 546, 546, 546, 546, 603, 536, 536, 603, + 579, 580, 580, 579, 550, 546, 546, 546, 546, 546, + 546, 607, 579, 580, 580, 579, 610, 611, 614, 549, + 548, 536, 606, 607, 425, 580, 545, 586, 586, 586, + 586, 586, 586, 586, 586, 586, 544, 580, 606, 607, + 611, 603, 536, 536, 603, 543, 607, 636, 580, 580, + 636, 610, 611, 610, 611, 623, 624, 621, 536, 536, + 621, 542, 607, 623, 624, 541, 536, 623, 624, 631, + 631, 488, 580, 633, 634, 611, 538, 611, 529, 624, + 633, 634, 536, 636, 536, 536, 636, 624, 633, 634, + + 528, 624, 527, 631, 526, 525, 524, 634, 523, 522, + 521, 520, 519, 518, 634, 517, 516, 515, 536, 514, + 513, 512, 634, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 51, 51, 502, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 511, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 65, 65, 65, - 501, 500, 65, 70, 70, 499, 70, 70, 70, 70, - 70, 70, 139, 139, 498, 497, 139, 496, 139, 495, - 494, 493, 139, 139, 142, 142, 492, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 148, 148, 148, 491, 490, 148, 151, 151, 151, - - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 61, 61, 61, 489, 488, 61, - 156, 487, 156, 156, 157, 157, 486, 157, 157, 485, - 157, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 163, 163, - 417, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 236, 482, 481, 236, 236, - 480, 236, 236, 479, 236, 237, 237, 478, 237, 237, - 408, 237, 239, 477, 239, 239, 245, 245, 475, 472, - 245, 467, 245, 466, 465, 464, 245, 245, 245, 315, - - 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315, 333, 463, 462, 333, - 333, 461, 333, 333, 460, 333, 337, 337, 459, 337, - 337, 458, 337, 338, 338, 457, 338, 338, 456, 338, - 418, 455, 454, 418, 418, 453, 418, 418, 452, 418, - 470, 470, 470, 451, 450, 449, 446, 470, 470, 470, - 474, 445, 444, 443, 442, 441, 440, 474, 474, 476, - 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, - 476, 476, 476, 476, 476, 476, 484, 439, 438, 484, - 484, 437, 484, 484, 436, 484, 517, 517, 517, 435, - - 434, 433, 432, 517, 517, 517, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 534, 431, 430, 534, 534, 429, 534, - 534, 428, 534, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, - 562, 562, 562, 562, 562, 562, 562, 567, 567, 567, - 427, 426, 425, 424, 567, 567, 567, 572, 423, 422, - 421, 420, 419, 417, 572, 572, 590, 590, 590, 414, - 332, 330, 413, 590, 590, 590, 591, 591, 591, 591, - - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 594, 594, 594, 412, 411, 410, 622, - 594, 594, 594, 595, 595, 595, 595, 595, 595, 595, - 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 616, 616, 616, 407, 406, 405, - 404, 616, 616, 616, 618, 618, 618, 618, 618, 618, - 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, - - 618, 621, 621, 621, 621, 621, 621, 621, 621, 316, - 401, 621, 400, 399, 398, 397, 388, 387, 386, 385, - 384, 383, 382, 381, 380, 379, 378, 377, 376, 375, - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - 364, 363, 362, 361, 360, 359, 358, 357, 356, 355, - 354, 353, 352, 351, 350, 349, 348, 345, 344, 343, - 342, 341, 340, 339, 72, 335, 334, 332, 320, 319, - 318, 317, 225, 316, 314, 313, 312, 311, 310, 309, - 308, 307, 306, 305, 304, 303, 300, 299, 298, 297, - 296, 295, 294, 291, 290, 289, 288, 287, 286, 285, - - 284, 283, 282, 276, 275, 274, 273, 272, 271, 270, - 269, 268, 267, 266, 265, 264, 263, 262, 258, 257, - 256, 255, 254, 253, 252, 251, 250, 248, 242, 241, - 233, 233, 233, 231, 230, 229, 228, 227, 224, 223, - 222, 221, 220, 217, 216, 215, 214, 213, 212, 211, - 208, 207, 206, 203, 202, 201, 200, 199, 198, 197, - 196, 189, 188, 187, 186, 183, 182, 181, 180, 179, - 178, 177, 176, 173, 172, 171, 170, 169, 168, 167, - 166, 165, 164, 159, 158, 141, 136, 103, 98, 95, - 94, 80, 75, 74, 71, 69, 68, 67, 66, 52, - - 622, 3, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 510, 509, 65, 70, 70, 508, 70, 70, 70, 70, + 70, 70, 140, 140, 507, 506, 140, 505, 140, 504, + 503, 502, 140, 140, 143, 143, 501, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + + 143, 149, 149, 149, 500, 499, 149, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 61, 61, 61, 498, 497, 61, + 157, 496, 157, 157, 158, 158, 425, 158, 158, 493, + 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 164, 164, + 492, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 238, 491, 490, 238, 238, + 489, 238, 238, 416, 238, 239, 239, 488, 239, 239, + 486, 239, 241, 483, 241, 241, 247, 247, 478, 477, + + 247, 476, 247, 475, 474, 473, 247, 247, 247, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 338, 472, 471, 338, + 338, 470, 338, 338, 469, 338, 342, 342, 468, 342, + 342, 467, 342, 343, 343, 466, 343, 343, 465, 343, + 426, 464, 463, 426, 426, 462, 426, 426, 461, 426, + 481, 481, 481, 460, 457, 456, 455, 481, 481, 481, + 485, 454, 453, 452, 451, 450, 449, 485, 485, 487, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 487, 487, 487, 487, 487, 487, 495, 448, 447, 495, + + 495, 446, 495, 495, 445, 495, 530, 530, 530, 444, + 443, 442, 441, 530, 530, 530, 531, 531, 531, 531, + 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, + 531, 531, 531, 547, 440, 439, 547, 547, 438, 547, + 547, 437, 547, 573, 573, 573, 573, 573, 573, 573, + 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, + 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, + 576, 576, 576, 576, 576, 576, 576, 581, 581, 581, + 436, 435, 434, 433, 581, 581, 581, 586, 432, 431, + 430, 429, 428, 427, 586, 586, 604, 604, 604, 425, + + 422, 337, 335, 604, 604, 604, 605, 605, 605, 605, + 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, + 605, 605, 605, 608, 608, 608, 421, 420, 419, 418, + 608, 608, 608, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622 + 622, 622, 622, 622, 622, 622, 622, 625, 625, 625, + 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, + 625, 625, 625, 625, 630, 630, 630, 636, 415, 414, + 413, 630, 630, 630, 632, 632, 632, 632, 632, 632, + + 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, + 632, 635, 635, 635, 635, 635, 635, 635, 635, 412, + 321, 635, 409, 408, 407, 406, 405, 396, 395, 394, + 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, + 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, + 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, + 363, 362, 361, 360, 359, 358, 357, 356, 353, 352, + 351, 350, 349, 348, 347, 346, 345, 344, 72, 340, + 339, 337, 325, 324, 323, 322, 227, 321, 319, 318, + 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, + + 305, 304, 303, 302, 301, 300, 299, 296, 295, 294, + 293, 292, 291, 290, 289, 288, 287, 281, 280, 279, + 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, + 268, 267, 263, 262, 261, 260, 256, 255, 254, 253, + 252, 250, 244, 243, 235, 235, 235, 233, 232, 231, + 230, 229, 226, 225, 224, 223, 222, 219, 218, 217, + 216, 215, 214, 213, 210, 209, 208, 205, 204, 203, + 202, 201, 200, 199, 198, 191, 190, 189, 188, 185, + 184, 183, 182, 181, 180, 179, 178, 175, 174, 173, + 172, 171, 170, 169, 168, 167, 166, 165, 160, 159, + + 142, 137, 104, 99, 96, 95, 75, 74, 71, 69, + 68, 67, 66, 52, 636, 3, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636 } ; -static const flex_int16_t yy_chk[1570] = +static const flex_int16_t yy_chk[1584] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1145,171 +1152,173 @@ static const flex_int16_t yy_chk[1570] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 8, - 2, 5, 2, 10, 611, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 12, 21, 97, 21, 12, 32, - 32, 97, 2, 11, 11, 11, 11, 11, 11, 11, - - 11, 11, 14, 63, 63, 8, 13, 27, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 27, 28, 28, - 24, 14, 14, 29, 38, 13, 13, 28, 38, 28, - 24, 29, 24, 36, 29, 13, 14, 14, 24, 26, - 13, 13, 34, 60, 36, 99, 26, 99, 43, 37, - 34, 36, 37, 26, 39, 37, 34, 39, 40, 26, - 13, 41, 34, 42, 43, 40, 41, 48, 60, 39, - 39, 41, 39, 44, 83, 83, 44, 42, 44, 45, - 45, 45, 45, 47, 49, 605, 47, 49, 49, 602, - 92, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 92, 149, 149, 48, 45, 50, 50, 50, 50, 50, - 50, 50, 52, 55, 112, 72, 600, 112, 52, 52, - 52, 52, 52, 52, 52, 45, 58, 58, 45, 138, - 139, 45, 55, 55, 61, 45, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 52, 98, 55, 55, 108, - 58, 72, 120, 61, 61, 108, 126, 98, 128, 126, - 130, 126, 120, 65, 128, 138, 139, 146, 61, 61, - 52, 54, 323, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 65, 65, 137, 160, 164, 137, 137, 599, - 54, 54, 146, 151, 151, 153, 153, 65, 65, 245, - - 54, 140, 130, 587, 148, 54, 54, 204, 130, 140, - 140, 140, 140, 140, 140, 140, 204, 151, 586, 153, - 323, 160, 583, 148, 148, 54, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 245, 582, 140, 148, 148, - 212, 164, 574, 56, 56, 56, 131, 56, 161, 131, - 175, 161, 212, 156, 156, 175, 175, 329, 56, 56, - 56, 243, 260, 260, 243, 573, 56, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 156, 306, 156, 562, - 378, 161, 306, 558, 59, 59, 59, 306, 59, 306, - 556, 156, 131, 329, 243, 131, 378, 156, 131, 59, - - 59, 59, 131, 144, 415, 404, 554, 59, 404, 144, - 144, 144, 144, 144, 144, 144, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 162, 162, 162, 162, 162, - 162, 162, 191, 232, 191, 552, 406, 191, 191, 406, - 415, 232, 232, 232, 232, 232, 232, 232, 235, 316, - 316, 316, 549, 547, 235, 235, 235, 235, 235, 235, - 235, 307, 472, 307, 191, 472, 307, 307, 473, 232, - 544, 473, 543, 316, 162, 231, 231, 231, 231, 525, - 324, 528, 525, 324, 528, 542, 541, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 530, 239, 239, 530, - - 231, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 540, 538, 403, 403, 403, 403, 471, 471, 533, 537, - 239, 231, 239, 536, 231, 569, 324, 231, 569, 324, - 570, 231, 324, 570, 246, 239, 324, 403, 534, 532, - 471, 239, 246, 246, 246, 246, 246, 246, 246, 336, - 468, 468, 468, 468, 533, 531, 529, 336, 336, 336, - 336, 336, 336, 336, 470, 470, 470, 470, 571, 524, - 246, 571, 571, 590, 601, 468, 590, 601, 474, 474, - 474, 474, 474, 518, 518, 336, 337, 515, 514, 470, - 477, 477, 477, 513, 337, 337, 337, 337, 337, 337, - - 337, 337, 337, 474, 512, 510, 509, 518, 508, 337, - 337, 337, 337, 337, 477, 517, 517, 517, 517, 520, - 520, 507, 337, 337, 337, 337, 337, 337, 337, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 506, 505, - 517, 504, 502, 520, 416, 416, 416, 416, 416, 521, - 521, 522, 522, 522, 522, 522, 501, 500, 416, 416, - 416, 416, 416, 416, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 521, 499, 497, 522, 559, 559, 483, - 483, 483, 483, 483, 527, 527, 527, 527, 561, 561, - 564, 564, 496, 483, 483, 483, 483, 483, 483, 568, - - 568, 559, 563, 563, 563, 563, 494, 493, 490, 527, - 591, 591, 561, 489, 564, 565, 565, 565, 565, 567, - 567, 567, 567, 568, 488, 486, 485, 563, 484, 589, - 589, 589, 589, 482, 591, 481, 572, 593, 593, 480, - 565, 595, 595, 479, 567, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 589, 594, 594, 594, 594, 597, - 597, 593, 598, 598, 478, 595, 607, 607, 607, 607, - 608, 608, 610, 610, 612, 612, 613, 613, 618, 618, - 594, 620, 620, 597, 476, 475, 598, 616, 616, 616, - 616, 607, 467, 466, 608, 465, 610, 461, 612, 460, - - 613, 458, 618, 457, 455, 620, 452, 451, 450, 448, - 446, 445, 616, 623, 623, 623, 623, 623, 623, 623, - 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, - 624, 624, 444, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 625, 625, 625, - 443, 440, 625, 626, 626, 438, 626, 626, 626, 626, - 626, 626, 627, 627, 437, 436, 627, 434, 627, 432, - 431, 430, 627, 627, 628, 628, 428, 628, 628, 628, - 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, - 628, 629, 629, 629, 426, 425, 629, 630, 630, 630, - - 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, - 630, 630, 630, 630, 631, 631, 631, 424, 423, 631, - 632, 422, 632, 632, 633, 633, 421, 633, 633, 420, - 633, 634, 634, 634, 634, 634, 634, 634, 634, 634, - 634, 634, 634, 634, 634, 634, 634, 634, 635, 635, - 418, 635, 635, 635, 635, 635, 635, 635, 635, 635, - 635, 635, 635, 635, 635, 636, 414, 413, 636, 636, - 412, 636, 636, 411, 636, 637, 637, 410, 637, 637, - 409, 637, 638, 408, 638, 638, 639, 639, 407, 405, - 639, 401, 639, 399, 398, 395, 639, 639, 639, 640, - - 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, - 640, 640, 640, 640, 640, 640, 641, 394, 393, 641, - 641, 392, 641, 641, 391, 641, 642, 642, 390, 642, - 642, 389, 642, 643, 643, 388, 643, 643, 387, 643, - 644, 386, 385, 644, 644, 384, 644, 644, 382, 644, - 645, 645, 645, 381, 380, 379, 377, 645, 645, 645, - 646, 376, 375, 374, 373, 371, 370, 646, 646, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 648, 369, 368, 648, - 648, 367, 648, 648, 365, 648, 649, 649, 649, 360, - - 359, 356, 355, 649, 649, 649, 650, 650, 650, 650, - 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, - 650, 650, 650, 651, 354, 353, 651, 651, 351, 651, - 651, 350, 651, 652, 652, 652, 652, 652, 652, 652, - 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, - 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, - 653, 653, 653, 653, 653, 653, 653, 654, 654, 654, - 349, 348, 347, 345, 654, 654, 654, 655, 344, 343, - 342, 340, 339, 338, 655, 655, 656, 656, 656, 334, - 333, 331, 328, 656, 656, 656, 657, 657, 657, 657, - - 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, - 657, 657, 657, 658, 658, 658, 327, 326, 325, 321, - 658, 658, 658, 659, 659, 659, 659, 659, 659, 659, - 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, - 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, - 660, 660, 660, 660, 660, 660, 660, 661, 661, 661, + 2, 5, 2, 10, 214, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 12, 21, 214, 21, 12, 32, + 32, 48, 2, 11, 11, 11, 11, 11, 11, 11, + + 11, 11, 14, 38, 60, 8, 13, 38, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 25, 27, 625, + 24, 14, 14, 25, 40, 13, 13, 48, 27, 60, + 24, 40, 24, 28, 28, 13, 14, 14, 24, 26, + 13, 13, 28, 29, 28, 36, 26, 34, 619, 47, + 42, 29, 47, 26, 29, 34, 36, 43, 72, 26, + 13, 34, 37, 36, 42, 37, 39, 34, 37, 39, + 41, 44, 99, 43, 44, 41, 44, 63, 63, 386, + 41, 39, 39, 99, 39, 45, 45, 45, 45, 49, + 84, 84, 49, 49, 72, 386, 93, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 93, 616, 58, 58, + 45, 50, 50, 50, 50, 50, 50, 50, 52, 55, + 100, 614, 100, 121, 52, 52, 52, 52, 52, 52, + 52, 45, 58, 121, 45, 613, 61, 45, 55, 55, + 65, 45, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 52, 98, 55, 55, 61, 61, 98, 109, 65, + 65, 129, 113, 127, 109, 113, 127, 129, 127, 139, + 61, 61, 131, 140, 65, 65, 52, 54, 601, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 138, 161, + 141, 138, 138, 147, 150, 150, 54, 54, 141, 141, + + 141, 141, 141, 141, 141, 139, 54, 165, 149, 140, + 206, 54, 54, 162, 131, 600, 162, 597, 147, 206, + 131, 152, 152, 154, 154, 161, 141, 149, 149, 265, + 265, 54, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 172, 149, 149, 596, 152, 162, 154, 172, 56, + 56, 56, 132, 56, 172, 132, 588, 247, 412, 157, + 157, 412, 165, 177, 56, 56, 56, 245, 177, 177, + 245, 587, 56, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 157, 312, 157, 312, 576, 572, 312, 312, + 59, 59, 59, 247, 59, 570, 414, 157, 132, 414, + + 245, 132, 568, 157, 132, 59, 59, 59, 132, 145, + 328, 483, 566, 59, 483, 145, 145, 145, 145, 145, + 145, 145, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 163, 163, 163, 163, 163, 163, 163, 193, 234, + 193, 563, 334, 193, 193, 482, 482, 234, 234, 234, + 234, 234, 234, 234, 237, 423, 484, 561, 328, 484, + 237, 237, 237, 237, 237, 237, 237, 311, 538, 482, + 193, 538, 311, 541, 558, 234, 541, 311, 334, 311, + 163, 233, 233, 233, 233, 543, 546, 583, 543, 584, + 583, 423, 584, 233, 233, 233, 233, 233, 233, 233, + + 233, 233, 604, 241, 241, 604, 233, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 557, 556, 321, 321, + 321, 329, 546, 555, 329, 554, 241, 233, 241, 552, + 233, 531, 531, 233, 488, 488, 488, 233, 551, 549, + 248, 241, 321, 411, 411, 411, 411, 241, 248, 248, + 248, 248, 248, 248, 248, 531, 585, 547, 488, 585, + 585, 479, 479, 479, 479, 545, 615, 329, 411, 615, + 329, 341, 544, 329, 533, 533, 248, 329, 542, 341, + 341, 341, 341, 341, 341, 341, 479, 481, 481, 481, + 481, 534, 534, 537, 528, 527, 526, 525, 533, 523, + + 485, 485, 485, 485, 485, 573, 573, 341, 342, 522, + 521, 520, 481, 519, 518, 534, 342, 342, 342, 342, + 342, 342, 342, 342, 342, 485, 517, 515, 514, 573, + 513, 342, 342, 342, 342, 342, 530, 530, 530, 530, + 540, 540, 540, 540, 342, 342, 342, 342, 342, 342, + 342, 424, 424, 424, 424, 424, 424, 424, 424, 424, + 512, 530, 510, 509, 507, 540, 424, 424, 424, 424, + 424, 535, 535, 535, 535, 535, 575, 575, 506, 503, + 424, 424, 424, 424, 424, 424, 494, 494, 494, 494, + 494, 494, 494, 494, 494, 502, 535, 578, 578, 501, + + 575, 494, 494, 494, 494, 494, 577, 577, 577, 577, + 579, 579, 579, 579, 498, 494, 494, 494, 494, 494, + 494, 578, 581, 581, 581, 581, 582, 582, 586, 497, + 496, 577, 605, 605, 495, 579, 493, 586, 586, 586, + 586, 586, 586, 586, 586, 586, 492, 581, 607, 607, + 582, 603, 603, 603, 603, 491, 605, 608, 608, 608, + 608, 609, 609, 611, 611, 612, 612, 621, 621, 621, + 621, 490, 607, 622, 622, 489, 603, 624, 624, 626, + 626, 487, 608, 627, 627, 609, 486, 611, 478, 612, + 632, 632, 621, 630, 630, 630, 630, 622, 634, 634, + + 477, 624, 476, 626, 472, 471, 469, 627, 468, 466, + 463, 462, 461, 459, 632, 457, 456, 455, 630, 454, + 451, 449, 634, 637, 637, 637, 637, 637, 637, 637, + 637, 637, 637, 637, 637, 637, 637, 637, 637, 637, + 638, 638, 448, 638, 638, 638, 638, 638, 638, 638, + 638, 638, 638, 638, 638, 638, 638, 639, 639, 639, + 447, 445, 639, 640, 640, 443, 640, 640, 640, 640, + 640, 640, 641, 641, 442, 441, 641, 439, 641, 437, + 436, 435, 641, 641, 642, 642, 434, 642, 642, 642, + 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, + + 642, 643, 643, 643, 433, 431, 643, 644, 644, 644, + 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, + 644, 644, 644, 644, 645, 645, 645, 430, 429, 645, + 646, 428, 646, 646, 647, 647, 426, 647, 647, 422, + 647, 648, 648, 648, 648, 648, 648, 648, 648, 648, + 648, 648, 648, 648, 648, 648, 648, 648, 649, 649, + 421, 649, 649, 649, 649, 649, 649, 649, 649, 649, + 649, 649, 649, 649, 649, 650, 420, 419, 650, 650, + 418, 650, 650, 417, 650, 651, 651, 416, 651, 651, + 415, 651, 652, 413, 652, 652, 653, 653, 409, 407, + + 653, 406, 653, 403, 402, 401, 653, 653, 653, 654, + 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, + 654, 654, 654, 654, 654, 654, 655, 400, 399, 655, + 655, 398, 655, 655, 397, 655, 656, 656, 396, 656, + 656, 395, 656, 657, 657, 394, 657, 657, 393, 657, + 658, 392, 390, 658, 658, 389, 658, 658, 388, 658, + 659, 659, 659, 387, 385, 384, 383, 659, 659, 659, + 660, 382, 381, 379, 378, 377, 376, 660, 660, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 662, 662, 662, 320, 319, 318, - 317, 662, 662, 662, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - - 663, 664, 664, 664, 664, 664, 664, 664, 664, 315, - 314, 664, 313, 311, 309, 308, 305, 304, 303, 302, - 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, - 291, 290, 289, 288, 287, 286, 285, 284, 282, 281, - 279, 278, 277, 276, 275, 273, 272, 271, 270, 269, - 268, 267, 265, 264, 263, 262, 261, 259, 258, 255, - 254, 253, 252, 250, 244, 242, 241, 236, 230, 229, - 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, - 218, 217, 216, 215, 214, 213, 211, 210, 209, 208, - 207, 206, 205, 203, 201, 200, 199, 198, 197, 196, - - 194, 193, 192, 190, 189, 188, 187, 186, 185, 184, - 183, 182, 181, 180, 179, 178, 177, 176, 174, 173, - 172, 171, 170, 168, 167, 166, 165, 163, 159, 158, - 145, 143, 142, 136, 135, 134, 133, 132, 125, 124, - 123, 122, 121, 119, 118, 117, 116, 115, 114, 113, - 111, 110, 109, 107, 106, 105, 104, 103, 102, 101, - 100, 96, 95, 94, 93, 91, 90, 89, 88, 87, - 86, 85, 84, 82, 81, 80, 79, 78, 77, 76, - 75, 74, 73, 71, 69, 51, 46, 35, 33, 31, - 30, 25, 23, 22, 20, 18, 17, 16, 15, 9, - - 3, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622 + 661, 661, 661, 661, 661, 661, 662, 375, 373, 662, + + 662, 368, 662, 662, 367, 662, 663, 663, 663, 364, + 363, 362, 361, 663, 663, 663, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 665, 359, 358, 665, 665, 357, 665, + 665, 356, 665, 666, 666, 666, 666, 666, 666, 666, + 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, + 667, 667, 667, 667, 667, 667, 667, 667, 667, 667, + 667, 667, 667, 667, 667, 667, 667, 668, 668, 668, + 355, 353, 352, 351, 668, 668, 668, 669, 350, 349, + 348, 347, 345, 344, 669, 669, 670, 670, 670, 343, + + 339, 338, 336, 670, 670, 670, 671, 671, 671, 671, + 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, + 671, 671, 671, 672, 672, 672, 333, 332, 331, 330, + 672, 672, 672, 673, 673, 673, 673, 673, 673, 673, + 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, + 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, + 674, 674, 674, 674, 674, 674, 674, 675, 675, 675, + 675, 675, 675, 675, 675, 675, 675, 675, 675, 675, + 675, 675, 675, 675, 676, 676, 676, 326, 325, 324, + 323, 676, 676, 676, 677, 677, 677, 677, 677, 677, + + 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, + 677, 678, 678, 678, 678, 678, 678, 678, 678, 322, + 320, 678, 319, 318, 316, 314, 313, 310, 309, 308, + 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, + 297, 296, 295, 294, 293, 292, 291, 290, 289, 287, + 286, 284, 283, 282, 281, 280, 278, 277, 276, 275, + 274, 273, 272, 270, 269, 268, 267, 266, 264, 263, + 260, 259, 258, 257, 256, 255, 254, 252, 246, 244, + 243, 238, 232, 231, 230, 229, 228, 227, 226, 225, + 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, + + 213, 212, 211, 210, 209, 208, 207, 205, 203, 202, + 201, 200, 199, 198, 196, 195, 194, 192, 191, 190, + 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, + 179, 178, 176, 175, 174, 173, 171, 169, 168, 167, + 166, 164, 160, 159, 146, 144, 143, 137, 136, 135, + 134, 133, 126, 125, 124, 123, 122, 120, 119, 118, + 117, 116, 115, 114, 112, 111, 110, 108, 107, 106, + 105, 104, 103, 102, 101, 97, 96, 95, 94, 92, + 91, 90, 89, 88, 87, 86, 85, 83, 82, 81, + 80, 79, 78, 77, 76, 75, 74, 73, 71, 69, + + 51, 46, 35, 33, 31, 30, 23, 22, 20, 18, + 17, 16, 15, 9, 3, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636, 636, 636, 636, 636, 636, 636, 636, + 636, 636, 636 } ; extern int yy_flex_debug; @@ -1450,9 +1459,11 @@ static AST_Decl * idl_find_node (const char *); #undef ECHO #endif -#line 1455 "fe/idl.yy.cpp" +#define IDL4_KEYWORD(TOKEN_NAME) if (idl_global->idl_version_ >= IDL_VERSION_4) return TOKEN_NAME; + +#line 1467 "fe/idl.yy.cpp" /* SO we don't choke on files that use \r\n */ -#line 1457 "fe/idl.yy.cpp" +#line 1469 "fe/idl.yy.cpp" #define INITIAL 0 @@ -1678,10 +1689,10 @@ YY_DECL } { -#line 123 "fe/idl.ll" +#line 125 "fe/idl.ll" -#line 1686 "fe/idl.yy.cpp" +#line 1698 "fe/idl.yy.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1708,14 +1719,14 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 623 ) + if ( yy_current_state >= 637 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; *(yy_state_ptr)++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 622 ); + while ( yy_current_state != 636 ); yy_find_action: yy_current_state = *--(yy_state_ptr); @@ -1746,499 +1757,446 @@ YY_DECL { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 125 "fe/idl.ll" +#line 127 "fe/idl.ll" return IDL_ANY; YY_BREAK case 2: YY_RULE_SETUP -#line 126 "fe/idl.ll" +#line 128 "fe/idl.ll" return IDL_OBJECT; YY_BREAK case 3: YY_RULE_SETUP -#line 127 "fe/idl.ll" +#line 129 "fe/idl.ll" return IDL_MODULE; YY_BREAK case 4: YY_RULE_SETUP -#line 128 "fe/idl.ll" +#line 130 "fe/idl.ll" return IDL_RAISES; YY_BREAK case 5: YY_RULE_SETUP -#line 129 "fe/idl.ll" +#line 131 "fe/idl.ll" return IDL_READONLY; YY_BREAK case 6: YY_RULE_SETUP -#line 130 "fe/idl.ll" +#line 132 "fe/idl.ll" return IDL_ATTRIBUTE; YY_BREAK case 7: YY_RULE_SETUP -#line 131 "fe/idl.ll" +#line 133 "fe/idl.ll" return IDL_EXCEPTION; YY_BREAK case 8: YY_RULE_SETUP -#line 132 "fe/idl.ll" +#line 134 "fe/idl.ll" return IDL_CONTEXT; YY_BREAK case 9: YY_RULE_SETUP -#line 133 "fe/idl.ll" +#line 135 "fe/idl.ll" return IDL_INTERFACE; YY_BREAK case 10: YY_RULE_SETUP -#line 134 "fe/idl.ll" +#line 136 "fe/idl.ll" return IDL_CONST; YY_BREAK case 11: YY_RULE_SETUP -#line 135 "fe/idl.ll" +#line 137 "fe/idl.ll" return IDL_TYPEDEF; YY_BREAK case 12: YY_RULE_SETUP -#line 136 "fe/idl.ll" +#line 138 "fe/idl.ll" return IDL_STRUCT; YY_BREAK case 13: YY_RULE_SETUP -#line 137 "fe/idl.ll" +#line 139 "fe/idl.ll" return IDL_ENUM; YY_BREAK case 14: YY_RULE_SETUP -#line 138 "fe/idl.ll" +#line 140 "fe/idl.ll" return IDL_STRING; YY_BREAK case 15: YY_RULE_SETUP -#line 139 "fe/idl.ll" +#line 141 "fe/idl.ll" return IDL_WSTRING; YY_BREAK case 16: YY_RULE_SETUP -#line 140 "fe/idl.ll" +#line 142 "fe/idl.ll" return IDL_SEQUENCE; YY_BREAK case 17: YY_RULE_SETUP -#line 141 "fe/idl.ll" -return IDL_MAP; +#line 143 "fe/idl.ll" +return IDL_UNION; YY_BREAK case 18: YY_RULE_SETUP -#line 142 "fe/idl.ll" -return IDL_UNION; +#line 144 "fe/idl.ll" +return IDL_FIXED; YY_BREAK case 19: YY_RULE_SETUP -#line 143 "fe/idl.ll" -return IDL_FIXED; +#line 145 "fe/idl.ll" +return IDL_SWITCH; YY_BREAK case 20: YY_RULE_SETUP -#line 144 "fe/idl.ll" -return IDL_SWITCH; +#line 146 "fe/idl.ll" +return IDL_CASE; YY_BREAK case 21: YY_RULE_SETUP -#line 145 "fe/idl.ll" -return IDL_CASE; +#line 147 "fe/idl.ll" +return IDL_DEFAULT; YY_BREAK case 22: YY_RULE_SETUP -#line 146 "fe/idl.ll" -return IDL_DEFAULT; +#line 148 "fe/idl.ll" +return IDL_FLOAT; YY_BREAK case 23: YY_RULE_SETUP -#line 147 "fe/idl.ll" -return IDL_FLOAT; +#line 149 "fe/idl.ll" +return IDL_DOUBLE; YY_BREAK case 24: YY_RULE_SETUP -#line 148 "fe/idl.ll" -return IDL_DOUBLE; +#line 150 "fe/idl.ll" +return IDL_LONG; YY_BREAK case 25: YY_RULE_SETUP -#line 149 "fe/idl.ll" -return IDL_LONG; +#line 151 "fe/idl.ll" +return IDL_SHORT; YY_BREAK case 26: YY_RULE_SETUP -#line 150 "fe/idl.ll" -return IDL_SHORT; +#line 152 "fe/idl.ll" +return IDL_UNSIGNED; YY_BREAK case 27: YY_RULE_SETUP -#line 151 "fe/idl.ll" -return IDL_UNSIGNED; +#line 153 "fe/idl.ll" +return IDL_CHAR; YY_BREAK case 28: YY_RULE_SETUP -#line 152 "fe/idl.ll" -return IDL_CHAR; +#line 154 "fe/idl.ll" +return IDL_WCHAR; YY_BREAK case 29: YY_RULE_SETUP -#line 153 "fe/idl.ll" -return IDL_WCHAR; +#line 155 "fe/idl.ll" +return IDL_BOOLEAN; YY_BREAK case 30: YY_RULE_SETUP -#line 154 "fe/idl.ll" -return IDL_BOOLEAN; +#line 156 "fe/idl.ll" +return IDL_OCTET; YY_BREAK case 31: YY_RULE_SETUP -#line 155 "fe/idl.ll" -return IDL_OCTET; +#line 157 "fe/idl.ll" +return IDL_VOID; YY_BREAK case 32: YY_RULE_SETUP -#line 156 "fe/idl.ll" -return IDL_VOID; +#line 158 "fe/idl.ll" +return IDL_NATIVE; YY_BREAK case 33: YY_RULE_SETUP -#line 157 "fe/idl.ll" -return IDL_NATIVE; +#line 159 "fe/idl.ll" +return IDL_LOCAL; YY_BREAK case 34: YY_RULE_SETUP -#line 158 "fe/idl.ll" -return IDL_LOCAL; +#line 160 "fe/idl.ll" +return IDL_ABSTRACT; YY_BREAK case 35: YY_RULE_SETUP -#line 159 "fe/idl.ll" -return IDL_ABSTRACT; +#line 162 "fe/idl.ll" +return IDL_CUSTOM; YY_BREAK case 36: YY_RULE_SETUP -#line 161 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT8; - else - { - REJECT; - } -} +#line 163 "fe/idl.ll" +return IDL_FACTORY; YY_BREAK case 37: YY_RULE_SETUP -#line 169 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT8; - else - { - REJECT; - } -} +#line 164 "fe/idl.ll" +return IDL_PRIVATE; YY_BREAK case 38: YY_RULE_SETUP -#line 177 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT16; - else - { - REJECT; - } -} +#line 165 "fe/idl.ll" +return IDL_PUBLIC; YY_BREAK case 39: YY_RULE_SETUP -#line 185 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT16; - else - { - REJECT; - } -} +#line 166 "fe/idl.ll" +return IDL_SUPPORTS; YY_BREAK case 40: YY_RULE_SETUP -#line 193 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT32; - else - { - REJECT; - } -} +#line 167 "fe/idl.ll" +return IDL_TRUNCATABLE; YY_BREAK case 41: YY_RULE_SETUP -#line 201 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT32; - else - { - REJECT; - } -} +#line 168 "fe/idl.ll" +return IDL_VALUETYPE; YY_BREAK case 42: YY_RULE_SETUP -#line 209 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_INT64; - else - { - REJECT; - } -} +#line 170 "fe/idl.ll" +return IDL_COMPONENT; YY_BREAK case 43: YY_RULE_SETUP -#line 217 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_UINT64; - else - { - REJECT; - } -} +#line 171 "fe/idl.ll" +return IDL_CONSUMES; YY_BREAK case 44: YY_RULE_SETUP -#line 225 "fe/idl.ll" -{ - if (idl_global->idl_version_ >= IDL_VERSION_4) - return IDL_MAP; - else - { - REJECT; - } -} +#line 172 "fe/idl.ll" +return IDL_EMITS; YY_BREAK case 45: YY_RULE_SETUP -#line 234 "fe/idl.ll" -return IDL_CUSTOM; +#line 173 "fe/idl.ll" +return IDL_EVENTTYPE; YY_BREAK case 46: YY_RULE_SETUP -#line 235 "fe/idl.ll" -return IDL_FACTORY; +#line 174 "fe/idl.ll" +return IDL_FINDER; YY_BREAK case 47: YY_RULE_SETUP -#line 236 "fe/idl.ll" -return IDL_PRIVATE; +#line 175 "fe/idl.ll" +return IDL_GETRAISES; YY_BREAK case 48: YY_RULE_SETUP -#line 237 "fe/idl.ll" -return IDL_PUBLIC; +#line 176 "fe/idl.ll" +return IDL_HOME; YY_BREAK case 49: YY_RULE_SETUP -#line 238 "fe/idl.ll" -return IDL_SUPPORTS; +#line 177 "fe/idl.ll" +return IDL_IMPORT; YY_BREAK case 50: YY_RULE_SETUP -#line 239 "fe/idl.ll" -return IDL_TRUNCATABLE; +#line 178 "fe/idl.ll" +return IDL_MULTIPLE; YY_BREAK case 51: YY_RULE_SETUP -#line 240 "fe/idl.ll" -return IDL_VALUETYPE; +#line 179 "fe/idl.ll" +return IDL_PRIMARYKEY; YY_BREAK case 52: YY_RULE_SETUP -#line 242 "fe/idl.ll" -return IDL_COMPONENT; +#line 180 "fe/idl.ll" +return IDL_PROVIDES; YY_BREAK case 53: YY_RULE_SETUP -#line 243 "fe/idl.ll" -return IDL_CONSUMES; +#line 181 "fe/idl.ll" +return IDL_PUBLISHES; YY_BREAK case 54: YY_RULE_SETUP -#line 244 "fe/idl.ll" -return IDL_EMITS; +#line 182 "fe/idl.ll" +return IDL_SETRAISES; YY_BREAK case 55: YY_RULE_SETUP -#line 245 "fe/idl.ll" -return IDL_EVENTTYPE; +#line 183 "fe/idl.ll" +return IDL_TYPEID; YY_BREAK case 56: YY_RULE_SETUP -#line 246 "fe/idl.ll" -return IDL_FINDER; +#line 184 "fe/idl.ll" +return IDL_TYPEPREFIX; YY_BREAK case 57: YY_RULE_SETUP -#line 247 "fe/idl.ll" -return IDL_GETRAISES; +#line 185 "fe/idl.ll" +return IDL_USES; YY_BREAK case 58: YY_RULE_SETUP -#line 248 "fe/idl.ll" -return IDL_HOME; +#line 186 "fe/idl.ll" +return IDL_MANAGES; YY_BREAK case 59: YY_RULE_SETUP -#line 249 "fe/idl.ll" -return IDL_IMPORT; +#line 188 "fe/idl.ll" +return IDL_TYPENAME; YY_BREAK case 60: YY_RULE_SETUP -#line 250 "fe/idl.ll" -return IDL_MULTIPLE; +#line 189 "fe/idl.ll" +return IDL_PORT; YY_BREAK case 61: YY_RULE_SETUP -#line 251 "fe/idl.ll" -return IDL_PRIMARYKEY; +#line 190 "fe/idl.ll" +return IDL_MIRRORPORT; YY_BREAK case 62: YY_RULE_SETUP -#line 252 "fe/idl.ll" -return IDL_PROVIDES; +#line 191 "fe/idl.ll" +return IDL_PORTTYPE; YY_BREAK case 63: YY_RULE_SETUP -#line 253 "fe/idl.ll" -return IDL_PUBLISHES; +#line 192 "fe/idl.ll" +return IDL_CONNECTOR; YY_BREAK case 64: YY_RULE_SETUP -#line 254 "fe/idl.ll" -return IDL_SETRAISES; +#line 193 "fe/idl.ll" +return IDL_ALIAS; YY_BREAK case 65: YY_RULE_SETUP -#line 255 "fe/idl.ll" -return IDL_TYPEID; +#line 195 "fe/idl.ll" +return IDL_TRUETOK; YY_BREAK case 66: YY_RULE_SETUP -#line 256 "fe/idl.ll" -return IDL_TYPEPREFIX; +#line 196 "fe/idl.ll" +return IDL_FALSETOK; YY_BREAK case 67: YY_RULE_SETUP -#line 257 "fe/idl.ll" -return IDL_USES; +#line 198 "fe/idl.ll" +return IDL_INOUT; YY_BREAK case 68: YY_RULE_SETUP -#line 258 "fe/idl.ll" -return IDL_MANAGES; +#line 199 "fe/idl.ll" +return IDL_IN; YY_BREAK case 69: YY_RULE_SETUP -#line 260 "fe/idl.ll" -return IDL_TYPENAME; +#line 200 "fe/idl.ll" +return IDL_OUT; YY_BREAK case 70: YY_RULE_SETUP -#line 261 "fe/idl.ll" -return IDL_PORT; +#line 201 "fe/idl.ll" +return IDL_ONEWAY; YY_BREAK case 71: YY_RULE_SETUP -#line 262 "fe/idl.ll" -return IDL_MIRRORPORT; +#line 203 "fe/idl.ll" +return IDL_LEFT_SHIFT; YY_BREAK case 72: YY_RULE_SETUP -#line 263 "fe/idl.ll" -return IDL_PORTTYPE; +#line 204 "fe/idl.ll" +return IDL_RIGHT_SHIFT; YY_BREAK case 73: YY_RULE_SETUP -#line 264 "fe/idl.ll" -return IDL_CONNECTOR; +#line 205 "fe/idl.ll" +{ + tao_yylval.strval = ACE::strnew ("::"); + return IDL_SCOPE_DELIMITOR; + } YY_BREAK case 74: +/* rule 74 can match eol */ YY_RULE_SETUP -#line 265 "fe/idl.ll" -return IDL_ALIAS; +#line 210 "fe/idl.ll" +return IDL_ANNOTATION_DECL; // Allow annotation names that start with "annotation" YY_BREAK case 75: YY_RULE_SETUP -#line 267 "fe/idl.ll" -return IDL_TRUETOK; +#line 211 "fe/idl.ll" +return IDL_ANNOTATION_SYMBOL; YY_BREAK case 76: YY_RULE_SETUP -#line 268 "fe/idl.ll" -return IDL_FALSETOK; +#line 213 "fe/idl.ll" +IDL4_KEYWORD(IDL_INT8); REJECT; YY_BREAK case 77: YY_RULE_SETUP -#line 270 "fe/idl.ll" -return IDL_INOUT; +#line 214 "fe/idl.ll" +IDL4_KEYWORD(IDL_UINT8); REJECT; YY_BREAK case 78: YY_RULE_SETUP -#line 271 "fe/idl.ll" -return IDL_IN; +#line 215 "fe/idl.ll" +IDL4_KEYWORD(IDL_INT16); REJECT; YY_BREAK case 79: YY_RULE_SETUP -#line 272 "fe/idl.ll" -return IDL_OUT; +#line 216 "fe/idl.ll" +IDL4_KEYWORD(IDL_UINT16); REJECT; YY_BREAK case 80: YY_RULE_SETUP -#line 273 "fe/idl.ll" -return IDL_ONEWAY; +#line 217 "fe/idl.ll" +IDL4_KEYWORD(IDL_INT32); REJECT; YY_BREAK case 81: YY_RULE_SETUP -#line 275 "fe/idl.ll" -return IDL_LEFT_SHIFT; +#line 218 "fe/idl.ll" +IDL4_KEYWORD(IDL_UINT32); REJECT; YY_BREAK case 82: YY_RULE_SETUP -#line 276 "fe/idl.ll" -return IDL_RIGHT_SHIFT; +#line 219 "fe/idl.ll" +IDL4_KEYWORD(IDL_INT64); REJECT; YY_BREAK case 83: YY_RULE_SETUP -#line 277 "fe/idl.ll" -{ - tao_yylval.strval = ACE::strnew ("::"); - return IDL_SCOPE_DELIMITOR; - } +#line 220 "fe/idl.ll" +IDL4_KEYWORD(IDL_UINT64); REJECT; YY_BREAK case 84: -/* rule 84 can match eol */ YY_RULE_SETUP -#line 282 "fe/idl.ll" -return IDL_ANNOTATION_DECL; // Allow annotation names that start with "annotation" +#line 222 "fe/idl.ll" +IDL4_KEYWORD(IDL_BITFIELD); REJECT; YY_BREAK case 85: YY_RULE_SETUP -#line 283 "fe/idl.ll" -return IDL_ANNOTATION_SYMBOL; +#line 223 "fe/idl.ll" +IDL4_KEYWORD(IDL_BITMASK); REJECT; YY_BREAK case 86: YY_RULE_SETUP -#line 285 "fe/idl.ll" +#line 224 "fe/idl.ll" +IDL4_KEYWORD(IDL_BITSET); REJECT; + YY_BREAK +case 87: +YY_RULE_SETUP +#line 225 "fe/idl.ll" +IDL4_KEYWORD(IDL_MAP); REJECT; + YY_BREAK +case 88: +YY_RULE_SETUP +#line 227 "fe/idl.ll" { // Make sure that this identifier is not a C++ keyword. If it is, // prepend it with a _cxx_. Lookup in the perfect hash table for C++ @@ -2272,82 +2230,82 @@ YY_RULE_SETUP return IDENTIFIER; } YY_BREAK -case 87: +case 89: YY_RULE_SETUP -#line 318 "fe/idl.ll" +#line 260 "fe/idl.ll" { tao_yylval.dval = idl_atof (ace_yytext); return IDL_FLOATING_PT_LITERAL; } YY_BREAK -case 88: +case 90: YY_RULE_SETUP -#line 322 "fe/idl.ll" +#line 264 "fe/idl.ll" { tao_yylval.dval = idl_atof (ace_yytext); return IDL_FLOATING_PT_LITERAL; } YY_BREAK -case 89: +case 91: YY_RULE_SETUP -#line 327 "fe/idl.ll" +#line 269 "fe/idl.ll" { tao_yylval.fixval = ACE_CDR::Fixed::from_string (ace_yytext); return IDL_FIXED_PT_LITERAL; } YY_BREAK -case 90: +case 92: YY_RULE_SETUP -#line 332 "fe/idl.ll" +#line 274 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 10); return IDL_INTEGER_LITERAL; } YY_BREAK -case 91: +case 93: YY_RULE_SETUP -#line 336 "fe/idl.ll" +#line 278 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 10); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 92: +case 94: YY_RULE_SETUP -#line 340 "fe/idl.ll" +#line 282 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 16); return IDL_INTEGER_LITERAL; } YY_BREAK -case 93: +case 95: YY_RULE_SETUP -#line 344 "fe/idl.ll" +#line 286 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 16); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 94: +case 96: YY_RULE_SETUP -#line 348 "fe/idl.ll" +#line 290 "fe/idl.ll" { tao_yylval.ival = idl_atoi (ace_yytext, 8); return IDL_INTEGER_LITERAL; } YY_BREAK -case 95: +case 97: YY_RULE_SETUP -#line 352 "fe/idl.ll" +#line 294 "fe/idl.ll" { tao_yylval.uival = idl_atoui (ace_yytext, 8); return IDL_UINTEGER_LITERAL; } YY_BREAK -case 96: -/* rule 96 can match eol */ +case 98: +/* rule 98 can match eol */ YY_RULE_SETUP -#line 357 "fe/idl.ll" +#line 299 "fe/idl.ll" { /* Skip the quotes */ char * const tmp = ace_yytext; @@ -2369,10 +2327,10 @@ YY_RULE_SETUP return IDL_STRING_LITERAL; } YY_BREAK -case 97: -/* rule 97 can match eol */ +case 99: +/* rule 99 can match eol */ YY_RULE_SETUP -#line 377 "fe/idl.ll" +#line 319 "fe/idl.ll" { /* Skip the bookends */ char * const tmp = ACE_OS::strdup (ace_yytext); @@ -2393,102 +2351,90 @@ YY_RULE_SETUP return IDL_WSTRING_LITERAL; } YY_BREAK -case 98: +case 100: YY_RULE_SETUP -#line 396 "fe/idl.ll" +#line 338 "fe/idl.ll" { tao_yylval.cval = ace_yytext[1]; return IDL_CHARACTER_LITERAL; } YY_BREAK -case 99: +case 101: YY_RULE_SETUP -#line 400 "fe/idl.ll" +#line 342 "fe/idl.ll" { // octal character constant tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 100: +case 102: YY_RULE_SETUP -#line 405 "fe/idl.ll" +#line 347 "fe/idl.ll" { // hexadecimal character constant tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 101: +case 103: YY_RULE_SETUP -#line 410 "fe/idl.ll" +#line 352 "fe/idl.ll" { tao_yylval.cval = idl_escape_reader (ace_yytext + 1); return IDL_CHARACTER_LITERAL; } YY_BREAK -case 102: +case 104: YY_RULE_SETUP -#line 414 "fe/idl.ll" +#line 356 "fe/idl.ll" { // wide character constant tao_yylval.wcval = ace_yytext[2]; return IDL_WCHAR_LITERAL; } YY_BREAK -case 103: +case 105: YY_RULE_SETUP -#line 419 "fe/idl.ll" +#line 361 "fe/idl.ll" { // hexadecimal wide character constant tao_yylval.wcval = idl_wchar_escape_reader (ace_yytext + 2); return IDL_WCHAR_LITERAL; } YY_BREAK -case 104: -/* rule 104 can match eol */ -#line 425 "fe/idl.ll" -case 105: -/* rule 105 can match eol */ -YY_RULE_SETUP -#line 425 "fe/idl.ll" -{/* remember pragma */ - idl_global->set_lineno (idl_global->lineno () + 1); - idl_store_pragma (ace_yytext); - break; - } - YY_BREAK case 106: /* rule 106 can match eol */ -#line 431 "fe/idl.ll" +#line 367 "fe/idl.ll" case 107: /* rule 107 can match eol */ YY_RULE_SETUP -#line 431 "fe/idl.ll" -{/* ignore file */ - idl_global->set_lineno(idl_global->lineno () + 1); +#line 367 "fe/idl.ll" +{/* remember pragma */ + idl_global->set_lineno (idl_global->lineno () + 1); + idl_store_pragma (ace_yytext); break; } YY_BREAK case 108: /* rule 108 can match eol */ -#line 436 "fe/idl.ll" +#line 373 "fe/idl.ll" case 109: /* rule 109 can match eol */ YY_RULE_SETUP -#line 436 "fe/idl.ll" -{ - idl_parse_line_and_file (ace_yytext); +#line 373 "fe/idl.ll" +{/* ignore file */ + idl_global->set_lineno(idl_global->lineno () + 1); break; } YY_BREAK case 110: /* rule 110 can match eol */ -#line 441 "fe/idl.ll" +#line 378 "fe/idl.ll" case 111: /* rule 111 can match eol */ YY_RULE_SETUP -#line 441 "fe/idl.ll" +#line 378 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2496,11 +2442,11 @@ YY_RULE_SETUP YY_BREAK case 112: /* rule 112 can match eol */ -#line 446 "fe/idl.ll" +#line 383 "fe/idl.ll" case 113: /* rule 113 can match eol */ YY_RULE_SETUP -#line 446 "fe/idl.ll" +#line 383 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2508,11 +2454,11 @@ YY_RULE_SETUP YY_BREAK case 114: /* rule 114 can match eol */ -#line 451 "fe/idl.ll" +#line 388 "fe/idl.ll" case 115: /* rule 115 can match eol */ YY_RULE_SETUP -#line 451 "fe/idl.ll" +#line 388 "fe/idl.ll" { idl_parse_line_and_file (ace_yytext); break; @@ -2520,30 +2466,42 @@ YY_RULE_SETUP YY_BREAK case 116: /* rule 116 can match eol */ -#line 456 "fe/idl.ll" +#line 393 "fe/idl.ll" case 117: /* rule 117 can match eol */ YY_RULE_SETUP -#line 456 "fe/idl.ll" +#line 393 "fe/idl.ll" { - /* ignore cpp ident */ - idl_global->set_lineno (idl_global->lineno () + 1); + idl_parse_line_and_file (ace_yytext); break; } YY_BREAK case 118: /* rule 118 can match eol */ +#line 398 "fe/idl.ll" +case 119: +/* rule 119 can match eol */ +YY_RULE_SETUP +#line 398 "fe/idl.ll" +{ + /* ignore cpp ident */ + idl_global->set_lineno (idl_global->lineno () + 1); + break; + } + YY_BREAK +case 120: +/* rule 120 can match eol */ YY_RULE_SETUP -#line 461 "fe/idl.ll" +#line 403 "fe/idl.ll" { /* ignore comments */ idl_global->set_lineno(idl_global->lineno () + 1); break; } YY_BREAK -case 119: +case 121: YY_RULE_SETUP -#line 466 "fe/idl.ll" +#line 408 "fe/idl.ll" { for (;;) { @@ -2564,31 +2522,31 @@ YY_RULE_SETUP break; } YY_BREAK -case 120: +case 122: YY_RULE_SETUP -#line 485 "fe/idl.ll" +#line 427 "fe/idl.ll" break; YY_BREAK -case 121: -/* rule 121 can match eol */ +case 123: +/* rule 123 can match eol */ YY_RULE_SETUP -#line 486 "fe/idl.ll" +#line 428 "fe/idl.ll" { idl_global->set_lineno (idl_global->lineno () + 1); break; } YY_BREAK -case 122: +case 124: YY_RULE_SETUP -#line 490 "fe/idl.ll" +#line 432 "fe/idl.ll" return ace_yytext[0]; YY_BREAK -case 123: +case 125: YY_RULE_SETUP -#line 492 "fe/idl.ll" +#line 434 "fe/idl.ll" ECHO; YY_BREAK -#line 2593 "fe/idl.yy.cpp" +#line 2552 "fe/idl.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2854,7 +2812,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 623 ) + if ( yy_current_state >= 637 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -2877,11 +2835,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 623 ) + if ( yy_current_state >= 637 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 622); + yy_is_jam = (yy_current_state == 636); if ( ! yy_is_jam ) *(yy_state_ptr)++ = yy_current_state; @@ -3569,7 +3527,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 492 "fe/idl.ll" +#line 434 "fe/idl.ll" /* subroutines */ diff --git a/TAO/tao/idl_features.h b/TAO/tao/idl_features.h index 5c58231ee8463..0068cb9cd4fdf 100644 --- a/TAO/tao/idl_features.h +++ b/TAO/tao/idl_features.h @@ -48,6 +48,10 @@ # define TAO_IDL_HAS_ANNOTATIONS TAO_IDL_IDL_VERSION >= 0x40000 #endif +#ifndef TAO_IDL_HAS_EMPTY_ANNOTATION_PARAMS +# define TAO_IDL_HAS_EMPTY_ANNOTATION_PARAMS TAO_IDL_IDL_VERSION >= 0x40000 +#endif + #ifndef TAO_IDL_HAS_ANONYMOUS_TYPES # define TAO_IDL_HAS_ANONYMOUS_TYPES TAO_IDL_IDL_VERSION >= 0x40000 #endif @@ -57,13 +61,17 @@ #endif #ifndef TAO_IDL_HAS_OCTET_AND_WCHAR_UNION_DISCS -# define TAO_IDL_HAS_OCTET_AND_WCHAR_UNION_DISCS 0 +# define TAO_IDL_HAS_OCTET_AND_WCHAR_UNION_DISCS TAO_IDL_IDL_VERSION >= 0x40000 #endif #ifndef TAO_IDL_HAS_STRUCT_INHERITANCE # define TAO_IDL_HAS_STRUCT_INHERITANCE 0 #endif +#ifndef TAO_IDL_HAS_EMPTY_STRUCTS +# define TAO_IDL_HAS_EMPTY_STRUCTS TAO_IDL_IDL_VERSION >= 0x40000 +#endif + #ifndef TAO_IDL_HAS_MAP # define TAO_IDL_HAS_MAP TAO_IDL_IDL_VERSION >= 0x40000 #endif diff --git a/TAO/tests/IDLv4/annotations/annotation_tests.cpp b/TAO/tests/IDLv4/annotations/annotation_tests.cpp index bd874852c0e6c..66f5323f674d9 100644 --- a/TAO/tests/IDLv4/annotations/annotation_tests.cpp +++ b/TAO/tests/IDLv4/annotations/annotation_tests.cpp @@ -354,6 +354,18 @@ annotation_tests () t.assert_annotation_appl (module1, 0, test_annotation_1); } catch (Failed const &) {} + try { + Annotation_Test t ("Empty Annotation Application Before Fully Scopped Type"); + AST_Field *member = t.run ( + "typedef uint32 fully_scopped_type;\n" + "struct empty_annotation_before_fully_scopped_type {\n" + " @test_annotation_1() ::fully_scopped_type member;\n" + "};\n" + ).assert_node ("::empty_annotation_before_fully_scopped_type::member"); + t.assert_annotation_appl_count (member, 1); + t.assert_annotation_appl (member, 0, test_annotation_1); + } catch (Failed const &) {} + try { Annotation_Test t ("Struct Annotation Application"); AST_Decl *struct1 = t.run ( @@ -1097,7 +1109,7 @@ annotation_tests () } } } -} catch (Failed const &) {} + } catch (Failed const &) {} // Done, Print Overall Results Annotation_Test::results (); diff --git a/TAO/tests/IDLv4/structs/.gitignore b/TAO/tests/IDLv4/structs/.gitignore new file mode 100644 index 0000000000000..e1555c28d5ad0 --- /dev/null +++ b/TAO/tests/IDLv4/structs/.gitignore @@ -0,0 +1,5 @@ +/testC.cpp +/testC.h +/testC.inl +/testS.cpp +/testS.h diff --git a/TAO/tests/IDLv4/structs/IDLv4_structs.mpc b/TAO/tests/IDLv4/structs/IDLv4_structs.mpc new file mode 100644 index 0000000000000..e16cb11874870 --- /dev/null +++ b/TAO/tests/IDLv4/structs/IDLv4_structs.mpc @@ -0,0 +1,6 @@ +project: taoexe { + idlflags += --idl-version 4 + IDL_Files { + test.idl + } +} diff --git a/TAO/tests/IDLv4/structs/test.idl b/TAO/tests/IDLv4/structs/test.idl new file mode 100644 index 0000000000000..af8c22f546f36 --- /dev/null +++ b/TAO/tests/IDLv4/structs/test.idl @@ -0,0 +1,17 @@ +struct EmptyStruct { +}; + +struct StructWithEmptyStruct { + EmptyStruct empty; +}; + +#include __TAO_IDL_FEATURES +#if TAO_IDL_HAS_STRUCT_INHERITANCE +struct Derived1 : EmptyStruct { + int16 member1; +}; + +struct Derived2 : Derived1 { + int32 member2; +}; +#endif diff --git a/TAO/tests/IDLv4/union_disc/.gitignore b/TAO/tests/IDLv4/union_disc/.gitignore new file mode 100644 index 0000000000000..e1555c28d5ad0 --- /dev/null +++ b/TAO/tests/IDLv4/union_disc/.gitignore @@ -0,0 +1,5 @@ +/testC.cpp +/testC.h +/testC.inl +/testS.cpp +/testS.h diff --git a/TAO/tests/IDLv4/union_disc/IDLv4_union_disc.mpc b/TAO/tests/IDLv4/union_disc/IDLv4_union_disc.mpc new file mode 100644 index 0000000000000..e16cb11874870 --- /dev/null +++ b/TAO/tests/IDLv4/union_disc/IDLv4_union_disc.mpc @@ -0,0 +1,6 @@ +project: taoexe { + idlflags += --idl-version 4 + IDL_Files { + test.idl + } +} diff --git a/TAO/tests/IDLv4/union_disc/test.idl b/TAO/tests/IDLv4/union_disc/test.idl new file mode 100644 index 0000000000000..8da1d160088c3 --- /dev/null +++ b/TAO/tests/IDLv4/union_disc/test.idl @@ -0,0 +1,21 @@ +union WcharUnion switch (wchar) { +case L'i': + int32 i32; +case L'u': + uint32 u32; +default: + string str; +}; + +union OctetUnion switch (octet) { +case 1: + boolean b; +case 8: + int8 i8; +case 16: + int8 i16; +case 32: + int32 i32; +default: + string str; +}; From 1d95ccaf016c2c03bb5ad030bc6520230c36682e Mon Sep 17 00:00:00 2001 From: Fred Hornsey Date: Mon, 10 Jun 2024 16:51:01 -0500 Subject: [PATCH 353/445] Respond to Review and Fix Typedefs in Union Disc --- TAO/NEWS | 4 +- TAO/TAO_IDL/fe/idl.tab.cpp | 24 ++++++------ TAO/TAO_IDL/fe/idl.ypp | 24 ++++++------ TAO/tests/IDLv4/union_disc/test.idl | 60 +++++++++++++++++++++-------- 4 files changed, 72 insertions(+), 40 deletions(-) diff --git a/TAO/NEWS b/TAO/NEWS index 3973b95ff536a..3e039b95c8a14 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -2,13 +2,15 @@ USER VISIBLE CHANGES BETWEEN TAO-4.0.0 and TAO-4.0.1 ==================================================== - TAO_IDL: - - Support the following IDL v4 features: + - Support the following IDL v4 features (may not work everywhere in TAO): - Empty structs - `octet` and `wchar` union discriminators + - Allow using `typedef`s of `int8` and `uint8` as union discriminators - Allow using empty parentheses in annotation applications to workaround syntax errors when an annotation with no arguments has to be followed by a complete scoped name: `@example_annotation() ::ex::ExampleType` + This is a proposed solution to an IDL spec issue. - Reserve the `bitfield`, `bitmask`, and `bitset` keywords in IDL v4 (these are not implemented yet) - Allow using `map` as an identifier in IDL v3 again diff --git a/TAO/TAO_IDL/fe/idl.tab.cpp b/TAO/TAO_IDL/fe/idl.tab.cpp index fe70b8c71c4c9..de355a5a88122 100644 --- a/TAO/TAO_IDL/fe/idl.tab.cpp +++ b/TAO/TAO_IDL/fe/idl.tab.cpp @@ -5084,7 +5084,7 @@ yyparse (void) { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Annotations are not allowed in IDL3"); + "Annotations are not allowed in IDL versions before 4"); Identifier *id = (yyvsp[-1].idval); UTL_ScopedName name (id, 0); @@ -5234,7 +5234,7 @@ yyparse (void) { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Annotations are not allowed in IDL3"); + "Annotations are not allowed in IDL versions before 4"); AST_Annotation_Decl *decl = 0; UTL_ScopedName *name = (yyvsp[0].idlist); @@ -6010,7 +6010,7 @@ yyparse (void) { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Empty structs are not allowed in IDL3"); + "Empty structs are not allowed in IDL versions before 4"); idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); } @@ -6324,7 +6324,7 @@ yyparse (void) { if ((yyvsp[0].etval) == AST_Expression::EV_wchar && idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Using wchar as a union discriminator isn't allowed in IDL3"); + "Using wchar as a union discriminator isn't allowed in IDL versions before 4"); (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ((yyvsp[0].etval)); } @@ -6336,7 +6336,7 @@ yyparse (void) { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Using octet as a union discriminator isn't allowed in IDL3"); + "Using octet as a union discriminator isn't allowed in IDL versions before 4"); (yyval.dcval) = idl_global->scopes ().bottom ()->lookup_primitive_type ((yyvsp[0].etval)); } @@ -6366,8 +6366,7 @@ yyparse (void) * typedef's to arrive at the base type at the end of the * chain. */ - d = - s->lookup_by_name ((yyvsp[0].idlist)); + d = s->lookup_by_name ((yyvsp[0].idlist)); if (s != 0 && d != 0) { @@ -6392,6 +6391,8 @@ yyparse (void) case AST_PredefinedType::PT_ulonglong: case AST_PredefinedType::PT_short: case AST_PredefinedType::PT_ushort: + case AST_PredefinedType::PT_int8: + case AST_PredefinedType::PT_uint8: case AST_PredefinedType::PT_char: case AST_PredefinedType::PT_boolean: (yyval.dcval) = p; @@ -6399,11 +6400,10 @@ yyparse (void) break; case AST_PredefinedType::PT_wchar: case AST_PredefinedType::PT_octet: - /* octets and wchars are not allowed */ - idl_global->err ()->error0 ( - UTL_Error::EIDL_DISC_TYPE - ); - (yyval.dcval) = 0; + if (idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Using octet or wchar as a union discriminator isn't allowed in IDL versions before 4"); + (yyval.dcval) = p; found = true; break; default: diff --git a/TAO/TAO_IDL/fe/idl.ypp b/TAO/TAO_IDL/fe/idl.ypp index 6444926eb9187..04662cac902d3 100644 --- a/TAO/TAO_IDL/fe/idl.ypp +++ b/TAO/TAO_IDL/fe/idl.ypp @@ -2370,7 +2370,7 @@ annotation_dcl { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Annotations are not allowed in IDL3"); + "Annotations are not allowed in IDL versions before 4"); Identifier *id = $2; UTL_ScopedName name (id, 0); @@ -2516,7 +2516,7 @@ annotation_appl { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Annotations are not allowed in IDL3"); + "Annotations are not allowed in IDL versions before 4"); AST_Annotation_Decl *decl = 0; UTL_ScopedName *name = $2; @@ -3174,7 +3174,7 @@ struct_body { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Empty structs are not allowed in IDL3"); + "Empty structs are not allowed in IDL versions before 4"); idl_global->set_parse_state (IDL_GlobalData::PS_StructQsSeen); } @@ -3436,7 +3436,7 @@ switch_type_spec : { if ($1 == AST_Expression::EV_wchar && idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Using wchar as a union discriminator isn't allowed in IDL3"); + "Using wchar as a union discriminator isn't allowed in IDL versions before 4"); $$ = idl_global->scopes ().bottom ()->lookup_primitive_type ($1); } @@ -3444,7 +3444,7 @@ switch_type_spec : { if (idl_global->idl_version_ < IDL_VERSION_4) idl_global->err ()->idl_version_error ( - "Using octet as a union discriminator isn't allowed in IDL3"); + "Using octet as a union discriminator isn't allowed in IDL versions before 4"); $$ = idl_global->scopes ().bottom ()->lookup_primitive_type ($1); } @@ -3467,8 +3467,7 @@ switch_type_spec : * typedef's to arrive at the base type at the end of the * chain. */ - d = - s->lookup_by_name ($1); + d = s->lookup_by_name ($1); if (s != 0 && d != 0) { @@ -3493,6 +3492,8 @@ switch_type_spec : case AST_PredefinedType::PT_ulonglong: case AST_PredefinedType::PT_short: case AST_PredefinedType::PT_ushort: + case AST_PredefinedType::PT_int8: + case AST_PredefinedType::PT_uint8: case AST_PredefinedType::PT_char: case AST_PredefinedType::PT_boolean: $$ = p; @@ -3500,11 +3501,10 @@ switch_type_spec : break; case AST_PredefinedType::PT_wchar: case AST_PredefinedType::PT_octet: - /* octets and wchars are not allowed */ - idl_global->err ()->error0 ( - UTL_Error::EIDL_DISC_TYPE - ); - $$ = 0; + if (idl_global->idl_version_ < IDL_VERSION_4) + idl_global->err ()->idl_version_error ( + "Using octet or wchar as a union discriminator isn't allowed in IDL versions before 4"); + $$ = p; found = true; break; default: diff --git a/TAO/tests/IDLv4/union_disc/test.idl b/TAO/tests/IDLv4/union_disc/test.idl index 8da1d160088c3..92c34251c9c4e 100644 --- a/TAO/tests/IDLv4/union_disc/test.idl +++ b/TAO/tests/IDLv4/union_disc/test.idl @@ -1,21 +1,51 @@ -union WcharUnion switch (wchar) { +typedef wchar wchar_t; +const wchar wchar_const = L'u'; +union WcharUnion switch (wchar_t) { +/* TODO: https://github.com/DOCGroup/ACE_TAO/issues/1284 +case L'\u0': + boolean b; +*/ case L'i': int32 i32; -case L'u': +case wchar_const: uint32 u32; -default: - string str; +/* TODO: https://github.com/DOCGroup/ACE_TAO/issues/1284 +case L'\uffff': + string s; +*/ }; -union OctetUnion switch (octet) { -case 1: - boolean b; -case 8: - int8 i8; -case 16: - int8 i16; -case 32: - int32 i32; -default: - string str; +typedef octet octet_t; +const octet octet_const = 1; +union OctetUnion switch (octet_t) { +case 0: + octet a; +case octet_const: + octet b; +case 255: + octet c; +}; + +typedef uint8 uint8_t; +const uint8 uint8_const = 1; +union Uint8Union switch (uint8_t) { +case 0: + uint8 a; +case uint8_const: + uint8 b; +case 255: + uint8 c; +}; + +typedef int8 int8_t; +const int8 int8_const = 1; +union Int8Union switch (int8_t) { +case -128: + int8 a; +case 0: + int8 b; +case int8_const: + int8 c; +case 127: + int8 d; }; From fe02c11dae4e4ea4834e37223d88115a35722ab8 Mon Sep 17 00:00:00 2001 From: Fred Hornsey Date: Tue, 11 Jun 2024 12:57:14 -0500 Subject: [PATCH 354/445] Remove ACE_UNUSED_ARG --- .../be/be_visitor_structure/cdr_op_cs.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp index 67a9c202222be..17b4bae8e66fc 100644 --- a/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp @@ -52,13 +52,14 @@ be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) // Set the sub state as generating code for the output operator. this->ctx_->sub_state (TAO_CodeGen::TAO_CDR_OUTPUT); + const bool empty = node->nfields () == 0; + const char *const strm = empty ? "" : "strm"; + const char *const tao_aggregate = empty ? "" : "_tao_aggregate"; *os << "::CORBA::Boolean operator<< (" << be_idt << be_idt_nl - << "TAO_OutputCDR &strm," << be_nl - << "const " << node->name () << " &_tao_aggregate)" << be_uidt + << "TAO_OutputCDR &" << strm << "," << be_nl + << "const " << node->name () << " &" << tao_aggregate << ")" << be_uidt << be_uidt_nl - << "{" << be_idt_nl - << "ACE_UNUSED_ARG(strm);" << be_nl - << "ACE_UNUSED_ARG(_tao_aggregate);" << be_nl; + << "{" << be_idt_nl; be_visitor_context new_ctx (*this->ctx_); be_visitor_cdr_op_field_decl field_decl (&new_ctx); @@ -94,7 +95,7 @@ be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) if (! node->is_local ()) { - *os << "strm"; + *os << strm; } *os << "," << be_nl @@ -102,13 +103,11 @@ be_visitor_structure_cdr_op_cs::visit_structure (be_structure *node) if (! node->is_local ()) { - *os << "_tao_aggregate"; + *os << tao_aggregate; } *os << ")" << be_uidt << be_uidt_nl - << "{" << be_idt_nl - << "ACE_UNUSED_ARG(strm);" << be_nl - << "ACE_UNUSED_ARG(_tao_aggregate);" << be_nl; + << "{" << be_idt_nl; if (node->is_local ()) { From dee98e4f47b7f5922607909e985d9a21bd83d579 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 17 Jun 2024 12:26:57 +0200 Subject: [PATCH 355/445] Use std::string_view as part of Exception_Data * TAO/tao/Exception_Data.h: * TAO/tao/Messaging/ExceptionHolder_i.cpp: * TAO/tao/operation_details.cpp: --- TAO/tao/Exception_Data.h | 3 ++- TAO/tao/Messaging/ExceptionHolder_i.cpp | 4 ++-- TAO/tao/operation_details.cpp | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/TAO/tao/Exception_Data.h b/TAO/tao/Exception_Data.h index 071d6cfd8dc90..d0518ba7e6122 100644 --- a/TAO/tao/Exception_Data.h +++ b/TAO/tao/Exception_Data.h @@ -19,6 +19,7 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "tao/orbconf.h" +#include TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -50,7 +51,7 @@ namespace TAO struct Exception_Data { /// Repository id of the exception. - const char *id; + std::string_view id; /// The allocator for this exception. TAO_Exception_Alloc alloc; diff --git a/TAO/tao/Messaging/ExceptionHolder_i.cpp b/TAO/tao/Messaging/ExceptionHolder_i.cpp index 4fb71b15a0d3b..3d98454e0ca9c 100644 --- a/TAO/tao/Messaging/ExceptionHolder_i.cpp +++ b/TAO/tao/Messaging/ExceptionHolder_i.cpp @@ -100,12 +100,12 @@ namespace TAO // This is important to decode the exception. for (CORBA::ULong i = 0; i != this->count_; ++i) { - if (ACE_OS::strcmp (type_id.in (), this->data_[i].id) != 0) + if (this->data_[i].id.compare(type_id.in ()) != 0) continue; CORBA::Exception * const exception = this->data_[i].alloc (); - if (exception == 0) + if (!exception) { throw ::CORBA::NO_MEMORY (TAO::VMCID, CORBA::COMPLETED_YES); } diff --git a/TAO/tao/operation_details.cpp b/TAO/tao/operation_details.cpp index 843b3cbb75f08..4fab6ebc30a62 100644 --- a/TAO/tao/operation_details.cpp +++ b/TAO/tao/operation_details.cpp @@ -20,7 +20,7 @@ TAO_Operation_Details::corba_exception (const char *id) const { for (CORBA::ULong i = 0; i != this->ex_count_; ++i) { - if (ACE_OS::strcmp (id, this->ex_data_[i].id) != 0) + if (this->ex_data_[i].id.compare (id) != 0) { continue; } @@ -46,7 +46,7 @@ TAO_Operation_Details::has_exception (::CORBA::Exception& ex) const { for (CORBA::ULong i = 0; i != this->ex_count_; ++i) { - if (ACE_OS::strcmp (ex._rep_id (), this->ex_data_[i].id) == 0) + if (this->ex_data_[i].id.compare(ex._rep_id ()) == 0) { return true; } From dcaae05c663946aee2af21bf69213ff9ffe5d657 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 18 Jun 2024 08:35:50 +0200 Subject: [PATCH 356/445] Upgrade to vcpkg 2024.06.15 --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 5c95276a4ce3b..c506e797a70e8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: 01f602195983451bc83e72f4214af2cbc495aa94 + vcpkgGitCommitId: f7423ee180c4b7f40d43402c2feb3859161ef625 runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From 15193a49314e5866a4c24f5aa3f0f68fe3673881 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 27 Jun 2024 09:21:47 +0200 Subject: [PATCH 357/445] Use nullptr * TAO/tao/Object.inl: --- TAO/tao/Object.inl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TAO/tao/Object.inl b/TAO/tao/Object.inl index 156d2348018a1..0059623312d7a 100644 --- a/TAO/tao/Object.inl +++ b/TAO/tao/Object.inl @@ -8,7 +8,7 @@ ACE_INLINE CORBA::Boolean CORBA::is_nil<> (CORBA::Object_ptr obj) { - if (obj == 0) + if (!obj) { return true; } @@ -24,8 +24,8 @@ CORBA::Object::Object (int) is_local_ (true), is_evaluated_ (true), ior_ (), - orb_core_ (0), - protocol_proxy_ (0) + orb_core_ (nullptr), + protocol_proxy_ (nullptr) { } From e1dafb26356fb94bcb0b7def1121de9c9da68dca Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 2 Jul 2024 09:11:09 +0200 Subject: [PATCH 358/445] Document BCC64X environment variable * ACE/ACE-INSTALL.html: --- ACE/ACE-INSTALL.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index 7bed37506625e..6b16336f28c78 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -1,4 +1,4 @@ - + Building and Installing ACE and Its Auxiliary Libraries and Services @@ -679,9 +679,9 @@

                          Building and Installing ACE on Windows with Embarcader set CODEGUARD=1

                          Set one of the following environment variable to 1 to select which Embarcadero - C++ compiler has to be used. Valid environment variables are BCC32, BCC32C, and BCC64. + C++ compiler has to be used. Valid environment variables are BCC32, BCC32C, BCC64, and BCC64X.
                          - set BCC32=1
                          + set BCC32=1

                          You can then start the build with the command
                          make -f Makefile.bmak all

                          From 85da8c9b6c02c9ef197d79ef862258ef051b3852 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 2 Jul 2024 09:12:28 +0200 Subject: [PATCH 359/445] Revert change * ACE/ACE-INSTALL.html: --- ACE/ACE-INSTALL.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index 6b16336f28c78..e190e65e6696f 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -1,4 +1,4 @@ - + Building and Installing ACE and Its Auxiliary Libraries and Services From 6d2c85b1ad5a44856f3a982e89d8a6b68569e79b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 2 Jul 2024 09:18:03 +0200 Subject: [PATCH 360/445] Remove BCC32, that compiler doesn't support C++17 * ACE/ACE-INSTALL.html: --- ACE/ACE-INSTALL.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index e190e65e6696f..66e9a9d48b83b 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -679,9 +679,9 @@

                          Building and Installing ACE on Windows with Embarcader set CODEGUARD=1

                          Set one of the following environment variable to 1 to select which Embarcadero - C++ compiler has to be used. Valid environment variables are BCC32, BCC32C, BCC64, and BCC64X. + C++ compiler has to be used. Valid environment variables are BCC32C, BCC64, and BCC64X.
                          - set BCC32=1

                          + set BCC64X=1

                          You can then start the build with the command
                          make -f Makefile.bmak all

                          From 4842ed0fb9c8f4ac2dcada18b361f5c5695f4109 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 3 Jul 2024 09:40:11 +0200 Subject: [PATCH 361/445] Update macosx.yml Upgrade to macos 12/13 runners --- .github/workflows/macosx.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index 91e90be6eb331..c9e2e23c0f9ab 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-11, macos-12] + os: [macos-12, macos-13] include: - platform_file: include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU runs-on: ${{ matrix.os }} From edd8fa7b611df55dd523a2b1da6631e62246dd23 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 13 Jul 2024 10:56:24 +0200 Subject: [PATCH 362/445] Test that time_t is at least 8 bytes, if not, give an error message in the log * ACE/tests/Time_Value_Test.cpp: --- ACE/tests/Time_Value_Test.cpp | 56 +++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/ACE/tests/Time_Value_Test.cpp b/ACE/tests/Time_Value_Test.cpp index 2698a6994c13a..08c55e5d26127 100644 --- a/ACE/tests/Time_Value_Test.cpp +++ b/ACE/tests/Time_Value_Test.cpp @@ -96,22 +96,32 @@ run_main (int, ACE_TCHAR *[]) ACE_UINT64 ms = 0; msec_test.msec (ms); if (ms != 42555) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("msec test failed: %Q should be 42555\n"), - ms)); + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("msec test failed: %Q should be 42555\n"), + ms)); + ++ret; + } + ms = 0; ms = msec_test.get_msec (); if (ms != 42555) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("get_msec test failed: %Q should be 42555\n"), - ms)); + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("get_msec test failed: %Q should be 42555\n"), + ms)); + ++ret; + } ACE_Time_Value const msec_test2 (42, 555000); ms = 0; msec_test2.msec (ms); if (ms != 42555) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("msec const test failed: %Q should be 42555\n"), - ms)); + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("msec const test failed: %Q should be 42555\n"), + ms)); + ++ret; + } // Test setting double values ACE_Time_Value d1(10, 500000); @@ -165,13 +175,18 @@ run_main (int, ACE_TCHAR *[]) ACE_Time_Value msec_test3; msec_test3.set_msec (ms); if (msec_test3.sec () != 42) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("set_msec test failed: %d secs should be 42\n"), - msec_test3.sec ())); + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("set_msec test failed: %d secs should be 42\n"), + msec_test3.sec ())); + ++ret; + } if (msec_test3.usec () != 555000) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("set_msec test failed: %d usecs should be 555000\n"), - msec_test3.usec ())); + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("set_msec test failed: %d usecs should be 555000\n"), + msec_test3.usec ())); + } std::ostringstream ost; ost << ACE_Time_Value(1); @@ -192,6 +207,17 @@ run_main (int, ACE_TCHAR *[]) ost << ACE_Time_Value(); ACE_TEST_ASSERT( ost.str() == "0" ); + if (sizeof(time_t) < 8) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("time_t not at least 64bit, this platform will have problems after 2038\n"))); + } + else + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("time_t at least 64bit, this platform will not have problems after 2038\n"))); + } + ACE_END_TEST; return ret; From 9be41577ed2fb86d6bfbc758fdb757ffb3ce61b7 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sun, 14 Jul 2024 09:56:56 +0200 Subject: [PATCH 363/445] Return error when platform doesn't have 64bit time_t * ACE/tests/Time_Value_Test.cpp: --- ACE/tests/Time_Value_Test.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ACE/tests/Time_Value_Test.cpp b/ACE/tests/Time_Value_Test.cpp index 08c55e5d26127..98bf4cab5eb7c 100644 --- a/ACE/tests/Time_Value_Test.cpp +++ b/ACE/tests/Time_Value_Test.cpp @@ -186,6 +186,7 @@ run_main (int, ACE_TCHAR *[]) ACE_ERROR ((LM_ERROR, ACE_TEXT ("set_msec test failed: %d usecs should be 555000\n"), msec_test3.usec ())); + ++ret; } std::ostringstream ost; @@ -211,11 +212,12 @@ run_main (int, ACE_TCHAR *[]) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("time_t not at least 64bit, this platform will have problems after 2038\n"))); + ++ret; } else { ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("time_t at least 64bit, this platform will not have problems after 2038\n"))); + ACE_TEXT ("time_t is at least 64bit, this platform will not have problems after 2038\n"))); } ACE_END_TEST; From d89f6928aa1ecd9da65989a170b2a808206a455a Mon Sep 17 00:00:00 2001 From: Like Ma Date: Sun, 14 Jul 2024 13:13:37 +0800 Subject: [PATCH 364/445] Default Log_Msg_* dtors --- ACE/ace/Log_Msg_Backend.cpp | 9 --------- ACE/ace/Log_Msg_Backend.h | 2 +- ACE/ace/Log_Msg_Callback.cpp | 9 --------- ACE/ace/Log_Msg_Callback.h | 2 +- ACE/ace/Log_Msg_UNIX_Syslog.h | 10 +++++----- ACE/ace/ace.mpc | 2 -- ACE/ace/ace_for_tao.mpc | 2 -- 7 files changed, 7 insertions(+), 29 deletions(-) delete mode 100644 ACE/ace/Log_Msg_Backend.cpp delete mode 100644 ACE/ace/Log_Msg_Callback.cpp diff --git a/ACE/ace/Log_Msg_Backend.cpp b/ACE/ace/Log_Msg_Backend.cpp deleted file mode 100644 index 0cdad7eb6d31a..0000000000000 --- a/ACE/ace/Log_Msg_Backend.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "ace/Log_Msg_Backend.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_Log_Msg_Backend::~ACE_Log_Msg_Backend () -{ -} - -ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/Log_Msg_Backend.h b/ACE/ace/Log_Msg_Backend.h index a003f70cb6227..e5bad0c7fd714 100644 --- a/ACE/ace/Log_Msg_Backend.h +++ b/ACE/ace/Log_Msg_Backend.h @@ -40,7 +40,7 @@ class ACE_Export ACE_Log_Msg_Backend { public: /// No-op virtual destructor. - virtual ~ACE_Log_Msg_Backend (); + virtual ~ACE_Log_Msg_Backend () = default; /** * Open the back end object. Perform any actions needed to prepare diff --git a/ACE/ace/Log_Msg_Callback.cpp b/ACE/ace/Log_Msg_Callback.cpp deleted file mode 100644 index d86575567a8d4..0000000000000 --- a/ACE/ace/Log_Msg_Callback.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "ace/Log_Msg_Callback.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_Log_Msg_Callback::~ACE_Log_Msg_Callback () -{ -} - -ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/Log_Msg_Callback.h b/ACE/ace/Log_Msg_Callback.h index 812c2c7ecda7d..ded34fac42875 100644 --- a/ACE/ace/Log_Msg_Callback.h +++ b/ACE/ace/Log_Msg_Callback.h @@ -56,7 +56,7 @@ class ACE_Export ACE_Log_Msg_Callback ACE_Log_Msg_Callback () = default; /// No-op virtual destructor. - virtual ~ACE_Log_Msg_Callback (); + virtual ~ACE_Log_Msg_Callback () = default; /// Callback routine. This is called when we want to log a message. /// Since this routine is pure virtual, it must be overwritten by the diff --git a/ACE/ace/Log_Msg_UNIX_Syslog.h b/ACE/ace/Log_Msg_UNIX_Syslog.h index e5be52428bd71..06735daaee6db 100644 --- a/ACE/ace/Log_Msg_UNIX_Syslog.h +++ b/ACE/ace/Log_Msg_UNIX_Syslog.h @@ -38,7 +38,7 @@ class ACE_Export ACE_Log_Msg_UNIX_Syslog : public ACE_Log_Msg_Backend ACE_Log_Msg_UNIX_Syslog () = default; /// Destructor - virtual ~ACE_Log_Msg_UNIX_Syslog (); + ~ACE_Log_Msg_UNIX_Syslog () override; /// Open a new event log. /** @@ -48,16 +48,16 @@ class ACE_Export ACE_Log_Msg_UNIX_Syslog : public ACE_Log_Msg_Backend * it is 0 (no name), the application name as * returned from ACE_Log_Msg::program_name() is used. */ - virtual int open (const ACE_TCHAR *logger_key); + int open (const ACE_TCHAR *logger_key) override; /// Reset the backend. - virtual int reset (); + int reset () override; /// Close the backend completely. - virtual int close (); + int close () override; /// This is called when we want to log a message. - virtual ssize_t log (ACE_Log_Record &log_record); + ssize_t log (ACE_Log_Record &log_record) override; private: /// Convert an ACE_Log_Priority value to the corresponding syslog priority. diff --git a/ACE/ace/ace.mpc b/ACE/ace/ace.mpc index a300f062c92b5..191fe0c29fca6 100644 --- a/ACE/ace/ace.mpc +++ b/ACE/ace/ace.mpc @@ -92,8 +92,6 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, Log_Category.cpp Log_Msg.cpp Log_Msg_Android_Logcat.cpp - Log_Msg_Backend.cpp - Log_Msg_Callback.cpp Log_Msg_IPC.cpp Log_Msg_NT_Event_Log.cpp Log_Msg_UNIX_Syslog.cpp diff --git a/ACE/ace/ace_for_tao.mpc b/ACE/ace/ace_for_tao.mpc index 4c5beeb7dfea6..d04e21ee8f01b 100644 --- a/ACE/ace/ace_for_tao.mpc +++ b/ACE/ace/ace_for_tao.mpc @@ -69,8 +69,6 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace, Lock.cpp Log_Category.cpp Log_Msg.cpp - Log_Msg_Backend.cpp - Log_Msg_Callback.cpp Log_Msg_IPC.cpp Log_Msg_NT_Event_Log.cpp Log_Msg_UNIX_Syslog.cpp From 921463b03033e05743f2d00466e435b9c5bdd717 Mon Sep 17 00:00:00 2001 From: Oliver Kellogg Date: Tue, 16 Jul 2024 07:42:50 +0200 Subject: [PATCH 365/445] TAO/TAO-INSTALL.html : In "Building and Installing TAO from git" mwc.pl TAO_ACE.mwc add missing `-type gnuace`. --- TAO/TAO-INSTALL.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/TAO-INSTALL.html b/TAO/TAO-INSTALL.html index 1094be6199259..55065bbe897bf 100644 --- a/TAO/TAO-INSTALL.html +++ b/TAO/TAO-INSTALL.html @@ -562,7 +562,7 @@

                          Building and Installing TAO from git

                          -type bmake for Borland C++ make files.

                        • Build ACE+TAO together in one shot. To do that please issue the following commands:

                          - $ACE_ROOT/bin/mwc.pl TAO_ACE.mwc

                          + $ACE_ROOT/bin/mwc.pl TAO_ACE.mwc -type gnuace

                          from $TAO_ROOT. This will generate GNUmakefiles for ACE, gperf, and core ACE+TAO libraries. Issuing a 'make' from $TAO_ROOT will build all of From 9565633414a52bc5eb1cf4294a88cb8425e7d366 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 17 Jul 2024 14:00:57 +0200 Subject: [PATCH 366/445] Update NEWS --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index cd8f9f417d00f..d46e6cde59433 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,9 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.0 and ACE-8.0.1 ==================================================== +. When using the Embarcadero C++ Builder bcc64x compiler now bcc64x is + used as linker instead of ld.lld + USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-8.0.0 ==================================================== From ae21138946e7b3eaa4e1e16d1c7b57a5e2c52dad Mon Sep 17 00:00:00 2001 From: Ryan Carsten Schmidt Date: Sun, 21 Jul 2024 23:42:57 -0500 Subject: [PATCH 367/445] Fix detection of MacOSX SDKs older than 10.10 --- ACE/ace/config-macosx.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ACE/ace/config-macosx.h b/ACE/ace/config-macosx.h index 6a7e6b6d34f13..4b108204953f7 100644 --- a/ACE/ace/config-macosx.h +++ b/ACE/ace/config-macosx.h @@ -12,24 +12,24 @@ #include "config-macosx-elcapitan.h" #elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 101000 #include "config-macosx-yosemite.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100900 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090 #include "config-macosx-mavericks.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100800 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 #include "config-macosx-mountainlion.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100700 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 #include "config-macosx-lion.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100600 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 #include "config-macosx-snowleopard.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100500 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 #include "config-macosx-leopard.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100400 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 #include "config-macosx-tiger.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100300 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 #include "config-macosx-panther.h" -#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 100200 +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 #include "config-macosx-jaguar.h" #else -#error Cannot detect MacOSX version +#error Cannot detect MacOSX SDK version #endif #endif // ACE_CONFIG_MACOSX_ALL_H From 5389133d2707d740c8878f92e7a4e3d11b0bcea6 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 10:00:38 +0200 Subject: [PATCH 368/445] bcc64x has different dirent support in unicode * ACE/ace/OS_NS_dirent.h: * ACE/ace/OS_NS_dirent.inl: * ACE/ace/config-win32-borland.h: * ACE/ace/os_include/os_dirent.h: --- ACE/ace/OS_NS_dirent.h | 4 ++-- ACE/ace/OS_NS_dirent.inl | 16 ++++++++-------- ACE/ace/config-win32-borland.h | 15 +++++++++++---- ACE/ace/os_include/os_dirent.h | 7 ++++++- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/ACE/ace/OS_NS_dirent.h b/ACE/ace/OS_NS_dirent.h index 5d0a3f5addd1b..325bc450fa313 100644 --- a/ACE/ace/OS_NS_dirent.h +++ b/ACE/ace/OS_NS_dirent.h @@ -52,7 +52,7 @@ extern "C" { * using the pre-processor. */ #if !defined (ACE_LACKS_REWINDDIR) -# if !defined (ACE_HAS_WREWINDDIR) || !defined (ACE_USES_WCHAR) +# if !defined (ACE_HAS_WREWINDDIR_EQUIVALENT) || !defined (ACE_USES_WCHAR) inline void ace_rewinddir_helper (ACE_DIR *dir) { # if defined (rewinddir) @@ -63,7 +63,7 @@ inline void ace_rewinddir_helper (ACE_DIR *dir) # endif /* defined (rewinddir) */ } # endif /* !defined (ACE_HAS_WREWINDDIR) && !defined (ACE_USES_WCHAR) */ -#endif /* ACE_LACKS_REWINDDIR */ +#endif /* ACE_HAS_WREWINDDIR_EQUIVALENT */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/OS_NS_dirent.inl b/ACE/ace/OS_NS_dirent.inl index 88a5154e0a5db..2894273d3f9bd 100644 --- a/ACE/ace/OS_NS_dirent.inl +++ b/ACE/ace/OS_NS_dirent.inl @@ -18,8 +18,8 @@ closedir (ACE_DIR *d) ACE_OS::closedir_emulation (d); delete [] d->directory_name_; delete d; -# elif defined (ACE_HAS_WCLOSEDIR) && defined (ACE_USES_WCHAR) - ::wclosedir (d); +# elif defined (ACE_HAS_WCLOSEDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + ACE_HAS_WCLOSEDIR_EQUIVALENT (d); # else /* ACE_WIN32 && ACE_LACKS_CLOSEDIR */ ::closedir (d); # endif /* ACE_WIN32 && ACE_LACKS_CLOSEDIR */ @@ -35,8 +35,8 @@ opendir (const ACE_TCHAR *filename) #if defined (ACE_HAS_DIRENT) # if (defined (ACE_WIN32) || defined(ACE_MQX)) && defined (ACE_LACKS_OPENDIR) return ::ACE_OS::opendir_emulation (filename); -# elif defined (ACE_HAS_WOPENDIR) && defined (ACE_USES_WCHAR) - return ::wopendir (filename); +# elif defined (ACE_HAS_WOPENDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + return ACE_HAS_WOPENDIR_EQUIVALENT (filename); # else /* ! ACE_WIN32 && ACE_LACKS_OPENDIR */ return ::opendir (ACE_TEXT_ALWAYS_CHAR (filename)); # endif /* ACE_WIN32 && ACE_LACKS_OPENDIR */ @@ -52,8 +52,8 @@ readdir (ACE_DIR *d) #if defined (ACE_HAS_DIRENT) # if (defined (ACE_WIN32) || defined (ACE_MQX)) && defined (ACE_LACKS_READDIR) return ACE_OS::readdir_emulation (d); -# elif defined (ACE_HAS_WREADDIR) && defined (ACE_USES_WCHAR) - return ::wreaddir (d); +# elif defined (ACE_HAS_WREADDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + return ACE_HAS_WREADDIR_EQUIVALENT (d); # else /* ACE_WIN32 && ACE_LACKS_READDIR */ return ::readdir (d); # endif /* ACE_WIN32 && ACE_LACKS_READDIR */ @@ -67,8 +67,8 @@ ACE_INLINE void rewinddir (ACE_DIR *d) { #if defined (ACE_HAS_DIRENT) -# if defined (ACE_HAS_WREWINDDIR) && defined (ACE_USES_WCHAR) - ::wrewinddir (d); +# if defined (ACE_HAS_WREWINDDIR_EQUIVALENT) && defined (ACE_USES_WCHAR) + ACE_HAS_WREWINDDIR_EQUIVALENT (d); # elif !defined (ACE_LACKS_REWINDDIR) ace_rewinddir_helper (d); # else diff --git a/ACE/ace/config-win32-borland.h b/ACE/ace/config-win32-borland.h index 3502742130d23..ef884c79f4d6d 100644 --- a/ACE/ace/config-win32-borland.h +++ b/ACE/ace/config-win32-borland.h @@ -96,10 +96,17 @@ #undef ACE_LACKS_REWINDDIR -#define ACE_HAS_WOPENDIR -#define ACE_HAS_WCLOSEDIR -#define ACE_HAS_WREADDIR -#define ACE_HAS_WREWINDDIR +#if !defined (__MINGW64__) +# define ACE_HAS_WOPENDIR_EQUIVALENT ::wopendir +# define ACE_HAS_WCLOSEDIR_EQUIVALENT ::wclosedir +# define ACE_HAS_WREADDIR_EQUIVALENT ::wreaddir +# define ACE_HAS_WREWINDDIR_EQUIVALENT ::wrewinddir +#else +# define ACE_HAS_WOPENDIR_EQUIVALENT ::_wopendir +# define ACE_HAS_WCLOSEDIR_EQUIVALENT ::_wclosedir +# define ACE_HAS_WREADDIR_EQUIVALENT ::_wreaddir +# define ACE_HAS_WREWINDDIR_EQUIVALENT ::_wrewinddir +#endif #define ACE_LACKS_STRRECVFD diff --git a/ACE/ace/os_include/os_dirent.h b/ACE/ace/os_include/os_dirent.h index 650fb402d968a..9ff7d83acee1b 100644 --- a/ACE/ace/os_include/os_dirent.h +++ b/ACE/ace/os_include/os_dirent.h @@ -80,8 +80,13 @@ struct ACE_DIR { }; #elif defined (ACE_WIN32) && (__BORLANDC__) && defined (ACE_USES_WCHAR) #define ACE_HAS_TCHAR_DIRENT -#define ACE_DIRENT wdirent +#if defined(__MINGW64__) +# define ACE_DIRENT _wdirent +typedef _WDIR ACE_DIR; +#else +# define ACE_DIRENT wdirent typedef wDIR ACE_DIR; +#endif #else #define ACE_DIRENT dirent typedef DIR ACE_DIR; From f00ef447901c46f64de6b6fdc7349871079b0ab9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 10:15:20 +0200 Subject: [PATCH 369/445] Use nullptr * ACE/ace/OS_NS_time.inl: --- ACE/ace/OS_NS_time.inl | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ACE/ace/OS_NS_time.inl b/ACE/ace/OS_NS_time.inl index a41b805d4d0da..cdce0c2ae7e01 100644 --- a/ACE/ace/OS_NS_time.inl +++ b/ACE/ace/OS_NS_time.inl @@ -106,8 +106,8 @@ ACE_OS::ctime (const time_t *t) // we've done this before, free the previous one. Yes, this leaves a // small memory leak (26 characters) but there's no way around this // that I know of. (Steve Huston, 12-Feb-2003). - static wchar_t *wide_time = 0; - if (wide_time != 0) + static wchar_t *wide_time = nullptr; + if (wide_time != nullptr) delete [] wide_time; wide_time = ACE_Ascii_To_Wide::convert (narrow_time); return wide_time; @@ -124,7 +124,7 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) #if defined (ACE_HAS_REENTRANT_FUNCTIONS) - char *bufp = 0; + char *bufp = nullptr; # if defined (ACE_USES_WCHAR) char narrow_buf[ctime_buf_size]; bufp = narrow_buf; @@ -149,8 +149,8 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) # endif /* ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R */ - if (bufp == 0) - return 0; + if (bufp == nullptr) + return nullptr; # if defined (ACE_USES_WCHAR) ACE_Ascii_To_Wide wide_buf (bufp); @@ -164,7 +164,7 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) if (buflen < ctime_buf_size) { errno = ERANGE; - return 0; + return nullptr; } ACE_TCHAR *result = buf; # if defined (ACE_USES_WCHAR) @@ -178,16 +178,16 @@ ACE_OS::ctime_r (const time_t *t, ACE_TCHAR *buf, int buflen) if (buflen < ctime_buf_size) { errno = ERANGE; - return 0; + return nullptr; } - ACE_TCHAR *result = 0; + ACE_TCHAR *result = nullptr; # if defined (ACE_USES_WCHAR) ACE_OSCALL (::_wctime (t), wchar_t *, result); # else /* ACE_USES_WCHAR */ ACE_OSCALL (::ctime (t), char *, result); # endif /* ACE_USES_WCHAR */ - if (result != 0) + if (result != nullptr) ACE_OS::strsncpy (buf, result, buflen); return buf; #endif /* ACE_HAS_REENTRANT_FUNCTIONS */ From 5c4819232d0db92295965dcc8b91a2c1cf2e4778 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 10:54:50 +0200 Subject: [PATCH 370/445] Double escape string * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 14f3df0421b7e..b86460a22358d 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -16,7 +16,7 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode // Support the alternative Borland Make project type specific(bmake) { unicode_flags += -DACE_USES_WCHAR - macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" + macros += MPC_LIB_MODIFIER=\\\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\\\" debug_macros += ACE_NO_INLINE=1 platform_libs += iphlpapi lit_libs -= iphlpapi From da14e283f777be221f90b5c16dae057bb3d8ae7b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 11:12:52 +0200 Subject: [PATCH 371/445] Revert double escape * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index b86460a22358d..14f3df0421b7e 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -16,7 +16,7 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode // Support the alternative Borland Make project type specific(bmake) { unicode_flags += -DACE_USES_WCHAR - macros += MPC_LIB_MODIFIER=\\\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\\\" + macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" debug_macros += ACE_NO_INLINE=1 platform_libs += iphlpapi lit_libs -= iphlpapi From b47e9ceda45b41aadfe49ec2ef7aab7174e81ce3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 11:26:32 +0200 Subject: [PATCH 372/445] Need double escape * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 14f3df0421b7e..b86460a22358d 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -16,7 +16,7 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode // Support the alternative Borland Make project type specific(bmake) { unicode_flags += -DACE_USES_WCHAR - macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" + macros += MPC_LIB_MODIFIER=\\\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\\\" debug_macros += ACE_NO_INLINE=1 platform_libs += iphlpapi lit_libs -= iphlpapi From 87414e90f51e7d74b74ebe1ecb83e2ac457556b6 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 11:31:53 +0200 Subject: [PATCH 373/445] Revert * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index b86460a22358d..14f3df0421b7e 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -16,7 +16,7 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode // Support the alternative Borland Make project type specific(bmake) { unicode_flags += -DACE_USES_WCHAR - macros += MPC_LIB_MODIFIER=\\\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\\\" + macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" debug_macros += ACE_NO_INLINE=1 platform_libs += iphlpapi lit_libs -= iphlpapi From 5cd8c7cfadb7b94bdf56b5e44a41ececdb0c6e53 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 11:45:03 +0200 Subject: [PATCH 374/445] Renamed UNICODE to ACE_UNICODE for bmake * ACE/ACE-INSTALL.html: --- ACE/ACE-INSTALL.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index 66e9a9d48b83b..3c5eb10c4ab4d 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -672,7 +672,7 @@

                          Building and Installing ACE on Windows with Embarcader set DEBUG=1

                          Set the environment variable below to build a unicode version of ACE
                          - set UNICODE=1
                          + set ACE_UNICODE=1

                          Set the environment variable below to build a version of ACE with Codeguard support. Should only be used when DEBUG is also set
                          From 61b8c8c5c6d407cbe3d723633b0af5a7ab1d73e1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 11:49:51 +0200 Subject: [PATCH 375/445] Back to unicode * ACE/ACE-INSTALL.html: --- ACE/ACE-INSTALL.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index 3c5eb10c4ab4d..66e9a9d48b83b 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -672,7 +672,7 @@

                          Building and Installing ACE on Windows with Embarcader set DEBUG=1

                          Set the environment variable below to build a unicode version of ACE
                          - set ACE_UNICODE=1
                          + set UNICODE=1

                          Set the environment variable below to build a version of ACE with Codeguard support. Should only be used when DEBUG is also set
                          From 1e38fc4f1c4a13a466dc6540fd06426d79a3e40c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 26 Jul 2024 12:13:58 +0200 Subject: [PATCH 376/445] Removed MPC_LIB_MODIFIER here, it is something from MPC, so let MPC handle this * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: --- ACE/bin/MakeProjectCreator/config/acedefaults.mpb | 1 - 1 file changed, 1 deletion(-) diff --git a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb index 14f3df0421b7e..bcc17609a93c5 100644 --- a/ACE/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/ACE/bin/MakeProjectCreator/config/acedefaults.mpb @@ -16,7 +16,6 @@ project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode // Support the alternative Borland Make project type specific(bmake) { unicode_flags += -DACE_USES_WCHAR - macros += MPC_LIB_MODIFIER=\\"$(LIBMODIFIER)$(ULIBMODIFIER)\\" debug_macros += ACE_NO_INLINE=1 platform_libs += iphlpapi lit_libs -= iphlpapi From 07ce856de82067da7a9e8a2504e037b892ffdd3e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 29 Jul 2024 10:51:35 +0200 Subject: [PATCH 377/445] Add wmain for unicode builds on windows * ACE/tests/Singleton_Restart_Test.cpp: --- ACE/tests/Singleton_Restart_Test.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ACE/tests/Singleton_Restart_Test.cpp b/ACE/tests/Singleton_Restart_Test.cpp index f18966df0300a..7d5e8a2324505 100644 --- a/ACE/tests/Singleton_Restart_Test.cpp +++ b/ACE/tests/Singleton_Restart_Test.cpp @@ -26,7 +26,11 @@ void report_error (const ACE_TCHAR *lock) using Singleton1 = ACE_Singleton; using Singleton2 = ACE_Singleton; +# if defined (ACE_WIN32) && defined (ACE_USES_WCHAR) +int wmain () +#else int main () +#endif { ACE::init (); ACE_START_TEST (ACE_TEXT ("Singleton_Restart_Test")); From 9b4704f45687c4bc1ed8a48570306600bbd8616f Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 31 Jul 2024 10:41:46 +0200 Subject: [PATCH 378/445] Mark operator bool as explicit * ACE/protocols/ace/INet/HTTPS_Context.h: * ACE/protocols/ace/INet/HTTP_Status.h: * ACE/protocols/ace/INet/URLBase.cpp: * ACE/protocols/ace/INet/URLBase.h: * TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h: --- ACE/protocols/ace/INet/HTTPS_Context.h | 4 ++-- ACE/protocols/ace/INet/HTTP_Status.h | 4 ++-- ACE/protocols/ace/INet/URLBase.cpp | 2 +- ACE/protocols/ace/INet/URLBase.h | 4 ++-- TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ACE/protocols/ace/INet/HTTPS_Context.h b/ACE/protocols/ace/INet/HTTPS_Context.h index 2b37ac70df975..39817884735ba 100644 --- a/ACE/protocols/ace/INet/HTTPS_Context.h +++ b/ACE/protocols/ace/INet/HTTPS_Context.h @@ -48,9 +48,9 @@ namespace ACE ~Context (); - operator bool () const; + explicit operator bool () const; - bool operator ! () const; + explicit bool operator ! () const; ACE_SSL_Context& ssl_context (); diff --git a/ACE/protocols/ace/INet/HTTP_Status.h b/ACE/protocols/ace/INet/HTTP_Status.h index 564a41f26678c..0a1368a5edcf7 100644 --- a/ACE/protocols/ace/INet/HTTP_Status.h +++ b/ACE/protocols/ace/INet/HTTP_Status.h @@ -121,10 +121,10 @@ namespace ACE bool is_ok () const; /// Return true in case of a *valid* HTTP status - operator bool () const; + explicit operator bool () const; /// Return true if status code == INVALID - bool operator !() const; + explicit bool operator !() const; /// Returns an appropriate reason phrase static const ACE_CString& get_reason(Code status); diff --git a/ACE/protocols/ace/INet/URLBase.cpp b/ACE/protocols/ace/INet/URLBase.cpp index 8814eb94dadc8..06a318283ad89 100644 --- a/ACE/protocols/ace/INet/URLBase.cpp +++ b/ACE/protocols/ace/INet/URLBase.cpp @@ -31,7 +31,7 @@ namespace ACE return this->request_handler_ == 0 || !this->request_handler_->is_response_ok (); } - URLStream::operator bool () + explicit URLStream::operator bool () { return this->request_handler_ != 0 && this->request_handler_->is_response_ok (); } diff --git a/ACE/protocols/ace/INet/URLBase.h b/ACE/protocols/ace/INet/URLBase.h index e6efb596a92c0..31fce21e431ac 100644 --- a/ACE/protocols/ace/INet/URLBase.h +++ b/ACE/protocols/ace/INet/URLBase.h @@ -41,9 +41,9 @@ namespace ACE URLStream (const URLStream& url_stream); ~URLStream (); - bool operator ! (); + explicit bool operator ! (); - operator bool (); + explicit operator bool (); std::istream& operator * (); diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h index cca2468ef847b..8a77691f07a80 100644 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h +++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h @@ -31,7 +31,7 @@ class Dynamic_Bitset typedef unsigned size_type; reference(Dynamic_Bitset* bitset, size_type bit); reference operator = (bool val); - operator bool () const; + explicit operator bool () const; private: Dynamic_Bitset* bitset_; size_type bit_; From d115e01b18e54064908b800674d96cc14bcd23d9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 31 Jul 2024 10:49:17 +0200 Subject: [PATCH 379/445] Partial revert * ACE/protocols/ace/INet/HTTPS_Context.h: * ACE/protocols/ace/INet/HTTP_Status.h: * ACE/protocols/ace/INet/URLBase.h: --- ACE/protocols/ace/INet/HTTPS_Context.h | 2 +- ACE/protocols/ace/INet/HTTP_Status.h | 2 +- ACE/protocols/ace/INet/URLBase.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ACE/protocols/ace/INet/HTTPS_Context.h b/ACE/protocols/ace/INet/HTTPS_Context.h index 39817884735ba..ca6da44162893 100644 --- a/ACE/protocols/ace/INet/HTTPS_Context.h +++ b/ACE/protocols/ace/INet/HTTPS_Context.h @@ -50,7 +50,7 @@ namespace ACE explicit operator bool () const; - explicit bool operator ! () const; + bool operator ! () const; ACE_SSL_Context& ssl_context (); diff --git a/ACE/protocols/ace/INet/HTTP_Status.h b/ACE/protocols/ace/INet/HTTP_Status.h index 0a1368a5edcf7..dfc644d7474dc 100644 --- a/ACE/protocols/ace/INet/HTTP_Status.h +++ b/ACE/protocols/ace/INet/HTTP_Status.h @@ -124,7 +124,7 @@ namespace ACE explicit operator bool () const; /// Return true if status code == INVALID - explicit bool operator !() const; + bool operator !() const; /// Returns an appropriate reason phrase static const ACE_CString& get_reason(Code status); diff --git a/ACE/protocols/ace/INet/URLBase.h b/ACE/protocols/ace/INet/URLBase.h index 31fce21e431ac..2ea480dfbd41b 100644 --- a/ACE/protocols/ace/INet/URLBase.h +++ b/ACE/protocols/ace/INet/URLBase.h @@ -41,7 +41,7 @@ namespace ACE URLStream (const URLStream& url_stream); ~URLStream (); - explicit bool operator ! (); + bool operator ! (); explicit operator bool (); From 32c3400cca2881aa553634e56297ac9d8a1ca1b5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 31 Jul 2024 10:56:38 +0200 Subject: [PATCH 380/445] Removed explicit * ACE/protocols/ace/INet/URLBase.cpp: --- ACE/protocols/ace/INet/URLBase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/protocols/ace/INet/URLBase.cpp b/ACE/protocols/ace/INet/URLBase.cpp index 06a318283ad89..8814eb94dadc8 100644 --- a/ACE/protocols/ace/INet/URLBase.cpp +++ b/ACE/protocols/ace/INet/URLBase.cpp @@ -31,7 +31,7 @@ namespace ACE return this->request_handler_ == 0 || !this->request_handler_->is_response_ok (); } - explicit URLStream::operator bool () + URLStream::operator bool () { return this->request_handler_ != 0 && this->request_handler_->is_response_ok (); } From 16eba0dc8aa214777189180a54b7312c7a8260fc Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 2 Aug 2024 10:00:38 +0200 Subject: [PATCH 381/445] ACE+TAO-8_0_1 --- ACE/ChangeLogs/ACE-8_0_1 | 260 +++++++++++++++++++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 6 +- ACE/debian/control | 62 ++++----- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-4_0_1 | 277 ++++++++++++++++++++++++++++++++++++++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 6 +- 10 files changed, 581 insertions(+), 44 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-8_0_1 create mode 100644 TAO/ChangeLogs/TAO-4_0_1 diff --git a/ACE/ChangeLogs/ACE-8_0_1 b/ACE/ChangeLogs/ACE-8_0_1 new file mode 100644 index 0000000000000..5d419cee145bd --- /dev/null +++ b/ACE/ChangeLogs/ACE-8_0_1 @@ -0,0 +1,260 @@ +commit 6cff7aa772f5ee8927f501a8128e4f8b401c570a +Merge: 489a3a7f19f 32c3400cca2 +Author: Johnny Willemsen +Date: Wed Jul 31 15:57:02 2024 +0200 + + Merge pull request #2267 from jwillemsen/jwi-explicitop + + Mark operator bool as explicit + +commit 32c3400cca2881aa553634e56297ac9d8a1ca1b5 +Author: Johnny Willemsen +Date: Wed Jul 31 10:56:38 2024 +0200 + + Removed explicit + + * ACE/protocols/ace/INet/URLBase.cpp: + +commit d115e01b18e54064908b800674d96cc14bcd23d9 +Author: Johnny Willemsen +Date: Wed Jul 31 10:49:17 2024 +0200 + + Partial revert + + * ACE/protocols/ace/INet/HTTPS_Context.h: + * ACE/protocols/ace/INet/HTTP_Status.h: + * ACE/protocols/ace/INet/URLBase.h: + +commit 9b4704f45687c4bc1ed8a48570306600bbd8616f +Author: Johnny Willemsen +Date: Wed Jul 31 10:41:46 2024 +0200 + + Mark operator bool as explicit + + * ACE/protocols/ace/INet/HTTPS_Context.h: + * ACE/protocols/ace/INet/HTTP_Status.h: + * ACE/protocols/ace/INet/URLBase.cpp: + * ACE/protocols/ace/INet/URLBase.h: + * TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h: + +commit 3e4d621c508af5efbb899dbde9e5cab277fd7a49 +Merge: 07ce856de82 b2770e674f9 +Author: Johnny Willemsen +Date: Mon Jul 29 11:13:14 2024 +0200 + + Merge branch 'master' into jwi-restarttestwmain + +commit 07ce856de82067da7a9e8a2504e037b892ffdd3e +Author: Johnny Willemsen +Date: Mon Jul 29 10:51:35 2024 +0200 + + Add wmain for unicode builds on windows + + * ACE/tests/Singleton_Restart_Test.cpp: + +commit 1e38fc4f1c4a13a466dc6540fd06426d79a3e40c +Author: Johnny Willemsen +Date: Fri Jul 26 12:13:58 2024 +0200 + + Removed MPC_LIB_MODIFIER here, it is something from MPC, so let MPC handle this + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + +commit 61b8c8c5c6d407cbe3d723633b0af5a7ab1d73e1 +Author: Johnny Willemsen +Date: Fri Jul 26 11:49:51 2024 +0200 + + Back to unicode + + * ACE/ACE-INSTALL.html: + +commit 5cd8c7cfadb7b94bdf56b5e44a41ececdb0c6e53 +Author: Johnny Willemsen +Date: Fri Jul 26 11:45:03 2024 +0200 + + Renamed UNICODE to ACE_UNICODE for bmake + + * ACE/ACE-INSTALL.html: + +commit 87414e90f51e7d74b74ebe1ecb83e2ac457556b6 +Author: Johnny Willemsen +Date: Fri Jul 26 11:31:53 2024 +0200 + + Revert + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + +commit b47e9ceda45b41aadfe49ec2ef7aab7174e81ce3 +Author: Johnny Willemsen +Date: Fri Jul 26 11:26:32 2024 +0200 + + Need double escape + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + +commit da14e283f777be221f90b5c16dae057bb3d8ae7b +Author: Johnny Willemsen +Date: Fri Jul 26 11:12:52 2024 +0200 + + Revert double escape + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + +commit 08e76e8cafab06c41be4af4abde290c119de9f34 +Merge: 5c4819232d0 25b9be3a869 +Author: Johnny Willemsen +Date: Fri Jul 26 10:54:59 2024 +0200 + + Merge branch 'jwi-bcc64xunicode' of https://github.com/jwillemsen/ATCD into jwi-bcc64xunicode + +commit 5c4819232d0db92295965dcc8b91a2c1cf2e4778 +Author: Johnny Willemsen +Date: Fri Jul 26 10:54:50 2024 +0200 + + Double escape string + + * ACE/bin/MakeProjectCreator/config/acedefaults.mpb: + +commit 25b9be3a869a37c89811d1a1fc17d66466dd9b53 +Merge: f00ef447901 e69db0c847f +Author: Johnny Willemsen +Date: Fri Jul 26 10:18:58 2024 +0200 + + Merge branch 'master' into jwi-bcc64xunicode + +commit f00ef447901c46f64de6b6fdc7349871079b0ab9 +Author: Johnny Willemsen +Date: Fri Jul 26 10:15:20 2024 +0200 + + Use nullptr + + * ACE/ace/OS_NS_time.inl: + +commit 5389133d2707d740c8878f92e7a4e3d11b0bcea6 +Author: Johnny Willemsen +Date: Fri Jul 26 10:00:38 2024 +0200 + + bcc64x has different dirent support in unicode + + * ACE/ace/OS_NS_dirent.h: + * ACE/ace/OS_NS_dirent.inl: + * ACE/ace/config-win32-borland.h: + * ACE/ace/os_include/os_dirent.h: + +commit e69db0c847fb97a553b4c156a59ac3ae7dc70745 +Merge: 56e176993ca ae21138946e +Author: Johnny Willemsen +Date: Thu Jul 25 09:31:03 2024 +0200 + + Merge pull request #2260 from ryandesign/patch-1 + + Fix detection of MacOSX SDKs older than 10.10 + +commit 56e176993ca02286d5e807b188fcd9d278a5b065 +Merge: 9565633414a d89f6928aa1 +Author: Johnny Willemsen +Date: Thu Jul 25 09:29:31 2024 +0200 + + Merge pull request #2255 from likema/log-msg-ctors + + Default Log_Msg_* dtors + +commit ae21138946e7b3eaa4e1e16d1c7b57a5e2c52dad +Author: Ryan Carsten Schmidt +Date: Sun Jul 21 23:42:57 2024 -0500 + + Fix detection of MacOSX SDKs older than 10.10 + +commit 9565633414a52bc5eb1cf4294a88cb8425e7d366 +Author: Johnny Willemsen +Date: Wed Jul 17 14:00:57 2024 +0200 + + Update NEWS + +commit d89f6928aa1ecd9da65989a170b2a808206a455a +Author: Like Ma +Date: Sun Jul 14 13:13:37 2024 +0800 + + Default Log_Msg_* dtors + +commit 9be41577ed2fb86d6bfbc758fdb757ffb3ce61b7 +Author: Johnny Willemsen +Date: Sun Jul 14 09:56:56 2024 +0200 + + Return error when platform doesn't have 64bit time_t + + * ACE/tests/Time_Value_Test.cpp: + +commit edd8fa7b611df55dd523a2b1da6631e62246dd23 +Author: Johnny Willemsen +Date: Sat Jul 13 10:56:24 2024 +0200 + + Test that time_t is at least 8 bytes, if not, give an error message in the log + + * ACE/tests/Time_Value_Test.cpp: + +commit 6d2c85b1ad5a44856f3a982e89d8a6b68569e79b +Author: Johnny Willemsen +Date: Tue Jul 2 09:18:03 2024 +0200 + + Remove BCC32, that compiler doesn't support C++17 + + * ACE/ACE-INSTALL.html: + +commit 85da8c9b6c02c9ef197d79ef862258ef051b3852 +Author: Johnny Willemsen +Date: Tue Jul 2 09:12:28 2024 +0200 + + Revert change + + * ACE/ACE-INSTALL.html: + +commit e1dafb26356fb94bcb0b7def1121de9c9da68dca +Author: Johnny Willemsen +Date: Tue Jul 2 09:11:09 2024 +0200 + + Document BCC64X environment variable + + * ACE/ACE-INSTALL.html: + +commit 3b5f334604c5a0001cf0083278ba0b74a2c17f25 +Author: Johnny Willemsen +Date: Thu May 23 08:54:21 2024 +0200 + + Fix formatting + + * ACE/ACE-INSTALL.html: + +commit efb9819ab5e7edbb991f73ebfc2f911fe242563a +Author: Johnny Willemsen +Date: Thu May 16 13:04:29 2024 +0200 + + Update NEWS + +commit 57af57fbe1bc1818aa3f645d0bdeca1a2eb3ea81 +Author: Johnny Willemsen +Date: Thu May 16 12:56:34 2024 +0200 + + Update Download.html + +commit 7aa195eb9f3efd7355800daa6dd4cb9475413016 +Merge: c38c77843f2 f86851ff7c8 +Author: Johnny Willemsen +Date: Thu May 16 12:52:45 2024 +0200 + + Merge pull request #2235 from jwillemsen/jwi-ace800 + + Make ACE 8.0.0 and TAO 4.0.0 public + +commit f86851ff7c84059dd009d12c2c27c4415a6d9be0 +Author: Johnny Willemsen +Date: Thu May 16 12:51:57 2024 +0200 + + Make ACE 8.0.0 and TAO 4.0.0 public + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index e30d642704ff1..788ac082bb848 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 8.0.0 + ACE VERSION: 8.0.1 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index f019864061eb3..c3bb6dd71250c 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 8.0.0, released Thu May 16 12:27:08 CEST 2024 +This is ACE version 8.0.1, released Fri Aug 02 10:00:36 CEST 2024 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index ca213c13d39bc..a2ae00d6dfeaf 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -4,7 +4,7 @@ #define ACE_MAJOR_VERSION 8 #define ACE_MINOR_VERSION 0 -#define ACE_MICRO_VERSION 0 -#define ACE_VERSION "8.0.0" -#define ACE_VERSION_CODE 0x80000 +#define ACE_MICRO_VERSION 1 +#define ACE_VERSION "8.0.1" +#define ACE_VERSION_CODE 0x80001 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index 996504125f016..8661dc0a9c567 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -27,7 +27,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-8.0.0 +Package: libace-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -45,7 +45,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-8.0.0 (= ${binary:Version}), ${misc:Depends} +Depends: libace-8.0.1 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkg-config Replaces: mpc-ace (<< 5.6.3-4) Description: C++ network programming framework - development files @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-8.0.0 +Package: libace-ssl-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -73,12 +73,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-8.0.0 +Package: libace-rmcast-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -92,12 +92,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-8.0.0 +Package: libace-tmcast-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -111,12 +111,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-8.0.0 +Package: libace-htbp-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -130,12 +130,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-8.0.0 +Package: libace-inet-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -146,15 +146,15 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-8.0.0 +Package: libace-inet-ssl-8.0.1 Architecture: any Section: libs -Depends: libace-inet-8.0.0, libace-ssl-8.0.0, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-8.0.1, libace-ssl-8.0.1, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -163,7 +163,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-8.0.0 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-8.0.1 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -180,7 +180,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-8.0.0 +Package: libacexml-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -196,12 +196,12 @@ Package: libacexml-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libacexml-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-8.0.0 +Package: libace-xml-utils-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -215,12 +215,12 @@ Package: libace-xml-utils-dev Architecture: any Section: libdevel Replaces: libace-dev (<< 5.7.7-4) -Depends: libace-xml-utils-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-8.0.0 +Package: libkokyu-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -234,12 +234,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-8.0.0 +Package: libace-xtreactor-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +257,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-8.0.0 +Package: libace-tkreactor-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +281,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-8.0.0 +Package: libace-flreactor-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -304,12 +304,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-8.0.0 +Package: libace-foxreactor-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -326,7 +326,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -343,7 +343,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-8.0.0 +Package: libnetsvcs-8.0.1 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -357,7 +357,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-8.0.0 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index 5e79e1bbbd05c..52e7b14c8b08c 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 8.0.0 -%define TAOVER 4.0.0 +%define ACEVER 8.0.1 +%define TAOVER 4.0.1 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-4_0_1 b/TAO/ChangeLogs/TAO-4_0_1 new file mode 100644 index 0000000000000..12f4a7abdc466 --- /dev/null +++ b/TAO/ChangeLogs/TAO-4_0_1 @@ -0,0 +1,277 @@ +commit 9b4704f45687c4bc1ed8a48570306600bbd8616f +Author: Johnny Willemsen +Date: Wed Jul 31 10:41:46 2024 +0200 + + Mark operator bool as explicit + + * ACE/protocols/ace/INet/HTTPS_Context.h: + * ACE/protocols/ace/INet/HTTP_Status.h: + * ACE/protocols/ace/INet/URLBase.cpp: + * ACE/protocols/ace/INet/URLBase.h: + * TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h: + +commit 921463b03033e05743f2d00466e435b9c5bdd717 +Author: Oliver Kellogg +Date: Tue Jul 16 07:42:50 2024 +0200 + + TAO/TAO-INSTALL.html : In "Building and Installing TAO from git" mwc.pl TAO_ACE.mwc add missing `-type gnuace`. + +commit 15193a49314e5866a4c24f5aa3f0f68fe3673881 +Author: Johnny Willemsen +Date: Thu Jun 27 09:21:47 2024 +0200 + + Use nullptr + + * TAO/tao/Object.inl: + +commit dee98e4f47b7f5922607909e985d9a21bd83d579 +Author: Johnny Willemsen +Date: Mon Jun 17 12:26:57 2024 +0200 + + Use std::string_view as part of Exception_Data + + * TAO/tao/Exception_Data.h: + * TAO/tao/Messaging/ExceptionHolder_i.cpp: + * TAO/tao/operation_details.cpp: + +commit fe02c11dae4e4ea4834e37223d88115a35722ab8 +Author: Fred Hornsey +Date: Tue Jun 11 12:57:14 2024 -0500 + + Remove ACE_UNUSED_ARG + +commit 1d95ccaf016c2c03bb5ad030bc6520230c36682e +Author: Fred Hornsey +Date: Mon Jun 10 16:51:01 2024 -0500 + + Respond to Review and Fix Typedefs in Union Disc + +commit f78f458a74555764370e0267ef57c4069d174ec9 +Author: Fred Hornsey +Date: Sun Jun 9 01:19:04 2024 -0500 + + Minor Additions to IDL4 Support + + - Support the following IDL v4 features: + - Empty structs + - `octet` and `wchar` union discriminators + - Allow using empty parentheses in annotation applications to + workaround syntax errors when an annotation with no arguments has to + be followed by a complete scoped name: + `@example_annotation() ::ex::ExampleType` + - Reserve the `bitfield`, `bitmask`, and `bitset` keywords in IDL v4 + (these are not implemented yet) + - Allow using `map` as an identifier in IDL v3 again + +commit 8b34c8e3ffdcf8f5e411064e0d5bf1da52b169fd +Author: Johnny Willemsen +Date: Wed May 22 15:06:42 2024 +0200 + + Revert "Minor modernization of DynamicAny code" + +commit 8438079c911eb442897920d2a03e79c660140ac5 +Author: Johnny Willemsen +Date: Wed May 22 15:06:14 2024 +0200 + + Revert "Use std::vector in Interceptor List" + +commit f7fd4579d673f4431298ebba6157361aee21b629 +Merge: 18dc6f83439 e0d8ed1739e +Author: Johnny Willemsen +Date: Wed May 22 08:28:39 2024 +0200 + + Merge branch 'master' into jwi-dynamicany + +commit 18dc6f8343993278327105a349958578b8cb48a5 +Author: Johnny Willemsen +Date: Tue May 21 17:32:04 2024 +0200 + + Add missing include + + * TAO/tao/DynamicAny/DynValue_i.h: + +commit 7f32588294603e1a7ee996db8a35f9a733bc397b +Author: Johnny Willemsen +Date: Tue May 21 16:02:05 2024 +0200 + + Fixed Coday issues + + * TAO/tao/DynamicAny/DynEnum_i.cpp: + * TAO/tao/DynamicAny/DynStruct_i.cpp: + +commit deef2c3a1a0ee49bd501f71161cda1ea95149daa +Author: Johnny Willemsen +Date: Tue May 21 15:55:09 2024 +0200 + + Whitespace + + * TAO/tao/PI/PICurrent_Impl.h: + +commit 4cb33f4722a105961c3eda2c8cf109c4a280f08f +Author: Johnny Willemsen +Date: Tue May 21 15:51:48 2024 +0200 + + Merge + +commit d7df2721d918efb988c407da06c333a65a948623 +Author: Johnny Willemsen +Date: Tue May 21 15:44:02 2024 +0200 + + Fixed typo + + * TAO/tao/PI/Interceptor_List_T.h: + * TAO/tests/DynValue_Test/Analyzer.cpp: + +commit d79b50d0cecef47c2508193edc253a2daac19d67 +Author: Johnny Willemsen +Date: Tue May 21 15:34:04 2024 +0200 + + Revert change + + * TAO/tao/DynamicAny/DynValue_i.cpp: + +commit 1b273c15634fa725e5f5eb1425f98d832de39956 +Author: Johnny Willemsen +Date: Tue May 21 15:25:50 2024 +0200 + + Use nullptr + + * TAO/tao/AnyTypeCode/Indirected_Type_TypeCode.cpp: + * TAO/tao/DynamicAny/DynAnyUtils_T.cpp: + * TAO/tao/DynamicAny/DynValue_i.cpp: + +commit e58549348e7d342ae5984b9da303efef24742b8a +Author: Johnny Willemsen +Date: Tue May 21 14:00:09 2024 +0200 + + Add a variable on the stack for ref counting + + * TAO/tao/DynamicAny/DynValue_i.cpp: + +commit 3bb0b475c4fb74e6c1edb1c9fa49d789f3d95b64 +Author: Johnny Willemsen +Date: Tue May 21 13:50:50 2024 +0200 + + Layout changes + + * TAO/tao/DynamicAny/DynValue_i.cpp: + +commit e770be424ac236cd4ab6c306c7b9b2ce1ef37eac +Author: Johnny Willemsen +Date: Tue May 21 13:35:10 2024 +0200 + + Revert duplicate + + * TAO/tao/DynamicAny/DynValue_i.cpp: + +commit fa285886000e5bbaeec98c2d9bb719655920a785 +Author: Johnny Willemsen +Date: Tue May 21 13:33:10 2024 +0200 + + Init changes + + * TAO/tao/DynamicAny/DynAny_i.cpp: + * TAO/tao/DynamicAny/DynCommon.cpp: + * TAO/tao/DynamicAny/DynSequence_i.cpp: + * TAO/tao/DynamicAny/DynStruct_i.cpp: + * TAO/tao/DynamicAny/DynValueBox_i.cpp: + * TAO/tao/DynamicAny/DynValue_i.cpp: + +commit 0030ab82e0d4bff3d8e0719f55c62e5047412368 +Author: Johnny Willemsen +Date: Tue May 21 13:31:35 2024 +0200 + + Add missing duplicat, init changes + + * TAO/tao/DynamicAny/DynAnyUtils_T.cpp: + * TAO/tao/DynamicAny/DynArray_i.cpp: + * TAO/tao/DynamicAny/DynCommon.cpp: + * TAO/tao/DynamicAny/DynEnum_i.cpp: + * TAO/tao/DynamicAny/DynSequence_i.cpp: + * TAO/tao/DynamicAny/DynUnion_i.cpp: + * TAO/tao/DynamicAny/DynValueBox_i.cpp: + * TAO/tao/DynamicAny/DynValue_i.cpp: + * TAO/tao/DynamicAny/DynValue_i.h: + +commit cf0397065c105159c64585c6820f85833ec3cab0 +Author: Johnny Willemsen +Date: Tue May 21 13:15:00 2024 +0200 + + Check any/cdr extraction return values + + * TAO/tao/DynamicAny/DynAny_i.cpp: + * TAO/tao/DynamicAny/DynUnion_i.cpp: + +commit 9329ec7e58671ab70d8019f21fac20ced0bc52ed +Author: Johnny Willemsen +Date: Tue May 21 12:56:01 2024 +0200 + + Fixed typos in comments, delete more assignment/copy, use std::vector + + * TAO/tao/DynamicAny/DynAny_i.h: + * TAO/tao/DynamicAny/DynArray_i.cpp: + * TAO/tao/DynamicAny/DynArray_i.h: + * TAO/tao/DynamicAny/DynEnum_i.cpp: + * TAO/tao/DynamicAny/DynEnum_i.h: + * TAO/tao/DynamicAny/DynSequence_i.cpp: + * TAO/tao/DynamicAny/DynSequence_i.h: + * TAO/tao/DynamicAny/DynStruct_i.cpp: + * TAO/tao/DynamicAny/DynStruct_i.h: + * TAO/tao/DynamicAny/DynUnion_i.cpp: + * TAO/tao/DynamicAny/DynUnion_i.h: + * TAO/tao/DynamicAny/DynValueBox_i.h: + * TAO/tao/DynamicAny/DynValueCommon_i.h: + * TAO/tao/DynamicAny/DynValue_i.cpp: + * TAO/tao/DynamicAny/DynValue_i.h: + +commit 0fdce6d1c0899e3de52b16af327d2cb25234259a +Author: Johnny Willemsen +Date: Tue May 21 12:13:37 2024 +0200 + + Use true + + * TAO/tao/DynamicAny/DynValueBox_i.cpp: + +commit caf6c9d44d04d19a01fe994b3d48ae0f75d7b9ca +Author: Johnny Willemsen +Date: Tue May 21 12:12:47 2024 +0200 + + Use true for boolean instead of 1, delete illegal methods + + * TAO/tao/DynamicAny/DynAny_i.cpp: + * TAO/tao/DynamicAny/DynArray_i.cpp: + * TAO/tao/DynamicAny/DynSequence_i.cpp: + * TAO/tao/DynamicAny/DynStruct_i.cpp: + * TAO/tao/DynamicAny/DynUnion_i.cpp: + * TAO/tao/DynamicAny/DynValue_i.cpp: + * TAO/tao/DynamicAny/DynValue_i.h: + +commit 5de3fff1b8ea728d36cc44db857d95a545a868b4 +Author: Johnny Willemsen +Date: Tue May 21 12:12:20 2024 +0200 + + Fixed gcc warning + + * TAO/tests/DynValue_Test/Analyzer.cpp: + +commit 7aa195eb9f3efd7355800daa6dd4cb9475413016 +Merge: c38c77843f2 f86851ff7c8 +Author: Johnny Willemsen +Date: Thu May 16 12:52:45 2024 +0200 + + Merge pull request #2235 from jwillemsen/jwi-ace800 + + Make ACE 8.0.0 and TAO 4.0.0 public + +commit f86851ff7c84059dd009d12c2c27c4415a6d9be0 +Author: Johnny Willemsen +Date: Thu May 16 12:51:57 2024 +0200 + + Make ACE 8.0.0 and TAO 4.0.0 public + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + * TAO/NEWS: diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index 90158cd0f3a2c..22f5234afb37a 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 4.0.0 - ACE VERSION: 8.0.0 + TAO VERSION: 4.0.1 + ACE VERSION: 8.0.1 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index 4dca23fd65f26..94f7a11841e5d 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 4.0.0, released Thu May 16 12:27:08 CEST 2024 +This is TAO version 4.0.1, released Fri Aug 02 10:00:36 CEST 2024 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index 69bdd8f593887..819f6d7ea673e 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -4,7 +4,7 @@ #define TAO_MAJOR_VERSION 4 #define TAO_MINOR_VERSION 0 -#define TAO_MICRO_VERSION 0 -#define TAO_VERSION "4.0.0" -#define TAO_VERSION_CODE 0x40000 +#define TAO_MICRO_VERSION 1 +#define TAO_VERSION "4.0.1" +#define TAO_VERSION_CODE 0x40001 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From c9e15410ccf4d9cbb5fb39c4dba32c24a4d2b48e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 2 Aug 2024 10:21:01 +0200 Subject: [PATCH 382/445] Make ACE 8.0.1 and TAO 4.0.1 public * ACE/NEWS: * ACE/bin/copy-local-script.sh: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: --- ACE/NEWS | 5 +- ACE/bin/copy-local-script.sh | 2 +- .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 62 +++++++++---------- ACE/etc/index.html | 1 + 5 files changed, 38 insertions(+), 34 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index d46e6cde59433..48b16b6359f2c 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,7 +1,10 @@ +USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-8.0.0 and ACE-8.0.1 ==================================================== -. When using the Embarcadero C++ Builder bcc64x compiler now bcc64x is +. When using the Embarcadero C++ Builder bcc64x compiler now bcc64x is used as linker instead of ld.lld USER VISIBLE CHANGES BETWEEN ACE-7.1.4 and ACE-8.0.0 diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index 1ac76856a8e9d..b9e27b293136e 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-8.0.0&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-8.0.1&/'` echo "Copying $i to $d" cp -ip $i $d done diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index 68c026e17eb95..ea43cf505191e 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2024_05_16; else olddate=$3; fi +if test -z $3; then olddate=2024_08_02; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index 0ef68a3e0cc33..a6949e8f18cb3 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,80 +90,80 @@

                          Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

                            -
                          • Latest ACE+TAO Micro Release. The latest micro release is ACE 8.0.0 and TAO 4.0.0, please use the links below to download it.

                            +

                          • Latest ACE+TAO Micro Release. The latest micro release is ACE 8.0.1 and TAO 4.0.1, please use the links below to download it.

                            - - - - - - - - - - - - - - -
                            FilenameDescriptionFullSources only
                            ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                            ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                            diff --git a/ACE/etc/index.html b/ACE/etc/index.html index 486e5ad7ef0dd..e8cacaa6a92e0 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

                            ACE+TAO Documentation


                            We do have the documentation for previous releases
                              +
                            • 8.0.1

                            • 8.0.0

                            • 7.1.4

                            • 7.1.3

                            • From e0d586b7697aa252bd0d83ffae8de3971ca32634 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 2 Aug 2024 10:36:20 +0200 Subject: [PATCH 383/445] Manually updating OpenDDS is not necessary anymore, there is a github action handling that * ACE/docs/bczar/bczar.html: --- ACE/docs/bczar/bczar.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/ACE/docs/bczar/bczar.html b/ACE/docs/bczar/bczar.html index bff50aa6b5238..9f36637d82868 100644 --- a/ACE/docs/bczar/bczar.html +++ b/ACE/docs/bczar/bczar.html @@ -389,9 +389,6 @@

                              Recipe for Cutting a Minor Kit

                            • Make a new pull request to Microsoft vcpkg to update ACE to the new release, see https://github.com/Microsoft/vcpkg/tree/master/ports/ace
                            • -
                            • - Make a new pull request to OpenDDS to update the configure script to use the new release, see https://github.com/OpenDDS/OpenDDS/blob/master/configure -
                            • Mail the approved release announcement out to, at minimum the following: tao-users@list.isis.vanderbilt.edu, tao-announce@list.isis.vanderbilt.edu, From 78eb52679050266c047bf19e7819bdae96f89e2d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 5 Aug 2024 08:55:30 +0200 Subject: [PATCH 384/445] Define ACE_HAS_CPP23 when we have C++23 support * ACE/ace/config-g++-common.h: * ACE/ace/config-win32-borland.h: * ACE/ace/config-win32-msvc-142.h: --- ACE/ace/config-g++-common.h | 3 +++ ACE/ace/config-win32-borland.h | 3 +++ ACE/ace/config-win32-msvc-142.h | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/ACE/ace/config-g++-common.h b/ACE/ace/config-g++-common.h index d97f8085e55b3..df855cd600201 100644 --- a/ACE/ace/config-g++-common.h +++ b/ACE/ace/config-g++-common.h @@ -14,6 +14,9 @@ #define ACE_CC_MINOR_VERSION __GNUC_MINOR__ #define ACE_CC_BETA_VERSION (0) +#if __cplusplus >= 202302L +# define ACE_HAS_CPP23 +#endif #if __cplusplus >= 202002L # define ACE_HAS_CPP20 #endif diff --git a/ACE/ace/config-win32-borland.h b/ACE/ace/config-win32-borland.h index ef884c79f4d6d..d3179fef4b8f8 100644 --- a/ACE/ace/config-win32-borland.h +++ b/ACE/ace/config-win32-borland.h @@ -200,6 +200,9 @@ #if __cplusplus >= 202002L # define ACE_HAS_CPP20 #endif +#if __cplusplus >= 202302L +# define ACE_HAS_CPP23 +#endif #include /**/ "ace/post.h" #endif /* ACE_CONFIG_WIN32_BORLAND_H */ diff --git a/ACE/ace/config-win32-msvc-142.h b/ACE/ace/config-win32-msvc-142.h index 157b4acb48099..d933f7866bce3 100644 --- a/ACE/ace/config-win32-msvc-142.h +++ b/ACE/ace/config-win32-msvc-142.h @@ -29,5 +29,9 @@ # define ACE_HAS_CPP20 #endif /* _MSVC_LANG >= 202002L */ +#if __cplusplus >= 202302L +# define ACE_HAS_CPP23 +#endif + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_WIN32_MSVC_142_H */ From 852621f99f833e2fc22673490b69a5f048027b37 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 5 Aug 2024 10:19:41 +0200 Subject: [PATCH 385/445] Extended output CDR classes to serialize a std::string_view directly * ACE/ace/CDR_Size.h: * ACE/ace/CDR_Size.inl: * ACE/ace/CDR_Stream.h: * ACE/ace/CDR_Stream.inl: * ACE/tests/CDR_Test.cpp: * TAO/tao/CDR.h: * TAO/tao/CDR.inl: --- ACE/ace/CDR_Size.h | 3 +++ ACE/ace/CDR_Size.inl | 16 ++++++++++++++++ ACE/ace/CDR_Stream.h | 4 ++++ ACE/ace/CDR_Stream.inl | 16 ++++++++++++++++ ACE/tests/CDR_Test.cpp | 11 +++++++++++ TAO/tao/CDR.h | 2 ++ TAO/tao/CDR.inl | 9 +++++++++ 7 files changed, 61 insertions(+) diff --git a/ACE/ace/CDR_Size.h b/ACE/ace/CDR_Size.h index d29a1a3975d2e..1668bba36132e 100644 --- a/ACE/ace/CDR_Size.h +++ b/ACE/ace/CDR_Size.h @@ -79,6 +79,7 @@ class ACE_Export ACE_SizeCDR ACE_CDR::Boolean write_wstring (ACE_CDR::ULong length, const ACE_CDR::WChar *x); ACE_CDR::Boolean write_string (const std::string &x); + ACE_CDR::Boolean write_string_view (const std::string_view &x); #if !defined(ACE_LACKS_STD_WSTRING) ACE_CDR::Boolean write_wstring (const std::wstring &x); #endif @@ -230,6 +231,8 @@ extern ACE_Export ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const ACE_CDR::WChar* x); extern ACE_Export ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const std::string& x); +extern ACE_Export ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, + const std::string_view& x); #if !defined(ACE_LACKS_STD_WSTRING) extern ACE_Export ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const std::wstring& x); diff --git a/ACE/ace/CDR_Size.inl b/ACE/ace/CDR_Size.inl index 29cc5ac9a7693..d4af1432accf0 100644 --- a/ACE/ace/CDR_Size.inl +++ b/ACE/ace/CDR_Size.inl @@ -152,6 +152,15 @@ ACE_SizeCDR::write_string (const std::string &x) x.empty () ? 0 : x.c_str ()); } +ACE_INLINE ACE_CDR::Boolean +ACE_SizeCDR::write_string_view (const std::string_view &x) +{ + ACE_CDR::ULong len = + static_cast (x.size ()); + return this->write_string (len, + x.empty () ? 0 : x.data ()); +} + #if !defined(ACE_LACKS_STD_WSTRING) ACE_INLINE ACE_CDR::Boolean ACE_SizeCDR::write_wstring (const std::wstring &x) @@ -399,6 +408,13 @@ operator<< (ACE_SizeCDR &ss, const std::string& x) return ss.good_bit (); } +ACE_INLINE ACE_CDR::Boolean +operator<< (ACE_SizeCDR &ss, const std::string_view& x) +{ + ss.write_string_view (x); + return ss.good_bit (); +} + #if !defined(ACE_LACKS_STD_WSTRING) ACE_INLINE ACE_CDR::Boolean operator<< (ACE_SizeCDR &ss, const std::wstring& x) diff --git a/ACE/ace/CDR_Stream.h b/ACE/ace/CDR_Stream.h index c1cd997330301..3249fc46adeb5 100644 --- a/ACE/ace/CDR_Stream.h +++ b/ACE/ace/CDR_Stream.h @@ -57,6 +57,7 @@ #endif /* ACE_HAS_MONITOR_POINTS==1 */ #include +#include ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -284,6 +285,7 @@ class ACE_Export ACE_OutputCDR ACE_CDR::Boolean write_wstring (ACE_CDR::ULong length, const ACE_CDR::WChar *x); ACE_CDR::Boolean write_string (const std::string &x); + ACE_CDR::Boolean write_string_view (const std::string_view &x); #if !defined(ACE_LACKS_STD_WSTRING) ACE_CDR::Boolean write_wstring (const std::wstring &x); #endif @@ -1437,6 +1439,8 @@ extern ACE_Export ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_std_string x); extern ACE_Export ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const std::string& x); +extern ACE_Export ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, + const std::string_view& x); #if !defined(ACE_LACKS_STD_WSTRING) extern ACE_Export ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_std_wstring x); diff --git a/ACE/ace/CDR_Stream.inl b/ACE/ace/CDR_Stream.inl index cbfa8203fb647..ab520f7b86951 100644 --- a/ACE/ace/CDR_Stream.inl +++ b/ACE/ace/CDR_Stream.inl @@ -368,6 +368,15 @@ ACE_OutputCDR::write_string (const std::string &x) x.empty () ? 0 : x.c_str ()); } +ACE_INLINE ACE_CDR::Boolean +ACE_OutputCDR::write_string_view (const std::string_view &x) +{ + ACE_CDR::ULong const len = + static_cast (x.size ()); + return this->write_string (len, + x.empty () ? 0 : x.data ()); +} + #if !defined(ACE_LACKS_STD_WSTRING) ACE_INLINE ACE_CDR::Boolean ACE_OutputCDR::write_wstring (const std::wstring &x) @@ -1385,6 +1394,13 @@ operator<< (ACE_OutputCDR &os, const std::string& x) return os.good_bit (); } +ACE_INLINE ACE_CDR::Boolean +operator<< (ACE_OutputCDR &os, const std::string_view& x) +{ + os.write_string_view (x); + return os.good_bit (); +} + #if !defined(ACE_LACKS_STD_WSTRING) ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const std::wstring& x) diff --git a/ACE/tests/CDR_Test.cpp b/ACE/tests/CDR_Test.cpp index ccbf14f55a821..3cdcac82ec491 100644 --- a/ACE/tests/CDR_Test.cpp +++ b/ACE/tests/CDR_Test.cpp @@ -111,6 +111,7 @@ short_stream () ACE_CDR::WChar *wstr = wchar2; ACE_CString str ("Test String"); std::string std_str ("std string"); + std::string_view std_stringview {"std stringview"}; #if !defined(ACE_LACKS_STD_WSTRING) std::wstring std_wstr (L"std wstring"); #endif @@ -136,6 +137,7 @@ short_stream () os << str; os << wstr; os << std_str; + os << std_stringview; #if !defined(ACE_LACKS_STD_WSTRING) os << std_wstr; #endif @@ -158,6 +160,7 @@ short_stream () ss << str; ss << wstr; ss << std_str; + ss << std_stringview; #if !defined(ACE_LACKS_STD_WSTRING) ss << std_wstr; #endif @@ -215,6 +218,7 @@ short_stream () ACE_CDR::WChar *wstr1 = 0; ACE_CString str1; std::string std_str1; + std::string std_stringview1; #if !defined(ACE_LACKS_STD_WSTRING) std::wstring std_wstr1; #endif @@ -246,6 +250,7 @@ short_stream () // std::string, or the like. std::unique_ptr safe_wstr (wstr1); is >> std_str1; + is >> std_stringview1; #if !defined(ACE_LACKS_STD_WSTRING) is >> std_wstr1; #endif @@ -291,6 +296,12 @@ short_stream () ACE_TEXT ("std::string transfer error")), 1); + if (std_stringview1 != std_stringview) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("%p\n"), + ACE_TEXT ("std::string_view transfer error")), + 1); + #if !defined(ACE_LACKS_STD_WSTRING) if (std_wstr1 != std_wstr) ACE_ERROR_RETURN ((LM_ERROR, diff --git a/TAO/tao/CDR.h b/TAO/tao/CDR.h index c6b7d64b17f78..8a11ed08a86b0 100644 --- a/TAO/tao/CDR.h +++ b/TAO/tao/CDR.h @@ -491,6 +491,8 @@ TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, ACE_OutputCDR::from_wstring x); TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, const std::string &x); +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, + const std::string_view &x); TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, ACE_OutputCDR::from_std_string x); #if !defined(ACE_LACKS_STD_WSTRING) diff --git a/TAO/tao/CDR.inl b/TAO/tao/CDR.inl index 2180ec07e88fb..e881ea29bd074 100644 --- a/TAO/tao/CDR.inl +++ b/TAO/tao/CDR.inl @@ -460,6 +460,15 @@ ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os, && static_cast (os) << x; } +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os, + const std::string_view &x) +{ + return + os.fragment_stream (ACE_CDR::OCTET_ALIGN, + sizeof (char)) + && static_cast (os) << x; +} + ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os, ACE_OutputCDR::from_std_string x) { From 452d14159cba5389d55c2e6948d35354f9da8a5d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 5 Aug 2024 19:36:08 +0200 Subject: [PATCH 386/445] Cleanup ACE_FALLTHROUGH * ACE/ace/config-g++-common.h: * ACE/ace/config-macros.h: --- ACE/ace/config-g++-common.h | 8 -------- ACE/ace/config-macros.h | 9 +-------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/ACE/ace/config-g++-common.h b/ACE/ace/config-g++-common.h index d97f8085e55b3..95fc0ac65a4bb 100644 --- a/ACE/ace/config-g++-common.h +++ b/ACE/ace/config-g++-common.h @@ -19,20 +19,12 @@ #endif #if __cplusplus >= 201703L # define ACE_HAS_CPP17 -# define ACE_FALLTHROUGH [[fallthrough]] #endif #if __cplusplus >= 201402L # define ACE_HAS_CPP14 #endif #if __cplusplus >= 201103L # define ACE_HAS_CPP11 -# if !defined (ACE_FALLTHROUGH) -# if __GNUC__ >= 7 -# define ACE_FALLTHROUGH [[gnu::fallthrough]] -# else -# define ACE_FALLTHROUGH -# endif -# endif #endif #if (defined (i386) || defined (__i386__)) && !defined (ACE_SIZEOF_LONG_DOUBLE) diff --git a/ACE/ace/config-macros.h b/ACE/ace/config-macros.h index 83dda72661bc3..a661c3d2aa23f 100644 --- a/ACE/ace/config-macros.h +++ b/ACE/ace/config-macros.h @@ -260,15 +260,8 @@ # define ACE_NOTREACHED(a) a #endif /* ghs || ..... */ - -// Compiler-specific configs can define ACE_FALLTHROUGH but if not, -// and it's a C++17 or higher compiler, use the defined mechanism. #if !defined ACE_FALLTHROUGH -# if defined ACE_HAS_CPP17 -# define ACE_FALLTHROUGH [[fallthrough]] -# else -# define ACE_FALLTHROUGH -# endif /* ACE_HAS_CPP17 */ +# define ACE_FALLTHROUGH [[fallthrough]] #endif /* ACE_FALLTHROUGH */ // ============================================================================ From 1eee82d3680bbf03ee6d6adb45bec9f2a2bf805f Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Thu, 8 Aug 2024 21:38:32 +0000 Subject: [PATCH 387/445] Updated and simplified musl-libc compatibility --- ACE/ace/config-linux.h | 55 ++++++++----------------------- ACE/ace/os_include/sys/os_types.h | 4 +++ 2 files changed, 17 insertions(+), 42 deletions(-) diff --git a/ACE/ace/config-linux.h b/ACE/ace/config-linux.h index 372c9a5838349..af9c6491f85ad 100644 --- a/ACE/ace/config-linux.h +++ b/ACE/ace/config-linux.h @@ -106,7 +106,7 @@ #define ACE_HAS_UALARM -#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 10) +#if defined (__GLIBC__) && (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 10) // Although the scandir man page says otherwise, this setting is correct. // The setting was fixed in 2.10, so do not use the hack after that. # define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR @@ -120,7 +120,9 @@ #define ACE_HAS_SYSV_IPC // Compiler/platform defines a union semun for SysV shared memory. -#define ACE_HAS_SEMUN +#if defined (__GLIBC__) +# define ACE_HAS_SEMUN +#endif #if defined (__powerpc__) && !defined (ACE_SIZEOF_LONG_DOUBLE) // 32bit PowerPC Linux uses 128bit long double @@ -186,10 +188,6 @@ # undef ACE_SCANDIR_CMP_USES_VOIDPTR # endif /* ACE_SCANDIR_CMP_USES_VOIDPTR */ -# if defined (ACE_SCANDIR_CMP_USES_CONST_VOIDPTR) -# undef ACE_SCANDIR_CMP_USES_CONST_VOIDPTR -# endif /* ACE_SCANDIR_CMP_USES_CONST_VOIDPTR */ - # if defined (ACE_HAS_EXECINFO_H) # undef ACE_HAS_EXECINFO_H # endif /* ACE_HAS_EXECINFO_H */ @@ -198,53 +196,26 @@ # undef __GLIBC__ # endif /* __GLIBC__ */ -# if defined(ACE_HAS_SEMUN) -# undef ACE_HAS_SEMUN -# endif /* ACE_HAS_SEMUN */ - #endif /* __UCLIBC__ */ -// To support musl (note: musl devs refuse to add a __MUSL__) -#if defined (ACE_HAS_MUSL) +#if !defined (__GLIBC__) && !defined (__UCLIBC__) +// Assume musl, it has no equivalent macro -// Enable stuff that musl definitly has -#define ACE_HAS_UCONTEXT_T -#define ACE_HAS_SIGTIMEDWAIT +#define ACE_HAS_CPU_SET_T #define ACE_HAS_PTHREADS -#define ACE_HAS_RECURSIVE_MUTEXES #define ACE_HAS_PTHREADS_UNIX98_EXT -#define ACE_HAS_CPU_SET_T +#define ACE_HAS_RECURSIVE_MUTEXES #define ACE_HAS_SIGINFO_T +#define ACE_HAS_SIGTIMEDWAIT #define ACE_HAS_SOCKLEN_T +#define ACE_HAS_UCONTEXT_T -// Mask some features musl lacks -#define ACE_LACKS_SIGINFO_H -#define ACE_LACKS_SYS_SYSCTL_H #define ACE_LACKS_ISCTYPE #define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_SYS_SYSCTL_H -// Following the example set by uclib undef some festures -# if defined (ACE_SCANDIR_CMP_USES_VOIDPTR) -# undef ACE_SCANDIR_CMP_USES_VOIDPTR -# endif /* ACE_SCANDIR_CMP_USES_VOIDPTR */ - -# if defined (ACE_SCANDIR_CMP_USES_CONST_VOIDPTR) -# undef ACE_SCANDIR_CMP_USES_CONST_VOIDPTR -# endif /* ACE_SCANDIR_CMP_USES_CONST_VOIDPTR */ - -# if defined(__GLIBC__) -# undef __GLIBC__ -# endif /* __GLIBC__ */ - -# if defined(ACE_HAS_SEMUN) -# undef ACE_HAS_SEMUN -# endif /* ACE_HAS_SEMUN */ - -#endif /* ACE_HAS_MUSL */ - -#if !defined (__GLIBC__) && !defined (__UCLIBC__) && !defined (ACE_HAS_MUSL) -# error "Could not determine C Standard Library" -#endif /* !defined (__GLIBC__) && !defined (__UCLIBC__) && !defined (ACE_HAS_MUSL) */ +#endif #include /**/ "ace/post.h" diff --git a/ACE/ace/os_include/sys/os_types.h b/ACE/ace/os_include/sys/os_types.h index 5a885ff4cd1a6..cbb5a44f9a902 100644 --- a/ACE/ace/os_include/sys/os_types.h +++ b/ACE/ace/os_include/sys/os_types.h @@ -28,6 +28,10 @@ # include /**/ #endif /* !ACE_LACKS_SYS_TYPES_H */ +#if !defined (ACE_LACKS_FCNTL_H) +# include /**/ +#endif /* !ACE_LACKS_FCNTL_H */ + # if defined (ACE_USES_STD_NAMESPACE_FOR_STDC_LIB) && \ (ACE_USES_STD_NAMESPACE_FOR_STDC_LIB != 0) using std::time_t; From 9852caf3f92873d582389df1053ef8bad7c0204d Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Thu, 8 Aug 2024 16:55:50 -0500 Subject: [PATCH 388/445] Build in a container in GitHub Actions --- .github/workflows/linux-container.yml | 56 +++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/linux-container.yml diff --git a/.github/workflows/linux-container.yml b/.github/workflows/linux-container.yml new file mode 100644 index 0000000000000..83e87f8f4ca28 --- /dev/null +++ b/.github/workflows/linux-container.yml @@ -0,0 +1,56 @@ +name: linux + +on: + push: + pull_request: + schedule: + - cron: '0 1 * * SUN' + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + build: + strategy: + fail-fast: false + runs-on: ubuntu-22.04 + name: alpine-3.18 + env: + ACE_ROOT: ${{ github.workspace }}/ACE + TAO_ROOT: ${{ github.workspace }}/TAO + MPC_ROOT: ${{ github.workspace }}/MPC + steps: + - name: Checkout ACE_TAO + uses: actions/checkout@v4 + - name: Checkout MPC + uses: actions/checkout@v4 + with: + repository: DOCGroup/MPC + path: ${{ env.MPC_ROOT }} + - name: Write configuation files + run: | + echo '#include "ace/config-linux.h"' > ${{ env.ACE_ROOT }}/ace/config.h + echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > ${{ env.ACE_ROOT }}/include/makeinclude/platform_macros.GNU + - name: Build in container + uses: addnab/docker-run-action@v3 + with: + image: alpine:3.18 + options: -v ${{ github.workspace }}:${{ github.workspace }} + run: | + apk add --no-cache git bash make g++ perl linux-headers + export ACE_ROOT=${{ env.ACE_ROOT }} + export TAO_ROOT=${{ env.TAO_ROOT }} + export MPC_ROOT=${{ env.MPC_ROOT }} + perl ${{ env.ACE_ROOT }}/bin/mwc.pl -type gnuace ${{ env.TAO_ROOT }}/TAO_ACE.mwc -workers 4 + perl ${{ env.ACE_ROOT }}/bin/mwc.pl -type gnuace ${{ env.ACE_ROOT }}/tests/tests.mwc -workers 4 + perl ${{ env.ACE_ROOT }}/bin/mwc.pl -type gnuace ${{ env.TAO_ROOT }}/tests/IDL_Test -workers 4 + perl ${{ env.ACE_ROOT }}/bin/mwc.pl -type gnuace ${{ env.TAO_ROOT }}/tests/IDLv4 -workers 4 + make -j 6 -C ${{ env.TAO_ROOT }} + make -j 6 -C ${{ env.ACE_ROOT }}/tests + make -j 6 -C ${{ env.TAO_ROOT }}/tests/IDL_Test + make -j 6 -C ${{ env.TAO_ROOT }}/tests/IDLv4 From 905aea0ad6cc2bcc91d80558af16d54995888cc4 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Fri, 9 Aug 2024 12:10:47 -0500 Subject: [PATCH 389/445] Corrected GitHub Actions workflow name --- .github/workflows/linux-container.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-container.yml b/.github/workflows/linux-container.yml index 83e87f8f4ca28..2a9f510262134 100644 --- a/.github/workflows/linux-container.yml +++ b/.github/workflows/linux-container.yml @@ -1,4 +1,4 @@ -name: linux +name: linux-container on: push: From 13c89f982a41df87f9f80fc681252e7672315fc0 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Fri, 9 Aug 2024 12:25:27 -0500 Subject: [PATCH 390/445] removed check for unused macro --- ACE/ace/os_include/sys/os_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/os_include/sys/os_types.h b/ACE/ace/os_include/sys/os_types.h index cbb5a44f9a902..90dcb6ac411df 100644 --- a/ACE/ace/os_include/sys/os_types.h +++ b/ACE/ace/os_include/sys/os_types.h @@ -57,7 +57,7 @@ typedef double ACE_timer_t; #if defined (ACE_SIZEOF_LONG) && ACE_SIZEOF_LONG == 8 typedef off_t ACE_LOFF_T; -#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__APPLE__) || defined (ACE_HAS_MUSL) +#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__APPLE__) typedef off_t ACE_LOFF_T; #elif defined (__QNX__) typedef off64_t ACE_LOFF_T; From 843f39c3f34d51fdb1e458508b9a31fd7d9f39d9 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Fri, 9 Aug 2024 12:28:26 -0500 Subject: [PATCH 391/445] updated preprocessor expression --- ACE/ace/config-linux.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/config-linux.h b/ACE/ace/config-linux.h index af9c6491f85ad..f5d1272a88f6f 100644 --- a/ACE/ace/config-linux.h +++ b/ACE/ace/config-linux.h @@ -106,7 +106,7 @@ #define ACE_HAS_UALARM -#if defined (__GLIBC__) && (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 10) +#if defined (__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 10)) // Although the scandir man page says otherwise, this setting is correct. // The setting was fixed in 2.10, so do not use the hack after that. # define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR From aaefe4c80c2c5ac5b84b901d7f75d595db69782c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 29 Aug 2024 09:37:32 +0200 Subject: [PATCH 392/445] Set +ACE_PLATFORM_CONFIG * ACE/include/makeinclude/platform_qnx_gcc.GNU: --- ACE/include/makeinclude/platform_qnx_gcc.GNU | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/include/makeinclude/platform_qnx_gcc.GNU b/ACE/include/makeinclude/platform_qnx_gcc.GNU index 70859638db9fd..d28a30dc326f1 100644 --- a/ACE/include/makeinclude/platform_qnx_gcc.GNU +++ b/ACE/include/makeinclude/platform_qnx_gcc.GNU @@ -1,6 +1,8 @@ # # QNX/RTP hosted, using GCC +ACE_PLATFORM_CONFIG ?= config-qnx.h + inline ?= 1 debug ?= 1 optimize ?= 0 From af70a6ebd43b93be5814328e2aa63f2bb8777cfc Mon Sep 17 00:00:00 2001 From: Sudip Mukherjee Date: Thu, 5 Sep 2024 14:44:04 +0100 Subject: [PATCH 393/445] sync debian files Signed-off-by: Sudip Mukherjee --- ACE/debian/changelog | 62 +++++++++++++++++++ ACE/debian/control | 46 ++++++++++---- ...rides => libace-VERSION.lintian-overrides} | 0 ACE/debian/libace-dev.install.in | 2 + ...es => libacexml-VERSION.lintian-overrides} | 0 5 files changed, 99 insertions(+), 11 deletions(-) rename ACE/debian/{libace-7.1.2.lintian-overrides => libace-VERSION.lintian-overrides} (100%) rename ACE/debian/{libacexml-7.1.2.lintian-overrides => libacexml-VERSION.lintian-overrides} (100%) diff --git a/ACE/debian/changelog b/ACE/debian/changelog index 52de558dc5367..7d47c79f962cd 100644 --- a/ACE/debian/changelog +++ b/ACE/debian/changelog @@ -1,3 +1,65 @@ +ace (8.0.1+dfsg-3) unstable; urgency=medium + + * Team upload. + * Add missing header files. + + -- Sudip Mukherjee Thu, 05 Sep 2024 13:36:53 +0100 + +ace (8.0.1+dfsg-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + * Fix changelog of 8.0.1+dfsg-1. + + -- Sudip Mukherjee Thu, 08 Aug 2024 20:09:46 +0100 + +ace (8.0.1+dfsg-1) experimental; urgency=medium + + * Team upload. + * Update to upstream v8.0.1 + + -- Sudip Mukherjee Fri, 02 Aug 2024 22:10:33 +0100 + +ace (8.0.0+dfsg-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sudip Mukherjee Fri, 21 Jun 2024 15:08:00 +0100 + +ace (8.0.0+dfsg-1) experimental; urgency=medium + + * Team upload. + * Update to upstream v8.0.0 + * Remove unnecessary constraints. + - Thanks to Janitor. + + -- Sudip Mukherjee Mon, 27 May 2024 10:06:30 +0100 + +ace (7.1.3+dfsg-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + * Remove t64 from names. + * Use pkgconf instead of pkg-config. + + -- Sudip Mukherjee Mon, 06 May 2024 10:53:25 +0100 + +ace (7.1.2+dfsg-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. Closes: #1061863 + + -- Steve Langasek Tue, 27 Feb 2024 22:56:50 +0000 + +ace (7.1.3+dfsg-1) experimental; urgency=medium + + * Team upload. + * Update to upstream v7.1.3 + - Sync debian/* with upstream. + + -- Sudip Mukherjee Mon, 22 Jan 2024 11:28:32 +0000 + ace (7.1.2+dfsg-2) unstable; urgency=medium * Team upload. diff --git a/ACE/debian/control b/ACE/debian/control index 8661dc0a9c567..a490ae71a0a9a 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -3,7 +3,7 @@ Section: devel Priority: optional Maintainer: Debian ACE maintainers Uploaders: Thomas Girard , Johnny Willemsen -Build-Depends: debhelper-compat (=13), libssl-dev, libxt-dev (>= 4.3.0), libfltk1.3-dev, tk-dev (>= 8.5), libfox-1.6-dev, docbook-to-man, libxerces-c-dev +Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), libssl-dev, libxt-dev, libfltk1.3-dev, tk-dev, libfox-1.6-dev, docbook-to-man, libxerces-c-dev Build-Depends-Indep: doxygen, graphviz Standards-Version: 4.6.2 Vcs-Git: https://salsa.debian.org/debian/ace.git @@ -14,8 +14,7 @@ Package: mpc-ace Architecture: all Depends: ${perl:Depends}, ${misc:Depends} Recommends: make -Replaces: libace-dev (= 5.6.3-4) -Suggests: libace-dev, pkg-config +Suggests: libace-dev, pkgconf Description: makefile, project, and workspace creator This package contains the Makefile, Project, and Workspace Creator (MPC) as distributed with the ACE toolkit. @@ -28,6 +27,8 @@ Description: makefile, project, and workspace creator * mwc-ace: generates workspace files for a set of projects Package: libace-8.0.1 +Replaces: libace-7.1.2t64 +Breaks: libace-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -46,8 +47,7 @@ Package: libace-dev Architecture: any Section: libdevel Depends: libace-8.0.1 (= ${binary:Version}), ${misc:Depends} -Suggests: libace-doc, pkg-config -Replaces: mpc-ace (<< 5.6.3-4) +Suggests: libace-doc, pkgconf Description: C++ network programming framework - development files This package contains the header files and static library for the ACE framework. @@ -63,6 +63,8 @@ Description: C++ network programming framework - documentation examples, and information regarding upstream development. Package: libace-ssl-8.0.1 +Replaces: libace-ssl-7.1.2t64 +Breaks: libace-ssl-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -79,6 +81,8 @@ Description: ACE secure socket layer library - development files SSL library. Package: libace-rmcast-8.0.1 +Replaces: libace-rmcast-7.1.2t64 +Breaks: libace-rmcast-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -98,6 +102,8 @@ Description: ACE reliable multicast library - development files reliable multicast library. Package: libace-tmcast-8.0.1 +Replaces: libace-tmcast-7.1.2t64 +Breaks: libace-tmcast-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -117,6 +123,8 @@ Description: ACE transactional multicast library - development files transactional multicast library. Package: libace-htbp-8.0.1 +Replaces: libace-htbp-7.1.2t64 +Breaks: libace-htbp-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -136,6 +144,8 @@ Description: ACE protocol over HTTP tunneling library - development files HTBP library. Package: libace-inet-8.0.1 +Replaces: libace-inet-7.1.2t64 +Breaks: libace-inet-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -152,6 +162,8 @@ Description: ACE Inet protocol library - development files Inet protocol library. Package: libace-inet-ssl-8.0.1 +Replaces: libace-inet-ssl-7.1.2t64 +Breaks: libace-inet-ssl-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: libace-inet-8.0.1, libace-ssl-8.0.1, ${shlibs:Depends}, ${misc:Depends} @@ -171,8 +183,6 @@ Description: ACE SSL-enabled Inet protocol library - development files Package: ace-gperf Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Breaks: gperf-ace (<< 5.7.7-1) -Replaces: gperf-ace (<< 5.7.7-1) Description: ACE perfect hash function generator ace_gperf is the ACE version of gperf. . @@ -181,6 +191,8 @@ Description: ACE perfect hash function generator advantage of some of the features provided by the ACE library. Package: libacexml-8.0.1 +Replaces: libacexml-7.1.2t64 +Breaks: libacexml-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -195,13 +207,14 @@ Description: ACE SAX based XML parsing library Package: libacexml-dev Architecture: any Section: libdevel -Replaces: libace-dev (<< 5.7.7-4) Depends: libacexml-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. Package: libace-xml-utils-8.0.1 +Replaces: libace-xml-utils-7.1.2t64 +Breaks: libace-xml-utils-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -214,13 +227,14 @@ Description: ACE XML utility classes and methods Package: libace-xml-utils-dev Architecture: any Section: libdevel -Replaces: libace-dev (<< 5.7.7-4) Depends: libace-xml-utils-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library Package: libkokyu-8.0.1 +Replaces: libkokyu-7.1.2t64 +Breaks: libkokyu-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -240,6 +254,8 @@ Description: ACE scheduling and dispatching library - development files scheduling and dispatching library. Package: libace-xtreactor-8.0.1 +Replaces: libace-xtreactor-7.1.2t64 +Breaks: libace-xtreactor-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -257,12 +273,14 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0), ${misc:Depends} +Depends: libace-xtreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev, ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. Package: libace-tkreactor-8.0.1 +Replaces: libace-tkreactor-7.1.2t64 +Breaks: libace-tkreactor-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -281,12 +299,14 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.5), ${misc:Depends} +Depends: libace-tkreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev, ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. Package: libace-flreactor-8.0.1 +Replaces: libace-flreactor-7.1.2t64 +Breaks: libace-flreactor-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -310,6 +330,8 @@ Description: ACE-GUI reactor integration for FLTK - development files reactor integration. Package: libace-foxreactor-8.0.1 +Replaces: libace-foxreactor-7.1.2t64 +Breaks: libace-foxreactor-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -344,6 +366,8 @@ Description: ACE network service implementations statically or dynamically, and form complete server programs. Package: libnetsvcs-8.0.1 +Replaces: libnetsvcs-7.1.2t64 +Breaks: libnetsvcs-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} diff --git a/ACE/debian/libace-7.1.2.lintian-overrides b/ACE/debian/libace-VERSION.lintian-overrides similarity index 100% rename from ACE/debian/libace-7.1.2.lintian-overrides rename to ACE/debian/libace-VERSION.lintian-overrides diff --git a/ACE/debian/libace-dev.install.in b/ACE/debian/libace-dev.install.in index aef39cc2acc83..81ccec6e6b660 100644 --- a/ACE/debian/libace-dev.install.in +++ b/ACE/debian/libace-dev.install.in @@ -5,6 +5,8 @@ usr/share/ace/bin/add_rel_link.sh usr/lib/ace/bin usr/share/ace/bin/depgen.pl usr/lib/ace/bin usr/share/ace/bin/DependencyGenerator usr/lib/ace/bin usr/share/ace/include usr/lib/ace +ace/Log_Msg_Backend.h usr/include/ace/ +ace/Log_Msg_Callback.h usr/include/ace/ ../../include/makeinclude/platform_macros.GNU usr/lib/ace/include/makeinclude usr/include/ace/*.h usr/include/ace/*.inl diff --git a/ACE/debian/libacexml-7.1.2.lintian-overrides b/ACE/debian/libacexml-VERSION.lintian-overrides similarity index 100% rename from ACE/debian/libacexml-7.1.2.lintian-overrides rename to ACE/debian/libacexml-VERSION.lintian-overrides From 77cbc2db9f230499915c537a2e1d9765591243a2 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 28 Sep 2024 12:49:41 +0200 Subject: [PATCH 394/445] Upgrade vcpkg to 2024.09.23 --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c506e797a70e8..a56d517c71b53 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: f7423ee180c4b7f40d43402c2feb3859161ef625 + vcpkgGitCommitId: f176b58f35a75f9f8f54099cd9df97d2e2793a2e runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From 47e2cd8a853e233347dc7a7baf8085b121194bbd Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 1 Oct 2024 15:29:41 +0200 Subject: [PATCH 395/445] Update NEWS --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 48b16b6359f2c..846ece154af6f 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,9 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 ==================================================== +. Embarcadero C++ Builder bcc64x compiler supported has been + updated to match the C++Builder 12.2 release + USER VISIBLE CHANGES BETWEEN ACE-8.0.0 and ACE-8.0.1 ==================================================== From bdf5a545c33d9510f205a54eb8b16a89887f2b21 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 2 Oct 2024 13:37:56 +0200 Subject: [PATCH 396/445] Upgrade to vcpkg 2024.09.30 --- .github/workflows/windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index a56d517c71b53..219deaa07d789 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -131,7 +131,7 @@ jobs: - name: Install vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: f176b58f35a75f9f8f54099cd9df97d2e2793a2e + vcpkgGitCommitId: c82f74667287d3dc386bce81e44964370c91a289 runVcpkgInstall: true - name: create $ACE_ROOT/ace/config.h run: | From db27e8b16df58a8c8516128f64cb7d7ca8d5a8db Mon Sep 17 00:00:00 2001 From: Iulian Serbanoiu Date: Sun, 6 Oct 2024 18:34:47 +0300 Subject: [PATCH 397/445] fix for #2286 - avoid header compilation failure in %install phase by adding -std=c++17 --- ACE/rpmbuild/ace-tao.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index 52e7b14c8b08c..fe57b5e0d64b3 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1099,7 +1099,7 @@ BASEHDR="$BASEHDR `find \ for j in $BASEHDR; do echo $j >> rawhdrs.log echo '#include <'$j'>' | \ - g++ %{inline} \ + g++ -std=c++17 %{inline} \ -I . \ -I protocols \ $TAO_MM_OPTS \ From fbc7205d70adb80180ea81bdcd6acd759b9e316f Mon Sep 17 00:00:00 2001 From: remko Date: Tue, 15 Oct 2024 16:49:46 +0200 Subject: [PATCH 398/445] fixed a typo in the documentation --- TAO/docs/Options.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/docs/Options.html b/TAO/docs/Options.html index 09552d66d6d61..ad187365b9807 100644 --- a/TAO/docs/Options.html +++ b/TAO/docs/Options.html @@ -501,7 +501,7 @@

                              3. Optimizing Request Processing

                              If this option is enabled (1), the orb will use the local memory pool.

                              This option defaults to the compile-time option specified by - TAO_USES_LOCAL_MEMORY_POOL.

                              + TAO_USE_LOCAL_MEMORY_POOL. The default is 1 (enabled)

                              From 4a52b9387b14f557907b2f28d0064fa863c0ea1c Mon Sep 17 00:00:00 2001 From: Osyotr Date: Thu, 24 Oct 2024 14:04:30 +0300 Subject: [PATCH 399/445] Remove checked_iterator.h --- ACE/ace/Array_Map.cpp | 14 ++--- ACE/ace/ace.mpc | 1 - ACE/ace/ace_for_tao.mpc | 1 - ACE/ace/checked_iterator.h | 56 ------------------- .../MakeProjectCreator/config/vc_warnings.mpb | 11 ---- TAO/tao/Generic_Sequence_T.h | 5 +- TAO/tao/Unbounded_Octet_Sequence_T.h | 5 +- 7 files changed, 8 insertions(+), 85 deletions(-) delete mode 100644 ACE/ace/checked_iterator.h diff --git a/ACE/ace/Array_Map.cpp b/ACE/ace/Array_Map.cpp index 9a62b7275bf0f..adccba57efca3 100644 --- a/ACE/ace/Array_Map.cpp +++ b/ACE/ace/Array_Map.cpp @@ -7,8 +7,6 @@ # include "ace/Array_Map.inl" #endif /* !__ACE_INLINE__ */ -#include "ace/checked_iterator.h" - #include ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -23,8 +21,7 @@ ACE_Array_Map::ACE_Array_Map (InputIterator f, { (void) std::uninitialized_copy (f, l, - ACE_make_checked_array_iterator (this->begin (), - this->size_)); + this->begin ()); } template @@ -36,8 +33,7 @@ ACE_Array_Map::ACE_Array_Map ( { (void) std::uninitialized_copy (map.begin (), map.end (), - ACE_make_checked_array_iterator (this->begin (), - this->size_)); + this->begin ()); } template @@ -215,8 +211,7 @@ ACE_Array_Map::grow ( std::copy (this->begin (), this->end (), - ACE_make_checked_array_iterator (temp.begin (), - temp.capacity_)); + temp.begin ()); size_type const n = this->size (); // Do not swap out the size // since we bypassed the @@ -241,8 +236,7 @@ operator== (ACE_Array_Map const & lhs, return (lhs.size () == rhs.size () && std::equal (lhs.begin (), lhs.end (), - ACE_make_checked_array_iterator (rhs.begin (), - rhs.size ()))); + rhs.begin ())); } template diff --git a/ACE/ace/ace.mpc b/ACE/ace/ace.mpc index 191fe0c29fca6..1d0a835880681 100644 --- a/ACE/ace/ace.mpc +++ b/ACE/ace/ace.mpc @@ -462,7 +462,6 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, Version.h Versioned_Namespace.h ace_wchar.h - checked_iterator.h config-*.h config.h iosfwd.h diff --git a/ACE/ace/ace_for_tao.mpc b/ACE/ace/ace_for_tao.mpc index d04e21ee8f01b..c5a8b537b2f19 100644 --- a/ACE/ace/ace_for_tao.mpc +++ b/ACE/ace/ace_for_tao.mpc @@ -355,7 +355,6 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace, Value_Ptr.h Version.h ace_wchar.h - checked_iterator.h config-all.h config-lite.h config-win32-borland.h diff --git a/ACE/ace/checked_iterator.h b/ACE/ace/checked_iterator.h deleted file mode 100644 index a7b2ea4b4ec53..0000000000000 --- a/ACE/ace/checked_iterator.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- - -#ifndef ACE_CHECKED_ITERATOR_H -#define ACE_CHECKED_ITERATOR_H - -/** - * @file checked_iterator.h - * - * @brief Checked iterator factory function. - * - * Some compilers (e.g. MSVC++ >= 8) issue security related - * diagnostics if algorithms such as std::copy() are used in an unsafe - * way. Normally this isn't an issue if STL container iterators are - * used in conjunction with the standard algorithms. However, in cases - * where application-specific iterators are use with standard - * algorithms that could potentially overrun a buffer, extra care must - * be taken to prevent such an overrun. If supported, checked - * iterators can be used to address the potential destination buffer - * overrun. - * - * This header provides function templates that generate the - * appropriate checked iterator. In cases where checked iterators are - * not supported, the pointer passed to the function is returned - * instead. - * - * @internal The functions and types in this header are meant for - * internal use. They may change at any point between - * releases. - * - * @author Ossama Othman - */ - -# if defined (_MSC_VER) && (!defined (_STLPORT_VERSION)) -// Checked iterators are currently only supported in MSVC++ -# include -# endif /* _MSC_VER && !_STLPORT_VERSION */ - -# if defined (_MSC_VER) && (!defined (_STLPORT_VERSION)) -template -stdext::checked_array_iterator -ACE_make_checked_array_iterator (PTR buf, size_t len) -{ - return stdext::checked_array_iterator (buf, len); -} -# else -template -PTR -ACE_make_checked_array_iterator (PTR buf, size_t /* len */) -{ - // Checked iterators are unsupported. Just return the pointer to - // the buffer itself. - return buf; -} -# endif /* _MSC_VER && !_STLPORT_VERSION */ - -#endif /* ACE_CHECKED_ITERATOR_H */ diff --git a/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb b/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb index b1dda80776244..b951e280931ce 100644 --- a/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb +++ b/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb @@ -51,17 +51,6 @@ feature(vc_avoid_winsock_warnings) { } } -feature(vc_avoid_stdext_arr_iters_warning) { - specific(prop:microsoft) { - macros += _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING - } - verbatim(cmake, macros, 1) { - if(MSVC) - " add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)" - endif() - } -} - feature(vc_avoid_hides_local_declaration) { specific(vc14) { DisableSpecificWarnings += 4456 diff --git a/TAO/tao/Generic_Sequence_T.h b/TAO/tao/Generic_Sequence_T.h index eca632bf6fac7..ef8632fbd889b 100644 --- a/TAO/tao/Generic_Sequence_T.h +++ b/TAO/tao/Generic_Sequence_T.h @@ -55,7 +55,6 @@ */ #include "tao/Range_Checking_T.h" -#include "ace/checked_iterator.h" #include @@ -127,7 +126,7 @@ class generic_sequence element_traits::copy_range( rhs.buffer_, rhs.buffer_ + rhs.length_, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } @@ -211,7 +210,7 @@ class generic_sequence element_traits::copy_swap_range( buffer_, buffer_ + length_, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } diff --git a/TAO/tao/Unbounded_Octet_Sequence_T.h b/TAO/tao/Unbounded_Octet_Sequence_T.h index f1a301be14bec..8cfed478e2ccf 100644 --- a/TAO/tao/Unbounded_Octet_Sequence_T.h +++ b/TAO/tao/Unbounded_Octet_Sequence_T.h @@ -22,7 +22,6 @@ #include "tao/Basic_Types.h" #include "ace/Message_Block.h" #include "ace/OS_Memory.h" -#include "ace/checked_iterator.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -140,7 +139,7 @@ class TAO_Export unbounded_value_sequence element_traits::copy_range( buffer_, buffer_ + length, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } return; @@ -151,7 +150,7 @@ class TAO_Export unbounded_value_sequence element_traits::copy_range( buffer_, buffer_ + length_, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } inline value_type const & operator[](CORBA::ULong i) const { From f100e7f8e0a6ff8cfcb2191ce087f82b0dd2c9c7 Mon Sep 17 00:00:00 2001 From: Osyotr Date: Thu, 24 Oct 2024 15:19:09 +0300 Subject: [PATCH 400/445] Update NEWS --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 846ece154af6f..00f9cd7425b6c 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,9 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 ==================================================== +. Removed ACE_make_checked_array_iterator that used deprecated + stdext::checked_array_iterator + . Embarcadero C++ Builder bcc64x compiler supported has been updated to match the C++Builder 12.2 release From dfd76988181dd380795b9ae1ad267848faa6cff1 Mon Sep 17 00:00:00 2001 From: Jan Vermaete Date: Fri, 25 Oct 2024 13:16:03 +0200 Subject: [PATCH 401/445] spelling: changed implImented to implEmented It was a warning when running lintian when making an OpenDDS deb file. I: opendds: spelling-error-in-binary usr/lib/libTAO_IDL_FE.so.2.5.21 explictly explicitly I: opendds: spelling-error-in-binary usr/lib/libTAO_Valuetype.so.2.5.21 implimented implemented Signed-off-by: Jan Vermaete --- TAO/ChangeLogs/ChangeLog-2012a | 2 +- .../OBV/Typed_Events/Event_Types_impl.cpp | 20 +++++++++---------- .../LB_ObjectReferenceFactory.cpp | 2 +- TAO/tao/DynamicAny/DynValue_i.h | 2 +- TAO/tao/Valuetype/ValueBase.cpp | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/TAO/ChangeLogs/ChangeLog-2012a b/TAO/ChangeLogs/ChangeLog-2012a index 6089e5dc2ce5a..96a614d8a7811 100644 --- a/TAO/ChangeLogs/ChangeLog-2012a +++ b/TAO/ChangeLogs/ChangeLog-2012a @@ -681,7 +681,7 @@ Mon May 21 14:15:00 UTC 2012 Simon Massey diff --git a/TAO/examples/OBV/Typed_Events/Event_Types_impl.cpp b/TAO/examples/OBV/Typed_Events/Event_Types_impl.cpp index a52f9f7530a19..ad3dd2115a42e 100644 --- a/TAO/examples/OBV/Typed_Events/Event_Types_impl.cpp +++ b/TAO/examples/OBV/Typed_Events/Event_Types_impl.cpp @@ -20,7 +20,7 @@ ::CORBA::ValueBase * Event_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -63,7 +63,7 @@ ::CORBA::ValueBase * Temperature_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -106,7 +106,7 @@ ::CORBA::ValueBase * Position_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -186,7 +186,7 @@ ::CORBA::ValueBase * Log_Msg_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -243,7 +243,7 @@ ::CORBA::ValueBase * Event_List_Link_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -292,7 +292,7 @@ ::CORBA::ValueBase * Event_List_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -431,7 +431,7 @@ ::CORBA::ValueBase * Temperature_Criterion_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -490,7 +490,7 @@ ::CORBA::ValueBase * Position_Criterion_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -546,7 +546,7 @@ ::CORBA::ValueBase * Log_Msg_Criterion_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } @@ -599,7 +599,7 @@ ::CORBA::ValueBase * Criterion_List_impl::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp index 1585ccb22fa2a..9548aaac9d3b1 100644 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp +++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp @@ -50,7 +50,7 @@ ::CORBA::ValueBase * TAO_LB_ObjectReferenceFactory::_copy_value () { ::CORBA::ValueBase *ret_val= 0; - // Not implimented + // Not implemented return ret_val; } diff --git a/TAO/tao/DynamicAny/DynValue_i.h b/TAO/tao/DynamicAny/DynValue_i.h index f3f8884342e94..b21c1406740c1 100644 --- a/TAO/tao/DynamicAny/DynValue_i.h +++ b/TAO/tao/DynamicAny/DynValue_i.h @@ -135,7 +135,7 @@ class TAO_DynamicAny_Export TAO_DynValue_i /// Read the value from the input stream void from_inputCDR (TAO_InputCDR &); - /// These are not implimented! + /// These are not implemented! /// Use copy() or assign() instead of these. TAO_DynValue_i (const TAO_DynValue_i &src); TAO_DynValue_i &operator= (const TAO_DynValue_i &src); diff --git a/TAO/tao/Valuetype/ValueBase.cpp b/TAO/tao/Valuetype/ValueBase.cpp index 2fa3079f778e0..c4608fca49d7b 100644 --- a/TAO/tao/Valuetype/ValueBase.cpp +++ b/TAO/tao/Valuetype/ValueBase.cpp @@ -68,7 +68,7 @@ CORBA::ValueBase::_copy_value () ACE_VERSIONED_NAMESPACE_NAME::__ace_assert ( __FILE__, __LINE__, - ACE_TEXT_CHAR_TO_TCHAR ("Valuetype's _copy_value() should be implimented in user's most derived class")); + ACE_TEXT_CHAR_TO_TCHAR ("Valuetype's _copy_value() should be implemented in user's most derived class")); return 0; } From 7bf94db38459dd2546a6dddda27ecac5ef1f20e0 Mon Sep 17 00:00:00 2001 From: Jan Vermaete Date: Fri, 25 Oct 2024 14:05:08 +0200 Subject: [PATCH 402/445] spelling: changed 'explictly' to 'explicitly' It was a warning when running lintian when making an OpenDDS deb file. I: opendds: spelling-error-in-binary usr/lib/libTAO_IDL_FE.so.2.5.21 explictly explicitly Signed-off-by: Jan Vermaete --- TAO/ChangeLogs/ChangeLog-2004a | 4 ++-- TAO/TAO_IDL/util/utl_err.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TAO/ChangeLogs/ChangeLog-2004a b/TAO/ChangeLogs/ChangeLog-2004a index aa94dcc0efe0d..53d53e3b7e480 100644 --- a/TAO/ChangeLogs/ChangeLog-2004a +++ b/TAO/ChangeLogs/ChangeLog-2004a @@ -1836,7 +1836,7 @@ Sun Jun 13 07:56:20 2004 Phil Mesnier Sun Jun 14 11:36:12 UTC 2004 Johnny Willemsen * tao/PortableServer/Operation_Table.cpp: - Also on AIX we must explictly instantiate static template members. + Also on AIX we must explicitly instantiate static template members. To make things easier to maintenance use the new ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION macro to check whether we need to do this. This macro is set for the GNU compiler for @@ -8244,7 +8244,7 @@ Wed Feb 11 13:17:11 UTC 2004 Johnny Willemsen Wed Feb 11 11:28:56 UTC 2004 Johnny Willemsen * examples/Simple/chat/chat.mpc: - Added idl files explictly so that the order in which the idl files + Added idl files explicitly so that the order in which the idl files are compiled is fixed and correct. Wed Feb 11 10:22:11 UTC 2004 Johnny Willemsen diff --git a/TAO/TAO_IDL/util/utl_err.cpp b/TAO/TAO_IDL/util/utl_err.cpp index f0daaed36c4f3..b68c0cbefc90a 100644 --- a/TAO/TAO_IDL/util/utl_err.cpp +++ b/TAO/TAO_IDL/util/utl_err.cpp @@ -186,7 +186,7 @@ error_string (UTL_Error::ErrorCode c) return "Warning - spelling differs from IDL keyword only in case: "; case UTL_Error::EIDL_ANONYMOUS_ERROR: return "anonymous types require the IDL version to be 4 or later or must " - "be explictly enabled using -as"; + "be explicitly enabled using -as"; case UTL_Error::EIDL_ANONYMOUS_WARNING: return "anonymous type found"; case UTL_Error::EIDL_ANONYMOUS_EXPLICIT_ERROR: From 2bec045b8c7e7d05af90598c15c60b7f34e47566 Mon Sep 17 00:00:00 2001 From: shurarama <92807911+shurarama@users.noreply.github.com> Date: Mon, 4 Nov 2024 16:58:41 +0100 Subject: [PATCH 403/445] fix missed headers in linux build --- ACE/ace/ace.mpc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/ace/ace.mpc b/ACE/ace/ace.mpc index 1d0a835880681..687e0e7c1902e 100644 --- a/ACE/ace/ace.mpc +++ b/ACE/ace/ace.mpc @@ -411,6 +411,8 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, IO_Cntl_Msg.h Intrusive_Auto_Ptr.h Lock_Adapter_T.h + Log_Msg_Backend.h + Log_Msg_Callback.h Log_Priority.h Malloc_Base.h Metrics_Cache.h From 9ab2a3253623399d8c037f55ab78374973902875 Mon Sep 17 00:00:00 2001 From: shurarama <92807911+shurarama@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:02:45 +0100 Subject: [PATCH 404/445] Fix ace_for_tao.mpc --- ACE/ace/ace_for_tao.mpc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/ace/ace_for_tao.mpc b/ACE/ace/ace_for_tao.mpc index c5a8b537b2f19..5d6f8f2113d81 100644 --- a/ACE/ace/ace_for_tao.mpc +++ b/ACE/ace/ace_for_tao.mpc @@ -316,6 +316,8 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace, If_Then_Else.h IO_Cntl_Msg.h Lock_Adapter_T.h + Log_Msg_Backend.h + Log_Msg_Callback.h Log_Priority.h Malloc_Base.h MMAP_Memory_Pool.h From 746c32a76982755d52ca551c30b9a7a0d6ae7173 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 4 Nov 2024 17:36:45 +0100 Subject: [PATCH 405/445] Update libace-dev.install.in See #2297 --- ACE/debian/libace-dev.install.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/ACE/debian/libace-dev.install.in b/ACE/debian/libace-dev.install.in index 81ccec6e6b660..aef39cc2acc83 100644 --- a/ACE/debian/libace-dev.install.in +++ b/ACE/debian/libace-dev.install.in @@ -5,8 +5,6 @@ usr/share/ace/bin/add_rel_link.sh usr/lib/ace/bin usr/share/ace/bin/depgen.pl usr/lib/ace/bin usr/share/ace/bin/DependencyGenerator usr/lib/ace/bin usr/share/ace/include usr/lib/ace -ace/Log_Msg_Backend.h usr/include/ace/ -ace/Log_Msg_Callback.h usr/include/ace/ ../../include/makeinclude/platform_macros.GNU usr/lib/ace/include/makeinclude usr/include/ace/*.h usr/include/ace/*.inl From 1674fc5a3fce94ed6680d1df913c692ba05b8084 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 4 Nov 2024 17:37:40 +0100 Subject: [PATCH 406/445] Update macosx.yml --- .github/workflows/macosx.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml index c9e2e23c0f9ab..c43f0e70f1235 100644 --- a/.github/workflows/macosx.yml +++ b/.github/workflows/macosx.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - platform_file: include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU runs-on: ${{ matrix.os }} From 1f0cdacc9731299b7c6055f8c1a077070a252d1d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 11 Nov 2024 16:57:17 +0100 Subject: [PATCH 407/445] Removed check for c++14, not supported anymore * ACE/include/makeinclude/platform_linux_clang.GNU: --- ACE/include/makeinclude/platform_linux_clang.GNU | 2 -- 1 file changed, 2 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index 2f251d0858675..093aee00bff52 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -47,8 +47,6 @@ else ifeq ($(c++20),1) CCFLAGS += -std=c++20 else ifeq ($(c++17),1) CCFLAGS += -std=c++17 -else ifeq ($(c++14),1) - CCFLAGS += -std=c++14 endif ifeq ($(no_deprecated),1) From 94a462be6052789f5fbe86a7361816d8c4393f9a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 11 Nov 2024 16:57:35 +0100 Subject: [PATCH 408/445] Removed check for c++14, not supported anymore * ACE/include/makeinclude/platform_gcc_clang_common.GNU: --- ACE/include/makeinclude/platform_gcc_clang_common.GNU | 2 -- 1 file changed, 2 deletions(-) diff --git a/ACE/include/makeinclude/platform_gcc_clang_common.GNU b/ACE/include/makeinclude/platform_gcc_clang_common.GNU index 214da114ec62a..62c9dc23bf3fd 100644 --- a/ACE/include/makeinclude/platform_gcc_clang_common.GNU +++ b/ACE/include/makeinclude/platform_gcc_clang_common.GNU @@ -55,8 +55,6 @@ else ifeq ($(c++20),1) CCFLAGS += -std=c++20 else ifeq ($(c++17),1) CCFLAGS += -std=c++17 -else ifeq ($(c++14),1) - CCFLAGS += -std=c++14 endif # If no option has been specified, set templates to automatic From 3fbd1869845f9f774351a56672eb0109509a904e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 11 Nov 2024 16:57:55 +0100 Subject: [PATCH 409/445] Removed ancient check for gcc 4.0.2 * ACE/include/makeinclude/platform_linux.GNU: --- ACE/include/makeinclude/platform_linux.GNU | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux.GNU b/ACE/include/makeinclude/platform_linux.GNU index 466fb28661369..57f1aa6a504ed 100644 --- a/ACE/include/makeinclude/platform_linux.GNU +++ b/ACE/include/makeinclude/platform_linux.GNU @@ -52,15 +52,8 @@ endif # include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU -# TAO with GCC 4.0.2 and -O3 seems to result in runtime issues, for example -# the ForwardRequest PI test will fail. For GCC 4.0.2 we default to -O2 -ifeq ($(CXX_VERSION),4.0.2) - OCFLAGS ?= -O2 - OCCFLAGS ?=-O2 -else - OCFLAGS ?= -O3 - OCCFLAGS ?= -O3 -endif +OCFLAGS ?= -O3 +OCCFLAGS ?= -O3 #### GNU gas has a string limit of 4096 characters. On Alphas, #### builds will fail due to running over that limit. There are From 35c33fc8720653fae641a2ef07470837104f5b8b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 12 Nov 2024 10:46:05 +0100 Subject: [PATCH 410/445] Removed empty line * ACE/include/makeinclude/platform_clang_common.GNU: --- ACE/include/makeinclude/platform_clang_common.GNU | 1 - 1 file changed, 1 deletion(-) diff --git a/ACE/include/makeinclude/platform_clang_common.GNU b/ACE/include/makeinclude/platform_clang_common.GNU index 667d394e1da0e..0f53f913a3951 100644 --- a/ACE/include/makeinclude/platform_clang_common.GNU +++ b/ACE/include/makeinclude/platform_clang_common.GNU @@ -30,7 +30,6 @@ else endif CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion) - CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) # Only modify LDFLAGS if DLD has been set. From 1b0fa02eb7e03a308eb3692882a26abe08fbd5e1 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 12 Nov 2024 12:49:05 +0100 Subject: [PATCH 411/445] Simplified setting of CXX_MAJOR_VERSION * ACE/include/makeinclude/platform_linux_clang.GNU: --- ACE/include/makeinclude/platform_linux_clang.GNU | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU index 093aee00bff52..4eaf019d9d5d8 100644 --- a/ACE/include/makeinclude/platform_linux_clang.GNU +++ b/ACE/include/makeinclude/platform_linux_clang.GNU @@ -12,12 +12,7 @@ endif ifndef CXX_VERSION CXX_VERSION := $(shell $(CXX) -dumpversion) endif -ifeq (cmd,$(findstring cmd,$(SHELL))) CXX_MAJOR_VERSION := $(firstword $(subst ., ,$(CXX_VERSION))) -else -CXX_MAJOR_DOT = $(word $2,$(subst ., ,$1)) -CXX_MAJOR_VERSION := $(call CXX_MAJOR_DOT,$(CXX_VERSION),1) -endif # clang 16 and newer default to C++17 ifeq ($(CXX_MAJOR_VERSION),$(filter $(CXX_MAJOR_VERSION),4 5 6 7 8 9 10 11 12 13 14 15)) From 52a2e24942a97482da0b9532ccf4ad7d7ae2604d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 12 Nov 2024 12:49:51 +0100 Subject: [PATCH 412/445] Removed workarounds for ancient ubuntu versions, only set CXX_FULL_VERSION and CXX_VERSION when not set yet * ACE/include/makeinclude/platform_linux.GNU: --- ACE/include/makeinclude/platform_linux.GNU | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/ACE/include/makeinclude/platform_linux.GNU b/ACE/include/makeinclude/platform_linux.GNU index 57f1aa6a504ed..574a65462685f 100644 --- a/ACE/include/makeinclude/platform_linux.GNU +++ b/ACE/include/makeinclude/platform_linux.GNU @@ -10,16 +10,11 @@ else CXX_FOR_VERSION_TEST ?= g++ endif -CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) -CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion) - -ifeq (Ubuntu, $(findstring Ubuntu,$(LSB_RELEASE_ID))) - ifeq (7.10, $(findstring 7.10,$(LSB_RELEASE_RELEASE))) - no_hidden_visibility ?= 1 - endif - ifeq (7.04, $(findstring 7.04,$(LSB_RELEASE_RELEASE))) - no_hidden_visibility ?= 1 - endif +ifndef CXX_FULL_VERSION + CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) +endif +ifndef CXX_VERSION + CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion) endif ifeq ($(buildbits),32) From 86a03e594c70df8be0dfb569faba305e0595c643 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 12 Nov 2024 12:50:24 +0100 Subject: [PATCH 413/445] Only set certain version variables when not set yet and simplified how to determine the major/minor versions * ACE/include/makeinclude/platform_g++_common.GNU: --- .../makeinclude/platform_g++_common.GNU | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/ACE/include/makeinclude/platform_g++_common.GNU b/ACE/include/makeinclude/platform_g++_common.GNU index 6ce9bc5ce2433..7f6b8e7252f18 100644 --- a/ACE/include/makeinclude/platform_g++_common.GNU +++ b/ACE/include/makeinclude/platform_g++_common.GNU @@ -59,20 +59,18 @@ else CXX_FOR_VERSION_TEST ?= $(CXX) endif -CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion) -CXX_MACHINE := $(shell $(CXX_FOR_VERSION_TEST) -dumpmachine) -ifeq (cmd,$(findstring cmd,$(SHELL))) -CXX_MAJOR_VERSION := $(firstword $(subst ., ,$(CXX_VERSION))) -else -CXX_MAJOR_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/\..*$$//') +ifndef CXX_VERSION + CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion) endif -ifeq (cmd,$(findstring cmd,$(SHELL))) -CXX_MINOR_VERSION := $(word 2,$(subst ., ,$(CXX_VERSION))) -else -CXX_MINOR_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/^[0-9]*\.//' | sed -e 's/\..*$$//') +ifndef CXX_MACHINE + CXX_MACHINE := $(shell $(CXX_FOR_VERSION_TEST) -dumpmachine) +endif +ifndef CXX_FULL_VERSION + CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) endif -CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version) +CXX_MAJOR_VERSION := $(firstword $(subst ., ,$(CXX_VERSION))) +CXX_MINOR_VERSION := $(word 2,$(subst ., ,$(CXX_VERSION))) # Minimum C++ level is now C++17, gcc until version 11 have an older version as default ifeq ($(CXX_MAJOR_VERSION),7) From 1546ab71d13c175ef5158e191124c212189bfb84 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 13 Nov 2024 10:55:26 +0100 Subject: [PATCH 414/445] Update NEWS --- ACE/NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 00f9cd7425b6c..3d3a4069b6ad5 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -7,6 +7,10 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 . Embarcadero C++ Builder bcc64x compiler supported has been updated to match the C++Builder 12.2 release +. Added support for Linux platforms that use musl-libc instead of glibc + +. Improved QNX support + USER VISIBLE CHANGES BETWEEN ACE-8.0.0 and ACE-8.0.1 ==================================================== From 4a709f3d73569e85a936a6494955949eb9a2fcc3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 13 Nov 2024 10:55:50 +0100 Subject: [PATCH 415/445] Update NEWS --- ACE/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 3d3a4069b6ad5..f985c0148c1fe 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -11,6 +11,8 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 . Improved QNX support +. Add support for std::string_view to CDR classes + USER VISIBLE CHANGES BETWEEN ACE-8.0.0 and ACE-8.0.1 ==================================================== From 3d492fae8749f62092979da3dd30355e7ea4f160 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Wed, 13 Nov 2024 10:57:09 +0100 Subject: [PATCH 416/445] Update NEWS --- ACE/NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index f985c0148c1fe..33d939cf21e1b 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -13,6 +13,8 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 . Add support for std::string_view to CDR classes +. Define ACE_HAS_CPP23 when we have a C++23 capable C++ compiler + USER VISIBLE CHANGES BETWEEN ACE-8.0.0 and ACE-8.0.1 ==================================================== From 6ed34759dd23452b33dfed48979be272a1c274dd Mon Sep 17 00:00:00 2001 From: Son Dinh Date: Tue, 19 Nov 2024 16:09:24 -0600 Subject: [PATCH 417/445] Duplicate reactor timer functions --- ACE/ace/Reactor.h | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/ACE/ace/Reactor.h b/ACE/ace/Reactor.h index cf8b2bc291b9d..f037d9b932485 100644 --- a/ACE/ace/Reactor.h +++ b/ACE/ace/Reactor.h @@ -571,18 +571,6 @@ class ACE_Export ACE_Reactor : public ACE_Reactor_Timer_Interface const ACE_Time_Value &interval = ACE_Time_Value::zero); - template> - long schedule_timer (ACE_Event_Handler *event_handler, - const void *arg, - const std::chrono::duration& delay, - const std::chrono::duration& interval = - std::chrono::duration::zero ()) - { - ACE_Time_Value const tv_delay (delay); - ACE_Time_Value const tv_interval (interval); - return this->schedule_timer (event_handler, arg, tv_delay, tv_interval); - } - /** * Reset recurring timer interval. * @@ -597,14 +585,6 @@ class ACE_Export ACE_Reactor : public ACE_Reactor_Timer_Interface virtual int reset_timer_interval (long timer_id, const ACE_Time_Value &interval); - template - int reset_timer_interval (long timer_id, - const std::chrono::duration& interval) - { - ACE_Time_Value const tv_interval (interval); - return this->reset_timer_interval (timer_id, tv_interval); - } - /** * Cancel timer. * From bb2a27e0e7c696598f7c1f6d5774ad46cf8db2cc Mon Sep 17 00:00:00 2001 From: Son Dinh Date: Thu, 21 Nov 2024 10:11:14 -0600 Subject: [PATCH 418/445] Call base member template --- ACE/ace/Reactor.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ACE/ace/Reactor.h b/ACE/ace/Reactor.h index f037d9b932485..7d4f6cdf6593b 100644 --- a/ACE/ace/Reactor.h +++ b/ACE/ace/Reactor.h @@ -571,6 +571,15 @@ class ACE_Export ACE_Reactor : public ACE_Reactor_Timer_Interface const ACE_Time_Value &interval = ACE_Time_Value::zero); + template> + long schedule_timer (ACE_Event_Handler *event_handler, + const void *arg, + const std::chrono::duration& delay, + const std::chrono::duration& interval = std::chrono::duration::zero ()) + { + return ACE_Reactor_Timer_Interface::schedule_timer(event_handler, arg, delay, interval); + } + /** * Reset recurring timer interval. * @@ -585,6 +594,13 @@ class ACE_Export ACE_Reactor : public ACE_Reactor_Timer_Interface virtual int reset_timer_interval (long timer_id, const ACE_Time_Value &interval); + template + int reset_timer_interval (long timer_id, + const std::chrono::duration& interval) + { + return ACE_Reactor_Timer_Interface::reset_timer_interval(timer_id, interval); + } + /** * Cancel timer. * From ef42200cbe3802b54c58af4b6820560598b3c61a Mon Sep 17 00:00:00 2001 From: Son Dinh Date: Thu, 21 Nov 2024 14:45:02 -0600 Subject: [PATCH 419/445] Try using to bring the base class's functions into scope --- ACE/ace/Reactor.h | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/ACE/ace/Reactor.h b/ACE/ace/Reactor.h index 7d4f6cdf6593b..ef61f2e680c55 100644 --- a/ACE/ace/Reactor.h +++ b/ACE/ace/Reactor.h @@ -571,14 +571,7 @@ class ACE_Export ACE_Reactor : public ACE_Reactor_Timer_Interface const ACE_Time_Value &interval = ACE_Time_Value::zero); - template> - long schedule_timer (ACE_Event_Handler *event_handler, - const void *arg, - const std::chrono::duration& delay, - const std::chrono::duration& interval = std::chrono::duration::zero ()) - { - return ACE_Reactor_Timer_Interface::schedule_timer(event_handler, arg, delay, interval); - } + using ACE_Reactor_Timer_Interface::schedule_timer; /** * Reset recurring timer interval. @@ -594,12 +587,7 @@ class ACE_Export ACE_Reactor : public ACE_Reactor_Timer_Interface virtual int reset_timer_interval (long timer_id, const ACE_Time_Value &interval); - template - int reset_timer_interval (long timer_id, - const std::chrono::duration& interval) - { - return ACE_Reactor_Timer_Interface::reset_timer_interval(timer_id, interval); - } + using ACE_Reactor_Timer_Interface::reset_timer_interval; /** * Cancel timer. From 8fd68c0a2b8ecba6bfb8de6143ed240a3de42ad6 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 6 Dec 2024 13:11:27 +0100 Subject: [PATCH 420/445] ACE+TAO-8_0_2 --- ACE/ChangeLogs/ACE-8_0_2 | 293 ++++++++++++++++++++++++++++++++++++++ ACE/PROBLEM-REPORT-FORM | 2 +- ACE/VERSION.txt | 2 +- ACE/ace/Version.h | 6 +- ACE/debian/control | 62 ++++---- ACE/rpmbuild/ace-tao.spec | 4 +- TAO/ChangeLogs/TAO-4_0_2 | 50 +++++++ TAO/PROBLEM-REPORT-FORM | 4 +- TAO/VERSION.txt | 2 +- TAO/tao/Version.h | 6 +- 10 files changed, 387 insertions(+), 44 deletions(-) create mode 100644 ACE/ChangeLogs/ACE-8_0_2 create mode 100644 TAO/ChangeLogs/TAO-4_0_2 diff --git a/ACE/ChangeLogs/ACE-8_0_2 b/ACE/ChangeLogs/ACE-8_0_2 new file mode 100644 index 0000000000000..78c5a8ec5461f --- /dev/null +++ b/ACE/ChangeLogs/ACE-8_0_2 @@ -0,0 +1,293 @@ +commit ef42200cbe3802b54c58af4b6820560598b3c61a +Author: Son Dinh +Date: Thu Nov 21 14:45:02 2024 -0600 + + Try using to bring the base class's functions into scope + +commit bb2a27e0e7c696598f7c1f6d5774ad46cf8db2cc +Author: Son Dinh +Date: Thu Nov 21 10:11:14 2024 -0600 + + Call base member template + +commit 6ed34759dd23452b33dfed48979be272a1c274dd +Author: Son Dinh +Date: Tue Nov 19 16:09:24 2024 -0600 + + Duplicate reactor timer functions + +commit 3d492fae8749f62092979da3dd30355e7ea4f160 +Author: Johnny Willemsen +Date: Wed Nov 13 10:57:09 2024 +0100 + + Update NEWS + +commit 4a709f3d73569e85a936a6494955949eb9a2fcc3 +Author: Johnny Willemsen +Date: Wed Nov 13 10:55:50 2024 +0100 + + Update NEWS + +commit 1546ab71d13c175ef5158e191124c212189bfb84 +Author: Johnny Willemsen +Date: Wed Nov 13 10:55:26 2024 +0100 + + Update NEWS + +commit 17514f856402d3f68c0b130c9d69588a9da135eb +Merge: 86a03e594c7 1839bdf444e +Author: Johnny Willemsen +Date: Tue Nov 12 12:50:41 2024 +0100 + + Merge branch 'master' into jwi-makeincludeclean + +commit 86a03e594c70df8be0dfb569faba305e0595c643 +Author: Johnny Willemsen +Date: Tue Nov 12 12:50:24 2024 +0100 + + Only set certain version variables when not set yet and simplified how to determine the major/minor versions + + * ACE/include/makeinclude/platform_g++_common.GNU: + +commit 52a2e24942a97482da0b9532ccf4ad7d7ae2604d +Author: Johnny Willemsen +Date: Tue Nov 12 12:49:51 2024 +0100 + + Removed workarounds for ancient ubuntu versions, only set CXX_FULL_VERSION and CXX_VERSION when not set yet + + * ACE/include/makeinclude/platform_linux.GNU: + +commit 1b0fa02eb7e03a308eb3692882a26abe08fbd5e1 +Author: Johnny Willemsen +Date: Tue Nov 12 12:49:05 2024 +0100 + + Simplified setting of CXX_MAJOR_VERSION + + * ACE/include/makeinclude/platform_linux_clang.GNU: + +commit 35c33fc8720653fae641a2ef07470837104f5b8b +Author: Johnny Willemsen +Date: Tue Nov 12 10:46:05 2024 +0100 + + Removed empty line + + * ACE/include/makeinclude/platform_clang_common.GNU: + +commit 3fbd1869845f9f774351a56672eb0109509a904e +Author: Johnny Willemsen +Date: Mon Nov 11 16:57:55 2024 +0100 + + Removed ancient check for gcc 4.0.2 + + * ACE/include/makeinclude/platform_linux.GNU: + +commit 94a462be6052789f5fbe86a7361816d8c4393f9a +Author: Johnny Willemsen +Date: Mon Nov 11 16:57:35 2024 +0100 + + Removed check for c++14, not supported anymore + + * ACE/include/makeinclude/platform_gcc_clang_common.GNU: + +commit 1f0cdacc9731299b7c6055f8c1a077070a252d1d +Author: Johnny Willemsen +Date: Mon Nov 11 16:57:17 2024 +0100 + + Removed check for c++14, not supported anymore + + * ACE/include/makeinclude/platform_linux_clang.GNU: + +commit 1839bdf444e7c8721b72f1d3834325c6e4751892 +Merge: 465964da4ea 746c32a7698 +Author: Johnny Willemsen +Date: Tue Nov 5 09:10:09 2024 +0100 + + Merge pull request #2298 from DOCGroup/jwillemsen-patch-1 + + Update libace-dev.install.in + +commit 746c32a76982755d52ca551c30b9a7a0d6ae7173 +Author: Johnny Willemsen +Date: Mon Nov 4 17:36:45 2024 +0100 + + Update libace-dev.install.in + + See #2297 + +commit 9ab2a3253623399d8c037f55ab78374973902875 +Author: shurarama <92807911+shurarama@users.noreply.github.com> +Date: Mon Nov 4 17:02:45 2024 +0100 + + Fix ace_for_tao.mpc + +commit 2bec045b8c7e7d05af90598c15c60b7f34e47566 +Author: shurarama <92807911+shurarama@users.noreply.github.com> +Date: Mon Nov 4 16:58:41 2024 +0100 + + fix missed headers in linux build + +commit f100e7f8e0a6ff8cfcb2191ce087f82b0dd2c9c7 +Author: Osyotr +Date: Thu Oct 24 15:19:09 2024 +0300 + + Update NEWS + +commit 4a52b9387b14f557907b2f28d0064fa863c0ea1c +Author: Osyotr +Date: Thu Oct 24 14:04:30 2024 +0300 + + Remove checked_iterator.h + +commit db27e8b16df58a8c8516128f64cb7d7ca8d5a8db +Author: Iulian Serbanoiu +Date: Sun Oct 6 18:34:47 2024 +0300 + + fix for #2286 - avoid header compilation failure in %install phase by adding -std=c++17 + +commit 47e2cd8a853e233347dc7a7baf8085b121194bbd +Author: Johnny Willemsen +Date: Tue Oct 1 15:29:41 2024 +0200 + + Update NEWS + +commit af70a6ebd43b93be5814328e2aa63f2bb8777cfc +Author: Sudip Mukherjee +Date: Thu Sep 5 14:44:04 2024 +0100 + + sync debian files + + Signed-off-by: Sudip Mukherjee + +commit aaefe4c80c2c5ac5b84b901d7f75d595db69782c +Author: Johnny Willemsen +Date: Thu Aug 29 09:37:32 2024 +0200 + + Set +ACE_PLATFORM_CONFIG + + * ACE/include/makeinclude/platform_qnx_gcc.GNU: + +commit 843f39c3f34d51fdb1e458508b9a31fd7d9f39d9 +Author: Adam Mitz +Date: Fri Aug 9 12:28:26 2024 -0500 + + updated preprocessor expression + +commit 13c89f982a41df87f9f80fc681252e7672315fc0 +Author: Adam Mitz +Date: Fri Aug 9 12:25:27 2024 -0500 + + removed check for unused macro + +commit 1eee82d3680bbf03ee6d6adb45bec9f2a2bf805f +Author: Adam Mitz +Date: Thu Aug 8 21:38:32 2024 +0000 + + Updated and simplified musl-libc compatibility + +commit a202757e6e15050cb97715b8b3beefe1cb67f325 +Merge: 2f43395536e 7ec8330eb8a +Author: Adam Mitz +Date: Thu Aug 8 21:37:39 2024 +0000 + + Merge remote-tracking branch 'origin/pr1072' into musl + +commit 2f43395536e8f1e3ceb6eca2b0a81dd3735a6f01 +Merge: 21085b684bf 452d14159cb +Author: Johnny Willemsen +Date: Mon Aug 5 20:43:55 2024 +0200 + + Merge pull request #2274 from jwillemsen/jwi-ACE_FALLTHROUGH + + Cleanup ACE_FALLTHROUGH + +commit 452d14159cba5389d55c2e6948d35354f9da8a5d +Author: Johnny Willemsen +Date: Mon Aug 5 19:36:08 2024 +0200 + + Cleanup ACE_FALLTHROUGH + + * ACE/ace/config-g++-common.h: + * ACE/ace/config-macros.h: + +commit 21085b684bfe9722b1f27e34ded3fd85a1f3cce8 +Merge: 484ff9dd3c4 78eb5267905 +Author: Johnny Willemsen +Date: Mon Aug 5 11:31:27 2024 +0200 + + Merge pull request #2271 from jwillemsen/jwi-cpp23 + + Define ACE_HAS_CPP23 when we have C++23 support + +commit 852621f99f833e2fc22673490b69a5f048027b37 +Author: Johnny Willemsen +Date: Mon Aug 5 10:19:41 2024 +0200 + + Extended output CDR classes to serialize a std::string_view directly + + * ACE/ace/CDR_Size.h: + * ACE/ace/CDR_Size.inl: + * ACE/ace/CDR_Stream.h: + * ACE/ace/CDR_Stream.inl: + * ACE/tests/CDR_Test.cpp: + * TAO/tao/CDR.h: + * TAO/tao/CDR.inl: + +commit 78eb52679050266c047bf19e7819bdae96f89e2d +Author: Johnny Willemsen +Date: Mon Aug 5 08:55:30 2024 +0200 + + Define ACE_HAS_CPP23 when we have C++23 support + + * ACE/ace/config-g++-common.h: + * ACE/ace/config-win32-borland.h: + * ACE/ace/config-win32-msvc-142.h: + +commit e0d586b7697aa252bd0d83ffae8de3971ca32634 +Author: Johnny Willemsen +Date: Fri Aug 2 10:36:20 2024 +0200 + + Manually updating OpenDDS is not necessary anymore, there is a github action handling that + + * ACE/docs/bczar/bczar.html: + +commit c9e15410ccf4d9cbb5fb39c4dba32c24a4d2b48e +Author: Johnny Willemsen +Date: Fri Aug 2 10:21:01 2024 +0200 + + Make ACE 8.0.1 and TAO 4.0.1 public + + * ACE/NEWS: + * ACE/bin/copy-local-script.sh: + * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: + * ACE/docs/Download.html: + * ACE/etc/index.html: + +commit 7ec8330eb8adf35e2bbf12bc40a5321feb93c4b8 +Author: Andreas Dröscher +Date: Thu Apr 9 23:39:46 2020 +0200 + + Abort compilation if no libc is detected or enabled + +commit b9e97a9a68ddfe06bc6a871df86f3211d2f19d48 +Author: Andreas Dröscher +Date: Thu Apr 9 23:39:02 2020 +0200 + + Added musl specific section to config-linux.h + +commit 96e0a8511e27fb962cfb324dd654fe23311b0f38 +Author: Andreas Dröscher +Date: Thu Apr 9 23:38:08 2020 +0200 + + typedef ACE_LOFF_T as off_t for musl + +commit af5a3578b242f425bec5cf64d4ec0dce548214b0 +Author: Andreas Dröscher +Date: Thu Apr 9 23:36:15 2020 +0200 + + Replacing strange datatype definition with standard + + ACE_Dev_Poll_Reactor is using __uint32_t for no apparent + reason. Since struct epoll_event.events is defined as + uint32_t and using __uint32_t breaks compatibility + with musl, __uint32_t should be replaced with uint32_t. + But to conform with ACE Guidelines I'm using ACE_UINT32. diff --git a/ACE/PROBLEM-REPORT-FORM b/ACE/PROBLEM-REPORT-FORM index 788ac082bb848..41c977f22f4c0 100644 --- a/ACE/PROBLEM-REPORT-FORM +++ b/ACE/PROBLEM-REPORT-FORM @@ -25,7 +25,7 @@ include an entire platform-specific configuration file in the form. 8<----------8<----------8<----------8<----------8<----------8<----------8<---- - ACE VERSION: 8.0.1 + ACE VERSION: 8.0.2 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/ACE/VERSION.txt b/ACE/VERSION.txt index c3bb6dd71250c..4983b3736a487 100644 --- a/ACE/VERSION.txt +++ b/ACE/VERSION.txt @@ -1,4 +1,4 @@ -This is ACE version 8.0.1, released Fri Aug 02 10:00:36 CEST 2024 +This is ACE version 8.0.2, released Fri Dec 06 13:11:26 CET 2024 If you have any problems with or questions about ACE, please open a issue or discussion on the ACE_TAO github project at diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index a2ae00d6dfeaf..d5dadc684b224 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -4,7 +4,7 @@ #define ACE_MAJOR_VERSION 8 #define ACE_MINOR_VERSION 0 -#define ACE_MICRO_VERSION 1 -#define ACE_VERSION "8.0.1" -#define ACE_VERSION_CODE 0x80001 +#define ACE_MICRO_VERSION 2 +#define ACE_VERSION "8.0.2" +#define ACE_VERSION_CODE 0x80002 #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/debian/control b/ACE/debian/control index a490ae71a0a9a..a113eda306476 100644 --- a/ACE/debian/control +++ b/ACE/debian/control @@ -26,7 +26,7 @@ Description: makefile, project, and workspace creator * mpc-ace: generates project files for a single target * mwc-ace: generates workspace files for a set of projects -Package: libace-8.0.1 +Package: libace-8.0.2 Replaces: libace-7.1.2t64 Breaks: libace-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -46,7 +46,7 @@ Description: C++ network programming framework Package: libace-dev Architecture: any Section: libdevel -Depends: libace-8.0.1 (= ${binary:Version}), ${misc:Depends} +Depends: libace-8.0.2 (= ${binary:Version}), ${misc:Depends} Suggests: libace-doc, pkgconf Description: C++ network programming framework - development files This package contains the header files and static library for the ACE @@ -62,7 +62,7 @@ Description: C++ network programming framework - documentation This package contains the ACE overview documentation, tutorials, examples, and information regarding upstream development. -Package: libace-ssl-8.0.1 +Package: libace-ssl-8.0.2 Replaces: libace-ssl-7.1.2t64 Breaks: libace-ssl-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -75,12 +75,12 @@ Description: ACE secure socket layer library Package: libace-ssl-dev Architecture: any Section: libdevel -Depends: libace-ssl-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} +Depends: libace-ssl-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev, ${misc:Depends} Description: ACE secure socket layer library - development files This package contains the header files and static library for the ACE SSL library. -Package: libace-rmcast-8.0.1 +Package: libace-rmcast-8.0.2 Replaces: libace-rmcast-7.1.2t64 Breaks: libace-rmcast-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -96,12 +96,12 @@ Description: ACE reliable multicast library Package: libace-rmcast-dev Architecture: any Section: libdevel -Depends: libace-rmcast-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-rmcast-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE reliable multicast library - development files This package contains the header files and static library for the ACE reliable multicast library. -Package: libace-tmcast-8.0.1 +Package: libace-tmcast-8.0.2 Replaces: libace-tmcast-7.1.2t64 Breaks: libace-tmcast-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -117,12 +117,12 @@ Description: ACE transactional multicast library Package: libace-tmcast-dev Architecture: any Section: libdevel -Depends: libace-tmcast-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-tmcast-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE transactional multicast library - development files This package contains the header files and static library for the ACE transactional multicast library. -Package: libace-htbp-8.0.1 +Package: libace-htbp-8.0.2 Replaces: libace-htbp-7.1.2t64 Breaks: libace-htbp-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -138,12 +138,12 @@ Description: ACE protocol over HTTP tunneling library Package: libace-htbp-dev Architecture: any Section: libdevel -Depends: libace-htbp-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-htbp-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE protocol over HTTP tunneling library - development files This package contains the header files and static library for the ACE HTBP library. -Package: libace-inet-8.0.1 +Package: libace-inet-8.0.2 Replaces: libace-inet-7.1.2t64 Breaks: libace-inet-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -156,17 +156,17 @@ Description: ACE Inet protocol library Package: libace-inet-dev Architecture: any Section: libdevel -Depends: libace-inet-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE Inet protocol library - development files This package contains the header files and static library for the ACE Inet protocol library. -Package: libace-inet-ssl-8.0.1 +Package: libace-inet-ssl-8.0.2 Replaces: libace-inet-ssl-7.1.2t64 Breaks: libace-inet-ssl-7.1.2t64 (<< ${source:Version}) Architecture: any Section: libs -Depends: libace-inet-8.0.1, libace-ssl-8.0.1, ${shlibs:Depends}, ${misc:Depends} +Depends: libace-inet-8.0.2, libace-ssl-8.0.2, ${shlibs:Depends}, ${misc:Depends} Description: ACE SSL-enabled Inet protocol library This package provides an ACE addon library for clients (and possibly servers at some point) using Inet protocols which support SSL, such as @@ -175,7 +175,7 @@ Description: ACE SSL-enabled Inet protocol library Package: libace-inet-ssl-dev Architecture: any Section: libdevel -Depends: libace-inet-ssl-8.0.1 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} +Depends: libace-inet-ssl-8.0.2 (= ${binary:Version}), libace-inet-dev (= ${binary:Version}), libace-ssl-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SSL-enabled Inet protocol library - development files This package contains the header files and static library for the ACE SSL-enabled Inet protocol library. @@ -190,7 +190,7 @@ Description: ACE perfect hash function generator basically the same options and functionality. ace_gperf simply takes advantage of some of the features provided by the ACE library. -Package: libacexml-8.0.1 +Package: libacexml-8.0.2 Replaces: libacexml-7.1.2t64 Breaks: libacexml-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -207,12 +207,12 @@ Description: ACE SAX based XML parsing library Package: libacexml-dev Architecture: any Section: libdevel -Depends: libacexml-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libacexml-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE SAX based XML parsing library - development files This package contains the header files and static library for the ACE XML parsing library. -Package: libace-xml-utils-8.0.1 +Package: libace-xml-utils-8.0.2 Replaces: libace-xml-utils-7.1.2t64 Breaks: libace-xml-utils-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -227,12 +227,12 @@ Description: ACE XML utility classes and methods Package: libace-xml-utils-dev Architecture: any Section: libdevel -Depends: libace-xml-utils-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev +Depends: libace-xml-utils-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}, libxerces-c-dev Description: ACE XML utility classes and methods - development files This package contains the header files and static library for the ACE XML Utils library -Package: libkokyu-8.0.1 +Package: libkokyu-8.0.2 Replaces: libkokyu-7.1.2t64 Breaks: libkokyu-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -248,12 +248,12 @@ Description: ACE scheduling and dispatching library Package: libkokyu-dev Architecture: any Section: libdevel -Depends: libkokyu-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libkokyu-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE scheduling and dispatching library - development files This package contains the header files and static library for the ACE scheduling and dispatching library. -Package: libace-xtreactor-8.0.1 +Package: libace-xtreactor-8.0.2 Replaces: libace-xtreactor-7.1.2t64 Breaks: libace-xtreactor-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -273,12 +273,12 @@ Description: ACE-GUI reactor integration for Xt Package: libace-xtreactor-dev Architecture: any Section: libdevel -Depends: libace-xtreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev, ${misc:Depends} +Depends: libace-xtreactor-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev, ${misc:Depends} Description: ACE-GUI reactor integration for Xt - development files This package contains header files and static library for the ACE-Xt reactor integration. -Package: libace-tkreactor-8.0.1 +Package: libace-tkreactor-8.0.2 Replaces: libace-tkreactor-7.1.2t64 Breaks: libace-tkreactor-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -299,12 +299,12 @@ Description: ACE-GUI reactor integration for Tk Package: libace-tkreactor-dev Architecture: any Section: libdevel -Depends: libace-tkreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev, ${misc:Depends} +Depends: libace-tkreactor-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev, ${misc:Depends} Description: ACE-GUI reactor integration for Tk - development files This package contains header files and static library for the ACE-Tk reactor integration. -Package: libace-flreactor-8.0.1 +Package: libace-flreactor-8.0.2 Replaces: libace-flreactor-7.1.2t64 Breaks: libace-flreactor-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -324,12 +324,12 @@ Description: ACE-GUI reactor integration for FLTK Package: libace-flreactor-dev Architecture: any Section: libdevel -Depends: libace-flreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} +Depends: libace-flreactor-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.3-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FLTK - development files This package contains header files and static library for the ACE-FLTK reactor integration. -Package: libace-foxreactor-8.0.1 +Package: libace-foxreactor-8.0.2 Replaces: libace-foxreactor-7.1.2t64 Breaks: libace-foxreactor-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -348,7 +348,7 @@ Description: ACE-GUI reactor integration for FOX Package: libace-foxreactor-dev Architecture: any Section: libdevel -Depends: libace-foxreactor-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} +Depends: libace-foxreactor-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends} Description: ACE-GUI reactor integration for FOX - development files This package contains header files and static library for the ACE-FOX reactor integration. @@ -365,7 +365,7 @@ Description: ACE network service implementations files to link the various ACE network services together, either statically or dynamically, and form complete server programs. -Package: libnetsvcs-8.0.1 +Package: libnetsvcs-8.0.2 Replaces: libnetsvcs-7.1.2t64 Breaks: libnetsvcs-7.1.2t64 (<< ${source:Version}) Architecture: any @@ -381,7 +381,7 @@ Description: ACE network service implementations - libraries Package: libnetsvcs-dev Architecture: any Section: libdevel -Depends: libnetsvcs-8.0.1 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} +Depends: libnetsvcs-8.0.2 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends} Description: ACE network service implementations - development files ACE network services provide reusable components for common distributed system tasks such as logging, naming, locking, and time diff --git a/ACE/rpmbuild/ace-tao.spec b/ACE/rpmbuild/ace-tao.spec index fe57b5e0d64b3..329ddd589af5d 100644 --- a/ACE/rpmbuild/ace-tao.spec +++ b/ACE/rpmbuild/ace-tao.spec @@ -1,6 +1,6 @@ # Set the version number here. -%define ACEVER 8.0.1 -%define TAOVER 4.0.1 +%define ACEVER 8.0.2 +%define TAOVER 4.0.2 # Conditional build # Default values are diff --git a/TAO/ChangeLogs/TAO-4_0_2 b/TAO/ChangeLogs/TAO-4_0_2 new file mode 100644 index 0000000000000..6283c9624a712 --- /dev/null +++ b/TAO/ChangeLogs/TAO-4_0_2 @@ -0,0 +1,50 @@ +commit 7bf94db38459dd2546a6dddda27ecac5ef1f20e0 +Author: Jan Vermaete +Date: Fri Oct 25 14:05:08 2024 +0200 + + spelling: changed 'explictly' to 'explicitly' + + It was a warning when running lintian when making an OpenDDS deb file. + + I: opendds: spelling-error-in-binary usr/lib/libTAO_IDL_FE.so.2.5.21 explictly explicitly + + Signed-off-by: Jan Vermaete + +commit dfd76988181dd380795b9ae1ad267848faa6cff1 +Author: Jan Vermaete +Date: Fri Oct 25 13:16:03 2024 +0200 + + spelling: changed implImented to implEmented + + It was a warning when running lintian when making an OpenDDS deb file. + + I: opendds: spelling-error-in-binary usr/lib/libTAO_IDL_FE.so.2.5.21 explictly explicitly + I: opendds: spelling-error-in-binary usr/lib/libTAO_Valuetype.so.2.5.21 implimented implemented + + Signed-off-by: Jan Vermaete + +commit 4a52b9387b14f557907b2f28d0064fa863c0ea1c +Author: Osyotr +Date: Thu Oct 24 14:04:30 2024 +0300 + + Remove checked_iterator.h + +commit fbc7205d70adb80180ea81bdcd6acd759b9e316f +Author: remko +Date: Tue Oct 15 16:49:46 2024 +0200 + + fixed a typo in the documentation + +commit 852621f99f833e2fc22673490b69a5f048027b37 +Author: Johnny Willemsen +Date: Mon Aug 5 10:19:41 2024 +0200 + + Extended output CDR classes to serialize a std::string_view directly + + * ACE/ace/CDR_Size.h: + * ACE/ace/CDR_Size.inl: + * ACE/ace/CDR_Stream.h: + * ACE/ace/CDR_Stream.inl: + * ACE/tests/CDR_Test.cpp: + * TAO/tao/CDR.h: + * TAO/tao/CDR.inl: diff --git a/TAO/PROBLEM-REPORT-FORM b/TAO/PROBLEM-REPORT-FORM index 22f5234afb37a..ea93cf8664124 100644 --- a/TAO/PROBLEM-REPORT-FORM +++ b/TAO/PROBLEM-REPORT-FORM @@ -40,8 +40,8 @@ To: tao-bugs@list.isis.vanderbilt.edu Subject: [area]: [synopsis] - TAO VERSION: 4.0.1 - ACE VERSION: 8.0.1 + TAO VERSION: 4.0.2 + ACE VERSION: 8.0.2 HOST MACHINE and OPERATING SYSTEM: If on Windows based OS's, which version of WINSOCK do you diff --git a/TAO/VERSION.txt b/TAO/VERSION.txt index 94f7a11841e5d..7013a9323bd1b 100644 --- a/TAO/VERSION.txt +++ b/TAO/VERSION.txt @@ -1,4 +1,4 @@ -This is TAO version 4.0.1, released Fri Aug 02 10:00:36 CEST 2024 +This is TAO version 4.0.2, released Fri Dec 06 13:11:26 CET 2024 If you have any problems with or questions about TAO, please open a issue or discussion on the ACE_TAO github project at diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index 819f6d7ea673e..6dabb2f551d56 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -4,7 +4,7 @@ #define TAO_MAJOR_VERSION 4 #define TAO_MINOR_VERSION 0 -#define TAO_MICRO_VERSION 1 -#define TAO_VERSION "4.0.1" -#define TAO_VERSION_CODE 0x40001 +#define TAO_MICRO_VERSION 2 +#define TAO_VERSION "4.0.2" +#define TAO_VERSION_CODE 0x40002 #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From 432c11a88682105a3ea1030444df6bc134f0a79c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 6 Dec 2024 13:30:42 +0100 Subject: [PATCH 421/445] Make 8.0.2/4.0.2 public and prepare for next release * ACE/NEWS: * ACE/bin/copy-local-script.sh: * ACE/bin/diff-builds-and-group-fixed-tests-only.sh: * ACE/docs/Download.html: * ACE/etc/index.html: * TAO/NEWS: --- ACE/NEWS | 7 ++- ACE/bin/copy-local-script.sh | 2 +- .../diff-builds-and-group-fixed-tests-only.sh | 2 +- ACE/docs/Download.html | 62 +++++++++---------- ACE/etc/index.html | 1 + TAO/NEWS | 8 +++ 6 files changed, 47 insertions(+), 35 deletions(-) diff --git a/ACE/NEWS b/ACE/NEWS index 33d939cf21e1b..0d4d6d611b406 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,10 +1,13 @@ +USER VISIBLE CHANGES BETWEEN ACE-8.0.2 and ACE-8.0.3 +==================================================== + USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 ==================================================== . Removed ACE_make_checked_array_iterator that used deprecated - stdext::checked_array_iterator + stdext::checked_array_iterator -. Embarcadero C++ Builder bcc64x compiler supported has been +. Embarcadero C++ Builder bcc64x compiler support has been updated to match the C++Builder 12.2 release . Added support for Linux platforms that use musl-libc instead of glibc diff --git a/ACE/bin/copy-local-script.sh b/ACE/bin/copy-local-script.sh index b9e27b293136e..eefdfe89ae965 100755 --- a/ACE/bin/copy-local-script.sh +++ b/ACE/bin/copy-local-script.sh @@ -1,7 +1,7 @@ #!/bin/sh for i in *.gz *.bz2 *.zip *.md5; do - d=`echo $i | sed 's/\.[tz][ai][rp]/-8.0.1&/'` + d=`echo $i | sed 's/\.[tz][ai][rp]/-8.0.3&/'` echo "Copying $i to $d" cp -ip $i $d done diff --git a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh index ea43cf505191e..42968b1b49466 100755 --- a/ACE/bin/diff-builds-and-group-fixed-tests-only.sh +++ b/ACE/bin/diff-builds-and-group-fixed-tests-only.sh @@ -2,7 +2,7 @@ if test -z $1; then newdate=`date -u +%Y_%m_%d`; else newdate=$1; fi if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi -if test -z $3; then olddate=2024_08_02; else olddate=$3; fi +if test -z $3; then olddate=2024_12_06; else olddate=$3; fi if test -z $ACE_ROOT; then ACE_ROOT=..; fi if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi # diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html index a6949e8f18cb3..390851f5ae6f2 100644 --- a/ACE/docs/Download.html +++ b/ACE/docs/Download.html @@ -90,80 +90,80 @@

                              Downloading Freely Available Versions of ACE, TAO, CIAO, and DAnCE

                                -
                              • Latest ACE+TAO Micro Release. The latest micro release is ACE 8.0.1 and TAO 4.0.1, please use the links below to download it.

                                +

                              • Latest ACE+TAO Micro Release. The latest micro release is ACE 8.0.2 and TAO 4.0.2, please use the links below to download it.

                                - - - - - - - - - - - - - - -
                                FilenameDescriptionFullSources only
                                ACE+TAO.tar.gz ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE+TAO.tar.bz2 ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE+TAO.zip ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE-html.tar.gz Doxygen documentation for ACE+TAO (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE-html.tar.bz2 Doxygen documentation for ACE+TAO (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE-html.zip Doxygen documentation for ACE+TAO (zip format)[HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE.tar.gz ACE only (tar+gzip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE.tar.bz2 ACE only (tar+bzip2 format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                                ACE.zip ACE only (zip format)[HTTP] - [FTP] + [HTTP] + [FTP] [HTTP] - [FTP] + [HTTP] + [FTP]
                                diff --git a/ACE/etc/index.html b/ACE/etc/index.html index e8cacaa6a92e0..a03e66c919eca 100644 --- a/ACE/etc/index.html +++ b/ACE/etc/index.html @@ -30,6 +30,7 @@

                                ACE+TAO Documentation


                                We do have the documentation for previous releases
                                  +
                                • 8.0.2

                                • 8.0.1

                                • 8.0.0

                                • 7.1.4

                                • diff --git a/TAO/NEWS b/TAO/NEWS index 3e039b95c8a14..2152e220f3701 100644 --- a/TAO/NEWS +++ b/TAO/NEWS @@ -1,3 +1,11 @@ +USER VISIBLE CHANGES BETWEEN TAO-4.0.2 and TAO-4.0.3 +==================================================== + +USER VISIBLE CHANGES BETWEEN TAO-4.0.1 and TAO-4.0.2 +==================================================== + +- None + USER VISIBLE CHANGES BETWEEN TAO-4.0.0 and TAO-4.0.1 ==================================================== From aee8b43f6ee4d0c5eab39b271da20d08d8791db2 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Wed, 11 Dec 2024 09:00:02 -0600 Subject: [PATCH 422/445] Fixed warnings: reusing a name in nested scopes Updated style per guidelines --- TAO/tao/Bounded_Array_Sequence_T.h | 43 ++++++++++++++++------------ TAO/tao/Unbounded_Array_Sequence_T.h | 43 ++++++++++++++++------------ 2 files changed, 48 insertions(+), 38 deletions(-) diff --git a/TAO/tao/Bounded_Array_Sequence_T.h b/TAO/tao/Bounded_Array_Sequence_T.h index dc2c6b22f2b4d..b34c4c4ef23bf 100644 --- a/TAO/tao/Bounded_Array_Sequence_T.h +++ b/TAO/tao/Bounded_Array_Sequence_T.h @@ -93,33 +93,38 @@ class bounded_array_sequence namespace TAO { template - bool demarshal_sequence(stream & strm, TAO::bounded_array_sequence & target) { + bool demarshal_sequence (stream &strm, TAO::bounded_array_sequence &target) { typedef typename TAO::bounded_array_sequence sequence; typedef TAO_Array_Forany_T forany; typedef TAO::Array_Traits array_traits; ::CORBA::ULong new_length = 0; - if (!(strm >> new_length)) { - return false; - } - if ((new_length > strm.length()) || (new_length > target.maximum ())) { - return false; - } - sequence tmp; - tmp.length(new_length); - typename sequence::value_type * buffer = tmp.get_buffer(); - for(CORBA::ULong i = 0; i < new_length; ++i) { - forany tmp (array_traits::alloc ()); - bool const _tao_marshal_flag = (strm >> tmp); - if (_tao_marshal_flag) { - array_traits::copy (buffer[i], tmp.in ()); + if (!(strm >> new_length)) + { + return false; } - array_traits::free (tmp.inout ()); - if (!_tao_marshal_flag) { + if ((new_length > strm.length ()) || (new_length > target.maximum ())) + { return false; } - } - tmp.swap(target); + sequence tmp; + tmp.length (new_length); + typename sequence::value_type *const buffer = tmp.get_buffer (); + for (CORBA::ULong i = 0; i < new_length; ++i) + { + forany wrapper (array_traits::alloc ()); + bool const _tao_marshal_flag = strm >> wrapper; + if (_tao_marshal_flag) + { + array_traits::copy (buffer[i], wrapper.in ()); + } + array_traits::free (wrapper.inout ()); + if (!_tao_marshal_flag) + { + return false; + } + } + tmp.swap (target); return true; } diff --git a/TAO/tao/Unbounded_Array_Sequence_T.h b/TAO/tao/Unbounded_Array_Sequence_T.h index 873376148af4b..9ed973a8f5bd3 100644 --- a/TAO/tao/Unbounded_Array_Sequence_T.h +++ b/TAO/tao/Unbounded_Array_Sequence_T.h @@ -95,33 +95,38 @@ class unbounded_array_sequence namespace TAO { template - bool demarshal_sequence(stream & strm, TAO::unbounded_array_sequence & target) { + bool demarshal_sequence (stream &strm, TAO::unbounded_array_sequence &target) { typedef TAO::unbounded_array_sequence sequence; typedef TAO_Array_Forany_T forany; typedef TAO::Array_Traits array_traits; ::CORBA::ULong new_length = 0; - if (!(strm >> new_length)) { - return false; - } - if (new_length > strm.length()) { - return false; - } - sequence tmp(new_length); - tmp.length(new_length); - typename sequence::value_type * buffer = tmp.get_buffer(); - for(CORBA::ULong i = 0; i < new_length; ++i) { - forany tmp (array_traits::alloc ()); - bool const _tao_marshal_flag = (strm >> tmp); - if (_tao_marshal_flag) { - array_traits::copy (buffer[i], tmp.in ()); + if (!(strm >> new_length)) + { + return false; } - array_traits::free (tmp.inout ()); - if (!_tao_marshal_flag) { + if (new_length > strm.length ()) + { return false; } - } - tmp.swap(target); + sequence tmp (new_length); + tmp.length (new_length); + typename sequence::value_type *const buffer = tmp.get_buffer (); + for (CORBA::ULong i = 0; i < new_length; ++i) + { + forany wrapper (array_traits::alloc ()); + bool const _tao_marshal_flag = strm >> wrapper; + if (_tao_marshal_flag) + { + array_traits::copy (buffer[i], wrapper.in ()); + } + array_traits::free (wrapper.inout ()); + if (!_tao_marshal_flag) + { + return false; + } + } + tmp.swap (target); return true; } From 70c1a78cc8d727e7a80bbc9e0e3f5da3193ae255 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Wed, 11 Dec 2024 09:10:27 -0600 Subject: [PATCH 423/445] Fixed warnings in tao_idl generated code Classes that have a pure virtual member cannot be constructed as the most-derived type of an object. Their constructors are always called indirectly from derived constructors. Initializing virtual bases in these constructors is effectively dead code since virtual bases can only be initialized by the most-derived type. Some compilers, with some warning settings, generated warnings for this. --- TAO/TAO_IDL/be/be_interface.cpp | 2 +- .../be/be_visitor_interface/amh_ss.cpp | 2 +- .../be/be_visitor_interface/interface_ss.cpp | 26 ++++++++++++++----- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp index 2eebde2ba5c02..6f16d76577261 100644 --- a/TAO/TAO_IDL/be/be_interface.cpp +++ b/TAO/TAO_IDL/be/be_interface.cpp @@ -2234,7 +2234,7 @@ be_interface::copy_ctor_helper (be_interface *derived, { // We can't call ourselves in a copy constructor, and // abstract interfaces don't exist on the skeleton side. - if (derived == base || base->is_abstract ()) + if (derived == base || base->is_abstract () || derived->nmembers () > 0) { return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp index 87642de80f33d..0db6a99e3bbd5 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp @@ -200,7 +200,7 @@ TAO_IDL_Copy_Ctor_Worker::emit (be_interface *derived, TAO_OutStream *os, be_interface *base) { - if (derived == base) + if (derived == base || derived->nmembers () > 0) { return 0; } diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp index d87a9d64457e7..e8ac39c4fcdf8 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp @@ -107,13 +107,21 @@ be_visitor_interface_ss::visit_interface (be_interface *node) *os << full_skel_name << "::" << local_name_prefix << node_local_name - << " ()" << be_idt_nl; + << " ()"; - *os << ": TAO_ServantBase ()" << be_uidt_nl; + bool const init_bases = node->nmembers () == 0; + if (init_bases) + { + *os << be_idt_nl << ": TAO_ServantBase ()" << be_uidt_nl; + } + else + { + *os << be_nl; + } // Default constructor body. *os << "{" << be_idt_nl - << "this->optable_ = std::addressof(tao_" << flat_name + << "this->optable_ = std::addressof (tao_" << flat_name << "_optable);" << be_uidt_nl << "}" << be_nl_2; @@ -121,11 +129,15 @@ be_visitor_interface_ss::visit_interface (be_interface *node) *os << full_skel_name << "::" << local_name_prefix << node_local_name << " (" << "const " << local_name_prefix - << node_local_name << "& rhs)"; + << node_local_name << " &" + << (init_bases ? "rhs" : "") << ")"; - *os << be_idt_nl - << ": TAO_Abstract_ServantBase (rhs)," << be_nl - << " TAO_ServantBase (rhs)"; + if (init_bases) + { + *os << be_idt_nl + << ": TAO_Abstract_ServantBase (rhs)," << be_nl + << " TAO_ServantBase (rhs)"; + } if (this->generate_copy_ctor (node, os) == -1) { From 5dcda057378e923714e9476e693587fcc4214a4c Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Tue, 17 Dec 2024 09:32:44 -0600 Subject: [PATCH 424/445] Use =default for skeleton copy constructor --- .../be/be_visitor_interface/interface_sh.cpp | 2 +- .../be/be_visitor_interface/interface_ss.cpp | 38 +------------------ .../be_visitor_interface/interface_ss.h | 3 +- 3 files changed, 3 insertions(+), 40 deletions(-) diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp index 9e9dcc950341b..97dbc792614c0 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp @@ -115,7 +115,7 @@ be_visitor_interface_sh::visit_interface (be_interface *node) // Copy constructor and destructor. *os << class_name.c_str () << " (const " - << class_name.c_str () << "& rhs);" << be_nl + << class_name.c_str () << "& rhs) = default;" << be_nl << "virtual ~" << class_name.c_str () << " () = default;" << be_nl_2; // _is_a diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp index e8ac39c4fcdf8..61552287df5f5 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp @@ -109,8 +109,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << local_name_prefix << node_local_name << " ()"; - bool const init_bases = node->nmembers () == 0; - if (init_bases) + if (node->nmembers () == 0) { *os << be_idt_nl << ": TAO_ServantBase ()" << be_uidt_nl; } @@ -125,33 +124,6 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "_optable);" << be_uidt_nl << "}" << be_nl_2; - // find if we are at the top scope or inside some module - *os << full_skel_name << "::" - << local_name_prefix << node_local_name << " (" - << "const " << local_name_prefix - << node_local_name << " &" - << (init_bases ? "rhs" : "") << ")"; - - if (init_bases) - { - *os << be_idt_nl - << ": TAO_Abstract_ServantBase (rhs)," << be_nl - << " TAO_ServantBase (rhs)"; - } - - if (this->generate_copy_ctor (node, os) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_interface_ss::") - ACE_TEXT ("visit_interface - ") - ACE_TEXT (" copy ctor generation failed\n")), - -1); - } - - *os << be_uidt_nl - << "{" << be_nl - << "}" << be_nl_2; - // Generate code for elements in the scope (e.g., operations). if (this->visit_scope (node) == -1) { @@ -456,14 +428,6 @@ be_visitor_interface_ss::generate_proxy_classes (be_interface *node) return 0; } -int -be_visitor_interface_ss::generate_copy_ctor (be_interface *node, - TAO_OutStream *os) -{ - return node->traverse_inheritance_graph (be_interface::copy_ctor_helper, - os); -} - ACE_CString be_visitor_interface_ss::generate_flat_name (be_interface *node) { diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h index d5caf5496ffb2..80e3177af22b3 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h +++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h @@ -45,8 +45,7 @@ class be_visitor_interface_ss : public be_visitor_interface virtual int generate_amh_classes (be_interface *node); virtual int generate_proxy_classes (be_interface *node); - virtual int generate_copy_ctor (be_interface *node, - TAO_OutStream *os); + virtual ACE_CString generate_flat_name (be_interface *node); virtual ACE_CString generate_local_name (be_interface *node); virtual ACE_CString generate_full_skel_name (be_interface *node); From 88df7918d3410b8fe7da44bdc99ae3e80935df66 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Tue, 17 Dec 2024 11:08:07 -0600 Subject: [PATCH 425/445] =default for generated implementation copy ctor --- TAO/TAO_IDL/be/be_interface.cpp | 39 ---------------- .../be/be_visitor_interface/interface_ih.cpp | 2 +- .../be/be_visitor_interface/interface_is.cpp | 46 ------------------- TAO/TAO_IDL/be_include/be_interface.h | 6 --- 4 files changed, 1 insertion(+), 92 deletions(-) diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp index 6f16d76577261..f73009961577c 100644 --- a/TAO/TAO_IDL/be/be_interface.cpp +++ b/TAO/TAO_IDL/be/be_interface.cpp @@ -2227,45 +2227,6 @@ be_interface::is_a_helper (be_interface * /*derived*/, return 0; } -int -be_interface::copy_ctor_helper (be_interface *derived, - be_interface *base, - TAO_OutStream *os) -{ - // We can't call ourselves in a copy constructor, and - // abstract interfaces don't exist on the skeleton side. - if (derived == base || base->is_abstract () || derived->nmembers () > 0) - { - return 0; - } - - *os << "," << be_idt_nl; - - bool is_rh_base = - (ACE_OS::strcmp (base->flat_name (), "Messaging_ReplyHandler") == 0); - - if (is_rh_base) - { - *os << "::POA_Messaging::ReplyHandler (rhs)"; - } - else if (base->is_nested ()) - { - be_decl *scope = nullptr; - scope = dynamic_cast (base->defined_in ())->decl (); - - *os << "POA_" << scope->name () << "::" - << base->local_name () << " (rhs)"; - } - else - { - *os << base->full_skel_name () << " (rhs)"; - } - - *os << be_uidt; - - return 0; -} - int be_interface::in_mult_inheritance_helper (be_interface *derived, be_interface *base, diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ih.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ih.cpp index 0ea927be15eaf..4a3f5f4bc7fa3 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ih.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ih.cpp @@ -81,7 +81,7 @@ be_visitor_interface_ih::visit_interface (be_interface *node) << be_global->impl_class_prefix () << namebuf << be_global->impl_class_suffix () << " (const " << be_global->impl_class_prefix () << namebuf - << be_global->impl_class_suffix () << "&);" <impl_class_suffix () << "&) = default;" <gen_assign_op ()) diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_is.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_is.cpp index d786778da987b..4d69dc9c88fbd 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_is.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_is.cpp @@ -62,52 +62,6 @@ be_visitor_interface_is::visit_interface (be_interface *node) *os << "{" <gen_copy_ctor () && !node->is_local ()) - { - *os << "//Implementation Skeleton Copy Constructor" << be_nl; - - *os << be_global->impl_class_prefix () << node->flat_name () - << be_global->impl_class_suffix () <<"::" - << be_global->impl_class_prefix () << node->flat_name () - << be_global->impl_class_suffix () << " (const " - << be_global->impl_class_prefix () << node->flat_name () - << be_global->impl_class_suffix () << "& rhs)" << be_idt_nl - << ": TAO_Abstract_ServantBase (rhs)," << be_nl - << " TAO_ServantBase (rhs)"; - - if (node->traverse_inheritance_graph (be_interface::copy_ctor_helper, - os) - == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_is::visit_interface - " - " copy ctor generation failed\n"), - -1); - } - - if (!node->is_local ()) - { - *os << "," << be_nl; - - if (node->is_nested ()) - { - be_decl *scope = nullptr; - scope = dynamic_cast (node->defined_in ())->decl (); - - *os << " POA_" << scope->name () << "::" - << node->local_name () << " (rhs)"; - } - else - { - *os << " " << node->full_skel_name () << " (rhs)"; - } - } - - *os << be_uidt_nl - << "{" << be_nl - << "}" << be_nl << be_uidt_nl; - } - if (be_global->gen_assign_op ()) { *os << "//Implementation Skeleton Copy Assignment" << be_nl; diff --git a/TAO/TAO_IDL/be_include/be_interface.h b/TAO/TAO_IDL/be_include/be_interface.h index 55b5bb397368d..e86f53c5b532a 100644 --- a/TAO/TAO_IDL/be_include/be_interface.h +++ b/TAO/TAO_IDL/be_include/be_interface.h @@ -177,12 +177,6 @@ class be_interface : public virtual AST_Interface, be_interface *, TAO_OutStream *os); - /// Helper method passed to the template method to invoke ctors of all the - /// base classes. - static int copy_ctor_helper (be_interface *, - be_interface *, - TAO_OutStream *os); - /// Helper method to determine if the interface node is involved in some kind /// of multiple inheritance or not. Required on the skeleton side. static int in_mult_inheritance_helper (be_interface *, From fc0530630dd4a6d3705299c31332c2e49966dd3d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 Jan 2025 09:49:58 +0100 Subject: [PATCH 426/445] Removed some asserts, we already return -1 to indicate a problem to the caller. * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp: * TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: --- .../PortableGroup/UIPMC_Mcast_Transport.cpp | 39 ++++--------------- .../orbsvcs/PortableGroup/UIPMC_Transport.cpp | 9 +---- 2 files changed, 9 insertions(+), 39 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp index 90ad07a0553b1..ea28051ee896a 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Mcast_Transport.cpp @@ -16,10 +16,8 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_UIPMC_Mcast_Transport::TAO_UIPMC_Mcast_Transport ( TAO_UIPMC_Mcast_Connection_Handler *handler, - TAO_ORB_Core *orb_core -) - : TAO_Transport (IOP::TAG_UIPMC, - orb_core) + TAO_ORB_Core *orb_core) + : TAO_Transport (IOP::TAG_UIPMC, orb_core) , connection_handler_ (handler) { // Replace the default wait strategy with our own @@ -99,49 +97,28 @@ TAO_UIPMC_Mcast_Transport::connection_handler_i () return this->connection_handler_; } -ssize_t TAO_UIPMC_Mcast_Transport::send ( - iovec *, - int, - size_t &, - ACE_Time_Value const *) +ssize_t TAO_UIPMC_Mcast_Transport::send (iovec *, int, size_t &, ACE_Time_Value const *) { // Write the complete Message_Block chain to the connection. // Shouldn't ever be called on the server side. - ACE_ASSERT (0); return -1; } -ssize_t TAO_UIPMC_Mcast_Transport::recv ( - char *, - size_t, - ACE_Time_Value const *) +ssize_t TAO_UIPMC_Mcast_Transport::recv (char *, size_t, ACE_Time_Value const *) { // Shouldn't ever be called. We use recv_all() with different semantics. - ACE_ASSERT (0); return -1; } -int TAO_UIPMC_Mcast_Transport::send_request ( - TAO_Stub *, - TAO_ORB_Core *, - TAO_OutputCDR &, - TAO_Message_Semantics, - ACE_Time_Value *) +int TAO_UIPMC_Mcast_Transport::send_request (TAO_Stub *, TAO_ORB_Core *, TAO_OutputCDR &, TAO_Message_Semantics, ACE_Time_Value *) { // Shouldn't ever be called on the server side. - ACE_ASSERT (0); return -1; } -int TAO_UIPMC_Mcast_Transport::send_message ( - TAO_OutputCDR &, - TAO_Stub *, - TAO_ServerRequest *, - TAO_Message_Semantics, - ACE_Time_Value *) +int TAO_UIPMC_Mcast_Transport::send_message (TAO_OutputCDR &, TAO_Stub *, TAO_ServerRequest *, TAO_Message_Semantics, ACE_Time_Value *) { // Shouldn't ever be called on the server side. - ACE_ASSERT (0); return -1; } @@ -157,9 +134,7 @@ TAO_UIPMC_Mcast_Transport::recv_packet ( { // We read the whole MIOP packet which is not longer than MIOP_MAX_DGRAM_SIZE. ssize_t const n = - this->connection_handler_->peer ().recv (buf, - len, - from_addr); + this->connection_handler_->peer ().recv (buf, len, from_addr); // There is nothing left in the socket buffer. if (n <= 0) diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp index 6f226adc68ca6..06d3482d27754 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp @@ -16,8 +16,7 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_UIPMC_Transport::TAO_UIPMC_Transport ( TAO_UIPMC_Connection_Handler *handler, - TAO_ORB_Core *orb_core -) + TAO_ORB_Core *orb_core) : TAO_Transport (IOP::TAG_UIPMC, orb_core) , connection_handler_ (handler) , total_bytes_outstanding_ (0u) @@ -406,13 +405,9 @@ TAO_UIPMC_Transport::send ( } ssize_t -TAO_UIPMC_Transport::recv ( - char *, - size_t, - const ACE_Time_Value *) +TAO_UIPMC_Transport::recv (char *, size_t, const ACE_Time_Value *) { // Shouldn't ever be called on the client side. - ACE_ASSERT (0); return -1; } From 6cd7c31bb728fe8e2511bc008a2426705ec4e1bf Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 Jan 2025 10:21:47 +0100 Subject: [PATCH 427/445] When no preferred interfaces directives are given we can directly return, saves a call to TAO_IIOP_Endpoint_get_ip_interfaces which is costly * TAO/tao/IIOP_Endpoint.cpp: --- TAO/tao/IIOP_Endpoint.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/TAO/tao/IIOP_Endpoint.cpp b/TAO/tao/IIOP_Endpoint.cpp index 3389f4e5459a0..b04def130cd06 100644 --- a/TAO/tao/IIOP_Endpoint.cpp +++ b/TAO/tao/IIOP_Endpoint.cpp @@ -446,10 +446,18 @@ TAO_IIOP_Endpoint::find_preferred_interfaces ( const ACE_CString &csvPreferred, ACE_Vector &preferred) { + // When no preferred interfaces directives are given we can directly return + if(csvPreferred.length() == 0) + { + return; + } + ACE_Vector local_ips; TAO_IIOP_Endpoint_get_ip_interfaces (local_ips); if (local_ips.size () == 0) - return; + { + return; + } // The outer loop steps through each preferred interface directive // and chains a new endpoint if the remote interface matches the @@ -487,7 +495,7 @@ TAO_IIOP_Endpoint::find_preferred_interfaces ( // If it's a match, then it means we need to use any/all // local interface(s) that matches wild_local. const char *const wild_local_cstr = wild_local.c_str (); - bool found= false; + bool found = false; for (size_t i = 0u; i < local_ips.size (); ++i) { ACE_CString &ret = local_ips[i]; @@ -569,7 +577,7 @@ TAO_IIOP_Endpoint::is_equivalent (const TAO_Endpoint *other_endpoint) dynamic_cast (other_endpoint); if (endpoint == nullptr) - return 0; + return false; return (this->port_ == endpoint->port_ && (ACE_OS::strcmp (this->host (), endpoint->host ()) == 0)); From 5a360b9fc20ab2847ddf9fba9ceca0de41cc0a73 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 Jan 2025 10:22:05 +0100 Subject: [PATCH 428/445] Const change * TAO/tao/IIOP_Endpoint.cpp: --- TAO/tao/IIOP_Endpoint.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/tao/IIOP_Endpoint.cpp b/TAO/tao/IIOP_Endpoint.cpp index b04def130cd06..1fb89ffebf2f3 100644 --- a/TAO/tao/IIOP_Endpoint.cpp +++ b/TAO/tao/IIOP_Endpoint.cpp @@ -400,7 +400,7 @@ TAO_IIOP_Endpoint_get_ip_interfaces (ACE_Vector &local_ips) { ACE_INET_Addr* tmp = nullptr; size_t cnt = 0u; - int err = ACE::get_ip_interfaces (cnt, tmp); + int const err = ACE::get_ip_interfaces (cnt, tmp); if (err != 0) return; #if defined (ACE_HAS_IPV6) From dc16fe84bec1168d01624dd352ca4c1ffbd2392b Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 Jan 2025 11:46:56 +0100 Subject: [PATCH 429/445] ACE_DEBUG uses %C for ascii strings, not %s * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp: --- .../orbsvcs/CosEvent/CEC_TypedEventChannel.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp index d282d632f1919..5ad49da8b854d 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp @@ -200,7 +200,7 @@ TAO_CEC_TypedEventChannel::insert_into_ifr_cache (const char *operation_, CORBA::String_var operation = CORBA::string_dup (operation_); - int result = this->interface_description_.bind (operation.in (), parameters_); + int const result = this->interface_description_.bind (operation.in (), parameters_); if (result == 0) { @@ -222,7 +222,7 @@ TAO_CEC_TypedEventChannel::clear_ifr_cache () if (TAO_debug_level >= 10) { ORBSVCS_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Destroying operation %s from ifr cache *****\n"), + ACE_TEXT ("***** Destroying operation %C from ifr cache *****\n"), const_cast ((*i).ext_id_))); } @@ -262,7 +262,7 @@ TAO_CEC_TypedEventChannel::cache_interface_description (const char *interface_) if (TAO_debug_level >= 10) { ORBSVCS_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** CORBA::InterfaceDef::_narrow failed for interface %s *****\n"), + ACE_TEXT ("***** CORBA::InterfaceDef::_narrow failed for interface %C *****\n"), interface_)); } return -1; @@ -280,7 +280,7 @@ TAO_CEC_TypedEventChannel::cache_interface_description (const char *interface_) for (CORBA::ULong base=0; basebase_interfaces.length(); base++) { ORBSVCS_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Base interface %s found on interface %s *****\n"), + ACE_TEXT ("***** Base interface %C found on interface %C *****\n"), static_cast(fid->base_interfaces[base]), interface_ )); } @@ -292,7 +292,7 @@ TAO_CEC_TypedEventChannel::cache_interface_description (const char *interface_) if (TAO_debug_level >= 10) { ORBSVCS_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Operation %s found on interface %s, num params %d *****\n"), + ACE_TEXT ("***** Operation %C found on interface %C, num params %d *****\n"), fid->operations[oper].name.in(), interface_, fid->operations[oper].parameters.length() )); @@ -322,7 +322,7 @@ TAO_CEC_TypedEventChannel::cache_interface_description (const char *interface_) if (TAO_debug_level >= 10) { ORBSVCS_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Parameter %s found on operation %s *****\n"), + ACE_TEXT ("***** Parameter %C found on operation %C *****\n"), oper_params->parameters_[param].name_.in(), fid->operations[oper].name.in() )); } @@ -331,7 +331,7 @@ TAO_CEC_TypedEventChannel::cache_interface_description (const char *interface_) if (TAO_debug_level >= 10) { ORBSVCS_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Adding operation %s with %d parameters to the IFR cache *****\n"), + ACE_TEXT ("***** Adding operation %C with %d parameters to the IFR cache *****\n"), fid->operations[oper].name.in(), oper_params->num_params_ )); } @@ -543,8 +543,7 @@ TAO_CEC_TypedEventChannel::destroy () } CORBA::Policy_ptr -TAO_CEC_TypedEventChannel::create_roundtrip_timeout_policy -(const ACE_Time_Value &timeout) +TAO_CEC_TypedEventChannel::create_roundtrip_timeout_policy (const ACE_Time_Value &timeout) { return this->factory_->create_roundtrip_timeout_policy (timeout); } From 5a3ad6f9eb748704f469a45c05b798e09c1f5a62 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 Jan 2025 11:51:09 +0100 Subject: [PATCH 430/445] Removed empty line, use override * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp: --- TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp index 5ad49da8b854d..c9f675000077a 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp @@ -88,12 +88,11 @@ namespace : orb_ (CORBA::ORB::_duplicate (orb)) {} CORBA::ORB_var orb_; - virtual int handle_timeout (const ACE_Time_Value&, const void*) + int handle_timeout (const ACE_Time_Value&, const void*) override { orb_->shutdown (true); return 0; } - }; } From 15c5c5b5f9ad103e73537606f5c41dcb457cabd2 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 Jan 2025 13:19:32 +0100 Subject: [PATCH 431/445] Fixed typo * ACE/ace/Task_Ex_T.h: --- ACE/ace/Task_Ex_T.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ACE/ace/Task_Ex_T.h b/ACE/ace/Task_Ex_T.h index 744bbff9122da..69af1d0843389 100644 --- a/ACE/ace/Task_Ex_T.h +++ b/ACE/ace/Task_Ex_T.h @@ -136,7 +136,7 @@ class ACE_Task_Ex : public ACE_Task_Base, /// Set next Task pointer. void next (ACE_Task *); - /// Alwasy return 0. @todo FIXME + /// Always return 0. @todo FIXME ACE_Task *sibling (); /// Return the Task's Module if there is one, else returns 0. From aff2ee91221a0c3293592ebbda54a7fc17453bcf Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 23 Jan 2025 13:22:54 +0100 Subject: [PATCH 432/445] Use const/override * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h: --- TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp index af86181019690..edc70f48a915f 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp @@ -45,7 +45,7 @@ TAO_CEC_Dispatching_Task::svc () continue; } - int result = command->execute (); + int const result = command->execute (); ACE_Message_Block::release (mb); diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h index d4a609cf86e33..3468f7c97bc0f 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h @@ -93,7 +93,7 @@ class TAO_Event_Serv_Export TAO_CEC_Shutdown_Task_Command : public TAO_CEC_Dispa TAO_CEC_Shutdown_Task_Command (ACE_Allocator *mb_allocator = 0); /// Command callback - virtual int execute (); + int execute () override; }; // **************************************************************** @@ -108,10 +108,10 @@ class TAO_Event_Serv_Export TAO_CEC_Push_Command : public TAO_CEC_Dispatch_Comma ACE_Allocator *mb_allocator); /// Destructor - virtual ~TAO_CEC_Push_Command (); + ~TAO_CEC_Push_Command () override; /// Command callback - virtual int execute (); + int execute () override; private: /// The proxy @@ -134,10 +134,10 @@ class TAO_Event_Serv_Export TAO_CEC_Invoke_Command : public TAO_CEC_Dispatch_Com ACE_Allocator *mb_allocator); /// Destructor - virtual ~TAO_CEC_Invoke_Command (); + ~TAO_CEC_Invoke_Command () override; /// Command callback - virtual int execute (); + int execute () override; private: /// The proxy From 0b0ef837bb109a3aa432f7d7230211349eeb0e1d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 24 Jan 2025 13:33:15 +0100 Subject: [PATCH 433/445] Use =delete * TAO/tao/RTCORBA/RT_Stub.h: * TAO/tao/RTCORBA/RT_Transport_Descriptor_Property.h: * TAO/tao/ZIOP/ZIOP_Stub.h: --- TAO/tao/RTCORBA/RT_Stub.h | 7 ++++--- TAO/tao/RTCORBA/RT_Transport_Descriptor_Property.h | 7 ++++--- TAO/tao/ZIOP/ZIOP_Stub.h | 7 ++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/TAO/tao/RTCORBA/RT_Stub.h b/TAO/tao/RTCORBA/RT_Stub.h index e0b4ee0014059..496bec2813bbc 100644 --- a/TAO/tao/RTCORBA/RT_Stub.h +++ b/TAO/tao/RTCORBA/RT_Stub.h @@ -117,9 +117,10 @@ class TAO_RTCORBA_Export TAO_RT_Stub : public TAO_Stub bool are_policies_parsed_; private: - // = Disallow copying and assignment. - TAO_RT_Stub (const TAO_RT_Stub &); - TAO_RT_Stub &operator = (const TAO_RT_Stub &); + TAO_RT_Stub (const TAO_RT_Stub &) = delete; + TAO_RT_Stub (TAO_RT_Stub &&) = delete; + TAO_RT_Stub &operator = (const TAO_RT_Stub &) = delete; + TAO_RT_Stub &operator = (TAO_RT_Stub &&) = delete; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/RTCORBA/RT_Transport_Descriptor_Property.h b/TAO/tao/RTCORBA/RT_Transport_Descriptor_Property.h index 57fabb889fe0a..4d21375dc9246 100644 --- a/TAO/tao/RTCORBA/RT_Transport_Descriptor_Property.h +++ b/TAO/tao/RTCORBA/RT_Transport_Descriptor_Property.h @@ -48,9 +48,10 @@ class TAO_RTCORBA_Export TAO_RT_Transport_Descriptor_Property TAO_RT_Transport_Descriptor_Property* next_; private: - // = Disallow copying and assignment. - TAO_RT_Transport_Descriptor_Property (const TAO_RT_Transport_Descriptor_Property &); - TAO_RT_Transport_Descriptor_Property & operator= (const TAO_RT_Transport_Descriptor_Property &); + TAO_RT_Transport_Descriptor_Property (const TAO_RT_Transport_Descriptor_Property &) = delete; + TAO_RT_Transport_Descriptor_Property (TAO_RT_Transport_Descriptor_Property &&) = delete; + TAO_RT_Transport_Descriptor_Property & operator= (const TAO_RT_Transport_Descriptor_Property &) = delete; + TAO_RT_Transport_Descriptor_Property & operator= (TAO_RT_Transport_Descriptor_Property &&) = delete; }; /** diff --git a/TAO/tao/ZIOP/ZIOP_Stub.h b/TAO/tao/ZIOP/ZIOP_Stub.h index 51ce9fc5bd863..4680ca2d3079b 100644 --- a/TAO/tao/ZIOP/ZIOP_Stub.h +++ b/TAO/tao/ZIOP/ZIOP_Stub.h @@ -87,9 +87,10 @@ class TAO_ZIOP_Export TAO_ZIOP_Stub : public TAO_Stub CORBA::Boolean are_policies_parsed_; private: - // = Disallow copying and assignment. - TAO_ZIOP_Stub (const TAO_ZIOP_Stub &); - TAO_ZIOP_Stub &operator = (const TAO_ZIOP_Stub &); + TAO_ZIOP_Stub (const TAO_ZIOP_Stub &) = delete; + TAO_ZIOP_Stub (TAO_ZIOP_Stub &&) = delete; + TAO_ZIOP_Stub &operator = (const TAO_ZIOP_Stub &) = delete; + TAO_ZIOP_Stub &operator = (TAO_ZIOP_Stub &&) = delete; }; TAO_END_VERSIONED_NAMESPACE_DECL From 34719c82d0115feda7a38fbbf167f47f8ba260f5 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 24 Jan 2025 13:34:57 +0100 Subject: [PATCH 434/445] Call next_profile_i as last step of add_forward_profiles instead of letting the caller do this, which opens a possible race condition * TAO/tao/IORTable/Table_Adapter.cpp: * TAO/tao/Invocation_Adapter.cpp: * TAO/tao/LocateRequest_Invocation_Adapter.cpp: * TAO/tao/Stub.cpp: * TAO/tao/Stub.h: --- TAO/tao/IORTable/Table_Adapter.cpp | 17 ++++++----------- TAO/tao/Invocation_Adapter.cpp | 7 ------- TAO/tao/LocateRequest_Invocation_Adapter.cpp | 9 --------- TAO/tao/Stub.cpp | 10 ++++++++++ TAO/tao/Stub.h | 10 +++++++--- 5 files changed, 23 insertions(+), 30 deletions(-) diff --git a/TAO/tao/IORTable/Table_Adapter.cpp b/TAO/tao/IORTable/Table_Adapter.cpp index 60d8c6297067f..abc0aeabf82ad 100644 --- a/TAO/tao/IORTable/Table_Adapter.cpp +++ b/TAO/tao/IORTable/Table_Adapter.cpp @@ -35,10 +35,8 @@ TAO_Table_Adapter::~TAO_Table_Adapter () ACE_Lock * TAO_Table_Adapter::create_lock (TAO_SYNCH_MUTEX &thread_lock) { - ACE_Lock *the_lock = 0; - ACE_NEW_RETURN (the_lock, - ACE_Lock_Adapter (thread_lock), - 0); + ACE_Lock *the_lock = nullptr; + ACE_NEW_NORETURN (the_lock, ACE_Lock_Adapter (thread_lock)); return the_lock; } @@ -46,7 +44,7 @@ void TAO_Table_Adapter::open () { ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - TAO_IOR_Table_Impl *impl = 0; + TAO_IOR_Table_Impl *impl = nullptr; ACE_NEW_THROW_EX (impl, TAO_IOR_Table_Impl (), CORBA::NO_MEMORY ()); @@ -60,7 +58,7 @@ TAO_Table_Adapter::close (int) { ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); this->closed_ = true; - this->root_ = 0; + this->root_ = nullptr; } void @@ -149,7 +147,6 @@ TAO_Table_Adapter::initialize_collocated_object (TAO_Stub *stub) // This call will set the appropriate collocation values // to correspond to the reference we found in the table. stub->add_forward_profiles (forward_to->_stubobj ()->base_profiles ()); - stub->next_profile (); } // 0 for success @@ -196,10 +193,8 @@ TAO_Table_Adapter_Factory::TAO_Table_Adapter_Factory () TAO_Adapter* TAO_Table_Adapter_Factory::create (TAO_ORB_Core *oc) { - TAO_Adapter* ptr = 0; - ACE_NEW_RETURN (ptr, - TAO_Table_Adapter (*oc), - 0); + TAO_Adapter* ptr = nullptr; + ACE_NEW_NORETURN (ptr, TAO_Table_Adapter (*oc)); return ptr; } diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp index ca07272ecba77..180b5b421e6ad 100644 --- a/TAO/tao/Invocation_Adapter.cpp +++ b/TAO/tao/Invocation_Adapter.cpp @@ -393,13 +393,6 @@ namespace TAO // Reset the profile in the stubs stub->add_forward_profiles (stubobj->base_profiles (), permanent_forward); - - if (stub->next_profile () == nullptr) - throw ::CORBA::TRANSIENT ( - CORBA::SystemException::_tao_minor_code ( - TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE, - 0), - CORBA::COMPLETED_NO); } TAO::Collocation_Strategy diff --git a/TAO/tao/LocateRequest_Invocation_Adapter.cpp b/TAO/tao/LocateRequest_Invocation_Adapter.cpp index e7920ac5439d2..17813c54af934 100644 --- a/TAO/tao/LocateRequest_Invocation_Adapter.cpp +++ b/TAO/tao/LocateRequest_Invocation_Adapter.cpp @@ -155,15 +155,6 @@ namespace TAO // Reset the profile in the stubs stub->add_forward_profiles (stubobj->base_profiles (), permanent_forward); - - if (stub->next_profile () == nullptr) - throw ::CORBA::TRANSIENT ( - CORBA::SystemException::_tao_minor_code ( - TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE, - 0), - CORBA::COMPLETED_NO); - - return; } } // End namespace TAO diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp index c66e874e6138b..d3ff613677caf 100644 --- a/TAO/tao/Stub.cpp +++ b/TAO/tao/Stub.cpp @@ -155,6 +155,16 @@ TAO_Stub::add_forward_profiles (const TAO_MProfile &mprofiles, // Since we have been forwarded, we must set profile_success_ to false // since we are starting a new with a new set of profiles! this->profile_success_ = false; + + // Set the new forward profile. + if (this->next_profile_i () == nullptr) + { + throw ::CORBA::TRANSIENT ( + CORBA::SystemException::_tao_minor_code ( + TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE, + 0), + CORBA::COMPLETED_NO); + } } int diff --git a/TAO/tao/Stub.h b/TAO/tao/Stub.h index a44c33af78e80..c9180fcfb081a 100644 --- a/TAO/tao/Stub.h +++ b/TAO/tao/Stub.h @@ -188,6 +188,9 @@ class TAO_Export TAO_Stub * permanent_forward=true is only valid if currently used profile * set represents a GroupObject (IOGR), otherwise this flag will be * ignored. + * + * Updates the profile in use to be the first profile of + * the newly set forward target. */ void add_forward_profiles (const TAO_MProfile &mprofiles, const CORBA::Boolean permanent_forward = false); @@ -299,9 +302,10 @@ class TAO_Export TAO_Stub int get_profile_ior_info (TAO_MProfile &profile, IOP::IOR *&ior_info); private: - // = Disallow copy construction and assignment. - TAO_Stub (const TAO_Stub &); - TAO_Stub &operator = (const TAO_Stub &); + TAO_Stub (const TAO_Stub &) = delete; + TAO_Stub (TAO_Stub &&) = delete; + TAO_Stub &operator = (const TAO_Stub &) = delete; + TAO_Stub &operator = (TAO_Stub &&) = delete; protected: /// Automatically manage the ORB_Core reference count From 566229d5583b0b71e7ca2c916f6b89ac37a74e7e Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 25 Jan 2025 11:34:55 +0100 Subject: [PATCH 435/445] Removed empty lines * TAO/tests/Permanent_Forward/README: --- TAO/tests/Permanent_Forward/README | 2 -- 1 file changed, 2 deletions(-) diff --git a/TAO/tests/Permanent_Forward/README b/TAO/tests/Permanent_Forward/README index 8272df6e5d8dd..283aa20a87d5f 100644 --- a/TAO/tests/Permanent_Forward/README +++ b/TAO/tests/Permanent_Forward/README @@ -1,5 +1,3 @@ - - This program tests the various forward and forward-permanent combinations possible in applications. The tests operates directly on Objects and TAO_Stub interfaces. From 481cc80298d24b3237eb7379a114e50149c5eb6d Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Sat, 25 Jan 2025 11:35:11 +0100 Subject: [PATCH 436/445] Update this test because TAO_Stub::add_forward_profiles now alls next_profile itself * TAO/tests/Permanent_Forward/StubTest.cpp: --- TAO/tests/Permanent_Forward/StubTest.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/TAO/tests/Permanent_Forward/StubTest.cpp b/TAO/tests/Permanent_Forward/StubTest.cpp index e005ed056edd8..4c495fb1fc0ee 100644 --- a/TAO/tests/Permanent_Forward/StubTest.cpp +++ b/TAO/tests/Permanent_Forward/StubTest.cpp @@ -36,7 +36,7 @@ is_endpoint (TAO_Profile *profile, const char *host, unsigned short port) const char * endpoint_host = iiop_endpoint->host(); unsigned short endpoint_port = iiop_endpoint->port(); - bool retval = + bool const retval = ACE_OS::strcmp (endpoint_host, host)==0 && endpoint_port == port; @@ -58,7 +58,7 @@ equal_endpoint (TAO_Profile *profile, TAO_Profile *other) const char * other_endpoint_host = other_iiop_endpoint->host(); unsigned short other_endpoint_port = other_iiop_endpoint->port(); - bool retval = + bool const retval = ACE_OS::strcmp (endpoint_host, other_endpoint_host)==0 && endpoint_port == other_endpoint_port; @@ -112,7 +112,7 @@ test_forward_permanent (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 4444)); @@ -165,7 +165,7 @@ test_forward_permanent_mix (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 2222)); @@ -174,7 +174,7 @@ test_forward_permanent_mix (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 3333)); @@ -186,7 +186,7 @@ test_forward_permanent_mix (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 4444)); @@ -203,7 +203,7 @@ test_forward_permanent_mix (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 2222)); @@ -212,7 +212,7 @@ test_forward_permanent_mix (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 3333)); @@ -224,7 +224,7 @@ test_forward_permanent_mix (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 5555)); @@ -270,7 +270,7 @@ test_forward (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 2222)); @@ -280,7 +280,7 @@ test_forward (CORBA::ORB_ptr orb) FRANKS_ASSERT (stub1->forward_profiles () != 0); - profile = stub1->next_profile (); + profile = stub1->profile_in_use (); FRANKS_ASSERT (is_endpoint (profile, "192.168.1.2", 3333)); From fd8a7568d54590386cf74e5442c05755bf9755d9 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 27 Jan 2025 13:20:29 +0100 Subject: [PATCH 437/445] Use unchecked_narrow in TAO_CEC_ProxyPushSupplier::apply_policy in order to connect an untyped channel, several layout/indent changes * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp: --- .../CosEvent/CEC_ProxyPushSupplier.cpp | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp index c7117ca75b4d4..bbecc9c159b54 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp @@ -31,21 +31,19 @@ typedef ACE_Reverse_Lock TAO_CEC_Unlock; // TAO_CEC_ProxyPushSupplier Constructure (Un-typed EC) TAO_CEC_ProxyPushSupplier:: -TAO_CEC_ProxyPushSupplier (TAO_CEC_EventChannel* ec, - const ACE_Time_Value &timeout) +TAO_CEC_ProxyPushSupplier (TAO_CEC_EventChannel* ec, const ACE_Time_Value &timeout) : event_channel_ (ec), timeout_ (timeout), refcount_ (1) { #if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - typed_event_channel_ = 0; + typed_event_channel_ = nullptr; #endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ this->lock_ = this->event_channel_->create_supplier_lock (); - this->default_POA_ = - this->event_channel_->supplier_poa (); + this->default_POA_ = this->event_channel_->supplier_poa (); this->event_channel_->get_servant_retry_map ().bind (this, 0); } @@ -61,11 +59,9 @@ TAO_CEC_ProxyPushSupplier (TAO_CEC_TypedEventChannel* ec, { event_channel_ = 0; - this->lock_ = - this->typed_event_channel_->create_supplier_lock (); + this->lock_ = this->typed_event_channel_->create_supplier_lock (); - this->default_POA_ = - this->typed_event_channel_->typed_supplier_poa (); + this->default_POA_ = this->typed_event_channel_->typed_supplier_poa (); this->typed_event_channel_->get_servant_retry_map ().bind (this, 0); } @@ -228,9 +224,7 @@ typedef TAO_ESF_Proxy_RefCount_Guardrefcount_, - this->typed_event_channel_, - this); + Destroy_Guard_Typed auto_destroy (this->refcount_, this->typed_event_channel_, this); { ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); @@ -243,8 +237,7 @@ TAO_CEC_ProxyPushSupplier::invoke (const TAO_CEC_TypedEvent& typed_event) TAO_CEC_Unlock reverse_lock (*this->lock_); ACE_GUARD (TAO_CEC_Unlock, ace_mon, reverse_lock); - this->typed_event_channel_->dispatching ()->invoke (this, - typed_event); + this->typed_event_channel_->dispatching ()->invoke (this, typed_event); } } } @@ -253,9 +246,7 @@ TAO_CEC_ProxyPushSupplier::invoke (const TAO_CEC_TypedEvent& typed_event) void TAO_CEC_ProxyPushSupplier::push_nocopy (CORBA::Any &event) { - Destroy_Guard auto_destroy (this->refcount_, - this->event_channel_, - this); + Destroy_Guard auto_destroy (this->refcount_, this->event_channel_, this); { ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); @@ -269,8 +260,7 @@ TAO_CEC_ProxyPushSupplier::push_nocopy (CORBA::Any &event) TAO_CEC_Unlock reverse_lock (*this->lock_); ACE_GUARD (TAO_CEC_Unlock, ace_mon, reverse_lock); - this->event_channel_->dispatching ()->push_nocopy (this, - event); + this->event_channel_->dispatching ()->push_nocopy (this, event); } } } @@ -481,14 +471,13 @@ TAO_CEC_ProxyPushSupplier::apply_policy (CosEventComm::PushConsumer_ptr pre) this->nopolicy_consumer_ = CosEventComm::PushConsumer::_duplicate (pre); CORBA::Object_var post_obj = apply_policy_obj (pre); CosEventComm::PushConsumer_var post = - CosEventComm::PushConsumer::_narrow (post_obj.in ()); + CosEventComm::PushConsumer::_unchecked_narrow (post_obj.in ()); return post._retn (); } #if defined (TAO_HAS_TYPED_EVENT_CHANNEL) CosTypedEventComm::TypedPushConsumer_ptr -TAO_CEC_ProxyPushSupplier::apply_policy - (CosTypedEventComm::TypedPushConsumer_ptr pre) +TAO_CEC_ProxyPushSupplier::apply_policy (CosTypedEventComm::TypedPushConsumer_ptr pre) { this->nopolicy_typed_consumer_ = CosTypedEventComm::TypedPushConsumer::_duplicate (pre); From 1ce080f5a1f52cfad92e56ef93a51622a03ec2ed Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 27 Jan 2025 13:24:33 +0100 Subject: [PATCH 438/445] Layout changes, use default for empty destructors * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.inl: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h: * TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp: * TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h: * TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h: --- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp | 7 +------ TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp | 8 ++++---- .../orbsvcs/CosEvent/CEC_DynamicImplementation.cpp | 5 ----- .../orbsvcs/CosEvent/CEC_DynamicImplementation.h | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp | 5 ----- TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp | 3 +-- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp | 3 +-- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp | 3 +-- .../orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp | 4 ---- .../orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h | 2 +- .../orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp | 4 ---- .../orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp | 7 +------ TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp | 8 -------- TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h | 4 ++-- .../orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp | 8 +------- TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h | 2 +- TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h | 4 ++-- TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.inl | 10 ---------- .../orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp | 6 ++---- .../orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp | 8 +------- TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h | 2 +- TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp | 4 ---- TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h | 2 +- TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h | 2 +- 29 files changed, 28 insertions(+), 95 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp index 749c421fe0c61..aaa6e87c2b2fb 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp @@ -17,12 +17,7 @@ TAO_CEC_ConsumerAdmin::TAO_CEC_ConsumerAdmin (TAO_CEC_EventChannel *ec) push_admin_ (ec), pull_admin_ (ec) { - this->default_POA_ = - this->event_channel_->consumer_poa (); -} - -TAO_CEC_ConsumerAdmin::~TAO_CEC_ConsumerAdmin () -{ + this->default_POA_ = this->event_channel_->consumer_poa (); } void diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h index aca1ebd36103d..cd3912eb17404 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h @@ -57,7 +57,7 @@ class TAO_Event_Serv_Export TAO_CEC_ConsumerAdmin TAO_CEC_ConsumerAdmin (TAO_CEC_EventChannel* event_channel); /// Destructor... - virtual ~TAO_CEC_ConsumerAdmin (); + virtual ~TAO_CEC_ConsumerAdmin () = default; /// For each elements call work()>. void for_each (TAO_ESF_Worker *worker); diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h index 10e7c9015f4dc..980a3a16bd361 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h @@ -51,7 +51,7 @@ class TAO_Event_Serv_Export TAO_CEC_ConsumerControl TAO_CEC_ConsumerControl (); /// Destructor - virtual ~TAO_CEC_ConsumerControl (); + virtual ~TAO_CEC_ConsumerControl () = default; /// Activate any internal threads or timers used to poll the state of /// the consumers diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp index 84026edf994b8..cbdfdee3fb72d 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp @@ -43,10 +43,10 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_CEC_Default_Factory::~TAO_CEC_Default_Factory () { - if (orbid_dupped_ != 0) - { - ACE_OS::free (orbid_); - } + if (orbid_dupped_ != 0) + { + ACE_OS::free (orbid_); + } } int diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp index c2223a2d8ba2a..4418549cfd272 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp @@ -12,11 +12,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -// Destructor -TAO_CEC_DynamicImplementationServer::~TAO_CEC_DynamicImplementationServer () -{ -} - // The DSI invoke request void TAO_CEC_DynamicImplementationServer::invoke (CORBA::ServerRequest_ptr request) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h index b59e5cf186b5a..1f65c2d9ea805 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h @@ -35,7 +35,7 @@ class TAO_CEC_DynamicImplementationServer : public TAO_DynamicImplementation TAO_CEC_TypedEventChannel *typed_event_channel); /// Destructor - virtual ~TAO_CEC_DynamicImplementationServer (); + virtual ~TAO_CEC_DynamicImplementationServer () = default; // = The DynamicImplementation methods. virtual void invoke (CORBA::ServerRequest_ptr request); diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp index 7087b92301be7..abb26fd7aa3f3 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp @@ -41,11 +41,6 @@ TAO_CEC_Event_Loader::TAO_CEC_Event_Loader () : // Constructor } -TAO_CEC_Event_Loader::~TAO_CEC_Event_Loader () -{ - // Destructor -} - int TAO_CEC_Event_Loader::init (int argc, ACE_TCHAR *argv[]) { diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h index c28e087296003..de15d5df39afc 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h @@ -41,7 +41,7 @@ class TAO_Event_Serv_Export TAO_CEC_Event_Loader : public TAO_Object_Loader TAO_CEC_Event_Loader (); /// Destructor - ~TAO_CEC_Event_Loader (); + ~TAO_CEC_Event_Loader () = default; //@{ /** diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp index 67ba41ddca583..1ccd85bb1d4b9 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp @@ -24,8 +24,7 @@ TAO_CEC_ProxyPullConsumer (TAO_CEC_EventChannel* ec, this->lock_ = this->event_channel_->create_consumer_lock (); - this->default_POA_ = - this->event_channel_->consumer_poa (); + this->default_POA_ = this->event_channel_->consumer_poa (); this->event_channel_->get_servant_retry_map ().bind (this, 0); } diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp index b023d169da26f..2a52c0821bd90 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp @@ -23,8 +23,7 @@ TAO_CEC_ProxyPullSupplier::TAO_CEC_ProxyPullSupplier this->lock_ = this->event_channel_->create_supplier_lock (); - this->default_POA_ = - this->event_channel_->supplier_poa (); + this->default_POA_ = this->event_channel_->supplier_poa (); this->event_channel_->get_servant_retry_map ().bind (this, 0); } diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp index 18428148b396a..762b35978a6ba 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp @@ -24,8 +24,7 @@ TAO_CEC_ProxyPushConsumer (TAO_CEC_EventChannel* ec, this->lock_ = this->event_channel_->create_consumer_lock (); - this->default_POA_ = - this->event_channel_->consumer_poa (); + this->default_POA_ = this->event_channel_->consumer_poa (); this->event_channel_->get_servant_retry_map ().bind (this, 0); } diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp index 13bd60f92eb1c..4500f69a654e5 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp @@ -83,10 +83,6 @@ TAO_CEC_Reactive_ConsumerControl:: } #endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -TAO_CEC_Reactive_ConsumerControl::~TAO_CEC_Reactive_ConsumerControl () -{ -} - void TAO_CEC_Reactive_ConsumerControl::query_consumers () { diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h index 958e8a544e7ef..423a10ff13347 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h @@ -99,7 +99,7 @@ class TAO_Event_Serv_Export TAO_CEC_Reactive_ConsumerControl #endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ /// destructor... - virtual ~TAO_CEC_Reactive_ConsumerControl (); + virtual ~TAO_CEC_Reactive_ConsumerControl () = default; /// Receive the timeout from the adapter void handle_timeout (const ACE_Time_Value &tv, diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp index 14adf5a5fc504..1d9b6a3412343 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp @@ -83,10 +83,6 @@ TAO_CEC_Reactive_SupplierControl:: } #endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -TAO_CEC_Reactive_SupplierControl::~TAO_CEC_Reactive_SupplierControl () -{ -} - void TAO_CEC_Reactive_SupplierControl::query_suppliers () { diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h index 6df5666491a9f..dfbaede37cc7e 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h @@ -97,7 +97,7 @@ class TAO_Event_Serv_Export TAO_CEC_Reactive_SupplierControl #endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ /// destructor... - virtual ~TAO_CEC_Reactive_SupplierControl (); + virtual ~TAO_CEC_Reactive_SupplierControl () = default; /// Receive the timeout from the adapter void handle_timeout (const ACE_Time_Value &tv, diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp index 45685c93d416d..e9320104eb943 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp @@ -15,12 +15,7 @@ TAO_CEC_SupplierAdmin::TAO_CEC_SupplierAdmin (TAO_CEC_EventChannel *ec) push_admin_ (ec), pull_admin_ (ec) { - this->default_POA_ = - this->event_channel_->supplier_poa (); -} - -TAO_CEC_SupplierAdmin::~TAO_CEC_SupplierAdmin () -{ + this->default_POA_ = this->event_channel_->supplier_poa (); } PortableServer::POA_ptr diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h index d81786b72636d..d9e00a379138b 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h @@ -57,7 +57,7 @@ class TAO_Event_Serv_Export TAO_CEC_SupplierAdmin TAO_CEC_SupplierAdmin (TAO_CEC_EventChannel* event_channel); /// destructor... - virtual ~TAO_CEC_SupplierAdmin (); + virtual ~TAO_CEC_SupplierAdmin () = default; /// For each elements call work()>. void for_each (TAO_ESF_Worker *worker); diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp index 50bb6bd63efbb..466920b45983a 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp @@ -2,14 +2,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_CEC_SupplierControl::TAO_CEC_SupplierControl () -{ -} - -TAO_CEC_SupplierControl::~TAO_CEC_SupplierControl () -{ -} - int TAO_CEC_SupplierControl::activate () { diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h index 1302fd25c2192..5e6dd2e8e57b7 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h @@ -57,10 +57,10 @@ class TAO_Event_Serv_Export TAO_CEC_SupplierControl { public: /// Constructor - TAO_CEC_SupplierControl (); + TAO_CEC_SupplierControl () = default; /// destructor... - virtual ~TAO_CEC_SupplierControl (); + virtual ~TAO_CEC_SupplierControl () = default; /// Activate any internal threads or timers used to poll the state of /// the suppliers diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp index 0c57d545a0b86..8bb8e8b985f5e 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp @@ -13,13 +13,7 @@ TAO_CEC_TypedConsumerAdmin::TAO_CEC_TypedConsumerAdmin (TAO_CEC_TypedEventChanne : typed_event_channel_ (ec), typed_push_admin_ (ec) { - this->default_POA_ = - this->typed_event_channel_->typed_consumer_poa (); -} - -// Implementation skeleton destructor -TAO_CEC_TypedConsumerAdmin::~TAO_CEC_TypedConsumerAdmin () -{ + this->default_POA_ = this->typed_event_channel_->typed_consumer_poa (); } void diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h index cbc61e407fee2..f51cd91d139fa 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h @@ -40,7 +40,7 @@ class TAO_Event_Serv_Export TAO_CEC_TypedConsumerAdmin TAO_CEC_TypedConsumerAdmin (TAO_CEC_TypedEventChannel* typed_event_channel); // Destructor - virtual ~TAO_CEC_TypedConsumerAdmin (); + virtual ~TAO_CEC_TypedConsumerAdmin () = default; /// For each elements call work()>. void for_each (TAO_ESF_Worker *worker); diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h index 7ffac9043a0e2..9a0d03fdb72fc 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h @@ -339,10 +339,10 @@ class TAO_Event_Serv_Export TAO_CEC_Param { public: /// Constructor - TAO_CEC_Param (); + TAO_CEC_Param () = default; /// Destructor - ~TAO_CEC_Param (); + ~TAO_CEC_Param () = default; private: /// Only the TypedEventChannel can read the private fields. diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.inl b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.inl index 61be2f67742e2..4ff4607050393 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.inl +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.inl @@ -176,16 +176,6 @@ TAO_CEC_TypedEventChannel::get_servant_retry_map () return this->retry_map_; } -ACE_INLINE -TAO_CEC_Param::TAO_CEC_Param () -{ -} - -ACE_INLINE -TAO_CEC_Param::~TAO_CEC_Param () -{ -} - ACE_INLINE TAO_CEC_Operation_Params::TAO_CEC_Operation_Params (CORBA::ULong num_params) : num_params_ (num_params) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp index 33e9199368d19..fd2b7190a067d 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp @@ -24,11 +24,9 @@ TAO_CEC_TypedProxyPushConsumer::TAO_CEC_TypedProxyPushConsumer refcount_ (1), connected_ (0) { - this->lock_ = - this->typed_event_channel_->create_consumer_lock (); + this->lock_ = this->typed_event_channel_->create_consumer_lock (); - this->default_POA_ = - this->typed_event_channel_->typed_consumer_poa (); + this->default_POA_ = this->typed_event_channel_->typed_consumer_poa (); this->typed_event_channel_->get_servant_retry_map ().bind (this, 0); diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp index 2c00bc62d84d1..7671f238a95f0 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp @@ -12,13 +12,7 @@ TAO_CEC_TypedSupplierAdmin::TAO_CEC_TypedSupplierAdmin (TAO_CEC_TypedEventChanne : typed_event_channel_ (ec), typed_push_admin_ (ec) { - this->default_POA_ = - this->typed_event_channel_->typed_supplier_poa (); -} - -// Implementation skeleton destructor -TAO_CEC_TypedSupplierAdmin::~TAO_CEC_TypedSupplierAdmin () -{ + this->default_POA_ = this->typed_event_channel_->typed_supplier_poa (); } PortableServer::POA_ptr diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h index c15b44ebe1798..0de4f848b5510 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h @@ -39,7 +39,7 @@ class TAO_Event_Serv_Export TAO_CEC_TypedSupplierAdmin TAO_CEC_TypedSupplierAdmin (TAO_CEC_TypedEventChannel* event_channel); /// Destructor - virtual ~TAO_CEC_TypedSupplierAdmin (); + virtual ~TAO_CEC_TypedSupplierAdmin () = default; /// For each elements call work()>. void for_each (TAO_ESF_Worker *worker); diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp index c90457fb27705..46f474e56fd61 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp @@ -14,10 +14,6 @@ TAO_EC_Default_ProxyPushConsumer:: { } -TAO_EC_Default_ProxyPushConsumer::~TAO_EC_Default_ProxyPushConsumer () -{ -} - void TAO_EC_Default_ProxyPushConsumer::connect_push_supplier ( RtecEventComm::PushSupplier_ptr push_supplier, diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h index 3f555a24f203c..acd70d235631d 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h @@ -41,7 +41,7 @@ class TAO_RTEvent_Serv_Export TAO_EC_Default_ProxyPushConsumer : TAO_EC_Default_ProxyPushConsumer (TAO_EC_Event_Channel_Base* event_channel); /// Destructor... - virtual ~TAO_EC_Default_ProxyPushConsumer (); + virtual ~TAO_EC_Default_ProxyPushConsumer () = default; virtual void activate ( RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy); diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h index 72588cbf18359..deb31a4534176 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h @@ -49,7 +49,7 @@ class TAO_RTEvent_Serv_Export TAO_EC_Event_Channel : * the Factory, if not found it uses TAO_EC_Default_Factory */ TAO_EC_Event_Channel (const TAO_EC_Event_Channel_Attributes& attributes, - TAO_EC_Factory* factory = 0, + TAO_EC_Factory* factory = nullptr, int own_factory = 0); }; From 8559d4ac94e21a18cdf583d765e9c6257248b1ae Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 27 Jan 2025 14:30:45 +0100 Subject: [PATCH 439/445] Removed destructor implementation * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp: --- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp index a0b70c1015248..d5bd3950755cd 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp @@ -6,10 +6,6 @@ TAO_CEC_ConsumerControl::TAO_CEC_ConsumerControl () { } -TAO_CEC_ConsumerControl::~TAO_CEC_ConsumerControl () -{ -} - int TAO_CEC_ConsumerControl::activate () { From 59dd716f9d36bdc19958c9ded02af162dd82e3bc Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 27 Jan 2025 14:31:18 +0100 Subject: [PATCH 440/445] Make constructor default * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h: --- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp | 4 ---- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp index d5bd3950755cd..741f450d44279 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp @@ -2,10 +2,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -TAO_CEC_ConsumerControl::TAO_CEC_ConsumerControl () -{ -} - int TAO_CEC_ConsumerControl::activate () { diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h index 980a3a16bd361..410c1aff08a50 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h @@ -48,7 +48,7 @@ class TAO_Event_Serv_Export TAO_CEC_ConsumerControl { public: /// Constructor - TAO_CEC_ConsumerControl (); + TAO_CEC_ConsumerControl () = default; /// Destructor virtual ~TAO_CEC_ConsumerControl () = default; From e679dfa4abe115258b99e74f56af034629626d96 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 28 Jan 2025 13:27:27 +0100 Subject: [PATCH 441/445] Use narrow again * TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp: --- TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp index bbecc9c159b54..d5f99a47d37a1 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp @@ -471,7 +471,7 @@ TAO_CEC_ProxyPushSupplier::apply_policy (CosEventComm::PushConsumer_ptr pre) this->nopolicy_consumer_ = CosEventComm::PushConsumer::_duplicate (pre); CORBA::Object_var post_obj = apply_policy_obj (pre); CosEventComm::PushConsumer_var post = - CosEventComm::PushConsumer::_unchecked_narrow (post_obj.in ()); + CosEventComm::PushConsumer::_narrow (post_obj.in ()); return post._retn (); } From 6cbd7f52f8c923db1350b1062c055de17c7734c3 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 28 Jan 2025 13:38:16 +0100 Subject: [PATCH 442/445] Added new CECShutdownWaitCompletion command line argument to not wait on processing all pending events on shutdown but just flush the queue * TAO/docs/cec_options.html: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h: --- TAO/docs/cec_options.html | 13 +++++++ .../orbsvcs/CosEvent/CEC_Default_Factory.cpp | 36 ++++++++++++++++--- .../orbsvcs/CosEvent/CEC_Default_Factory.h | 3 ++ .../orbsvcs/CosEvent/CEC_MT_Dispatching.cpp | 18 +++++++--- .../orbsvcs/CosEvent/CEC_MT_Dispatching.h | 14 +++++--- 5 files changed, 71 insertions(+), 13 deletions(-) diff --git a/TAO/docs/cec_options.html b/TAO/docs/cec_options.html index 1e5db2f4db550..5c548d814e1a3 100644 --- a/TAO/docs/cec_options.html +++ b/TAO/docs/cec_options.html @@ -343,6 +343,19 @@

                                  The options

                                  + + + + -CECShutdownWaitCompletion + true|false + +

                                  Default true which means we wait on all events in the queue + to be processed on shutdown, in case of false all pending events in the queue are flushed + on shutdown. +

                                  + + +

                                  diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp index 84026edf994b8..b3f8403c11c4a 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp @@ -312,6 +312,32 @@ TAO_CEC_Default_Factory::init (int argc, ACE_TCHAR* argv[]) } } + else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECShutdownWaitCompletion")) == 0) + { + arg_shifter.consume_arg (); + + if (arg_shifter.is_parameter_next ()) + { + const ACE_TCHAR* opt = arg_shifter.get_current (); + if (ACE_OS::strcasecmp (opt, ACE_TEXT("false")) == 0) + { + this->wait_for_shutdown_thread_completion_ = false; + } + else if (ACE_OS::strcasecmp (opt, ACE_TEXT("true")) == 0) + { + this->wait_for_shutdown_thread_completion_ = true; + } + else + { + ACE_ERROR ((LM_ERROR, + "CEC_Default_Factory - " + "unsupported true/false for wait_for_shutdown_thread_completion option <%s>\n", + opt)); + } + arg_shifter.consume_arg (); + } + } + else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECConsumerControlPeriod")) == 0) { arg_shifter.consume_arg (); @@ -439,8 +465,9 @@ TAO_CEC_Default_Factory::create_dispatching (TAO_CEC_EventChannel *) return new TAO_CEC_MT_Dispatching (this->dispatching_threads_, this->dispatching_threads_flags_, this->dispatching_threads_priority_, - this->dispatching_threads_force_active_); - return 0; + this->dispatching_threads_force_active_, + this->wait_for_shutdown_thread_completion_); + return nullptr; } #if defined (TAO_HAS_TYPED_EVENT_CHANNEL) @@ -453,8 +480,9 @@ TAO_CEC_Default_Factory::create_dispatching (TAO_CEC_TypedEventChannel *) return new TAO_CEC_MT_Dispatching (this->dispatching_threads_, this->dispatching_threads_flags_, this->dispatching_threads_priority_, - this->dispatching_threads_force_active_); - return 0; + this->dispatching_threads_force_active_, + this->wait_for_shutdown_thread_completion_); + return nullptr; } #endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h index 071686cf93f91..34994f0a95bf9 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h @@ -208,6 +208,9 @@ class TAO_Event_Serv_Export TAO_CEC_Default_Factory : public TAO_CEC_Factory /// The number of retries before disconnecting a proxy unsigned int proxy_disconnect_retries_; + + /// The flag which allows or not to wait the message queue threads completion + bool wait_for_shutdown_thread_completion_ { true }; }; TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp index db1e6bf776d67..49896040f33cd 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp @@ -6,13 +6,15 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_CEC_MT_Dispatching::TAO_CEC_MT_Dispatching (int nthreads, int thread_creation_flags, int thread_priority, - int force_activate) + int force_activate, + bool shutdown_completion) : nthreads_ (nthreads), thread_creation_flags_ (thread_creation_flags), thread_priority_ (thread_priority), force_activate_ (force_activate), task_ (&this->thread_manager_), - active_ (0) + active_ (0), + wait_for_shutdown_thread_completion_(shutdown_completion) { } @@ -48,10 +50,18 @@ TAO_CEC_MT_Dispatching::shutdown () if (this->active_ == 0) return; - for (int i = 0; i < this->nthreads_; ++i) + if (wait_for_shutdown_thread_completion_) { - this->task_.putq (new TAO_CEC_Shutdown_Task_Command); + for (int i = 0; i < this->nthreads_; ++i) + { + this->task_.putq (new TAO_CEC_Shutdown_Task_Command); + } } + else + { + this->task_.flush(ACE_Task_Flags::ACE_FLUSHALL); + } + this->thread_manager_.wait (); } diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h index af65ca8e51d3d..e07781e9f161b 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h @@ -43,7 +43,8 @@ class TAO_Event_Serv_Export TAO_CEC_MT_Dispatching : public TAO_CEC_Dispatching TAO_CEC_MT_Dispatching (int nthreads, int thread_creation_flags, int thread_priority, - int force_activate); + int force_activate, + bool shutdown_completion); // = The EC_Dispatching methods. virtual void activate (); @@ -64,18 +65,18 @@ class TAO_Event_Serv_Export TAO_CEC_MT_Dispatching : public TAO_CEC_Dispatching ACE_Thread_Manager thread_manager_; /// The number of active tasks - int nthreads_; + int const nthreads_; /// The flags (THR_BOUND, THR_NEW_LWP, etc.) used to create the /// dispatching threads. - int thread_creation_flags_; + int const thread_creation_flags_; /// The priority of the dispatching threads. - int thread_priority_; + int const thread_priority_; /// If activation at the requested priority fails then we fallback on /// the defaults for thread activation. - int force_activate_; + int const force_activate_; /// The dispatching task TAO_CEC_Dispatching_Task task_; @@ -85,6 +86,9 @@ class TAO_Event_Serv_Export TAO_CEC_MT_Dispatching : public TAO_CEC_Dispatching /// Are the threads running? int active_; + + /// The flag which allows or not to wait the message queue threads completion + bool const wait_for_shutdown_thread_completion_; }; TAO_END_VERSIONED_NAMESPACE_DECL From 69a0d5dfc7b234d75a40803b59539395ace1ff76 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 28 Jan 2025 14:24:41 +0100 Subject: [PATCH 443/445] Use ORBSVCS_ERROR * TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp: --- TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp index b3f8403c11c4a..7693e9933f384 100644 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp +++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp @@ -329,9 +329,9 @@ TAO_CEC_Default_Factory::init (int argc, ACE_TCHAR* argv[]) } else { - ACE_ERROR ((LM_ERROR, + ORBSVCS_ERROR ((LM_ERROR, "CEC_Default_Factory - " - "unsupported true/false for wait_for_shutdown_thread_completion option <%s>\n", + "unsupported true/false for CECShutdownWaitCompletion option <%s>\n", opt)); } arg_shifter.consume_arg (); From 49259f0f09c0ef44d47ddb8de062ff2c96297097 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 28 Jan 2025 18:35:37 +0100 Subject: [PATCH 444/445] Add ACE_PATCH and TAO_PATCH as strings which can be set from ace/config.h to let tao_idl/ifr print a version with a user defined patch string attached * ACE/ace/Version.h: * ACE/bin/make_release.py: * TAO/TAO_IDL/be/be_helper.cpp: * TAO/TAO_IDL/be/be_init.cpp: * TAO/TAO_IDL/tao_idl.cpp: * TAO/orbsvcs/IFR_Service/be_init.cpp: * TAO/tao/Version.h: --- ACE/ace/Version.h | 3 +++ ACE/bin/make_release.py | 3 +++ TAO/TAO_IDL/be/be_helper.cpp | 2 +- TAO/TAO_IDL/be/be_init.cpp | 2 +- TAO/TAO_IDL/tao_idl.cpp | 3 ++- TAO/orbsvcs/IFR_Service/be_init.cpp | 5 +++-- TAO/tao/Version.h | 3 +++ 7 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ACE/ace/Version.h b/ACE/ace/Version.h index d5dadc684b224..0ad242b1e2a73 100644 --- a/ACE/ace/Version.h +++ b/ACE/ace/Version.h @@ -7,4 +7,7 @@ #define ACE_MICRO_VERSION 2 #define ACE_VERSION "8.0.2" #define ACE_VERSION_CODE 0x80002 +#if !defined (ACE_PATCH) +# define ACE_PATCH "" +#endif #define ACE_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/ACE/bin/make_release.py b/ACE/bin/make_release.py index 52293369d989a..63d7d3b096df6 100755 --- a/ACE/bin/make_release.py +++ b/ACE/bin/make_release.py @@ -230,6 +230,9 @@ def update_version_files (component): #define {comp}_MICRO_VERSION {micro} #define {comp}_VERSION \"{version}\" #define {comp}_VERSION_CODE 0x{code:x} +#if !defined ({comp}_PATCH) +# define {comp}_PATCH \"\" +#endif #define {comp}_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) """.format(**parts) diff --git a/TAO/TAO_IDL/be/be_helper.cpp b/TAO/TAO_IDL/be/be_helper.cpp index ec79ce3ee3bf8..4fa767fe490dc 100644 --- a/TAO/TAO_IDL/be/be_helper.cpp +++ b/TAO/TAO_IDL/be/be_helper.cpp @@ -24,7 +24,7 @@ static const char copyright[] = "// -*- C++ -*-\n" "/**\n" -" * Code generated by the The ACE ORB (TAO) IDL Compiler v" TAO_VERSION "\n" +" * Code generated by the The ACE ORB (TAO) IDL Compiler v" TAO_VERSION TAO_PATCH "\n" " * TAO and the TAO IDL Compiler have been developed by:\n" " * Center for Distributed Object Computing\n" " * Washington University\n" diff --git a/TAO/TAO_IDL/be/be_init.cpp b/TAO/TAO_IDL/be/be_init.cpp index cb6171337103d..70792242f81a2 100644 --- a/TAO/TAO_IDL/be/be_init.cpp +++ b/TAO/TAO_IDL/be/be_init.cpp @@ -6,7 +6,7 @@ TAO_IDL_BE_Export void BE_version () { ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_IDL_BE, version ") ACE_TEXT (TAO_VERSION) + ACE_TEXT ("TAO_IDL_BE, version ") ACE_TEXT (TAO_VERSION) ACE_TEXT (TAO_PATCH) ACE_TEXT ("\n"))); } diff --git a/TAO/TAO_IDL/tao_idl.cpp b/TAO/TAO_IDL/tao_idl.cpp index 7cbbca9ed784f..15e8c7ddccb54 100644 --- a/TAO/TAO_IDL/tao_idl.cpp +++ b/TAO/TAO_IDL/tao_idl.cpp @@ -100,9 +100,10 @@ DRV_version () { ACE_DEBUG ((LM_DEBUG, "%C\n" - "TAO_IDL_FE, version %s (Based on Sun IDL FE, version %s)\n", + "TAO_IDL_FE, version %s%s (Based on Sun IDL FE, version %s)\n", idl_global->prog_name (), ACE_TEXT (TAO_VERSION), + ACE_TEXT (TAO_PATCH), ACE_TEXT (SUN_IDL_FE_VERSION))); BE_version (); diff --git a/TAO/orbsvcs/IFR_Service/be_init.cpp b/TAO/orbsvcs/IFR_Service/be_init.cpp index 6a8bea445877d..6a782268a883c 100644 --- a/TAO/orbsvcs/IFR_Service/be_init.cpp +++ b/TAO/orbsvcs/IFR_Service/be_init.cpp @@ -89,9 +89,10 @@ TAO_IFR_BE_Export void BE_version () { ORBSVCS_DEBUG ((LM_DEBUG, - "%s %s\n", + "%s %s%S\n", ACE_TEXT ("TAO_IFR_BE, version"), - ACE_TEXT (TAO_VERSION))); + ACE_TEXT (TAO_VERSION), + ACE_TEXT (TAO_PATCH))); } TAO_IFR_BE_Export int diff --git a/TAO/tao/Version.h b/TAO/tao/Version.h index 6dabb2f551d56..fba6c1ab90619 100644 --- a/TAO/tao/Version.h +++ b/TAO/tao/Version.h @@ -7,4 +7,7 @@ #define TAO_MICRO_VERSION 2 #define TAO_VERSION "4.0.2" #define TAO_VERSION_CODE 0x40002 +#if !defined (TAO_PATCH) +# define TAO_PATCH "" +#endif #define TAO_MAKE_VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) From 60ae065dae7a48cea308420deac4f0d1ab305987 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 28 Jan 2025 18:37:19 +0100 Subject: [PATCH 445/445] Correct format * TAO/orbsvcs/IFR_Service/be_init.cpp: --- TAO/orbsvcs/IFR_Service/be_init.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TAO/orbsvcs/IFR_Service/be_init.cpp b/TAO/orbsvcs/IFR_Service/be_init.cpp index 6a782268a883c..3900d7ff624b6 100644 --- a/TAO/orbsvcs/IFR_Service/be_init.cpp +++ b/TAO/orbsvcs/IFR_Service/be_init.cpp @@ -89,7 +89,7 @@ TAO_IFR_BE_Export void BE_version () { ORBSVCS_DEBUG ((LM_DEBUG, - "%s %s%S\n", + "%s %s%s\n", ACE_TEXT ("TAO_IFR_BE, version"), ACE_TEXT (TAO_VERSION), ACE_TEXT (TAO_PATCH)));