From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29033 invoked by alias); 11 Feb 2003 22:06:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 28991 invoked by uid 71); 11 Feb 2003 22:06:00 -0000 Resent-Date: 11 Feb 2003 22:06:00 -0000 Resent-Message-ID: <20030211220600.28990.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, emcwhorter@rightnow.com Received: (qmail 24549 invoked by uid 48); 11 Feb 2003 22:00:51 -0000 Message-Id: <20030211220051.24548.qmail@sources.redhat.com> Date: Tue, 11 Feb 2003 22:06:00 -0000 From: emcwhorter@rightnow.com Reply-To: emcwhorter@rightnow.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: libstdc++/9667: some methods don't link for std::basic_string X-SW-Source: 2003-02/txt/msg00510.txt.bz2 List-Id: >Number: 9667 >Category: libstdc++ >Synopsis: some methods don't link for std::basic_string >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Feb 11 22:06:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: emcwhorter@rightnow.com >Release: unknown-1.0 >Organization: >Environment: Red Hat 7.3 >Description: std::basic_string works, std::basic has problems: #include int main( void ) { std::basic_string< unsigned char > u; unsigned char a[] = "whatever"; u.append( buf, sizeof( buf )); } g++ -v -save-temps some_filename.C gives linker error: Reading specs from /usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/specs Configured with: ../configure --prefix=/usr/local/ericm/gcc-3.2.2-inst Thread model: posix gcc version 3.2.2 /usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ ustring.C ustring.ii GNU CPP version 3.2.2 (cpplib) (i386 Linux/ELF) ignoring nonexistent directory "/usr/local/ericm/gcc-3.2.2-inst/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/ericm/gcc-3.2.2-inst/include/c++/3.2.2 /usr/local/ericm/gcc-3.2.2-inst/include/c++/3.2.2/i686-pc-linux-gnu /usr/local/ericm/gcc-3.2.2-inst/include/c++/3.2.2/backward /usr/local/include /usr/local/ericm/gcc-3.2.2-inst/include /usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/include /usr/include End of search list. /usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/cc1plus -fpreprocessed ustring.ii -quiet -dumpbase ustring.C -version -o ustring.s GNU CPP version 3.2.2 (cpplib) (i386 Linux/ELF) GNU C++ version 3.2.2 (i686-pc-linux-gnu) compiled by GNU C version 3.2.2. as -V -Qy -o ustring.o ustring.s GNU assembler version 2.11.93.0.2 (i386-redhat-linux) using BFD version 2.11.93.0.2 20020207 /usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/crtbegin.o -L/usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2 -L/usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../.. ustring.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/local/ericm/gcc-3.2.2-inst/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/crtend.o /usr/lib/crtn.o ustring.o: In function `std::basic_string, std::allocator >::_Rep::_M_clone(std::allocator const&, unsigned)': ustring.o(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE4_Rep8_M_cloneERKS1_j+0xb3): undefined reference to `std::char_traits::copy(unsigned char*, unsigned char const*, unsigned)' ustring.o: In function `std::basic_string, std::allocator >::_M_mutate(unsigned, unsigned, unsigned)': ustring.o(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE9_M_mutateEjjj+0x13d): undefined reference to `std::char_traits::copy(unsigned char*, unsigned char const*, unsigned)' ustring.o(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE9_M_mutateEjjj+0x170): undefined reference to `std::char_traits::copy(unsigned char*, unsigned char const*, unsigned)' ustring.o(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE9_M_mutateEjjj+0x27a): undefined reference to `std::char_traits::move(unsigned char*, unsigned char const*, unsigned)' ustring.o: In function `std::basic_string, std::allocator >::_S_copy_chars(unsigned char*, unsigned char const*, unsigned char const*)': ustring.o(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE13_S_copy_charsEPhPKhS5_+0x20): undefined reference to `std::char_traits::copy(unsigned char*, unsigned char const*, unsigned)' collect2: ld returned 1 exit status >How-To-Repeat: g++ some_filename.C >Fix: Rolling my own equiv to basic_string >Release-Note: >Audit-Trail: >Unformatted: