| // { dg-do compile } |
| // { dg-options "-fpermissive -Wno-return-type" } |
| typedef long unsigned int size_t; |
| typedef bool _CORBA_Boolean; |
| typedef unsigned int _CORBA_ULong; |
| template <class T> class _CORBA_Sequence { |
| public: typedef _CORBA_Sequence<T> T_seq; |
| inline T_seq &operator= (const T_seq &s) { |
| for (unsigned long i=0; |
| i < pd_len; |
| i++) { |
| } |
| } |
| _CORBA_ULong pd_len; |
| }; |
| template <class T> class _CORBA_Unbounded_Sequence : public _CORBA_Sequence<T> { |
| inline _CORBA_Unbounded_Sequence_WChar() { // { dg-warning "forbids declaration" } |
| } |
| }; |
| class _CORBA_ObjRef_Var_base { |
| }; |
| template <class T, class T_Helper> class _CORBA_ObjRef_Var : public _CORBA_ObjRef_Var_base { |
| public: typedef T* ptr_t; |
| typedef T* T_ptr; |
| inline _CORBA_ObjRef_Var() : pd_objref(T_Helper::_nil()) { |
| } |
| inline _CORBA_ObjRef_Var(T_ptr p) : pd_objref(p) { |
| } |
| private: T_ptr pd_objref; |
| }; |
| class omniLocalIdentity; |
| class omniObjRef { |
| }; |
| class omniServant { |
| public: virtual ~omniServant(); |
| virtual void* _ptrToInterface(const char* repoId); |
| }; |
| namespace CORBA { |
| class NVList { |
| }; |
| class Object { |
| }; |
| struct StructMember { |
| }; |
| class StructMemberSeq : public _CORBA_Unbounded_Sequence< StructMember > { |
| }; |
| class _objref_IRObject : public virtual ::CORBA::Object, public virtual omniObjRef { |
| }; |
| class _impl_IRObject : public virtual omniServant { |
| }; |
| class _objref_Container; |
| typedef _objref_Container* Container_ptr; |
| class _impl_Contained : public virtual _impl_IRObject { |
| }; |
| class _objref_ExceptionDef; |
| typedef _objref_ExceptionDef* ExceptionDef_ptr; |
| class ExceptionDef_Helper { |
| public: typedef ExceptionDef_ptr _ptr_type; |
| static _ptr_type _nil(); |
| }; |
| typedef _CORBA_ObjRef_Var<_objref_ExceptionDef, ExceptionDef_Helper> ExceptionDef_var; |
| class Container { |
| public: typedef Container_ptr _ptr_type; |
| static const char* _PD_repoId; |
| }; |
| class _objref_Container : public virtual _objref_IRObject { |
| ExceptionDef_ptr create_exception(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members); |
| }; |
| class _impl_Container : public virtual _impl_IRObject { |
| public: virtual ~_impl_Container(); |
| virtual ExceptionDef_ptr create_exception(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members) = 0; |
| }; |
| class _impl_IDLType : public virtual _impl_IRObject { |
| }; |
| class _impl_TypedefDef : public virtual _impl_Contained, public virtual _impl_IDLType { |
| }; |
| class _impl_StructDef : public virtual _impl_TypedefDef, public virtual _impl_Container { |
| }; |
| } |
| namespace PortableServer { |
| class ServantBase : public virtual omniServant { |
| }; |
| } |
| namespace POA_CORBA { |
| class IRObject : public virtual CORBA::_impl_IRObject, public virtual ::PortableServer::ServantBase { |
| }; |
| class Contained : public virtual CORBA::_impl_Contained, public virtual IRObject { |
| }; |
| class Container : public virtual CORBA::_impl_Container, public virtual IRObject { |
| }; |
| class IDLType : public virtual CORBA::_impl_IDLType, public virtual IRObject { |
| }; |
| class TypedefDef : public virtual CORBA::_impl_TypedefDef, public virtual Contained, public virtual IDLType { |
| }; |
| class StructDef : public virtual CORBA::_impl_StructDef, public virtual TypedefDef, public virtual Container { |
| public: virtual ~StructDef(); |
| }; |
| } |
| namespace omni { |
| class omniOrbPOA; |
| class giopAddress; |
| } |
| class omniCallDescriptor { |
| public: typedef void (*LocalCallFn)(omniCallDescriptor*, omniServant*); |
| inline omniCallDescriptor(LocalCallFn lcfn, const char* op_, int op_len_, _CORBA_Boolean oneway, const char*const* user_excns_, int n_user_excns_, _CORBA_Boolean is_upcall_) : pd_localCall(lcfn), pd_op(op_), pd_oplen(op_len_), pd_user_excns(user_excns_), pd_n_user_excns(n_user_excns_), pd_is_oneway(oneway), pd_is_upcall(is_upcall_), pd_contains_values(0), pd_first_address_used(0), pd_current_address(0), pd_objref(0), pd_poa(0), pd_localId(0), pd_deadline_secs(0), pd_deadline_nanosecs(0) { |
| } |
| private: LocalCallFn pd_localCall; |
| const char* pd_op; |
| size_t pd_oplen; |
| const char*const* pd_user_excns; |
| int pd_n_user_excns; |
| _CORBA_Boolean pd_is_oneway; |
| _CORBA_Boolean pd_is_upcall; |
| _CORBA_Boolean pd_contains_values; |
| const omni::giopAddress* pd_first_address_used; |
| const omni::giopAddress* pd_current_address; |
| omniObjRef* pd_objref; |
| omni::omniOrbPOA* pd_poa; |
| omniLocalIdentity* pd_localId; |
| unsigned long pd_deadline_secs; |
| unsigned long pd_deadline_nanosecs; |
| }; |
| class _0RL_cd_7963219a43724a61_f2000000 : public omniCallDescriptor { |
| public: inline _0RL_cd_7963219a43724a61_f2000000(LocalCallFn lcfn,const char* op_,size_t oplen,_CORBA_Boolean upcall=0): omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall) { |
| } |
| static const char* const _user_exns[]; |
| const char* arg_0; |
| const char* arg_1; |
| const char* arg_2; |
| const CORBA::StructMemberSeq* arg_3; |
| CORBA::ExceptionDef_var result; |
| }; |
| static void _0RL_lcfn_7963219a43724a61_03000000(omniCallDescriptor* cd, omniServant* svnt) { |
| _0RL_cd_7963219a43724a61_f2000000* tcd = (_0RL_cd_7963219a43724a61_f2000000*)cd; |
| CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId); |
| tcd->result = impl->create_exception(tcd->arg_0, tcd->arg_1, tcd->arg_2, *tcd->arg_3); |
| } |
| CORBA::ExceptionDef_ptr CORBA::_objref_Container::create_exception(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members) { |
| _0RL_cd_7963219a43724a61_f2000000 _call_desc(_0RL_lcfn_7963219a43724a61_03000000, "create_exception", 17); |
| } |
| POA_CORBA::StructDef::~StructDef() { |
| } |