Update of OS/2 Squeak AND bug report to Squeak Central

Juan Manuel Vuletich jmvuletich at sinectis.com.ar
Tue Sep 14 13:41:51 UTC 1999


Hi folks

I've updated the Squeak for OS/2 package at
http://www.sugarweb.com/Squeak/Ports/OS2Native/OS2English.htm to 2.5.
Any comment is welcome.

I found several problems in the C code generated for the VM, when
compiling with IBM's VisualAge C++ for OS/2. I would really appreciate
if Squeak Central could fix them.

1) This seems to be a problem with my compiler. The method
Interpreter>>loadFloatOrIntFrom: can fail. In this case, it does not
return explicitly a value. This makes my compiler generate bad code,
breaking the floating point stack. I would need a final line reading '^
0.' in this method.

2) I would need the following code in the last part of
InterpreterSupportCode class>>squeakConfigFile (before the last 3 lines)
to correctly support OS/2:
#if defined(__OS2__)
# if defined(SQ_CONFIG_DONE)
#   error configuration conflict
# endif
# define DOUBLE_WORD_ALIGNMENT
# define DOUBLE_WORD_ORDER
# define SQ_CONFIG_DONE
#endif

3) In B3DRasterizedPlugin class>>b3dRemapC, I got compiler errors for
things like: '(char*)face->attributes += attrOffset;' It seems that my
compiler does not allow to asign a value to a casted pointer. So I had
to modify (by hand) all such lines to something like: 'face->attributes
= (struct B3DPrimitiveAttribute*)((char*)face->attributes +
attrOffset);', including the correct casting. I looked for this in the
2nd edition of Kernighan and Ritchie's book, and in A1.7.7 and A1.7.17
they say that this sintax is not valid, but recommend that compiler
implement it. It seems that my compiler does not support it. If you
want, you can check the version I include in my package, that compiles
correctly with my compiler. (If you decide to include it, please remove
all the comment lines containing 'jmv'.)

4) There is somethig strange at the end of InterpreterSupportCode
class>>squeakGSMCodecPluginFile, following the text: /* Automatically
generated from Squeak on (4 February 1999 8:47:17 am ) */. I had to
remove that part to compile OK.

A big thanks if these issues can be addressed.

Regards,

Juan Manuel Vuletich
jvuletic at dc.uba.ar





More information about the Squeak-dev mailing list