public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: peter schmid <pschmid@peem.als.lbl.gov> To: gcc-gnats@gcc.gnu.org Subject: c++/10158: ice (regression) Date: Thu, 20 Mar 2003 01:56:00 -0000 [thread overview] Message-ID: <200303200150.h2K1oxJM004704@peem.als.lbl.gov> (raw) >Number: 10158 >Category: c++ >Synopsis: ice (regression) >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Thu Mar 20 01:56:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Peter Schmid >Release: 3.3 20030314 (prerelease) >Organization: LBNL >Environment: System: Linux linux 2.4.19-4GB #1 Wed Nov 27 00:56:40 UTC 2002 i686 unknown Architecture: i686 SuSE 8.1 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc3/gcc/configure --enable-threads=posix --enable-languages=c,c++,f77,objc --enable-__cxa_atexit >Description: The following code r.C, extracted from boost's libs/random/random_test.cpp cause an ice. gcc 3.2 accept this code without a problem. I believe this is a regression. gcc 3.3 and 3.4 crash while trying to compile this code. >How-To-Repeat: source code r.C namespace std { template<typename _Alloc> class allocator {}; template<class _CharT> struct char_traits; template<typename _CharT, typename _Traits = char_traits<_CharT>, typename _Alloc = allocator<_CharT> > class basic_istringstream; typedef basic_istringstream<char> istringstream; template<typename _CharT, typename _Traits, typename _Alloc> class basic_string { public: basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); }; template <typename _CharT, typename _Traits> class basic_streambuf {}; template<typename _CharT, typename _Traits> class basic_istream { public: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_istream<_CharT, _Traits> __istream_type; explicit basic_istream(__streambuf_type* __sb) { } }; template<typename _CharT, typename _Traits, typename _Alloc> class basic_istringstream : public basic_istream<_CharT, _Traits> { public: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; public: explicit basic_istringstream(const __string_type& __str) : __istream_type(0) { } }; } // namespace std template<class UIntType, int n> class mersenne_twister { public: mersenne_twister() {} template<class CharT, class Traits> friend std::basic_istream<CharT,Traits>& operator>>(std::basic_istream<CharT,Traits>& is, mersenne_twister& mt) { mt.i = n; return is; } private: int i; }; typedef mersenne_twister<unsigned int,351> mt11213b; template<class URNG, class ResultType> void instantiate_urng(const URNG, const ResultType &) { URNG urng; std::istringstream input("hurz"); input >> urng; } int main(int, char*[]) { instantiate_urng(mt11213b(), 0u); } gcc 3.3 g++ -v -W -Wall --save-temps r.C Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/specs Configured with: ../gcc3/gcc/configure --enable-threads=posix --enable-languages=c,c++,f77,objc --enable-__cxa_atexit Thread model: posix gcc version 3.3 20030314 (prerelease) /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1plus -E -D__GNUG__=3 -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D_GNU_SOURCE r.C -W -Wall r.ii ignoring nonexistent directory "NONE/include" ignoring nonexistent directory "/usr/local/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include/c++/3.3 /usr/local/include/c++/3.3/i686-pc-linux-gnu /usr/local/include/c++/3.3/backward /usr/local/include /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include /usr/include End of search list. /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1plus -fpreprocessed r.ii -quiet -dumpbase r.C -auxbase r -W -Wall -version -o r.s GNU C++ version 3.3 20030314 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 3.3 20030314 (prerelease). GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=31901 r.C: In function `std::basic_istream<CharT, Traits>& operator>>(std::basic_istream<CharT, Traits>&, mersenne_twister<UIntType, n>&) [with CharT = char, Traits = std::char_traits<char>, UIntType = unsigned int, int n = 351]': r.C:76: instantiated from `void instantiate_urng(URNG, const ResultType&) [with URNG = mersenne_twister<unsigned int, 351>, ResultType = unsigned int]' r.C:81: instantiated from here r.C:62: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. gcc 3.2 /usr/bin/g++ -v -W -Wall --save-temps r.C Reading specs from /usr/lib/gcc-lib/i486-suse-linux/3.2/specs Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --enable-languages=c,c++,f77,objc,java,ada --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i486-suse-linux Thread model: posix gcc version 3.2 /usr/lib/gcc-lib/i486-suse-linux/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -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_i486__ r.C -W -Wall r.ii GNU CPP version 3.2 (cpplib) (i386 Linux/ELF) #include "..." search starts here: #include <...> search starts here: /usr/include/g++ /usr/include/g++/i486-suse-linux /usr/include/g++/backward /usr/local/include /usr/lib/gcc-lib/i486-suse-linux/3.2/include /usr/i486-suse-linux/include /usr/include End of search list. /usr/lib/gcc-lib/i486-suse-linux/3.2/cc1plus -fpreprocessed r.ii -quiet -dumpbase r.C -W -Wall -version -o r.s GNU CPP version 3.2 (cpplib) (i386 Linux/ELF) GNU C++ version 3.2 (i486-suse-linux) compiled by GNU C version 3.2. r.C: In member function `std::basic_istream<_CharT, _Traits>::basic_istream(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]': r.C:34: instantiated from `std::basic_istream<_CharT, _Traits>::basic_istream(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]' r.C:47: instantiated from `std::basic_istringstream<_CharT, _Traits, _Alloc>::basic_istringstream(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' r.C:75: instantiated from `void instantiate_urng(URNG, const ResultType&) [with URNG = mersenne_twister<unsigned int, 351>, ResultType = unsigned int]' r.C:81: instantiated from here r.C:34: warning: unused parameter `std::basic_streambuf<char, std::char_traits<char> >*__sb' /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/as -V -Qy -o r.o r.s GNU assembler version 2.12.90.0.15 (i486-suse-linux) using BFD version 2.12.90.0.15 20020717 (SuSE) /usr/lib/gcc-lib/i486-suse-linux/3.2/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../crt1.o /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../crti.o /usr/lib/gcc-lib/i486-suse-linux/3.2/crtbegin.o -L/usr/lib/gcc-lib/i486-suse-linux/3.2 -L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/lib -L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../.. r.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-lib/i486-suse-linux/3.2/crtend.o /usr/lib/gcc-lib/i486-suse-linux/3.2/../../../crtn.o >Fix: >Release-Note: >Audit-Trail: >Unformatted:
reply other threads:[~2003-03-20 1:56 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200303200150.h2K1oxJM004704@peem.als.lbl.gov \ --to=pschmid@peem.als.lbl.gov \ --cc=gcc-gnats@gcc.gnu.org \ --cc=poschmid@lbl.gov \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).