annotate gcc/testsuite/g++.dg/torture/pr58252.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do compile }
kono
parents:
diff changeset
2 // { dg-options "-fpermissive" }
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3 // { dg-additional-options "-Wno-return-type" }
111
kono
parents:
diff changeset
4 typedef long unsigned int size_t;
kono
parents:
diff changeset
5 typedef bool _CORBA_Boolean;
kono
parents:
diff changeset
6 typedef unsigned int _CORBA_ULong;
kono
parents:
diff changeset
7 template <class T> class _CORBA_Sequence {
kono
parents:
diff changeset
8 public: typedef _CORBA_Sequence<T> T_seq;
kono
parents:
diff changeset
9 inline T_seq &operator= (const T_seq &s) {
kono
parents:
diff changeset
10 for (unsigned long i=0;
kono
parents:
diff changeset
11 i < pd_len;
kono
parents:
diff changeset
12 i++) {
kono
parents:
diff changeset
13 }
kono
parents:
diff changeset
14 }
kono
parents:
diff changeset
15 _CORBA_ULong pd_len;
kono
parents:
diff changeset
16 };
kono
parents:
diff changeset
17 template <class T> class _CORBA_Unbounded_Sequence : public _CORBA_Sequence<T> {
kono
parents:
diff changeset
18 inline _CORBA_Unbounded_Sequence_WChar() { // { dg-warning "forbids declaration" }
kono
parents:
diff changeset
19 }
kono
parents:
diff changeset
20 };
kono
parents:
diff changeset
21 class _CORBA_ObjRef_Var_base {
kono
parents:
diff changeset
22 };
kono
parents:
diff changeset
23 template <class T, class T_Helper> class _CORBA_ObjRef_Var : public _CORBA_ObjRef_Var_base {
kono
parents:
diff changeset
24 public: typedef T* ptr_t;
kono
parents:
diff changeset
25 typedef T* T_ptr;
kono
parents:
diff changeset
26 inline _CORBA_ObjRef_Var() : pd_objref(T_Helper::_nil()) {
kono
parents:
diff changeset
27 }
kono
parents:
diff changeset
28 inline _CORBA_ObjRef_Var(T_ptr p) : pd_objref(p) {
kono
parents:
diff changeset
29 }
kono
parents:
diff changeset
30 private: T_ptr pd_objref;
kono
parents:
diff changeset
31 };
kono
parents:
diff changeset
32 class omniLocalIdentity;
kono
parents:
diff changeset
33 class omniObjRef {
kono
parents:
diff changeset
34 };
kono
parents:
diff changeset
35 class omniServant {
kono
parents:
diff changeset
36 public: virtual ~omniServant();
kono
parents:
diff changeset
37 virtual void* _ptrToInterface(const char* repoId);
kono
parents:
diff changeset
38 };
kono
parents:
diff changeset
39 namespace CORBA {
kono
parents:
diff changeset
40 class NVList {
kono
parents:
diff changeset
41 };
kono
parents:
diff changeset
42 class Object {
kono
parents:
diff changeset
43 };
kono
parents:
diff changeset
44 struct StructMember {
kono
parents:
diff changeset
45 };
kono
parents:
diff changeset
46 class StructMemberSeq : public _CORBA_Unbounded_Sequence< StructMember > {
kono
parents:
diff changeset
47 };
kono
parents:
diff changeset
48 class _objref_IRObject : public virtual ::CORBA::Object, public virtual omniObjRef {
kono
parents:
diff changeset
49 };
kono
parents:
diff changeset
50 class _impl_IRObject : public virtual omniServant {
kono
parents:
diff changeset
51 };
kono
parents:
diff changeset
52 class _objref_Container;
kono
parents:
diff changeset
53 typedef _objref_Container* Container_ptr;
kono
parents:
diff changeset
54 class _impl_Contained : public virtual _impl_IRObject {
kono
parents:
diff changeset
55 };
kono
parents:
diff changeset
56 class _objref_ExceptionDef;
kono
parents:
diff changeset
57 typedef _objref_ExceptionDef* ExceptionDef_ptr;
kono
parents:
diff changeset
58 class ExceptionDef_Helper {
kono
parents:
diff changeset
59 public: typedef ExceptionDef_ptr _ptr_type;
kono
parents:
diff changeset
60 static _ptr_type _nil();
kono
parents:
diff changeset
61 };
kono
parents:
diff changeset
62 typedef _CORBA_ObjRef_Var<_objref_ExceptionDef, ExceptionDef_Helper> ExceptionDef_var;
kono
parents:
diff changeset
63 class Container {
kono
parents:
diff changeset
64 public: typedef Container_ptr _ptr_type;
kono
parents:
diff changeset
65 static const char* _PD_repoId;
kono
parents:
diff changeset
66 };
kono
parents:
diff changeset
67 class _objref_Container : public virtual _objref_IRObject {
kono
parents:
diff changeset
68 ExceptionDef_ptr create_exception(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members);
kono
parents:
diff changeset
69 };
kono
parents:
diff changeset
70 class _impl_Container : public virtual _impl_IRObject {
kono
parents:
diff changeset
71 public: virtual ~_impl_Container();
kono
parents:
diff changeset
72 virtual ExceptionDef_ptr create_exception(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members) = 0;
kono
parents:
diff changeset
73 };
kono
parents:
diff changeset
74 class _impl_IDLType : public virtual _impl_IRObject {
kono
parents:
diff changeset
75 };
kono
parents:
diff changeset
76 class _impl_TypedefDef : public virtual _impl_Contained, public virtual _impl_IDLType {
kono
parents:
diff changeset
77 };
kono
parents:
diff changeset
78 class _impl_StructDef : public virtual _impl_TypedefDef, public virtual _impl_Container {
kono
parents:
diff changeset
79 };
kono
parents:
diff changeset
80 }
kono
parents:
diff changeset
81 namespace PortableServer {
kono
parents:
diff changeset
82 class ServantBase : public virtual omniServant {
kono
parents:
diff changeset
83 };
kono
parents:
diff changeset
84 }
kono
parents:
diff changeset
85 namespace POA_CORBA {
kono
parents:
diff changeset
86 class IRObject : public virtual CORBA::_impl_IRObject, public virtual ::PortableServer::ServantBase {
kono
parents:
diff changeset
87 };
kono
parents:
diff changeset
88 class Contained : public virtual CORBA::_impl_Contained, public virtual IRObject {
kono
parents:
diff changeset
89 };
kono
parents:
diff changeset
90 class Container : public virtual CORBA::_impl_Container, public virtual IRObject {
kono
parents:
diff changeset
91 };
kono
parents:
diff changeset
92 class IDLType : public virtual CORBA::_impl_IDLType, public virtual IRObject {
kono
parents:
diff changeset
93 };
kono
parents:
diff changeset
94 class TypedefDef : public virtual CORBA::_impl_TypedefDef, public virtual Contained, public virtual IDLType {
kono
parents:
diff changeset
95 };
kono
parents:
diff changeset
96 class StructDef : public virtual CORBA::_impl_StructDef, public virtual TypedefDef, public virtual Container {
kono
parents:
diff changeset
97 public: virtual ~StructDef();
kono
parents:
diff changeset
98 };
kono
parents:
diff changeset
99 }
kono
parents:
diff changeset
100 namespace omni {
kono
parents:
diff changeset
101 class omniOrbPOA;
kono
parents:
diff changeset
102 class giopAddress;
kono
parents:
diff changeset
103 }
kono
parents:
diff changeset
104 class omniCallDescriptor {
kono
parents:
diff changeset
105 public: typedef void (*LocalCallFn)(omniCallDescriptor*, omniServant*);
kono
parents:
diff changeset
106 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) {
kono
parents:
diff changeset
107 }
kono
parents:
diff changeset
108 private: LocalCallFn pd_localCall;
kono
parents:
diff changeset
109 const char* pd_op;
kono
parents:
diff changeset
110 size_t pd_oplen;
kono
parents:
diff changeset
111 const char*const* pd_user_excns;
kono
parents:
diff changeset
112 int pd_n_user_excns;
kono
parents:
diff changeset
113 _CORBA_Boolean pd_is_oneway;
kono
parents:
diff changeset
114 _CORBA_Boolean pd_is_upcall;
kono
parents:
diff changeset
115 _CORBA_Boolean pd_contains_values;
kono
parents:
diff changeset
116 const omni::giopAddress* pd_first_address_used;
kono
parents:
diff changeset
117 const omni::giopAddress* pd_current_address;
kono
parents:
diff changeset
118 omniObjRef* pd_objref;
kono
parents:
diff changeset
119 omni::omniOrbPOA* pd_poa;
kono
parents:
diff changeset
120 omniLocalIdentity* pd_localId;
kono
parents:
diff changeset
121 unsigned long pd_deadline_secs;
kono
parents:
diff changeset
122 unsigned long pd_deadline_nanosecs;
kono
parents:
diff changeset
123 };
kono
parents:
diff changeset
124 class _0RL_cd_7963219a43724a61_f2000000 : public omniCallDescriptor {
kono
parents:
diff changeset
125 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) {
kono
parents:
diff changeset
126 }
kono
parents:
diff changeset
127 static const char* const _user_exns[];
kono
parents:
diff changeset
128 const char* arg_0;
kono
parents:
diff changeset
129 const char* arg_1;
kono
parents:
diff changeset
130 const char* arg_2;
kono
parents:
diff changeset
131 const CORBA::StructMemberSeq* arg_3;
kono
parents:
diff changeset
132 CORBA::ExceptionDef_var result;
kono
parents:
diff changeset
133 };
kono
parents:
diff changeset
134 static void _0RL_lcfn_7963219a43724a61_03000000(omniCallDescriptor* cd, omniServant* svnt) {
kono
parents:
diff changeset
135 _0RL_cd_7963219a43724a61_f2000000* tcd = (_0RL_cd_7963219a43724a61_f2000000*)cd;
kono
parents:
diff changeset
136 CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
kono
parents:
diff changeset
137 tcd->result = impl->create_exception(tcd->arg_0, tcd->arg_1, tcd->arg_2, *tcd->arg_3);
kono
parents:
diff changeset
138 }
kono
parents:
diff changeset
139 CORBA::ExceptionDef_ptr CORBA::_objref_Container::create_exception(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members) {
kono
parents:
diff changeset
140 _0RL_cd_7963219a43724a61_f2000000 _call_desc(_0RL_lcfn_7963219a43724a61_03000000, "create_exception", 17);
kono
parents:
diff changeset
141 }
kono
parents:
diff changeset
142 POA_CORBA::StructDef::~StructDef() {
kono
parents:
diff changeset
143 }