comparison test/plain/test_main.c @ 533:71c884e610f0

- integration of patches from Raphael Luba, Thekla, Inc.: * integration of aggregate-by-value (struct, union) support patch for x64 (win and sysv) * windows/x64 asm additions to specify how stack unwinds (help for debuggers, exception handling, etc.) * see Changelog for details - new calling convention modes for thiscalls (platform agnostic, was specific before) * new signature character for platform agnostic thiscalls ('*' / DC_SIGCHAR_CC_THISCALL) - dcCallF(), dcVCallF(), dcArgF() and dcVArgF(): * added support for aggregates-by-value (wasn't part of patch) * change that those functions don't implicitly call dcReset() anymore, which was unflexible (breaking change) - added macros to feature test implementation for aggregate-by-value and syscall support - changed libdyncall_s.lib and libdyncallback_s.lib order in callback test makefiles, as some toolchains are picky about order - doc: * man page updates to describe aggregate interface * manual overview changes to highlight platforms with aggregate-by-value support - test/plain: replaced tests w/ old/stale sctruct interface with new aggregate one
author Tassilo Philipp
date Thu, 21 Apr 2022 13:35:47 +0200
parents d4bf63ab9164
children c477ddd64718
comparison
equal deleted inserted replaced
532:d4bf63ab9164 533:71c884e610f0
333 } 333 }
334 334
335 #endif 335 #endif
336 336
337 337
338 int testCallStructs(); 338 #if defined(DC__Feature_AggrByVal)
339 int testStructSizes(); 339 int testAggrReturns();
340 int testAggrParameters();
341 #endif
340 342
341 int main(int argc, char* argv[]) 343 int main(int argc, char* argv[])
342 { 344 {
343 int r = 1; 345 int r = 1;
344 dcTest_initPlatform(); 346 dcTest_initPlatform();
345 347
346 r = testCallC() && r; 348 r = testCallC() && r;
347 r = testStructSizes() && r; 349 #if defined(DC__Feature_AggrByVal)
348 /*r = testCallStructs() && r;*/ 350 r = testAggrReturns() && r;
351 r = testAggrParameters() && r;
352 #endif
349 #if defined(DC__OS_Win32) 353 #if defined(DC__OS_Win32)
350 r = testCallStd() && r; 354 r = testCallStd() && r;
351 r = testCallFast() && r; 355 r = testCallFast() && r;
352 #endif 356 #endif
353 357