This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Solaris 2.8 -- #undef'd ostream::operator<<(long long)


Hi,

The IOSTREAM formatting I/O apparently has ceased to exist on
Solaris 2.8 (and, I guess, all other "non-C99" platforms):

gcc-3.0/libstdc++-v3/configure:

  # iostreams require strtoll, strtoull to compile. If the
  # GLIBCPP_ENABLE_C99 tests found these, and if C99 support is enabled,
  # go ahead and allow long long to be used.
  if test x"$enable_c99" = x"no"; then
    enable_long_long=no; 
  fi


I may not know the whole truth ;-), but this looks a bit of extreme to 
me to disable IOSTREAMs "long long" support, which (according to the
above CONFIGURE comment) does not actually require 100% C99 conformance...

Maybe it would be enough to just add a CONFIGURE test
for strtoll() and strtoull(), and enable IOSTREAMs "long long" support
if these two are available (they are present in Solaris 2.8).

What do you think?

Cheers,
Denis Vakatov


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]