"basic_string" problem in libstdc++
Fred Richardson
frichard@bbn.com
Thu Oct 9 10:46:00 GMT 1997
It looks like basic_string is broken:
%> cat foo.cc
// #define NO_STRING
#include <stdlib.h>
#include <std.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
#include <string>
//==================================================================
// main()
//
// Program's main routine.
//==================================================================
int main(int argc, char *argv[])
{
for (int i = 0; i < argc; i++)
{
#ifndef NO_STRING
string astr;
const char* str = argv[i];
#else
const char* str = argv[i];
#endif
cout << "ARG " << i << ": " << str << endl;
#ifndef NO_STRING
astr = str;
#endif
}
return 0;
}
%> g++ -v -o foo -Wall -g foo.cc
Reading specs from /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/specs
gcc version egcs-2.90.12 971008 (gcc2-970802 experimental)
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90 -Dsun -Dsparc -Dunix -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun__ -D__sparc__ -D__unix__ -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun -D__sparc -D__unix -Asystem(unix) -Asystem(svr4) -Acpu(sparc) -Amachine(sparc) -D__EXCEPTIONS -g -Wall foo.cc /var/tmp/cca006Ms.ii
GNU CPP version egcs-2.90.12 971008 (gcc2-970802 experimental) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/d4mutl/contrib/egcs/include/g++
/usr/local/include
/d4mutl/contrib/egcs/sparc-sun-solaris2.5.1/include
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/include
/usr/include
End of search list.
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/cc1plus /var/tmp/cca006Ms.ii -quiet -dumpbase foo.cc -g -Wall -version -o /var/tmp/cca006Ms.s
GNU C++ version egcs-2.90.12 971008 (gcc2-970802 experimental) (sparc-sun-solaris2.5.1) compiled by GNU C version egcs-2.90.12 971008 (gcc2-970802 experimental).
/d4mutl/contrib/egcs/sparc-sun-solaris2.5.1/bin/as -V -Qy -s -o /var/tmp/cca006Ms1.o /var/tmp/cca006Ms.s
GNU assembler version 2.8 (sparc-sun-solaris2.5.1), using BFD version 2.8
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o foo /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crt1.o /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crti.o /usr/ccs/lib/values-Xa.o /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crtbegin.o -L/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12 -L/d4mutl/contrib/egcs/sparc-sun-solaris2.5.1/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/d4mutl/contrib/egcs/lib /var/tmp/cca006Ms1.o -lstdc++ -lm -lgcc -lc -lgcc /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crtend.o /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crtn.o
GNU ld version 2.8 (with BFD 2.8)
Supported emulations:
elf32_sparc
%> foo
ARG 0: foo
Segmentation fault
%> g++ -DNO_STRING -v -o foo -Wall -g foo.cc
Reading specs from /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/specs
gcc version egcs-2.90.12 971008 (gcc2-970802 experimental)
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90 -Dsun -Dsparc -Dunix -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun__ -D__sparc__ -D__unix__ -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun -D__sparc -D__unix -Asystem(unix) -Asystem(svr4) -Acpu(sparc) -Amachine(sparc) -D__EXCEPTIONS -g -Wall -DNO_STRING foo.cc /var/tmp/cca006Mz.ii
GNU CPP version egcs-2.90.12 971008 (gcc2-970802 experimental) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/d4mutl/contrib/egcs/include/g++
/usr/local/include
/d4mutl/contrib/egcs/sparc-sun-solaris2.5.1/include
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/include
/usr/include
End of search list.
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/cc1plus /var/tmp/cca006Mz.ii -quiet -dumpbase foo.cc -g -Wall -version -o /var/tmp/cca006Mz.s
GNU C++ version egcs-2.90.12 971008 (gcc2-970802 experimental) (sparc-sun-solaris2.5.1) compiled by GNU C version egcs-2.90.12 971008 (gcc2-970802 experimental).
/d4mutl/contrib/egcs/sparc-sun-solaris2.5.1/bin/as -V -Qy -s -o /var/tmp/cca006Mz1.o /var/tmp/cca006Mz.s
GNU assembler version 2.8 (sparc-sun-solaris2.5.1), using BFD version 2.8
/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o foo /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crt1.o /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crti.o /usr/ccs/lib/values-Xa.o /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crtbegin.o -L/d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12 -L/d4mutl/contrib/egcs/sparc-sun-solaris2.5.1/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/d4mutl/contrib/egcs/lib /var/tmp/cca006Mz1.o -lstdc++ -lm -lgcc -lc -lgcc /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crtend.o /d4mutl/contrib/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.12/crtn.o
GNU ld version 2.8 (with BFD 2.8)
Supported emulations:
elf32_sparc
%> foo
ARG 0: foo
%>
More information about the Gcc-bugs
mailing list