Comeau C/C++TM 4.3.3- Front-End
Additional information for LINUX/Intel customers

When using Comeau C++ under LINUX, you may come across the issues discussed below.
  1. Versions of gcc, in particular 3.x, now provide the definitions of some macros found in <limits.h> and <float.h> as special builtin identitiers. Therefore, as those macros are no longer in those headers, you may get undefined identifier messages for things such as __SCHAR_MAX__ with the error pointing to CHAR_MAX, for instance:
    "blah.c", line 123: error: identifier "__SCHAR_MAX__" is undefined
        { return CHAR_MAX; }
    You will need to define these macros yourself. We should be able to provide you help with getting those definitions defined.
  2. Although earlier versions of Comeau C++ were able to use some earlier versions of g++'s C++ Standard Library, that has not been so for a long time. Even g++ 3.x's libstdc++ is not known to work with Comeau C++. Therefore, when como433.setup asks you for the directory of your C++ SL, do not provide it with g++'s. You'll be wanting to provide it with a C++ SL that is known to work with Comeau C++, such as libcomo or Dinkumware's SL.
  3. You may find you want to use the new --long_long command line option. Note this option can be enabled even in strict mode.
  4. When you first install Comeau C++ on LINUX, don't inform como433.setup about libcomo, instead tell it you don't have a standard library. Go build libcomo and only then go back and re-run como433.setup telling it about libcomo. As of Comeau C+/C++ 4.3.3 you do not need to install in relaxed mode in order to build libcomo, as --no_A and --no_a options are now supported, and are the default when building libcomo.
  5. In C99 mode, for some combinations of LINUX and gcc you may get an error:
    "/usr/include/_G_config.h", line 50: error: type containing an unknown-size
              array is not allowed
          struct __gconv_info __cd;
    For instance, a vanilla RedHat 7.3 installed straight out of the box will run into this problem.

    To rectify that, you will need to mkdir a sys directory "under" the include directory of your Comeau C++ installation. So let's say Comeau C++ is installed at /como433, then you would mkdir /como433/include/sys. Then you would create a file named /como433/include/sys/cdefs.h (your path name may be different depending upon where you installed Comeau C++), as follows:

    #ifndef	_COMO_SYS_CDEFS_H
    #define	_COMO_SYS_CDEFS_H	1
       Change this path if your C compiler include files
       are not in the normal place
    #include "/usr/include/sys/cdefs.h"
    #undef __flexarr
    #define __flexarr [1]
  6. If, in C++ mode, you get linker errors such as:
    c2.o: In function `main':
    c2.o(.text+0x14): undefined reference to `cout'
    c2.o(.text+0x19): undefined reference to `ostream::operator<<(char const *)'
    c2.o(.text+0x32): undefined reference to `cout'
    c2.o(.text+0x37): undefined reference to `ostream::operator<<(char const *)'
    c2.o(.text+0x42): undefined reference to `ostream::operator<<(int)'
    c2.o(.text+0x55): undefined reference to `endl(os