88
99# if ENABLE_CHECK_BUGS
1010 #define DOTEST
11+ #define DOFUNCS
1112# else
1213 '' thiscall is not supported in -gen gas
1314 # if __FB_BACKEND__ <> "gas"
1415 #define DOTEST
1516 # endif
17+
18+ '' strutures returned by value from c++
19+ '' needs some work on arm targets (bugs!)
20+ # if not defined( __FB_ARM__ )
21+ #define DOFUNCS
22+ # endif
1623# endif
1724
1825'' !!! TODO !!! this default should be handled in fbc
@@ -121,8 +128,11 @@ end extern
121128 scope
122129 # if count = 1
123130 dim a as UDT, r as UDT
131+ print "A"
124132 r = n( a )
133+ print "B"
125134 assert( @a = getPtr1() )
135+ print "C"
126136 # elseif count = 2
127137 dim a as UDT, b as UDT, r as UDT
128138 r = n( a, b )
@@ -141,46 +151,59 @@ end extern
141151
142152#ifdef DOTEST
143153
154+
144155chksub( 1 , sub1_c_default )
145156chksub( 1 , sub1_c_cdecl )
146157chksub( 1 , sub1_c_stdcall )
158+ #ifdef DOFUNCS
147159chkfunc( 1 , func1_c_default )
148160chkfunc( 1 , func1_c_cdecl )
149161chkfunc( 1 , func1_c_stdcall )
162+ # endif
150163
151164chksub( 1 , sub1_cpp_default )
152165chksub( 1 , sub1_cpp_cdecl )
153166chksub( 1 , sub1_cpp_stdcall )
167+ #ifdef DOFUNCS
154168chkfunc( 1 , func1_cpp_default )
155169chkfunc( 1 , func1_cpp_cdecl )
156170chkfunc( 1 , func1_cpp_stdcall )
171+ # endif
157172
158173chksub( 2 , sub2_c_default )
159174chksub( 2 , sub2_c_cdecl )
160175chksub( 2 , sub2_c_stdcall )
176+ #ifdef DOFUNCS
161177chkfunc( 2 , func2_c_default )
162178chkfunc( 2 , func2_c_cdecl )
163179chkfunc( 2 , func2_c_stdcall )
180+ # endif
164181
165182chksub( 2 , sub2_cpp_default )
166183chksub( 2 , sub2_cpp_cdecl )
167184chksub( 2 , sub2_cpp_stdcall )
185+ #ifdef DOFUNCS
168186chkfunc( 2 , func2_cpp_default )
169187chkfunc( 2 , func2_cpp_cdecl )
170188chkfunc( 2 , func2_cpp_stdcall )
189+ # endif
171190
172191chksub( 3 , sub3_c_default )
173192chksub( 3 , sub3_c_cdecl )
174193chksub( 3 , sub3_c_stdcall )
194+ #ifdef DOFUNCS
175195chkfunc( 3 , func3_c_default )
176196chkfunc( 3 , func3_c_cdecl )
177197chkfunc( 3 , func3_c_stdcall )
198+ # endif
178199
179200chksub( 3 , sub3_cpp_default )
180201chksub( 3 , sub3_cpp_cdecl )
181202chksub( 3 , sub3_cpp_stdcall )
203+ #ifdef DOFUNCS
182204chkfunc( 3 , func3_cpp_default )
183205chkfunc( 3 , func3_cpp_cdecl )
184206chkfunc( 3 , func3_cpp_stdcall )
207+ # endif
185208
186209# endif
0 commit comments