W liście z czw, 15-04-2004, godz. 18:14 -0700, Fergus Henderson napisał:
When using the "--target asm" option, which tells the Mercury compiler to compile directly to assembler, the Mercury compiler will generate some C glue code to handle the FFI interfacing pragmas.
Which - in case it's a plain function - is an unnecessary extra function call. Perhaps we should differentiate by a calling convention between linking to a function directly and generating a source-level C call? The calling conventions we know would correspond to linking to them directly. They would perform the necessary magic to turn off macros when compiling via C, and they would not need a C compiler when compiling via assembler. There is no need for specifying a C header in this case. Another calling convention would generate a function wrapper with proper argument types. It would need "foreign type" declarations and included headers. The wrapped calling convention in this case is of course irrelevant, so it's a calling convention rather than a separate flag. -- __("< Marcin Kowalczyk \__/ qrczak@knm.org.pl ^^ http://qrnik.knm.org.pl/~qrczak/