public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die @ 2004-01-05 23:09 pabel at iam dot uni-bonn dot de 2004-01-05 23:45 ` [Bug c++/13574] [3.3/3.4 Regression] " pinskia at gcc dot gnu dot org ` (8 more replies) 0 siblings, 9 replies; 10+ messages in thread From: pabel at iam dot uni-bonn dot de @ 2004-01-05 23:09 UTC (permalink / raw) To: gcc-bugs When trying to compile this program --- class A { public: #ifdef SAFE A() : argc(0) { }; #else A() : argc(0), argv() { }; #endif private: int argc; char* argv[]; }; int main() { A y; } --- with g++ without -DSAFE, the compiler consumes all memory until it chokes: g++ argv.cpp -o argv -Wall virtual memory exhausted: Cannot allocate memory It does not happen when using "char**" as type. some info: uname -a Linux operator 2.4.20-4GB #1 Wed Oct 29 22:20:11 CET 2003 i686 i686 i386 GNU/Linux g++ -v Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.1/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 --disable-checking --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux Thread model: posix gcc version 3.3.1 (SuSE Linux) -- Summary: array default initializer in class lets gcc consume all memory and die Product: gcc Version: 3.3.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pabel at iam dot uni-bonn dot de CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: Linux 2.4.20-4GB i686 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3/3.4 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de @ 2004-01-05 23:45 ` pinskia at gcc dot gnu dot org 2004-01-10 22:11 ` pinskia at gcc dot gnu dot org ` (7 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: pinskia at gcc dot gnu dot org @ 2004-01-05 23:45 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-05 23:45 ------- Confirmed a regression from 3.2.3, I am not going to run Phil's regression hunter on this because it would cause problems for Phil's machine. -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Keywords| |ice-on-valid-code Last reconfirmed|0000-00-00 00:00:00 |2004-01-05 23:45:36 date| | Summary|array default initializer in|[3.3/3.4 Regression] array |class lets gcc consume all |default initializer in class |memory and die |lets gcc consume all memory | |and die Target Milestone|--- |3.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3/3.4 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de 2004-01-05 23:45 ` [Bug c++/13574] [3.3/3.4 Regression] " pinskia at gcc dot gnu dot org @ 2004-01-10 22:11 ` pinskia at gcc dot gnu dot org 2004-01-10 22:18 ` hubicka at gcc dot gnu dot org ` (6 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: pinskia at gcc dot gnu dot org @ 2004-01-10 22:11 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-10 22:11 ------- This should have been rejected just as ICC 6.0 (in strict ANSI mode only). -- What |Removed |Added ---------------------------------------------------------------------------- Keywords|ice-on-valid-code |ice-on-invalid-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3/3.4 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de 2004-01-05 23:45 ` [Bug c++/13574] [3.3/3.4 Regression] " pinskia at gcc dot gnu dot org 2004-01-10 22:11 ` pinskia at gcc dot gnu dot org @ 2004-01-10 22:18 ` hubicka at gcc dot gnu dot org 2004-01-16 17:50 ` mmitchel at gcc dot gnu dot org ` (5 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: hubicka at gcc dot gnu dot org @ 2004-01-10 22:18 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From hubicka at gcc dot gnu dot org 2004-01-10 22:18 ------- Note that the memory consumption happens while trying to intialize the array and taking (unsigned int)-1 as upper bound.#0 0x40093d45 in memset () from /lib/libc.so.6 #1 0x084f61a7 in ggc_alloc (size=67108852) at ../../gcc/ggc-page.c:1156 #2 0x0832ab45 in ggc_alloc_cleared (size=67108852) at ../../gcc/ggc-common.c:134 #3 0x0832abe2 in ggc_calloc (s1=16777213, s2=4) at ../../gcc/ggc-common.c:188 #4 0x085a12b9 in htab_expand (htab=0x40177780) at ../../libiberty/hashtab.c:393 #5 0x085a149d in htab_find_slot_with_hash (htab=0x40177780, element=0x5acac8fc, hash=140315878, insert=INSERT) at ../../libiberty/hashtab.c:510 #6 0x085a14cf in htab_find_slot (htab=0x40177780, element=0x5acac8fc, insert=INSERT) at ../../libiberty/hashtab.c:558 #7 0x082d294b in size_int_type_wide (number=6291408, type=0x401799b4) at ../../gcc/fold-const.c:1569 #8 0x082d1662 in int_const_binop (code=PLUS_EXPR, arg1=0x5acac8c0, arg2=0x4016d94c, notrunc=0) at ../../gcc/fold-const.c:1334 #9 0x082d2aa0 in size_binop (code=PLUS_EXPR, arg0=0x5acac8c0, arg1=0x4016d94c) at ../../gcc/fold-const.c:1609 #10 0x0815d7a0 in build_zero_init (type=0x4024372c, nelts=0x0, static_storage_p=false) at ../../gcc/cp/init.c:231 #11 0x0815d8dc in build_default_init (type=0x4024372c, nelts=0x0) at ../../gcc/cp/init.c:296 #12 0x0815dc81 in perform_member_init (member=0x40243798, init=0x0) at ../../gcc/cp/init.c:362 #13 0x0815ee30 in emit_mem_initializers (mem_inits=0x40238ed8) at ../../gcc/cp/init.c:694 #14 0x0817abe3 in finish_mem_initializers (mem_inits=0x40238e88) at ../../gcc/cp/semantics.c:1187 #15 0x08127ed8 in cp_parser_mem_initializer_list (parser=0x40242800) at ../../gcc/cp/parser.c:7063 #16 0x08127db7 in cp_parser_ctor_initializer_opt (parser=0x40242800) at ../../gcc/cp/parser.c:7020 #17 0x0812cdb5 in cp_parser_ctor_initializer_opt_and_function_body (parser=0x40242800) at ../../gcc/cp/parser.c:11183 #18 0x08131453 in cp_parser_function_definition_after_declarator (parser=0x40242800, inline_p=true) at ../../gcc/cp/parser.c:13989 #19 0x08132047 in cp_parser_late_parsing_for_member (parser=0x40242800, member_function=0x402433cc) at ../../gcc/cp/parser.c:14380 #20 0x0812db6b in cp_parser_class_specifier (parser=0x40242800) at ../../gcc/cp/parser.c:11650 #21 0x08129c5f in cp_parser_type_specifier (parser=0x40242800, flags=CP_PARSER_FLAGS_OPTIONAL, is_friend=false, is_declaration=true, declares_class_or_enum=0xbffff620, is_cv_qualifier=0xbffff61f) at ../../gcc/cp/parser.c:8541 #22 0x08127813 in cp_parser_decl_specifier_seq (parser=0x40242800, flags=CP_PARSER_FLAGS_OPTIONAL, attributes=0xbffff66c, declares_class_or_enum=0xbffff668) at ../../gcc/cp/parser.c:6652 #23 0x081274df in cp_parser_simple_declaration (parser=0x40242800, function_definition_allowed_p=true) at ../../gcc/cp/parser.c:6382 #24 0x081274ac in cp_parser_block_declaration (parser=0x40242800, statement_p=false) at ../../gcc/cp/parser.c:6342 #25 0x08127359 in cp_parser_declaration (parser=0x40242800) at ../../gcc/cp/parser.c:6262 #26 0x08127184 in cp_parser_declaration_seq_opt (parser=0x40242800) at ../../gcc/cp/parser.c:6171 #27 0x08122d82 in cp_parser_translation_unit (parser=0x40242800) at ../../gcc/cp/parser.c:2307 #28 0x0813315c in c_parse_file () at ../../gcc/cp/parser.c:15044 #29 0x081f4be8 in c_common_parse_file (set_yydebug=0) at ../../gcc/c-opts.c:1216 #30 0x084b9390 in compile_file () at ../../gcc/toplev.c:1804 #31 0x084be34e in do_compile () at ../../gcc/toplev.c:4611 #32 0x084be3e6 in toplev_main (argc=3, argv=0xbffff834) at ../../gcc/toplev.c:4651 #33 0x081f8fcf in main (argc=3, argv=0xbffff834) at ../../gcc/main.c:35 ibm:~ # -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3/3.4 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de ` (2 preceding siblings ...) 2004-01-10 22:18 ` hubicka at gcc dot gnu dot org @ 2004-01-16 17:50 ` mmitchel at gcc dot gnu dot org 2004-01-16 19:28 ` [Bug c++/13574] [3.3 " mmitchel at gcc dot gnu dot org ` (4 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2004-01-16 17:50 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de ` (3 preceding siblings ...) 2004-01-16 17:50 ` mmitchel at gcc dot gnu dot org @ 2004-01-16 19:28 ` mmitchel at gcc dot gnu dot org 2004-01-16 19:28 ` [Bug c++/13574] [3.3/3.4 " cvs-commit at gcc dot gnu dot org ` (3 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2004-01-16 19:28 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-01-16 19:28 ------- Fixed in GCC 3.4. -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|mark at codesourcery dot com|unassigned at gcc dot gnu | |dot org Status|ASSIGNED |NEW Summary|[3.3/3.4 Regression] array |[3.3 Regression] array |default initializer in class|default initializer in class |lets gcc consume all memory |lets gcc consume all memory |and die |and die http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3/3.4 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de ` (4 preceding siblings ...) 2004-01-16 19:28 ` [Bug c++/13574] [3.3 " mmitchel at gcc dot gnu dot org @ 2004-01-16 19:28 ` cvs-commit at gcc dot gnu dot org 2004-01-16 19:33 ` [Bug c++/13574] [3.3 " pinskia at gcc dot gnu dot org ` (2 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: cvs-commit at gcc dot gnu dot org @ 2004-01-16 19:28 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-01-16 19:28 ------- Subject: Bug 13574 CVSROOT: /cvs/gcc Module name: gcc Changes by: mmitchel@gcc.gnu.org 2004-01-16 19:28:11 Modified files: gcc/cp : ChangeLog decl.c init.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/ext: array1.C Log message: PR c++/13574 * decl.c (compute_array_index_type): Fix grammar in comment. * init.c (build_zero_init): Handle zero-sized arrays correctly. PR c++/13574 * g++.dg/ext/array1.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3891&r2=1.3892 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1173&r2=1.1174 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&r1=1.355&r2=1.356 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3388&r2=1.3389 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/array1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de ` (5 preceding siblings ...) 2004-01-16 19:28 ` [Bug c++/13574] [3.3/3.4 " cvs-commit at gcc dot gnu dot org @ 2004-01-16 19:33 ` pinskia at gcc dot gnu dot org 2004-01-21 8:06 ` cvs-commit at gcc dot gnu dot org 2004-01-21 8:07 ` gdr at gcc dot gnu dot org 8 siblings, 0 replies; 10+ messages in thread From: pinskia at gcc dot gnu dot org @ 2004-01-16 19:33 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|3.4.0 |3.3.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de ` (6 preceding siblings ...) 2004-01-16 19:33 ` [Bug c++/13574] [3.3 " pinskia at gcc dot gnu dot org @ 2004-01-21 8:06 ` cvs-commit at gcc dot gnu dot org 2004-01-21 8:07 ` gdr at gcc dot gnu dot org 8 siblings, 0 replies; 10+ messages in thread From: cvs-commit at gcc dot gnu dot org @ 2004-01-21 8:06 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-01-21 08:06 ------- Subject: Bug 13574 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: gdr@gcc.gnu.org 2004-01-21 08:06:38 Modified files: gcc/cp : ChangeLog decl.c init.c Added files: gcc/testsuite/g++.dg/ext: array1.C Log message: Backport from mainline 2004-01-16 Mark Mitchell <mark@codesourcery.com> PR c++/13574 * decl.c (compute_array_index_type): Fix grammar in comment. * init.c (build_zero_init): Handle zero-sized arrays correctly. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.3076.2.241&r2=1.3076.2.242 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.965.2.71&r2=1.965.2.72 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.299.2.12&r2=1.299.2.13 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/array1.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.6.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/13574] [3.3 Regression] array default initializer in class lets gcc consume all memory and die 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de ` (7 preceding siblings ...) 2004-01-21 8:06 ` cvs-commit at gcc dot gnu dot org @ 2004-01-21 8:07 ` gdr at gcc dot gnu dot org 8 siblings, 0 replies; 10+ messages in thread From: gdr at gcc dot gnu dot org @ 2004-01-21 8:07 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From gdr at gcc dot gnu dot org 2004-01-21 08:07 ------- Fixed with backport from 3.4.0 -- What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13574 ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2004-01-21 8:07 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-01-05 23:09 [Bug c++/13574] New: array default initializer in class lets gcc consume all memory and die pabel at iam dot uni-bonn dot de 2004-01-05 23:45 ` [Bug c++/13574] [3.3/3.4 Regression] " pinskia at gcc dot gnu dot org 2004-01-10 22:11 ` pinskia at gcc dot gnu dot org 2004-01-10 22:18 ` hubicka at gcc dot gnu dot org 2004-01-16 17:50 ` mmitchel at gcc dot gnu dot org 2004-01-16 19:28 ` [Bug c++/13574] [3.3 " mmitchel at gcc dot gnu dot org 2004-01-16 19:28 ` [Bug c++/13574] [3.3/3.4 " cvs-commit at gcc dot gnu dot org 2004-01-16 19:33 ` [Bug c++/13574] [3.3 " pinskia at gcc dot gnu dot org 2004-01-21 8:06 ` cvs-commit at gcc dot gnu dot org 2004-01-21 8:07 ` gdr at gcc dot gnu dot org
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).