Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.181.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.181 Author: eem Time: 29 June 2012, 1:05:25.822 pm UUID: 37760187-3a5c-4411-9352-754a4782fa29 Ancestors: VMMaker.oscog-eem.180
Check for variable name clashes with C reserved words. Comment touch:
=============== Diff against VMMaker.oscog-eem.180 ===============
Item was changed: ----- Method: CCodeGenerator>>checkForGlobalUsage:in: (in category 'utilities') ----- checkForGlobalUsage: vars in: aTMethod vars do: [:var | (variables includes: var) ifTrue: "find the set of method names using this global var" [(globalVariableUsage at: var ifAbsentPut: [Set new]) add: aTMethod selector]]. + aTMethod referencesGlobalStructMakeZero. + (aTMethod locals select: [:l| self reservedWords includes: l]) do: + [:l| | em | + em := aTMethod definingClass name, '>>', aTMethod selector, ' has variable that is a C reserved word: ', l. + self error: em. + self logger cr; nextPutAll: em; cr; flush]! - aTMethod referencesGlobalStructMakeZero!
Item was added: + ----- Method: CCodeGenerator>>reservedWords (in category 'C translation') ----- + reservedWords + ^#( 'auto' + 'break' + 'case' 'char' 'const' 'continue' + 'default' 'do' 'double' + 'else' 'entry' 'enum' 'extern' + 'float' 'for' + 'goto' + 'if' 'int' + 'long' + 'register' 'return' + 'short' 'signed' 'sizeof' 'static' 'struct' 'switch' + 'typedef' + 'union' 'unsigned' + 'void' 'volatile' + 'while')!
Item was changed: ----- Method: Object>>touch: (in category '*VMMaker-translation support') ----- touch: something + "For translation only; eliminated by CCodeGenerator. Used to squash unused varable warnings."! - "For translation only; eliminated by CCodeGenerator"!
vm-dev@lists.squeakfoundation.org