From bde39f2cbeef6e4ee07149d429ab90b8ef894d3e Mon Sep 17 00:00:00 2001 From: johnvg Date: Fri, 2 Apr 2004 12:00:33 +0000 Subject: implement foreign export with stdcall git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1483 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- backend/backend.dcl | 4 ++-- backend/backend.icl | 8 ++++---- backend/backendconvert.icl | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) (limited to 'backend') diff --git a/backend/backend.dcl b/backend/backend.dcl index 263effc..a0b03c5 100644 --- a/backend/backend.dcl +++ b/backend/backend.dcl @@ -277,8 +277,8 @@ BEExportFunction :: !Int !BackEnd -> BackEnd; // void BEExportFunction (int functionIndex); BEDefineImportedObjsAndLibs :: !BEStringListP !BEStringListP !BackEnd -> BackEnd; // void BEDefineImportedObjsAndLibs (BEStringListP objs,BEStringListP libs); -BEInsertForeignExport :: !BESymbolP !BackEnd -> BackEnd; -// void BEInsertForeignExport (BESymbolP symbol_p); +BEInsertForeignExport :: !BESymbolP !Int !BackEnd -> BackEnd; +// void BEInsertForeignExport (BESymbolP symbol_p,int stdcall); BESetMainDclModuleN :: !Int !BackEnd -> BackEnd; // void BESetMainDclModuleN (int main_dcl_module_n_parameter); BEStrictPositions :: !Int !BackEnd -> (!Int,!Int,!BackEnd); diff --git a/backend/backend.icl b/backend/backend.icl index a011279..765af9d 100644 --- a/backend/backend.icl +++ b/backend/backend.icl @@ -758,11 +758,11 @@ BEDefineImportedObjsAndLibs a0 a1 a2 = code { } // void BEDefineImportedObjsAndLibs (BEStringListP objs,BEStringListP libs); -BEInsertForeignExport :: !BESymbolP !BackEnd -> BackEnd; -BEInsertForeignExport a0 a1 = code { - ccall BEInsertForeignExport "I:V:I" +BEInsertForeignExport :: !BESymbolP !Int !BackEnd -> BackEnd; +BEInsertForeignExport a0 a1 a2 = code { + ccall BEInsertForeignExport "II:V:I" } -// void BEInsertForeignExport (BESymbolP symbol_p); +// void BEInsertForeignExport (BESymbolP symbol_p,int stdcall); BESetMainDclModuleN :: !Int !BackEnd -> BackEnd; BESetMainDclModuleN a0 a1 = code { diff --git a/backend/backendconvert.icl b/backend/backendconvert.icl index 904dc2c..980042b 100644 --- a/backend/backendconvert.icl +++ b/backend/backendconvert.icl @@ -2039,11 +2039,11 @@ getVariableSequenceNumber varInfoPtr be VI_AliasSequenceNumber {var_info_ptr} -> getVariableSequenceNumber var_info_ptr be -convertForeignExports :: [Int] Int BackEnd -> BackEnd -convertForeignExports [functionIndex:icl_foreign_exports] main_dcl_module_n backEnd +convertForeignExports :: [ForeignExport] Int BackEnd -> BackEnd +convertForeignExports [{fe_fd_index,fe_stdcall}:icl_foreign_exports] main_dcl_module_n backEnd # backEnd = convertForeignExports icl_foreign_exports main_dcl_module_n backEnd - # (function_symbol_p,backEnd) = BEFunctionSymbol functionIndex main_dcl_module_n backEnd - = BEInsertForeignExport function_symbol_p backEnd + # (function_symbol_p,backEnd) = BEFunctionSymbol fe_fd_index main_dcl_module_n backEnd + = BEInsertForeignExport function_symbol_p (if fe_stdcall 1 0) backEnd convertForeignExports [] main_dcl_module_n backEnd = backEnd -- cgit v1.2.3