[fa.info-cpm] More on Whitesmith's C

wrv (10/11/82)

The company I used to work for did 8080 development on RT-11
systems using Whitesmiths compilers.  We found two major
problems:

1.  Whitesmiths compiles floating point constants into
    the .data section, while they compile int and long
    constants into the .text section.  Since we were writing
    code for an EPROM/RAM environment, everytime we re-compiled
    a module we had to edit the assembler code to get the
    float and double constants out of RAM!!!
    We also had to patch one of their object module libraries
    because it had float constants which were being compiled into RAM.

2.  Float/double functions are full of bugs!  Often
    a statement like double * exp(double) will cause
    the function exp() (returns a double) to actually return
    the reciprocal of the return value.  The code I left
    behind still has many bugs because of the bug-filled
    way in which they handle floating point code on the 8080.

    Once I benchmarked Whitesmiths software floating point
    library (no FPU) vs. the DEC RT-11 FORTRAN software
    floating point library and found the DEC stuff to be
    1000% faster!  We were shocked!  Our solution was to
    provide dummy C library modules to diddle with the arguments
    passed in C and then call the FORTRAN floating point
    routines.

    So the moral of the story is:
    If you are going to do floating point stuff, DON'T
    USE WHITESMITHS.

                      -Bill Vogel
                      Bell Labs, Indian Hill
                      .....ihnss!ihldt!wrv