Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2169.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2169 Author: eem Time: 20 March 2017, 9:45:05.711372 am UUID: a16519ac-b854-4fbe-8526-8b6ce4df6d1d Ancestors: VMMaker.oscog-eem.2168
Cogit: Remember to test the ABI before including the relevant API-specific cogit file.
=============== Diff against VMMaker.oscog-eem.2168 ===============
Item was changed: ----- Method: Cogit class>>generateCodeStringForCogitDotC (in category 'translation') ----- generateCodeStringForCogitDotC "Generate a skeletal cogit.c that includes the relevant cogitFOO.c for the appropriate subclasses of CogAbstractInstruction." ^String streamContents: [:s| s nextPutAll: '/* Automatically generated by\ ' withCRs. s nextPutAll: (CCodeGenerator monticelloDescriptionFor: self). s cr; nextPutAll: ' */'. s cr; cr; nextPut: $#. self translateableInstructionSubclassesAndInstalledOptionsDo: + [:class | | abi | - [:class | s nextPutAll: 'if '. + (abi := initializationOptions at: #ABI) ifNotNil: + [s nextPutAll: 'defined('; nextPutAll: abi; nextPutAll: ') && (']. class identifyingPredefinedMacros do: [:predefinedMacro| s nextPutAll: 'defined('; nextPutAll: predefinedMacro; nextPut: $)] separatedBy: [s nextPutAll: ' || ']. + abi ifNotNil: [s nextPut: $)]. s cr; cr; nextPutAll: '# include "'; nextPutAll: class moduleName; nextPutAll: '.c"'. s cr; cr; nextPutAll: '#el']. s nextPutAll: 'se'. #( 'As yet no Cogit implementation appears to exist for your platform.' 'Consider implementing it, starting by adding a subclass of CogAbstractInstruction.') do: [:msg| s cr; nextPutAll: '# error '; nextPutAll: msg]. s cr; nextPutAll: '#endif'; cr]!
vm-dev@lists.squeakfoundation.org