[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From nathan at gcc dot gnu dot org 2005-09-15 08:59 --- A pedwarn might be the way to go, but I don't feel strongly about it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug other/23111] [meta bug] GCC 4.2 pending patches
--- Additional Comments From steven at gcc dot gnu dot org 2005-09-15 09:34 --- Add the PR for Paolo Bonzini's SSE regalloc improvements patch. -- What|Removed |Added BugsThisDependsOn||19653 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23111
[Bug tree-optimization/22157] [4.0/4.1 Regression] struct copying code gen
--- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-15 09:46 --- Can you elaborate on why the VIEW_CONVERT_EXPR experiment failed and perhaps attach the patch you tried? Or does using VIEW_CONVERT_EXPR just expose that we don't do structure propagation? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22157
[Bug c++/23725] [4.1 regression] Error message regression with g++.dg/inherit/using4.C
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 11:27 --- Subject: Bug 23725 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 11:27:13 Modified files: gcc/cp : ChangeLog error.c Log message: PR c++/23725 * error.c (dump_decl): Use USING_DECL_SCOPE. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4890&r2=1.4891 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/error.c.diff?cvsroot=gcc&r1=1.291&r2=1.292 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23725
[Bug c++/23725] [4.1 regression] Error message regression with g++.dg/inherit/using4.C
--- Additional Comments From nathan at gcc dot gnu dot org 2005-09-15 11:28 --- 2005-09-15 Nathan Sidwell <[EMAIL PROTECTED]> PR c++/23725 * error.c (dump_decl): Use USING_DECL_SCOPE. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23725
[Bug c++/18803] [3.4 regression] rejects access to operator() in template
--- Additional Comments From nathan at gcc dot gnu dot org 2005-09-15 11:36 --- I haven't backported anything recently. -- What|Removed |Added AssignedTo|nathan at gcc dot gnu dot |unassigned at gcc dot gnu |org |dot org Status|REOPENED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803
[Bug target/14552] compiled trivial vector intrinsic code is ineffiencent
--- Additional Comments From uros at kss-loka dot si 2005-09-15 11:39 --- (In reply to comment #14) > Yes, it does not work when configuring gcc with --with-cpu=pentium4 see PR 19161. No, the patch works OK for pentium4. The remaining problem is in optimize_mode_switching() function. For a certain loop layout, o_m_s could insert emms and efpu insn in such way, that both register sets are blocked. Because emms/efpu insertion depends heavily on o_m_s functionality, this infrastructure should be upgraded as explained in PR 19161. (BTW: One of the design goals was to ICE, instead of generating wrong code. It loks that this goal was achieved :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14552
[Bug c++/19964] [3.4/4.0/4.1 regression] ICE on invalid member declaration
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |nathan at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2005-09-04 18:20:33 |2005-09-15 11:51:31 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19964
[Bug target/23831] [4.1 Regression] ICE in immed_double_const with vectorized multipication
--- Additional Comments From uros at kss-loka dot si 2005-09-15 11:53 --- He problem is in following RTL: (insn 30 29 31 1 (set (reg:V4SI 75) (mem/u/i:V4SI (symbol_ref/u:SI ("*.LC0") [flags 0x2]) [3 S16 A128])) 541 {*movv4si_internal} (nil) (expr_list:REG_EQUAL (const_vector:V4SI [ (const_int 5 [0x5]) (const_int 5 [0x5]) (const_int 5 [0x5]) (const_int 5 [0x5]) ]) (nil))) ... (insn 33 32 34 1 (set (subreg:TI (reg:V4SI 78) 0) (lshiftrt:TI (subreg:TI (reg:V4SI 75) 0) (const_int 32 [0x20]))) 709 {sse2_lshrti3} (nil) (nil)) Somehow a TImode constant is produced, and it triggers the check below: gcc_assert (GET_MODE_CLASS (mode) == MODE_INT || GET_MODE_CLASS (mode) == MODE_PARTIAL_INT /* We can get a 0 for an error mark. */ || GET_MODE_CLASS (mode) == MODE_VECTOR_INT || GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT); /* We clear out all bits that don't belong in MODE, unless they and our sign bit are all one. So we get either a reasonable negative value or a reasonable unsigned value for this mode. */ width = GET_MODE_BITSIZE (mode); if (width < HOST_BITS_PER_WIDE_INT && ((i0 & ((HOST_WIDE_INT) (-1) << (width - 1))) != ((HOST_WIDE_INT) (-1) << (width - 1 i0 &= ((HOST_WIDE_INT) 1 << width) - 1, i1 = 0; else if (width == HOST_BITS_PER_WIDE_INT && ! (i1 == ~0 && i0 < 0)) i1 = 0; else /* We should be able to represent this value as a constant. */ >>> gcc_assert (width <= 2 * HOST_BITS_PER_WIDE_INT); HOSTS_BITS_PER_WIDE_INT is 32 bit for ia32, and TImode constants are 128 bit wide. I don't know the correct solution here. If the assert is commented out, the ICE goes away and produced code works as expected. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23831
[Bug fortran/23420] ICE on invalid print statement
--- Additional Comments From tobi at gcc dot gnu dot org 2005-09-15 12:00 --- PAtch here: http://gcc.gnu.org/ml/fortran/2005-09/msg00314.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23420
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From dank at kegel dot com 2005-09-15 12:39 --- I would dearly love to be able to say -Woverzealous-qualification or something like that to turn on this warning. It would make keeping our code portable much easier. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From nathan at gcc dot gnu dot org 2005-09-15 13:04 --- Dan, why can't you use -pedantic? That's the best way of avoiding gnuisms. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From dank at kegel dot com 2005-09-15 13:09 --- Pain. We have a very large application, and we cannot afford to fix all the warnings -pedantic gives. This is another case of "we want to turn on and off individual warnings, please". We're getting mighty tired of having to fix this particular problem in our source over and over again every time we try our app with a non-gcc compiler; pretty please let us turn this warning on by itself... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From dank at kegel dot com 2005-09-15 13:11 --- Also, the non-gcc compiler we're trying our code with supports some but not all gnuisms, so -pedantic would actually cause us to fix much more of our code than is practically neccessary for the kind of portability we want at the moment. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug tree-optimization/22444] [4.0/4.1 regression] ICE at tree-into-ssa.c:466
--- Additional Comments From chris at bubblescope dot net 2005-09-15 13:32 --- I get the same bug on darwin8.2.0, with 768MB of ram -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22444
[Bug tree-optimization/23361] Can't eliminate empty loops with power of two step and variable bounds
--- Additional Comments From bonzini at gcc dot gnu dot org 2005-09-15 13:46 --- if these ints are signed, you should be able to remove these loops. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23361
[Bug other/23894] New: boostrap fails / raised XSINFO.DONE : xsinfo.adb:110
bootstrap fails with 4.1.0-20050915T1259UTC snapshot. (...) mkdir -p ada/bldtools/sinfo cp -p ../../gcc/ada/sinfo.ads ../../gcc/ada/xsinfo.adb ada/bldtools/sinfo (cd ada/bldtools/sinfo; gnatmake -q xsinfo.adb ; ./xsinfo ../../sinfo.h ) raised XSINFO.DONE : xsinfo.adb:110 make[2]: *** [ada/sinfo.h] Error 1 make[2]: Leaving directory `/home/users/builder/rpm/BUILD/gcc-4.1-20050915T1259UTC/obj-athlon-pld-linux/gcc' make[1]: *** [stage1_build] Error 2 make[1]: Leaving directory `/home/users/builder/rpm/BUILD/gcc-4.1-20050915T1259UTC/obj-athlon-pld-linux/gcc' make: *** [bootstrap] Error 2 -- Summary: boostrap fails / raised XSINFO.DONE : xsinfo.adb:110 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: *-linux GCC host triplet: *-linux GCC target triplet: *-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23894
[Bug c/23895] New: switch and struct
Who has the answer to the following issue: case OPT_USER: struct passwd *userInfo = (struct passwd *) malloc(sizeof(struct passwd)); Produces the following error: find.c:390: error: parse error before "struct" But when I insert another statement: case OPT_USER: printf(""); struct passwd *userInfo = (struct passwd *) malloc(sizeof(struct passwd)); It compiles happily ever after! Who knows what to do? -- Summary: switch and struct Product: gcc Version: unknown Status: UNCONFIRMED Severity: critical Priority: P1 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: eroenj at gmail dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23895
[Bug tree-optimization/22157] [4.0/4.1 Regression] struct copying code gen
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 13:59 --- (In reply to comment #3) > Can you elaborate on why the VIEW_CONVERT_EXPR experiment failed and perhaps > attach the patch you tried? Or does using VIEW_CONVERT_EXPR just expose that > we don't do structure propagation? VCE failed because it causes some missed optimizations and really just exposed the fact we don't have structure copy prop. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22157
[Bug tree-optimization/23361] Can't eliminate empty loops with power of two step and variable bounds
--- Additional Comments From chris at bubblescope dot net 2005-09-15 14:02 --- Expanding slightly, I tried the following 4 functions. All were removed by -funsafe-loop-optimisations, but only foo3 was removed by -O3 without -funsafe-loop-optimisations. I can't see a good reason to remove foo3 but not remove foo4? void foo(int a, int b) { for(;a!=b;a+=4); } void foo2(int a, int b) { for(;ahttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=23361
[Bug java/23891] Problem folding static fields across packages
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 14:13 --- Subject: Bug 23891 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 14:13:06 Modified files: gcc/java : ChangeLog java-tree.h jcf-parse.c parse.y Log message: 2005-09-14 Bryce McKinlay <[EMAIL PROTECTED]> PR java/23891 * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for the newly created type. Set import lists here, not in create_class. (jdep_resolve_class): Set current_class. (do_resolve_class): Use current_class's TYPE_PACKAGE to determine the current package context, not ctxp->package. (cicp_cache): Removed. (class_in_current_package): Simplify implementation using TYPE_PACKAGE. * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE. * java-tree.h (TYPE_PACKAGE): New macro. (struct lang_type): New member 'package'. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&r1=1.1663&r2=1.1664 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-tree.h.diff?cvsroot=gcc&r1=1.243&r2=1.244 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/jcf-parse.c.diff?cvsroot=gcc&r1=1.188&r2=1.189 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/parse.y.diff?cvsroot=gcc&r1=1.554&r2=1.555 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891
[Bug java/23891] Problem folding static fields across packages
--- Additional Comments From mckinlay at redhat dot com 2005-09-15 14:19 --- Fixed checked in to HEAD, but this should also be applied to 4.0 branch because its a regression from 4.0.0. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891
[Bug java/23891] Problem folding static fields across packages
-- What|Removed |Added Target Milestone|--- |4.0.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891
[Bug c/23895] switch and struct
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:22 --- Small testcase: void f(int i) { switch (i) { case 1: struct a *b; } } But IIRC this is invalid code as variable defintions are not allowed right after a label. void f(int i) { a: struct a *b; } In fact This is a dup of bug 7508. *** This bug has been marked as a duplicate of 7508 *** -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23895
[Bug c/7508] GCC refuses to compile a declartion right after a 'case' in switch
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:22 --- *** Bug 23895 has been marked as a duplicate of this bug. *** -- What|Removed |Added CC||eroenj at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7508
[Bug c/21689] Variable declaration after switch case expression causes compile error
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:23 --- Reopen to ... -- What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21689
[Bug c/21689] Variable declaration after switch case expression causes compile error
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:23 --- Mark as a dup of bug 7508. *** This bug has been marked as a duplicate of 7508 *** -- What|Removed |Added Status|REOPENED|RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21689
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From jason at redhat dot com 2005-09-15 14:23 --- Subject: Re: Accepts qualified member function declaration in class I wouldn't mind turning this diagnostic on by default as a pedwarn. As usual, people who want their code to build anyway can use -fpermissive. I'm strongly opposed to adding a flag for this diagnostic; I don't want to use warning flags for things that make the code technically ill-formed. I'm not particularly sympathetic to Dan's desire to be able to make GCC exactly as pedantic as EDG. If you don't want to deal with all the warnings from -pedantic, you can also filter them out with grep. Jason -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug c/7508] GCC refuses to compile a declartion right after a 'case' in switch
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:23 --- *** Bug 21689 has been marked as a duplicate of this bug. *** -- What|Removed |Added CC||matt_hicks at bose dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7508
[Bug libgcj/23763] Runtime.getRuntime().exec() signalling
--- Additional Comments From aeby at graeff dot com 2005-09-15 14:24 --- I don't think this bug is linked with 23758. No matter if you call unsafe procedures before or after fork() SIGCHLD ist still blocked at the point where execvp() is called. It seems the posix-threads code does explicitly block SIGCHLD signals (block_sigchld() in libjava/posix-threads.cc) without unblocking them before calling execvp(). Therefore, the child process runs with SIGCHLD blocked, too. I'm attaching a dirty hack(?) fixing the problem for me (just sets signal handler for SIGCHLD to SIG_DFL and unblock SIGCHLD just before execvp()). BTW: Am I the only person in the world that is trying to exec() external programs from Java? :-)) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23763
[Bug fortran/16861] segfault with doubly used module
--- Additional Comments From paul dot richard dot thomas at cea dot fr 2005-09-15 14:25 --- I did not want to mess around by submitting from a Windows machine again, so here is a preview of a proposed patch: == This proposed patch is a fix for PR16861, in which module procedures with assumed shape dummy arguments would cause ICEs, when the indices themselves were use associated. The patch works by recognising that symbols from different namespaces, within a module, should have different true_name entries. This permits the correct resolution of references, when building the array_specs for the assumed shape arrays. The backend referencing comes right because there is only one symtree entry for each variable name, regardless of how many true_name entries there might be. The cost for this simple patch is slight: Each symbol is represented in the .mod file so that, in the testcase below, the symbol i appears three times in foobar.mod; once for each namespace. foobar.mod will be found after the testcase. Evidently, it is not necessary to store this information in the module files, since g95 does not. I rather like this explicit approach. However, it could be fixed later by a bit of hacking in the code called by write_symbol[x], such that only the index in the module namespace is stored and that the references be redirected to this. In the course of diagnosing the problem and developing the testcase, I noticed that the FIXME on lines 3487-3497 had fixed itself and that the chunk of added code is now redundant. I therefore took the opportunity to remove it. If anbody recalls what triggered the condition, I would be grateful if they would let me know. Regtesting does not reveal the need for this. Regtested on Cygwin/i686 and FC3/Athlon 1700. OK for mainline and 4.03, when open? Paul T === 2005-09-15 Paul Thomas <[EMAIL PROTECTED]> PR fortran/16861 * module.c (read_module): Give symbols from module procedures different true_name entries to those from the module proper. 2005-09-15 Paul Thomas <[EMAIL PROTECTED]> PR fortran/16861 * gfortran.dg/nested_modules_2.f90: New test. Index: gcc/gcc/fortran/module.c === RCS file: /cvsroot/gcc/gcc/gcc/fortran/module.c,v retrieving revision 1.36 diff -c -p -r1.36 module.c *** gcc/gcc/fortran/module.c9 Sep 2005 00:23:06 - 1.36 --- gcc/gcc/fortran/module.c15 Sep 2005 12:42:44 - *** read_module (void) *** 3101,3107 const char *p; char name[GFC_MAX_SYMBOL_LEN + 1]; gfc_intrinsic_op i; ! int ambiguous, symbol, j, nuse; pointer_info *info; gfc_use_rename *u; gfc_symtree *st; --- 3101,3107 const char *p; char name[GFC_MAX_SYMBOL_LEN + 1]; gfc_intrinsic_op i; ! int ambiguous, symbol, j, nuse, series; pointer_info *info; gfc_use_rename *u; gfc_symtree *st; *** read_module (void) *** 3122,3127 --- 3122,3128 /* Create the fixup nodes for all the symbols. */ + series = 0; while (peek_atom () != ATOM_RPAREN) { require_atom (ATOM_INTEGER); *** read_module (void) *** 3144,3149 --- 3145,3158 being loaded again. */ sym = find_true_name (info->u.rsym.true_name, info->u.rsym.module); + + /* If a module contains subroutines with assumed shape dummy +arguments, the symbols for indices need to be different from +from those in the module proper(ns = 1). */ + if (sym !=NULL && info->u.rsym.ns !=1) + sym = find_true_name (info->u.rsym.true_name, + gfc_get_string ("[EMAIL PROTECTED]",module_name, series++)); + if (sym == NULL) continue; *** write_symbol1 (pointer_info * p) *** 3487,3497 if (p->type != P_SYMBOL || p->u.wsym.state != NEEDS_WRITE) return 0; - /* FIXME: This shouldn't be necessary, but it works around - deficiencies in the module loader or/and symbol handling. */ - if (p->u.wsym.sym->module == NULL && p->u.wsym.sym->attr.dummy) - p->u.wsym.sym->module = gfc_get_string (module_name); - p->u.wsym.state = WRITTEN; write_symbol (p->integer, p->u.wsym.sym); --- 3496,3501 *** write_module (void) *** 3610,3615 --- 3614,3620 mio_lparen (); write_symbol0 (gfc_current_ns->sym_root); + while (write_symbol1 (pi_root)); mio_rparen (); ===nested_modules_2.f90== ! { dg do-run } ! This tests the patch for PR16861. ! ! Contributed by Paul Thomas <[EMAIL PROTECTED]> ! module foo INTEGER :: i end module foo module bar contains subroutine sub1 (j) use foo integer, dimension(i) :: j j = 42 end subroutine
[Bug libgcj/23763] Runtime.getRuntime().exec() signalling
--- Additional Comments From aeby at graeff dot com 2005-09-15 14:27 --- Created an attachment (id=9734) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9734&action=view) workaround: patch against GCC 4.0.1 unblocking SIGCHLD before execvp() -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23763
[Bug tree-optimization/22157] [4.0/4.1 Regression] struct copying code gen
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:27 --- I am just going to mark this one as a dup of bug 22156, because it is the same problem, just different testcases. *** This bug has been marked as a duplicate of 22156 *** -- What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22157
[Bug middle-end/22156] [4.0/4.1 Regression] bit-field copying regressed
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:27 --- *** Bug 22157 has been marked as a duplicate of this bug. *** -- Bug 22156 depends on bug 22157, which changed state. Bug 22157 Summary: [4.0/4.1 Regression] struct copying code gen http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22157 What|Old Value |New Value Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22156
[Bug target/23831] [4.1 Regression] ICE in immed_double_const with vectorized multipication
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:48 --- It might be just the time to move x86 over to HWI being 64bit like all other sanse targets, especially when it uses 128bit constants. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23831
[Bug c++/23896] New: boost::tie() = std::pair doesn't compile
Hi, with Debian's gcc (version 4.0.2 20050913 (prerelease) (Debian 4.0.1-7)) this doesn't compile anymore: const std::pair p(1, 2); int i, j; boost::tie(i, j) = p; It works with all older versions and MSVC 7.1. Cheers, André -- Summary: boost::tie() = std::pair doesn't compile Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: critical Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: Woebbeking at web dot de CC: doko at cs dot tu-berlin dot de,gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug target/23831] [4.1 Regression] ICE in immed_double_const with vectorized multipication
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 14:54 --- See PR 14981 for another one which was caused by the same issue before. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23831
[Bug c++/23896] boost::tie() = std::pair doesn't compile
--- Additional Comments From Woebbeking at web dot de 2005-09-15 14:54 --- Created an attachment (id=9735) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9735&action=view) example code, save-temps and compiler error message -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug c++/23896] [4.0 Regression] boost::tie() = std::pair doesn't compile
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 15:14 --- Even after the fix for PR 23691, this still fails. It worked with "4.0.2 20050826". -- What|Removed |Added Keywords||rejects-valid Known to fail||4.0.2 Known to work||4.0.0 Summary|boost::tie() = std::pair|[4.0 Regression] |doesn't compile |boost::tie() = std::pair ||doesn't compile Target Milestone|--- |4.0.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug c++/23896] [4.0/4.1 Regression] boost::tie() = std::pair doesn't compile
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 15:15 --- It also fails with "4.1.0 20050903". -- What|Removed |Added Summary|[4.0 Regression]|[4.0/4.1 Regression] |boost::tie() = std::pair|boost::tie() = std::pair |doesn't compile |doesn't compile http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug c++/23896] [4.0/4.1 Regression] boost::tie() = std::pair doesn't compile
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 15:21 --- Reducing. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug c++/23896] [4.0/4.1 Regression] boost::tie() = std::pair doesn't compile
-- What|Removed |Added CC||mmitchel at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug c++/23896] [4.0/4.1 Regression] boost::tie() = std::pair doesn't compile
-- What|Removed |Added CC|doko at cs dot tu-berlin dot|debian-gcc at lists dot |de |debian dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug c++/13140] declaration in global namespace, definition inside named or anon namespace
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 16:03 --- Subject: Bug 13140 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 16:03:33 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/testsuite: testsuite_character.h gcc/cp : ChangeLog pt.c decl.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/parse: class2.C gcc/testsuite/g++.dg/template: explicit8.C spec25.C Log message: PR c++/13140 * decl.c (check_class_member_definition_namespace): New function. (grokfndecl): Use it. (grokvardecl): Likewise. (grokdecl): Improve documentation. * pt.c (check_explicit_instantiation_namespace): New function. (register_specialization): Call check_specialization_namespace when replacing an implicitly instantiated function. (check_explicit_specialization): Ensure that DECL_CONTEXT is set correctly for namespace-scope specializations. (do_decl_instantiation): Use check_explicit_instantiation_namespace. (do_type_instantiation): Likewise. PR c++/13140 * g++.dg/parse/class2.C: New test. * g++.dg/template/explicit8.C: Likewise. * g++.dg/template/spec25.C: Likewise. * testsuite/testsuite_character.h: Specialize character<> templates in __gnu_cxx, not in __gnu_test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3105&r2=1.3106 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/testsuite_character.h.diff?cvsroot=gcc&r1=1.6&r2=1.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4891&r2=1.4892 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.1034&r2=1.1035 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1426&r2=1.1427 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6066&r2=1.6067 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/class2.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/explicit8.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/spec25.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13140
[Bug c++/23896] [4.0/4.1 Regression] boost::tie() = std::pair doesn't compile
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 16:22 --- Reduced as far as I could do: namespace boost{ template struct STATIC_ASSERTION_FAILURE {}; struct null_type; template class tuple; template struct cons { typedef TT tail_type; }; template struct length { static const int value = 1 + length::value; }; template<> struct length { static const int value = 0; }; namespace detail { template struct map_tuple_to_cons { typedef cons::type > type; }; template <> struct map_tuple_to_cons { typedef null_type type; }; } template struct tuple : detail::map_tuple_to_cons::type { tuple& operator=(int t1) { int t = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( length::value == 2 ) >); } }; } int main() { boost::tuple a; a = 1; } -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 16:22:23 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug tree-optimization/23835] [4.1 Regression] case where gcc 4.1.0 -O3 compile takes two times longer earlier versions
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 16:40 --- This is much better now but still more improvements can happen. I am going to unassign Daniel for now as the aliasing pass takes much less now. -- What|Removed |Added AssignedTo|dberlin at gcc dot gnu dot |unassigned at gcc dot gnu |org |dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23835
[Bug tree-optimization/23835] [4.1 Regression] case where gcc 4.1.0 -O3 compile takes two times longer earlier versions
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 16:49 --- on x86_64, there is only about 2x compile time increase at -O3. Though it is much faster now, than it was a couple of days ago. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23835
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From dank at kegel dot com 2005-09-15 16:49 --- We build everything with -Werror so errors are flagged as fatal. If we added -pedantic, we'd have to stop using -Werror, and implement the fatal error check ourselves in a wrapper, which would be a huge pain. gcc-4.1 had a stated goal of giving every warning a name, and letting them be turned on and off individually. See http://gcc.gnu.org/wiki/Warning%20Message%20Control I thought I was asking for something along the same lines. I can't understand why anybody would oppose the ability to turn on and off warnings selectively; Jason, are you also opposed to that feature of gcc-4.1? I am all in favor of forcing code to be C++ compliant, but I have to tell you I just spent the last year whipping a codebase into shape in that regard, and I'd really like to be able to pick my battles, and not have to fight the tools to do so. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug tree-optimization/23835] [4.1 Regression] case where gcc 4.1.0 -O3 compile takes two times longer earlier versions
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 16:50 --- Looking at the numbers for -fno-inline, I noticed it drops back down to the 4.0.0 numbers. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23835
[Bug libstdc++/23897] New: Add move constructor/assignment to basic_string
A nice, probably straightforward improvement: adding those would enable the range of optimizations mentioned in the first half of the paragraph "vector Example" of N1377 (first, v7-branch only, of course) -- Summary: Add move constructor/assignment to basic_string Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pcarlini at suse dot de CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23897
[Bug libstdc++/23897] Add move constructor/assignment to basic_string
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pcarlini at suse dot de |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 16:52:56 date|| Summary|Add move|Add move |constructor/assignment to |constructor/assignment to |basic_string|basic_string http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23897
[Bug libstdc++/23875] operator<<(short) should not call operator<<(long), etc.
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 17:27 --- Subject: Bug 23875 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 17:27:24 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: ostream.tcc libstdc++-v3/include/std: std_ostream.h Added files: libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod: 23875.cc Log message: 2005-09-15 Paolo Carlini <[EMAIL PROTECTED]> PR libstdc++/23875 * include/std/std_ostream.h (operator<<(short), operator<<(unsigned short), operator<<(int), operator<<(unsigned int), operator<<(float)): Don't call operator<<(long), operator<<(unsigned long), or operator<<(double), do the work mandated by the resolution of DR117... * include/bits/ostream.tcc (operator<<(short), operator<<(unsigned short), operator<<(int), operator<<(unsigned int), operator<<(float)): ... here. * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: New. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3106&r2=1.3107 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/ostream.tcc.diff?cvsroot=gcc&r1=1.56&r2=1.57 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/std/std_ostream.h.diff?cvsroot=gcc&r1=1.18&r2=1.19 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23875
[Bug libstdc++/23875] operator<<(short) should not call operator<<(long), etc.
--- Additional Comments From pcarlini at suse dot de 2005-09-15 17:28 --- Fixed for 4.1. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23875
[Bug rtl-optimization/23898] New: basic block reordering excessively increases code size; get_uncond_jump_length pessimistic
copy_bb_p uses uncond_jump_length in order to gauge when code increase will be negative or neglegible (at -Os) or acceptable (at -O2); however, uncond_jump_length has the wrong value. According to the comment in reorder_basic_blocks, it expects to get a minimal length for an unconditional jump when it calls get_uncond_jump_length in order to set uncond_jump_length. However,it gets a maximal length instead. get_uncond_jump_length returns 5 for i386, and 24 for SH. -- Summary: basic block reordering excessively increases code size; get_uncond_jump_length pessimistic Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23898
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From jason at redhat dot com 2005-09-15 17:50 --- Subject: Re: Accepts qualified member function declaration in class dank at kegel dot com wrote: > gcc-4.1 had a stated goal of giving every warning a name, > and letting them be turned on and off individually. > Jason, are you also opposed to that feature of gcc-4.1? No. The difference is that this diagnostic should really be an error, we're just making it a pedwarn to allow noncompliant code to build when it's clear what it means. But I suppose if people want to be able to turn pedwarns on and off individually under the same scheme, I can accept that. Jason -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug rtl-optimization/23898] basic block reordering excessively increases code size; get_uncond_jump_length pessimistic
--- Additional Comments From amylaar at gcc dot gnu dot org 2005-09-15 17:51 --- Created an attachment (id=9736) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9736&action=view) fix for SH This patch set fixes the problem for the SH. The patch to sh_output_mi_thunk should no longer be necessary in mainline, AFAICR Kaz has fixed the generic code to get the line number information initialized. If we want to use this approach, a tm.texi patch needs to be added, and machine specific patches for the other ports are needed to get benefit of this patch. Another approach would be to make the gen* programs create a minumum insn length function, and use that instead. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23898
[Bug c++/23896] [4.0/4.1 Regression] boost::tie() = std::pair doesn't compile
--- Additional Comments From bangerth at dealii dot org 2005-09-15 17:56 --- This is what I come up with: --- template struct X {}; template struct length { static const int value = 2; }; template void foo () { sizeof(X::value>); } template void foo(); - g/x> /home/bangerth/bin/gcc-3.4*-pre/bin/c++ -c x.cc g/x> /home/bangerth/bin/gcc-4.0*-pre/bin/c++ -c x.cc x.cc: In function ‘void foo() [with T = int]’: x.cc:11: instantiated from here x.cc:8: error: ‘length::value’ is not a valid template argument for type ‘int’ because it is a non-constant expression g/x> /home/bangerth/bin/gcc-4.1*-pre/bin/c++ -c x.cc x.cc: In function ‘void foo() [with T = int]’: x.cc:11: instantiated from here x.cc:8: error: ‘length::value’ is not a valid template argument for type ‘int’ because it is a non-constant expression W. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23896
[Bug c++/23896] [4.0/4.1 Regression] boost::tie() = std::pair doesn't compile
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-09-15 18:05 --- Darn, I should never have fixed that original PR. Silly me, trying to fix bugs. Mine. -- 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=23896
[Bug swing/16540] GlassPane intercepting of MouseEvents flaky.
-- What|Removed |Added Target Milestone|--- |0.19 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16540
[Bug swing/22150] BasicTreeUI Implementation
-- What|Removed |Added Target Milestone|--- |0.19 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22150
[Bug swing/20015] JMenu stays open but should not
-- What|Removed |Added Target Milestone|--- |0.19 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20015
[Bug libstdc++/23734] [4.1 Regression] make[4]: execvp: /usr/local/bin/bash: Arg list too long
--- Additional Comments From bkoz at gcc dot gnu dot org 2005-09-15 18:25 --- Can I close this? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23734
[Bug libstdc++/22554] [4.1 Regression] pb_assoc header build and install overflows exec
--- Additional Comments From bkoz at gcc dot gnu dot org 2005-09-15 18:25 --- This looks fixed now. Can I close this? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22554
[Bug libstdc++/22554] [4.1 Regression] pb_assoc header build and install overflows exec
--- Additional Comments From dje at watson dot ibm dot com 2005-09-15 18:38 --- Subject: Re: [4.1 Regression] pb_assoc header build and install overflows exec > bkoz at gcc dot gnu dot org writes: Ben> This looks fixed now. Can I close this? Yes, the latest version appears to be working well. Thanks, David -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22554
[Bug c/7508] GCC refuses to compile a declartion right after a 'case' in switch
--- Additional Comments From price at ifa dot hawaii dot edu 2005-09-15 18:44 --- To get it to compile, use curly brackets after the "case": case 1: { int y = 7; } I would suggest that the existence of several duplicates argue for a clearer error message. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7508
[Bug libstdc++/23734] [4.1 Regression] make[4]: execvp: /usr/local/bin/bash: Arg list too long
--- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca 2005-09-15 18:53 --- Subject: Re: [4.1 Regression] make[4]: execvp: /usr/local/bin/bash: Arg list too long > Can I close this? Yes. Enabling large_ncargs_enabled after applying patch PHKL_16750 resolves the problem. My previous run still isn't done. A hang in ada testsuite slowed things a bit. Hopefully, your change will allow v3 to build without enabling large_ncargs_enabled. I've seen a bit of system strangeness with it enabled. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23734
[Bug libstdc++/22205] [4.1 Regression] errors debug mode on aix
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 18:59 --- Subject: Bug 22205 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 18:58:04 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: c++config libstdc++-v3/testsuite/21_strings/basic_string/element_access/char: 21674.cc libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t: 21674.cc libstdc++-v3/testsuite/lib: dg-options.exp libstdc++.exp Log message: 2005-09-15 Benjamin Kosnik <[EMAIL PROTECTED]> PR libstdc++/21674 PR libstdc++/22205 PR libstdc++/2 * include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__. Add in check for __NO_INLINE__ for warning. * testsuite/lib/dg-options.exp (dg-require-debug-mode): New. * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New. * testsuite/21_strings/basic_string/element_access/char/21674.cc: Use it. * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc: Use it. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3107&r2=1.3108 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/c++config.diff?cvsroot=gcc&r1=1.1408&r2=1.1409 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/lib/dg-options.exp.diff?cvsroot=gcc&r1=1.5&r2=1.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/lib/libstdc++.exp.diff?cvsroot=gcc&r1=1.48&r2=1.49 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22205
[Bug libstdc++/21674] basic_string vs debug_mode
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 18:59 --- Subject: Bug 21674 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 18:58:04 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: c++config libstdc++-v3/testsuite/21_strings/basic_string/element_access/char: 21674.cc libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t: 21674.cc libstdc++-v3/testsuite/lib: dg-options.exp libstdc++.exp Log message: 2005-09-15 Benjamin Kosnik <[EMAIL PROTECTED]> PR libstdc++/21674 PR libstdc++/22205 PR libstdc++/2 * include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__. Add in check for __NO_INLINE__ for warning. * testsuite/lib/dg-options.exp (dg-require-debug-mode): New. * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New. * testsuite/21_strings/basic_string/element_access/char/21674.cc: Use it. * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc: Use it. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3107&r2=1.3108 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/c++config.diff?cvsroot=gcc&r1=1.1408&r2=1.1409 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/lib/dg-options.exp.diff?cvsroot=gcc&r1=1.5&r2=1.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/lib/libstdc++.exp.diff?cvsroot=gcc&r1=1.48&r2=1.49 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21674
[Bug libstdc++/22222] New Tru64 UNIX libstdc++ testsuite failures: #warning debug mode disabled due to lack of weak symbol support
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 18:59 --- Subject: Bug 2 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 18:58:04 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: c++config libstdc++-v3/testsuite/21_strings/basic_string/element_access/char: 21674.cc libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t: 21674.cc libstdc++-v3/testsuite/lib: dg-options.exp libstdc++.exp Log message: 2005-09-15 Benjamin Kosnik <[EMAIL PROTECTED]> PR libstdc++/21674 PR libstdc++/22205 PR libstdc++/2 * include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__. Add in check for __NO_INLINE__ for warning. * testsuite/lib/dg-options.exp (dg-require-debug-mode): New. * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New. * testsuite/21_strings/basic_string/element_access/char/21674.cc: Use it. * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc: Use it. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.3107&r2=1.3108 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/c++config.diff?cvsroot=gcc&r1=1.1408&r2=1.1409 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc.diff?cvsroot=gcc&r1=1.1&r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/lib/dg-options.exp.diff?cvsroot=gcc&r1=1.5&r2=1.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/lib/libstdc++.exp.diff?cvsroot=gcc&r1=1.48&r2=1.49 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2
[Bug libstdc++/22554] [4.1 Regression] pb_assoc header build and install overflows exec
--- Additional Comments From bkoz at gcc dot gnu dot org 2005-09-15 18:59 --- Fixed. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22554
[Bug libstdc++/23734] [4.1 Regression] make[4]: execvp: /usr/local/bin/bash: Arg list too long
-- Bug 23734 depends on bug 22554, which changed state. Bug 22554 Summary: [4.1 Regression] pb_assoc header build and install overflows exec http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22554 What|Old Value |New Value Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23734
[Bug c++/23139] [3.4/4.0/4.1 Regression] -pedantic -ffast-math breaks working code
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 19:10 --- Subject: Bug 23139 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 19:09:28 Modified files: fixincludes: ChangeLog inclhack.def fixincl.x gcc/testsuite : ChangeLog Added files: fixincludes/tests/base/bits: huge_val.h gcc/testsuite/g++.dg/warn: huge-val1.C Log message: fixincludes: PR c++/23139 * inclhack.def (huge_val_hex, huge_valf_hex, huge_vall_hex): New fixes. * fixincl.x: Regenerate. * tests/base/bits/huge_val.h: New file. gcc/testsuite: * g++.dg/warn/huge-val1.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/ChangeLog.diff?cvsroot=gcc&r1=1.47&r2=1.48 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/inclhack.def.diff?cvsroot=gcc&r1=1.23&r2=1.24 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/fixincl.x.diff?cvsroot=gcc&r1=1.24&r2=1.25 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/tests/base/bits/huge_val.h.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6067&r2=1.6068 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/warn/huge-val1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23139
[Bug ada/22533] [4.1 regression] ICE in get_base_var
--- Additional Comments From laurent at guerby dot net 2005-09-15 19:12 --- Happens on s390 too. stage1/xgcc -Bstage1/ -B/home/uweigand/fsf/gcc-head-install/s390-ibm-linux/bin/ -c -g -O2 -gnatpg -gnata -I- -I. -Iada -I../../gcc-head/gcc/ada ../../gcc-head/gcc/ada/a-elchha.adb -o ada/a-elchha.o +===GNAT BUG DETECTED==+ | 4.1.0 20050914 (experimental) (s390-ibm-linux-gnu) GCC error: | tree check: expected class | Error detected at a-elchha.adb:125:4 -- What|Removed |Added CC||uweigand at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22533
[Bug c++/23139] [3.4/4.0/4.1 Regression] -pedantic -ffast-math breaks working code
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 19:12 --- Subject: Bug 23139 CVSROOT:/cvs/gcc Module name:gcc Branch: gcc-4_0-branch Changes by: [EMAIL PROTECTED] 2005-09-15 19:12:00 Modified files: fixincludes: ChangeLog inclhack.def fixincl.x gcc/testsuite : ChangeLog Added files: fixincludes/tests/base/bits: huge_val.h gcc/testsuite/g++.dg/warn: huge-val1.C Log message: fixincludes: PR c++/23139 * inclhack.def (huge_val_hex, huge_valf_hex, huge_vall_hex): New fixes. * fixincl.x: Regenerate. * tests/base/bits/huge_val.h: New file. gcc/testsuite: * g++.dg/warn/huge-val1.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.32.2.8&r2=1.32.2.9 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/inclhack.def.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.16.14.5&r2=1.16.14.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/fixincl.x.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.16.14.5&r2=1.16.14.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/tests/base/bits/huge_val.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.405&r2=1.5084.2.406 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/warn/huge-val1.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23139
[Bug libstdc++/23734] [4.1 Regression] make[4]: execvp: /usr/local/bin/bash: Arg list too long
--- Additional Comments From bkoz at gcc dot gnu dot org 2005-09-15 19:16 --- Fixed. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23734
[Bug ada/19382] ACATS cxb4005 cxb5002 simple To_COBOL/To_Fortran test fails at runtime on s390-linux
--- Additional Comments From laurent at guerby dot net 2005-09-15 19:17 --- On 4.1.0 20050914 on s390-linux, two tests have similar failures: ,.,. CXB4005 ACATS 2.5 05-09-14 20:15:52 CXB4005 Check that the functions To_COBOL and To_Ada produce correct results. * CXB4005 Incorrect result from function To_COBOL - 1. * CXB4005 Incorrect result from function To_COBOL after modification to Ada_To_COBOL mapping array - 1. CXB4005 FAILED . ,.,. CXB5002 ACATS 2.5 05-09-14 20:15:58 CXB5002 Check that functions To_Fortran and To_Ada produce correct results. * CXB5002 Incorrect result from procedure To_Fortran - 1. * CXB5002 Incorrect value returned from function To_Ada - 1. CXB5002 FAILED . -- What|Removed |Added CC||uweigand at gcc dot gnu dot ||org Summary|ACATS cxb5002 simple|ACATS cxb4005 cxb5002 simple |To_Fortran test fails at|To_COBOL/To_Fortran test |runtime on s390-linux |fails at runtime on s390- ||linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19382
[Bug c++/18192] Serious Performance Bug depending on a donothing destructor declaration
--- Additional Comments From jason at gcc dot gnu dot org 2005-09-15 19:18 --- Please try GCC 4. We're unlikely to work on tweaking the performance of the GCC 3.4 line. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18192
[Bug ada/19382] ACATS cxb4005 cxb5002 simple To_COBOL/To_Fortran test fails at runtime on s390-linux
--- Additional Comments From laurent at guerby dot net 2005-09-15 19:19 --- (In reply to comment #5) > On 4.1.0 20050914 on s390-linux, two tests have similar failures: Ooops: 4.0.2 20050913 (prerelease) (since 4.1.0 does not bootstrap because of PR22533 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19382
[Bug tree-optimization/23622] Dom jump threading at -O1 confuses branch prediction
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 19:28 --- Confirmed. -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 19:28:17 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23622
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From gdr at integrable-solutions dot net 2005-09-15 19:33 --- Subject: Re: Accepts qualified member function declaration in class "jason at redhat dot com" <[EMAIL PROTECTED]> writes: | Subject: Re: Accepts qualified member function declaration | in class | | dank at kegel dot com wrote: | > gcc-4.1 had a stated goal of giving every warning a name, | > and letting them be turned on and off individually. | > Jason, are you also opposed to that feature of gcc-4.1? | | No. The difference is that this diagnostic should really be an error, | we're just making it a pedwarn to allow noncompliant code to build when | it's clear what it means. While I said previously that I would prefer a switch over a documented extensions; I would also like to point out that pedwarns really are differents beasts -- and really are errors. They are not like the kind of "uninitialized var" warnings. -- Gaby -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug c++/23885] incorrect template two-stage name-lookup
-- What|Removed |Added GCC target triplet|i386-redhat-linux and | |x86_64-redhat-linux | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23885
[Bug tree-optimization/23901] New: Dom jump-threading unrolls loops
Dom jump-threading iteration can partially or completely unroll a loop. This prevents analysis of number of iterations and inhibits loop optimizations by hiding the loop. http://gcc.gnu.org/ml/gcc/2005-09/msg00303.html -- Summary: Dom jump-threading unrolls loops Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dje at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: *-*-* GCC host triplet: *-*-* GCC target triplet: *-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23901
[Bug rtl-optimization/23898] basic block reordering excessively increases code size; get_uncond_jump_length pessimistic
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 19:44 --- Confirmed, this seems like a good approach at least to me. -- What|Removed |Added OtherBugsDependingO||16996 nThis|| Status|UNCONFIRMED |NEW Ever Confirmed||1 Keywords||missed-optimization Last reconfirmed|-00-00 00:00:00 |2005-09-15 19:44:01 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23898
[Bug libfortran/23770] unaligned buffers in i/o library force use of memcpy()
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 19:48 --- Really memcpy should only cause permissiveness at the tree level and nothing else as the memcpy should always be expanded to a load/store if alignedness does not matter. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23770
[Bug target/23828] local calling convention not used when using --combine
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 20:12 --- Confirmed, reduced testcase: file1.c: int g(void); int main(void) { return g(); } file2.c: static int f(int a, int b, int c) __attribute__((noinline)); static int f(int a, int b, int c) { return a+b+c; } int g(void) { return f(1,2,3); } This was discussed on IRC on my suggesstion in comment #8 does not work well but replacing DECL_CONTEX with decl_function_context should work. -- What|Removed |Added Severity|normal |minor Status|UNCONFIRMED |NEW Component|middle-end |target Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 20:12:27 date|| Summary|local calling convention not|local calling convention not |used when using -fwhole-|used when using --combine |program --combine | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23828
[Bug rtl-optimization/23684] Combine stores for non strict alignment targets
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 20:14 --- Confirmed. -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 20:14:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23684
[Bug target/23704] gcc.dg/rs6000-fpint.c fails
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 20:15 --- Confirmed. -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 20:15:30 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23704
[Bug libgcj/23761] java.library.path doesn't affect module loading path
--- Additional Comments From fitzsim at redhat dot com 2005-09-15 20:17 --- Fixed on mainline. Closing. -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23761
[Bug libgcj/23288] java.lang.Class's #getPackage() returns null
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-15 20:17 --- Subject: Bug 23288 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-15 20:17:09 Modified files: libjava: ChangeLog libjava/java/net: URLClassLoader.java Log message: For PR libgcj/23288: * java/net/URLClassLoader.java (definePackage): Correctly order arguments to definePackage. Look up per-entry Attributes. (getAttributeValue): New method. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.3738&r2=1.3739 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/net/URLClassLoader.java.diff?cvsroot=gcc&r1=1.32&r2=1.33 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23288
[Bug testsuite/23400] [4.1 Regression] "make check" fixinclude failure
--- Additional Comments From bauhaus at futureapps dot de 2005-09-15 20:33 --- Does not work for me, checkouts from Sep. 8, and from today (Sep. 15). Exact same error when running make check, after make bootstrap. Debian stable, SMP, autogen 5.6.6-2, autoconf 2.59a-3, .../configure --prefix=/home/georg/opt/GCC/41 --disable-nls --enable-languages=c,ada,c++,fortran Anything I should look at? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23400
[Bug testsuite/23400] [4.1 Regression] "make check" fixinclude failure
--- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-09-15 20:52 --- Same on my AMD64/Linux box. -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 20:52:46 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23400
[Bug tree-optimization/23902] New: update_ssa very very very slow
For 20001226-1.c at -O3, i get: Execution times (seconds) tree VRP : 11.32 (10%) usr 0.08 ( 9%) sys 11.68 (10%) wall 3194 kB ( 8%) ggc tree operand scan : 28.39 (26%) usr 0.17 (18%) sys 29.00 (25%) wall 2722 kB ( 7%) dominance frontiers : 35.35 (32%) usr 0.13 (14%) sys 36.18 (31%) wall 0 kB ( 0%) ggc TOTAL : 110.77 0.92 116.23 38719 kB gprof shows that all but one of the calls to compute dominance frontiers come from update_ssa (probably because people are using TODO_update_ssa instead of TODO_update_ssa_no_phi). The operand scan time is also mostly update_ssa, checking for modified statements -- Summary: update_ssa very very very slow Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dberlin at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23902
[Bug tree-optimization/23902] update_ssa very very very slow
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |dnovillo at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 21:04:42 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23902
[Bug c++/23513] [4.0/4.1 Regression] overload resolution fails to select a more specialized template
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-09-15 21:19 --- Nathan, do you have any insights about this PR? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23513
[Bug c++/21514] [DR 278] templates and anonymous enum
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-09-15 21:31 --- Why is this marked as DR 278? I think it's DR 488. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21514
[Bug c++/8211] -Weffc++ warns about copyable classes with func ptr members
--- Additional Comments From olly at survex dot com 2005-09-15 21:38 --- Confirmed fixed in: g++-4.0 (GCC) 4.0.0 20050301 (prerelease) (Debian 4.0-0pre6ubuntu7) -- What|Removed |Added Status|RESOLVED|VERIFIED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8211
[Bug c++/16782] Accepts qualified member function declaration in class
--- Additional Comments From dank at kegel dot com 2005-09-15 21:39 --- Sounds like we're in violent agreement, then. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16782
[Bug middle-end/23903] New: Duplicate dump file numbers
We are now emitting duplicate dump file numbers: file.c.t10.cleanup_cfg file.c.t10.lower This started happening after Paolo's pass reorg. He agreed to look at this. -- Summary: Duplicate dump file numbers Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: middle-end AssignedTo: bonzini at gcc dot gnu dot org ReportedBy: dnovillo at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23903
[Bug middle-end/23903] Duplicate dump file numbers
-- What|Removed |Added Status|UNCONFIRMED |ASSIGNED Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 21:43:40 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23903
[Bug c++/23904] New: Const function selection
class OtherClass; class MyClass { public: const OtherClass* GetOther() const { return ( m_other_p ); } protected: OtherClass* GetOther() { return ( m_other_p ); } OtherClass *m_other_p; friend class FriendClass; }; In this case friend classes are allowed to access non-const data, but other classes can only access the const data. The problem is that the compiler does not recognize that other classes can call the GetOther() const function. It only tries to use the non-const version and reports that the function is protected. The two classes do have different C-V qualifiers so they have different signatures. There is a workaround for this bug that you can declare a pointer to a const MyClass and then call GetOther() which forces the compiler to look for a const version of the function. -- Summary: Const function selection Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dsell at agleader dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23904