[Debug] Calling conventions are now always shown in XML node dumps if it's not the default one
Summary
This merge request modifies the XML node dump output slightly (via -dDEBUG_NODE_XML
) by including the subroutine's calling convention isn't the default one (whatever pocall_default
is set to). This allow the effect of $CALLING
to be seen.
NOTE: If there is an explicit convention, it will always be listed even if it is the default one.
System
- Processor architecture: All
What is the current bug behavior?
N/A
What is the behavior after applying this patch?
If the calling convention is not the default one
Relevant logs and/or screenshots
I used the ucomplex
unit as a test case and added {$CALLING vectorcall}
at the beginning. Before the change, the calling convention wasn't listed for subsequent subroutines:
<subroutine name="cinit(const Real;const Real):complex;">
With the change, it's listed and hence it is now clear to compiler developers that the default calling convention is not used (thus showing that $CALLING
actually works and also to help debug node tree optimisations where vectorisation may be taking place):
<subroutine name="cinit(const Real;const Real):complex;" convention="VectorCall">