[Bug target/22497] A register is wasted in simple vectorised loops
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-18 06:49 --- (In reply to comment #2) > I have tested gcc snapshot 'gcc version 4.1.0 20050716 (experimental)', > with 'gcc -O2 -ftree-vectorize -msse2' and it still produces code with both % > eax and %edx used. > > Andrew, which gcc version and compile flags have you used to produce your asm > code? Oh, I have a local patch which will cause this, woops: Index: config/i386/i386.c === RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v retrieving revision 1.842 diff -u -p -r1.842 i386.c --- config/i386/i386.c 14 Jul 2005 07:46:16 - 1.842 +++ config/i386/i386.c 18 Jul 2005 06:48:33 - @@ -5044,6 +5044,10 @@ ix86_address_cost (rtx x) /* More complex memory references are better. */ if (parts.disp && parts.disp != const0_rtx) cost--; + + if (parts.scale != 1) +cost--; + if (parts.seg != SEG_DEFAULT) cost--; -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-07-18 06:49:26 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22497
[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-18 06:43 --- Created an attachment (id=9298) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9298&action=view) patch which I need to test This patch which needs more comments but should be complete otherwise. This implements my suggesting for following PHI nodes. It also cleans up some of the code by doing bsi_next/continue only in one place. ChangeLog: (remove_useless_store_vop_expr): New function. (remove_useless_store_p): New function. (do_eustores): Use remove_useless_store_p. Daniel what do you think about this patch? If you could suggest better function names because I could not think of better name as it is late. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532
[Bug target/22497] A register is wasted in simple vectorised loops
--- Additional Comments From uros at kss-loka dot si 2005-07-18 06:36 --- (In reply to comment #1) > With last night's compiler I get: Strange... I have tested gcc snapshot 'gcc version 4.1.0 20050716 (experimental)', with 'gcc -O2 -ftree-vectorize -msse2' and it still produces code with both % eax and %edx used. Andrew, which gcc version and compile flags have you used to produce your asm code? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22497
[Bug bootstrap/22541] New: Building into empty PREFIX causes broken limits.h to be installed
When building gcc-3.4.3 or gcc-4.x into a clean $PREFIX, the configure script happily copies the glibc include files from include to sys-include; here's the line from the log file (with $PREFIX instead of the real prefix): Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include But later, when running fixincludes, it gives the error message The directory that should contain system headers does not exist: $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include Nevertheless, it continues building; the header files it installs in $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include do not include the boilerplate that would cause it to #include_next the glibc headers in the system header directory. Thus the resulting toolchain can't compile the following program: #include int x = PATH_MAX; because its limits.h doesn't include the glibc header. The problem is that gcc/Makefile.in assumes that it can refer to $PREFIX/i686-unknown-linux-gnu with the path $PREFIX/lib/../i686-unknown-linux-gnu, but that fails because the directory $PREFIX/lib doesn't exist during 'make all'; it is only created later, during 'make install'. (Which makes this problem confusing, since one only notices the breakage well after 'make install', at which point the path configure complained about does exist, and has the right stuff in it.) I posted a proposed fix to http://gcc.gnu.org/ml/gcc-patches/2005-07/msg00751.html -- Summary: Building into empty PREFIX causes broken limits.h to be installed Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dank at kegel dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22541
[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-18 05:17 --- The reason why eustore does not remove it is because we have a loop and a PHI intbetween the load and store: # d_15 = V_MUST_DEF ; d = s_2; # d_18 = V_MAY_DEF ; f (s_9); # VUSE ; s_16 = d; i_17 = i_3 + 1; # i_3 = PHI ; # s_2 = PHI ; # d_1 = PHI ; :; if (i_3 < l_11) goto ; else goto ; :; s_12 = s_2; # d_13 = V_MUST_DEF ; d = s_2; See how have a PHI involved. Maybe eustore should handle PHIs too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532
[Bug rtl-optimization/21527] BYTEmark bitmap test: Regression with Profiled Optimization
--- Additional Comments From jbucata at tulsaconnect dot com 2005-07-18 04:42 --- For me, with -march=athlon-xp, -funroll-loops on 4.0.0 did indeed pessimize slightly. However, -fprofile-{generate,use} pessimized more on top of that. So there's still a problem with regard to the PO. I tried it again with your -march=i686 and it went from 9.5s => 13.5s user with plain -funroll-loops. The PO made it a tidge worse from there. IOW, consistent with what you saw. Further, I tried -funroll-loops w/o the PO on 3.3.5 and 3.4.3 and it improved run times for both--moreso in 3.4.3 than in 3.3.5. So it looks like that's another regression in 4.0.0, in -funroll-loops by itself! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21527
[Bug c++/20912] C++ FE emitting assignments to read-only global symbols
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-18 01:37 --- I wonder if this is the recent regression in eon again. -- What|Removed |Added Last reconfirmed|2005-04-09 12:48:41 |2005-07-18 01:37:49 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20912
[Bug tree-optimization/22534] [4.1 Regression] [DR236] gcc.c-torture/execute/20000603-1.c execution, -O2 fails
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-18 01:27 --- Some new discussion from the C standards committee: http://www.open-std.org/jtc1/sc22/wg14/ www/docs/n.htm -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22534
[Bug bootstrap/22517] Bootstrap ICE on latest CVS: tree check: tree-ssa
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-18 01:02 --- Can you try bootstrapping without using GCC 4.1 since I think your compiler which you are building with is before that patch? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22517
[Bug bootstrap/22517] Bootstrap ICE on latest CVS: tree check: tree-ssa
--- Additional Comments From mckelvey at maskull dot com 2005-07-18 01:00 --- Subject: Re: Bootstrap ICE on latest CVS: tree check: tree-ssa On Sunday 17 July 2005 00:48 am, pinskia at gcc dot gnu dot org wrote: > --- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 > 07:48 --- Is this before or after: > 2005-07-13 David Edelsohn <[EMAIL PROTECTED]> > > * tree-ssa-dom.c (lookup_avail_expr): Do not pass member in freed > structure as argument. > > ? > > That patch should have fixed the problem. I just tried it after updating and got the same result. Jim McKelvey -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22517
[Bug target/22539] Internal compiler error with maximum sized array
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-18 00:01 --- Confirmed. We should be producing a warning/error message for this like we do on PowerPC. t.c: In function 'main': t.c:5: warning: stack frame too large -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Keywords||diagnostic Known to fail||3.4.0 4.0.0 Last reconfirmed|-00-00 00:00:00 |2005-07-18 00:01:44 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22539
[Bug c++/22540] No access to public static members/functions of privately inherited base class
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 23:58 --- 4.1 is correct. private inherited base class means make that class's field all private in the class, even if they were public to begin with. >From 3.4.0 and above correctly rejects this code. -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Keywords||accepts-invalid Resolution||INVALID Target Milestone|--- |3.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22540
[Bug target/22539] Internal compiler error with maximum sized array
-- What|Removed |Added Component|c |target GCC build triplet|FreeBSD 5.4-RELEASE i386| GCC host triplet|FreeBSD 5.4-RELEASE i386| GCC target triplet|FreeBSD 5.4-RELEASE i386|i386-pc-freebsd Keywords||ice-on-invalid-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22539
[Bug c++/22540] New: No access to public static members/functions of privately inherited base class
$uname -srm Linux 2.6.11.4-21.7-default i686 $tmp/bin/g++ -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc/configure --enable-languages=c,c++ --prefix=/home/xxx/tmp : (reconfigured) ../gcc/configure --enable-languages=c,c++ --prefix=/home/xxx/tmp : (reconfigured) ../gcc/configure --enable-languages=c,c++ --prefix=/home/xxx/tmp Thread model: posix gcc version 4.1.0 20050717 (experimental) The following code is rejected: class A { public: static void foo() {} static int i; }; class B : private A { }; class C : public B { public: void foo2() { A::foo(); // line 18 int c=A::i; // line 20 } }; Compilation with g++ -c test.cpp yields test.cpp: In member function ‘void C::foo2()’: test.cpp:3: error: ‘class A’ is inaccessible test.cpp:18: error: within this context test.cpp:3: error: ‘class A’ is inaccessible test.cpp:20: error: within this context Making C inherit directly from A works, though (i.e., Class C : private A). Also, g++ 3.3.4 and 3.3.5 did accept the code above. Thanks, Michael -- Summary: No access to public static members/functions of privately inherited base class Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mdweb at web dot de CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22540
[Bug c/22539] New: Internal compiler error with maximum sized array
Compiling this: #define SIZE 2u << 31 - 2 int main() { char a[SIZE], b[SIZE]; } Gives this compilation error: bigcp.c: In function `main': bigcp.c:7: error: unrecognizable insn: (insn/f 34 33 35 (parallel [ (set (reg/f:SI 7 sp) (plus:SI (reg/f:SI 7 sp) (const_int -2147483656 [0x7ff8]))) (clobber (reg:CC 17 flags)) (clobber (mem:BLK (scratch) [0 A8])) ]) -1 (nil) (nil)) bigcp.c:7: internal compiler error: in insn_default_length, at insn-attrtab.c:435 Only the maximum allowed array size gives the error, and at least two objects must be allocated on stack. -- Summary: Internal compiler error with maximum sized array Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ulfalizer at gmail dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: FreeBSD 5.4-RELEASE i386 GCC host triplet: FreeBSD 5.4-RELEASE i386 GCC target triplet: FreeBSD 5.4-RELEASE i386 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22539
[Bug c++/22263] [4.0/4.1 Regression] explicit instantiation fails to emit symbols defined later
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com |dot org | Status|UNCONFIRMED |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22263
[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion
-- What|Removed |Added CC||zadeck at naturalbridge dot ||com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22530
[Bug tree-optimization/21000] store should not be done if we don't change its value
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 22:52 --- Only f and f2 are fixed. comment #3 is fixed too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21000
[Bug tree-optimization/21000] store should not be done if we don't change its value
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 22:48 --- PR 22538 is another testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21000
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 22:45 --- Fixed, I filed the missed optimization under PR 22538. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22538] New: Eustore does not remove stores for struct assignments
Take the following code: typedef struct dw_cfi_oprnd_struct { unsigned long reg; } dw_cfa_location; dw_cfa_location loc; void def_cfa_1 (void) { loc.reg = loc.reg; } We don't remove the store/load to loc.rec on the tree level. We even don't remove PIC startup code for ppc-darwin either: _def_cfa_1: mflr r0 stw r31,-4(r1) lwz r31,-4(r1) mtlr r0 blr -- Summary: Eustore does not remove stores for struct assignments Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: missed-optimization, TREE Severity: enhancement Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22538
[Bug c++/21687] [4.0/4.1 Regression] ICE on valid code
-- Bug 21687 depends on bug 22139, which changed state. Bug 22139 Summary: [4.0/4.1 regression] Segfault with templates and friend functions http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22139 What|Old Value |New Value Status|UNCONFIRMED |ASSIGNED Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21687
[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-07-17 22:33 --- Fixed in 4.0.2. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22139
[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-07-17 22:31 --- Subject: Bug 22139 CVSROOT:/cvs/gcc Module name:gcc Branch: gcc-4_0-branch Changes by: [EMAIL PROTECTED] 2005-07-17 22:30:58 Modified files: gcc/testsuite : ChangeLog gcc/cp : ChangeLog cp-tree.h decl.c Added files: gcc/testsuite/g++.dg/template: friend36.C Log message: PR c++/22139 * cp-tree.h (DECL_TEMPLATE_INFO): Improve documentation. * decl.c (duplicate_decls): Re-register template specializations for functions that have DECL_TEMLPLATE_INFO, even if they do not have DECL_TEMPLATE_INSTANTIATION set. PR c++/22139 * g++.dg/template/friend36.C: New test. Patches: 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.284&r2=1.5084.2.285 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/friend36.C.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/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.68&r2=1.4648.2.69 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1106.2.10&r2=1.1106.2.11 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1371.2.15&r2=1.1371.2.16 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22139
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-07-17 22:28 --- Subject: Bug 22531 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-07-17 22:28:19 Modified files: gcc: ChangeLog tree-ssa-pre.c Added files: gcc/testsuite/gcc.c-torture/compile: pr22531.c Log message: 2005-07-17 Daniel Berlin <[EMAIL PROTECTED]> Fix PR tree-optimization/22531 * tree-ssa-pre.c (do_eustores): Make sure LHS is a decl for the moment. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9465&r2=2.9466 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-pre.c.diff?cvsroot=gcc&r1=2.97&r2=2.98 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/pr22531.c.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug target/22537] unable to find a register to spill in class "CREG"
-- What|Removed |Added Summary|unable to find a register to|unable to find a register to |spill in cl ass "CREG" |spill in class "CREG" http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22537
[Bug target/22537] unable to find a register to spill in cl ass "CREG"
-- What|Removed |Added Component|c |target GCC host triplet|i586-suse-linux | GCC target triplet||i586-suse-linux Summary|unable to find a register to|unable to find a register to |spill in cl ass |spill in cl ass "CREG" |‘CREG’ | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22537
[Bug c/22537] unable to find a register to spill in cl ass ‘CREG’
-- What|Removed |Added Keywords||ice-on-valid-code Summary|unable to find a register to|unable to find a register to |spill in cl |spill in cl ass |ass ‘CREG’ |‘CREG’ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22537
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 22:16 --- Reduced testcase: typedef struct dw_cfi_oprnd_struct { unsigned long reg; } dw_cfa_location; void def_cfa_1 (void) { dw_cfa_location loc; loc.reg = loc.reg; } Confirmed, testing a patch for Daniel Berlin right now. -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-07-17 22:16:14 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug c/22537] New: unable to find a register to spill in cl
ass ‘CREG’ X-Bugzilla-Reason: CC compiling testcase: === Cut === struct nand_chip { · int · · page_shift; · int·· phys_erase_shift; }; extern void foo( int ); static void nand_writev_ecc (int *mtd, int *vecs, unsigned long count) { · int i, total_len; · struct nand_chip *this; · int·ppblock = (1 << (this->phys_erase_shift - this->page_shift)); · total_len = count; · for (i = 0; i < count; i++) · · total_len+=ppblock; foo (ppblock); } === Cut === with gcc -Os -march=k6 -mregparm=3 -fno-unit-at-a-time -c drivers/mtd/nand/nand_base.c gives: drivers/mtd/nand/nand_base.c:19: error: unable to find a register to spill in class ‘CREG’ drivers/mtd/nand/nand_base.c:19: error: this is the insn: (insn:HI 19 18 46 0 (parallel [ (set (reg/v:SI 3 bx [orig:59 ppblock ] [59]) (ashift:SI (reg/v:SI 3 bx [orig:59 ppblock ] [59]) (subreg:QI (reg:SI 0 ax [orig:65 .phys_erase_shift ] [65]) 0))) (clobber (reg:CC 17 flags)) ]) 280 {*ashlsi3_1} (insn_list:REG_DEP_TRUE 17 (insn_list:REG_DEP_TRUE 18 (nil))) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_DEAD (reg:SI 0 ax [orig:65 .phys_erase_shift ] [65]) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_EQUAL (ashift:SI (const_int 1 [0x1]) (subreg:QI (reg:SI 67) 0)) (nil)) drivers/mtd/nand/nand_base.c:19: internal compiler error: in spill_failure, at reload1.c:1878 gcc version 4.0.1 20050701 (prerelease) -- Summary: unable to find a register to spill in cl ass ‘CREG’ Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mueller at kde dot org CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i586-suse-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22537
[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-07-17 22:02 --- Subject: Bug 22139 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-07-17 22:02:10 Modified files: gcc/testsuite : ChangeLog gcc/cp : ChangeLog cp-tree.h decl.c Added files: gcc/testsuite/g++.dg/template: friend36.C Log message: PR c++/22139 * cp-tree.h (DECL_TEMPLATE_INFO): Improve documentation. * decl.c (duplicate_decls): Re-register template specializations for functions that have DECL_TEMLPLATE_INFO, even if they do not have DECL_TEMPLATE_INSTANTIATION set. PR c++/22139 * g++.dg/template/friend36.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5777&r2=1.5778 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/friend36.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4823&r2=1.4824 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1154&r2=1.1155 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1413&r2=1.1414 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22139
[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:37 --- (In reply to comment #1) > the eustores stuff i just committed should fix this now > please try again :) This was after eustores stuff was committed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532
[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop
--- Additional Comments From dberlin at gcc dot gnu dot org 2005-07-17 21:36 --- the eustores stuff i just committed should fix this now please try again :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:23 --- *** Bug 22536 has been marked as a duplicate of this bug. *** -- What|Removed |Added CC||lucier at math dot purdue ||dot edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug bootstrap/22536] gcc/dwarf2out.c:751: internal compiler error at tree-into-ssa.c:2290
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:23 --- *** This bug has been marked as a duplicate of 22531 *** -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22536
[Bug bootstrap/22536] New: gcc/dwarf2out.c:751: internal compiler error at tree-into-ssa.c:2290
stage1/xgcc -Bstage1/ -B/pkgs/gcc-mainline/powerpc-apple-darwin8.2.0/bin/ -c -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror -fno-common -DHAVE_CONFIG_H-I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I./../intl -I../../gcc/../libcpp/include -I/pkgs/gmp-4.1.3/include -I/pkgs/gmp-4.1.3/include ../../gcc/dwarf2out.c -o dwarf2out.o ../../gcc/dwarf2out.c: In function 'def_cfa_1': ../../gcc/dwarf2out.c:751: internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'component_ref' in mark_sym_for_renaming, at tree-into-ssa.c:2290 configured and built with #!/bin/tcsh /bin/rm -rf *; ../configure --prefix=/pkgs/gcc-mainline --with-gmp=/pkgs/gmp-4.1.3 --with-mpfr=/pkgs/gmp-4.1.3 ; make -j 4 bootstrap STAGE1_CFLAGS='-O2 -g' >& build.log && (make -j 8 check >& check.log ; make mail-report-with-warnings.log) -- Summary: gcc/dwarf2out.c:751: internal compiler error at tree- into-ssa.c:2290 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lucier at math dot purdue dot edu CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: powerpc-apple-darwin8.2.0 GCC host triplet: powerpc-apple-darwin8.2.0 GCC target triplet: powerpc-apple-darwin8.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22536
[Bug c++/22454] [4.0/4.1 Regression] 'template class/operator overloading/default argument' internal compiler error
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:22 --- *** Bug 22535 has been marked as a duplicate of this bug. *** -- What|Removed |Added CC||bitmap at pan dot homelinux ||dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22454
[Bug c++/22535] parse error with class operator as default argument
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:22 --- *** This bug has been marked as a duplicate of 22454 *** -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22535
[Bug tree-optimization/22483] [4.1 Regression] ICE : tree check: expected ssa_name, have var_decl in is_old_name, at tree-into-ssa.c:466
-- What|Removed |Added BugsThisDependsOn||22444 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22483
[Bug tree-optimization/22444] [4.1 regression] testsuite failure:23_containers/set/explicit_instantiation/2.cc ICE
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:20 --- the patch in PR 22483 should fix this. -- What|Removed |Added OtherBugsDependingO||22483 nThis|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22444
[Bug tree-optimization/22534] [4.1 Regression] [DR236] gcc.c-torture/execute/20000603-1.c execution, -O2 fails
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:17 --- Hmm, there is still questions if this is valid: /* It is not clear whether this test is conforming. See DR#236 http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_236.htm. However, there seems to be consensus that the presence of a union to aggregate struct s1 and struct s2 should make it conforming. */ -- What|Removed |Added Summary|[4.1 Regression] gcc.c- |[4.1 Regression] [DR236] |torture/execute/2603-1.c|gcc.c- |execution, -O2 fails |torture/execute/2603-1.c ||execution, -O2 fails http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22534
[Bug tree-optimization/22534] [4.1 Regression] gcc.c-torture/execute/20000603-1.c execution, -O2 fails
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 21:14 --- Confirmed. -- What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed||1 Keywords||wrong-code Last reconfirmed|-00-00 00:00:00 |2005-07-17 21:14:48 date|| Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22534
[Bug tree-optimization/22444] [4.1 regression] testsuite failure:23_containers/set/explicit_instantiation/2.cc ICE
--- Additional Comments From jsm28 at gcc dot gnu dot org 2005-07-17 21:13 --- These failures have appeared for me on i686-pc-linux-gnu on 20050717. -- What|Removed |Added CC||jsm28 at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-07-17 21:13:12 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22444
[Bug c++/22535] New: parse error with class operator as default argument
This used to work fine with g++-3.* $ cat test.cc struct o {}; template struct test { int m(int (o::*recv)(T&) = &o::operator()); }; $ g++ test.cc test.cc:6: internal compiler error: in cp_lexer_peek_nth_token, at cp/parser.c:500 Please submit a full bug report, with preprocessed source if appropriate. -- Summary: parse error with class operator as default argument Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bitmap at pan dot homelinux dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: Configured with: ../src/configure -v --enable- languages=c,c++,ja GCC host triplet: g++ (GCC) 4.1.0 20050607 (experimental) GCC target triplet: Target: i486-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22535
[Bug tree-optimization/22534] New: [4.1 Regression] gcc.c-torture/execute/20000603-1.c execution, -O2 fails
FAIL: gcc.c-torture/execute/2603-1.c execution, -O2 has appeared on mainline on 20050717 on at least hppa2.0w-hpux, hppa64-hpux, ia64-hpux. gcc-regression indicates failure on powerpc-darwin as well. -- Summary: [4.1 Regression] gcc.c-torture/execute/2603-1.c execution, -O2 fails Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jsm28 at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22534
[Bug other/22533] New: ada / raised STORAGE_ERROR : stack overflow (or erroneous memory access)
gcc-4.1-20050717T1716UTC (...) stage1/xgcc -Bstage1/ -B/usr/x86_64-pld-linux/bin/ -c -march=x86-64 -O2 -gnatpg -gnata -I- -I. -Iada -I../../gcc/ada ../../gcc/ada/output.adb -o ada/output.o raised STORAGE_ERROR : stack overflow (or erroneous memory access) make[2]: *** [ada/output.o] Error 1 -- Summary: ada / raised STORAGE_ERROR : stack overflow (or erroneous memory access) 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: x86_64-pld-linux GCC host triplet: x86_64-pld-linux GCC target triplet: x86_64-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22533
[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function
--- Additional Comments From joseph at codesourcery dot com 2005-07-17 20:58 --- Subject: Re: [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function On Sun, 17 Jul 2005, pinskia at gcc dot gnu dot org wrote: > That is interesting as if we move the variable declaration out of the > function, it works in GCC. That's because of 6.5.2.5#6 which defines the storage duration of compound literals to depend on whether they are inside a function: [#6] The value of the compound literal is that of an unnamed object initialized by the initializer list. If the compound literal occurs outside the body of a function, the object has static storage duration; otherwise, it has automatic storage duration associated with the enclosing block. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22529
[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 20:56 --- I believe you that this is invalid code. -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22529
[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-07-17 20:55 --- Thank you for reducing the test case! I now understand the bug, and am working on a fix. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22139
[Bug tree-optimization/19905] Extra V_MAY_DEF on a static variable whose address is not taken (we should be able to move the load out of the loop)
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 20:52 --- (In reply to comment #3) > This is not fixed Kenny's promote statics, in fact we now produce worse code > at -O3. Note on ppc- > darwin the code is fine since -fno-math-errno is done by default. I filed that as PR 22532. -- What|Removed |Added BugsThisDependsOn||22532 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19905
[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop
-- What|Removed |Added OtherBugsDependingO||19905 nThis|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532
[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop
-- What|Removed |Added CC||dberlin at gcc dot gnu dot ||org Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532
[Bug tree-optimization/22532] New: [4.1 Regression] We produce worse code on the mainline for a loop
Take the following code: #define NUMPOINTS 20 static float opoints[NUMPOINTS]; double sqrt (double); double f(double); void NormalizeVectors1 (void) { int i, r; float s, x, y, z; static float d = 0.0; d += 0.2f; s = d; for (i=0; ihttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 20:47 --- And on ppc-darwin (a native build), reducing right now. /Users/pinskia/src/local2/gcc/gcc/dwarf2out.c:751: internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'component_ref' in mark_sym_for_renaming, at tree-into- ssa.c:2290 -- What|Removed |Added GCC build triplet|hppa-unknown-linux-gnu | GCC host triplet|hppa-unknown-linux-gnu | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From danglin at gcc dot gnu dot org 2005-07-17 20:35 --- Also occurs on hppa64-hp-hpux11.11. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22493] [4.1 Regression] with -fwrapv -INT_MIN is still not positive
--- Additional Comments From pluto at agmk dot net 2005-07-17 20:35 --- (In reply to comment #2) > Created an attachment (id=9291) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9291&action=view) > Treat flag_wrapv and min value in a special way > patch cointains typo-bug. --- gcc-pr22493.patch Sun Jul 17 20:07:13 2005 +++ gcc-pr22493.patch Sun Jul 17 22:33:27 2005 @@ -53,7 +53,7 @@ - max = (vr0.min == TYPE_MIN_VALUE (TREE_TYPE (expr))) - ? TYPE_MAX_VALUE (TREE_TYPE (expr)) - : fold_unary_to_constant (code, TREE_TYPE (expr), vr0.min); -+ type = VR_ANTI_RANGE; ++ vr_type = VR_ANTI_RANGE; + max = fold_unary_to_constant (code, TREE_TYPE (expr), vr0.max); + max = int_const_binop (MINUS_EXPR, max, one, 0); + min = int_const_binop (PLUS_EXPR, min, one, 0); -- What|Removed |Added CC||pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22493
[Bug tree-optimization/19905] Extra V_MAY_DEF on a static variable whose address is not taken (we should be able to move the load out of the loop)
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 20:34 --- This is not fixed Kenny's promote statics, in fact we now produce worse code at -O3. Note on ppc- darwin the code is fine since -fno-math-errno is done by default. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19905
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From danglin at gcc dot gnu dot org 2005-07-17 20:22 --- Created an attachment (id=9297) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9297&action=view) Preprocessed source gzip -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
-- What|Removed |Added Attachment #9296 is|0 |1 obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From danglin at gcc dot gnu dot org 2005-07-17 20:19 --- Created an attachment (id=9296) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9296&action=view) Preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 20:18 --- That is interesting as if we move the variable declaration out of the function, it works in GCC. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22529
[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function
--- Additional Comments From joseph at codesourcery dot com 2005-07-17 20:13 --- Subject: Re: New: [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function On Sun, 17 Jul 2005, pinskia at gcc dot gnu dot org wrote: > Take the following code: > struct f1 > { > int i; > }; > void f(void) > { > static struct f1 *f2 = &(struct f1){1}; > } > > This is valid C99 at least according to both ICC and Comeau. So report it as a bug in ICC and Comeau. It is exactly as valid as struct f1 { int i; }; void f(void) { struct f1 tmp = { 1 }; static struct f1 *f2 = &tmp; } i.e. not at all. The address of an object of automatic storage duration is not a constant. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22529
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 20:04 --- Could you attach the preprocessed source? -- What|Removed |Added CC||dberlin at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From danglin at gcc dot gnu dot org 2005-07-17 20:03 --- (gdb) bt #0 internal_error ( gmsgid=0x81d990 "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d") at ../../gcc/gcc/diagnostic.c:534 #1 0x005a6b10 in tree_contains_struct_check_failed (node=0x408ecf28, en=TS_DECL_MINIMAL, file=0x7e84fc "../../gcc/gcc/tree-into-ssa.c", line=2290, function=0x874814 "mark_sym_for_renaming") at ../../gcc/gcc/tree.c:5852 #2 0x00166420 in mark_sym_for_renaming (sym=0x408ecf28) at ../../gcc/gcc/tree-into-ssa.c:2290 #3 0x006af02c in do_eustores () at ../../gcc/gcc/tree-ssa-pre.c:2822 #4 0x005e36c8 in execute_one_pass (pass=0x886928) at ../../gcc/gcc/passes.c:779 #5 0x005e37f0 in execute_pass_list (pass=0x886928) at ../../gcc/gcc/passes.c:811 #6 0x005e3814 in execute_pass_list (pass=0x8738dc) at ../../gcc/gcc/passes.c:812 #7 0x00126504 in tree_rest_of_compilation (fndecl=0x408db380) at ../../gcc/gcc/tree-optimize.c:419 #8 0x000423f0 in c_expand_body (fndecl=0x408db380) at ../../gcc/gcc/c-decl.c:6628 #9 0x0064fd70 in cgraph_expand_function (node=0x408dbf80) at ../../gcc/gcc/cgraphunit.c:1033 #10 0x006500c8 in cgraph_expand_all_functions () (gdb) p debug_tree (sym) unit size align 32 symtab 1074370360 alias set -1 precision 32 min max pointer_to_this > arg 0 unit size align 32 symtab 1083005120 alias set -1 fields context pointer_to_this > addressable used BLK file ../../gcc/gcc/dwarf2out.c line 753 size < integer_cst 0x40006558 128> unit size align 32 context > arg 1 unsigned SI file ../../gcc/gcc/dwarf2out.c line 242 size unit size align 32 offset_align 64 offset bit offset context < record_type 0x408d63c0 cfa_loc> chain SI file ../../gcc/gcc/dwarf2out.c line 243 size unit size align 32 offset_align 64 offset bit offset context chain < field_decl 0x408d64e0 base_offset $1 = void -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug fortran/22519] Memory and binary disk layout disagree for real*10
--- Additional Comments From schnetter at uni-tuebingen dot de 2005-07-17 20:01 --- My argument -- which I had in my head, but didn't put down -- went as follows: ultimately, things have to be written by a system call, and a system call is expensive. (One system call per array element is out of the question.) Thus we either dump the whole array to disk, byte for byte as it is in memory, or we have to transform it into a temporary buffer and then write this buffer. C's fwrite uses a buffer (probably), fprintf does for sure. If you remove the padding, then you have to allocate and deallocate these buffers and pack or unpack the array elements explicitly. Depending on your I/O library, that may be a lot of work. And in the end you are still incompatibly to C. (I'm afraid we may be going to repeat a discussion here that was already held on the mailing list.) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22519
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From danglin at gcc dot gnu dot org 2005-07-17 19:56 --- Today, ~ 1 hour before this post. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22216] [4.1 regression] ICE during GC
--- Additional Comments From schwab at suse dot de 2005-07-17 19:49 --- Definitely not fixed. -- What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|FIXED | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22216
[Bug fortran/22519] Memory and binary disk layout disagree for real*10
-- What|Removed |Added CC||tkoenig at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22519
[Bug fortran/22519] Memory and binary disk layout disagree for real*10
--- Additional Comments From tkoenig at gcc dot gnu dot org 2005-07-17 19:45 --- I don't think the timing issue is valid. Look at these benchmarks: The first one simulates copying 12-byte values to 10-bit values, the second one a compact memcpy of a larger field. $ cat foo.c #include #define NELEM 1000 #define SA 12 #define SB 10 void foo(char *a, char *b, int n); int main() { char *a, *b; int n; a = malloc(NELEM*SA); b = malloc(NELEM*SB); for (n=0; n<10; n++) foo(a,b,NELEM); return 0; } void foo(char *a, char *b, int n) { int i; for (i=0; i #define NELEM 1000 #define SA 12 void foo(char *a, char *b, int n); int main() { char *a, *b; int n; a = malloc(NELEM*SA); b = malloc(NELEM*SA); for (n=0; n<10; n++) memcpy(a, b, NELEM*SA); return 0; } $ gcc foo2.c foo2.c: In function 'main': foo2.c:13: warning: incompatible implicit declaration of built-in function 'malloc' $ time ./a.out real0m2.876s user0m2.777s sys 0m0.093s We also have slow disk I/O to deal with. This is on i686-pc-linux-gnu. Timings on other systems may differ, of course. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22519
[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion
-- What|Removed |Added CC||jason at gcc dot gnu dot ||org, dnovillo at gcc dot gnu ||dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22530
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
-- What|Removed |Added CC||pinskia at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 19:34 --- What date is this from? -- What|Removed |Added Keywords||build, ice-on-valid-code Summary|[4.1 regression] tree-into- |[4.1 regression] ICE in |ssa.c:2290 ICE |mark_sym_for_renaming while ||compiling dwarf2out.c Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22531] [4.1 regression] tree-into-ssa.c:2290 ICE
-- What|Removed |Added Summary|[4.1 regression]|[4.1 regression] tree-into- |dwarf2out.c:751:ICE |ssa.c:2290 ICE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22531] New: [4.1 regression] dwarf2out.c:751:ICE
stage1/xgcc -Bstage1/ -B/home/dave/opt/gnu/gcc/gcc-4.1.0/hppa-linux/bin/ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototype s -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror - fno-common -DHAVE_CONFIG_H-I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../. ./gcc/gcc/../include -I../../gcc/gcc/../libcpp/include ../../gcc/gcc/dwarf2out. c -o dwarf2out.o ../../gcc/gcc/dwarf2out.c: In function 'def_cfa_1': ../../gcc/gcc/dwarf2out.c:751: internal compiler error: tree check: expected tre e that contains 'decl minimal' structure, have 'component_ref' in mark_sym_for_ renaming, at tree-into-ssa.c:2290 -- Summary: [4.1 regression] dwarf2out.c:751:ICE Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: danglin at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: hppa-unknown-linux-gnu GCC host triplet: hppa-unknown-linux-gnu GCC target triplet: hppa-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22531
[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 19:18 --- Forgot to say the ICE for this testcase is: unhandled expression in get_expr_operands(): unit size align 32 symtab 0 alias set 3 fields SI file t.c line 3 size unit size align 32 offset_align 128 offset bit offset context > context pointer_to_this chain > side-effects addressable arg 0 > side-effects arg 0 used static ignored SI file t.c line 9 size unit size align 32 initial > t.c:9>> -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22530
[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion
--- Additional Comments From dberlin at gcc dot gnu dot org 2005-07-17 19:17 --- Subject: Re: New: [4.1 Regression] ICE with static promotion On Sun, 2005-07-17 at 19:13 +, pinskia at gcc dot gnu dot org wrote: > Compile the following valid C99 code at -O3 and we get an ICE: > struct f1 > { > int i; > }; > void g(int); > static struct f1 *f2 = &(struct f1){1}; > int f(void) > { > g(f2->i); > return f2->i; > } > The gimplifier needs to split this into a new static temporary, there's no way we can do something sane with ADDR_EXPR . Please copy jason or diego :) (and Kenny, since this is his pass) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22530
[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion
-- What|Removed |Added Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22530
[Bug tree-optimization/22530] New: [4.1 Regression] ICE with static promotion
Compile the following valid C99 code at -O3 and we get an ICE: struct f1 { int i; }; void g(int); static struct f1 *f2 = &(struct f1){1}; int f(void) { g(f2->i); return f2->i; } -- Summary: [4.1 Regression] ICE with static promotion Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: dberlin at gcc dot gnu dot org,gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22530
[Bug fortran/21480] [4.0 only] trivial reshape operation gives erroneous results
--- Additional Comments From tkoenig at gcc dot gnu dot org 2005-07-17 19:12 --- Fixed in 4.0. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21480
[Bug fortran/21480] [4.0 only] trivial reshape operation gives erroneous results
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-07-17 19:12 --- Subject: Bug 21480 CVSROOT:/cvs/gcc Module name:gcc Branch: gcc-4_0-branch Changes by: [EMAIL PROTECTED] 2005-07-17 19:12:07 Modified files: libgfortran: ChangeLog libgfortran/generated: reshape_c4.c reshape_c8.c reshape_i4.c reshape_i8.c libgfortran/m4 : reshape.m4 gcc/testsuite : ChangeLog gcc/testsuite/gfortran.dg: reshape-complex.f90 Log message: 2005-07-17 Thomas Koenig <[EMAIL PROTECTED]> Backport from mainline. PR libfortran/21480 * m4/reshape.m4: Use sizeof (rtype_name) for sizes to be passed to reshape_packed. * generated/reshape_c4.c: Regenerated. * generated/reshape_c8.c: Regenerated. * generated/reshape_i4.c: Regenerated. * generated/reshape_i8.c: Regenerated. 2005-07-17 Thomas Koenig <[EMAIL PROTECTED]> Backport from mainline. PR libfortran/21480 * gfortran.dg/reshape-complex.f90: Add a test for a packed complex array. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.163.2.64&r2=1.163.2.65 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_c4.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1.2.3&r2=1.1.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_c8.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1.2.3&r2=1.1.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_i4.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5.12.2&r2=1.5.12.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_i8.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5.12.2&r2=1.5.12.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/m4/reshape.m4.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.6.12.3&r2=1.6.12.4 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.283&r2=1.5084.2.284 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/reshape-complex.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1.2.1&r2=1.1.2.2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21480
[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function
-- What|Removed |Added Target Milestone|--- |3.4.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22529
[Bug c/22529] New: [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function
Take the following code: struct f1 { int i; }; void f(void) { static struct f1 *f2 = &(struct f1){1}; } This is valid C99 at least according to both ICC and Comeau. And we acceptted it in 3.0.4 also. -- Summary: [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22529
[Bug target/22528] Optimized ARM 'unsigned short's assignments are incorrect for big-endian ARMv3 targets
--- Additional Comments From pluto at agmk dot net 2005-07-17 18:50 --- gcc-4.0.1 works fine. $ arm-linux-eabi-gcc gcc-pr22528.c -O2 -march=armv3 -S -mlittle-endian test: mov r3, #8 mov r2, #0 strbr3, [r0, #1] strbr2, [r0, #0] mov pc, lr $ arm-linux-eabi-gcc gcc-pr22528.c -O2 -march=armv3 -S -mbig-endian test: mov r3, #0 mov r2, #8 strbr3, [r0, #1] strbr2, [r0, #0] mov pc, lr -- What|Removed |Added CC||pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22528
[Bug target/22528] Optimized ARM 'unsigned short's assignments are incorrect for big-endian ARMv3 targets
-- What|Removed |Added Component|rtl-optimization|target http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22528
[Bug rtl-optimization/22528] New: Optimized ARM 'unsigned short's assignments are incorrect for big-endian ARMv3 targets
//Reading specs from /usr/local/cross-arm/bin/../lib/gcc-lib/arm-linux/3.3.2/specs //Configured with: /home/localgjs/tnbt_cvstrees/software/tools/gcc/../../tools/gcc/configure --target=arm-linux --disable-shared --disable-threads --with-gnu-as --with-gnu-ld --enable-multilib --enable-languages=c --prefix=/usr/local/cross_arm --with-headers=/home/localgjs/tnbt_cvstrees/software/tools/gcc/../../os/linux/include/ //Thread model: single //gcc version 3.3.2 // This fails if compiled with... /usr/local/cross-arm/bin/arm-linux-gcc -O1 -mbig-endian -march=armv3 -o test.o -c test.c // It generates code which sets *us to be 0, not 0x800 // With not big-endian, or without optimization, or with a Thumb-capable arch, it works void test(unsigned short *us) { *us = (unsigned short)0x800; return; } Output code from above: Disassembly of section .text: : 0: e3a03000mov r3, #0 ; 0x0 4: e5c03000strbr3, [r0] 8: e5c03001strbr3, [r0, #1] c: e1a0f00emov pc, lr If built without -big-endian the output is correct: Disassembly of section .text: : 0: e3a03000mov r3, #0 ; 0x0 4: e5c03000strbr3, [r0] 8: e3a03008mov r3, #8 ; 0x8 c: e5c03001strbr3, [r0, #1] 10: e1a0f00emov pc, lr -- Summary: Optimized ARM 'unsigned short's assignments are incorrect for big-endian ARMv3 targets Product: gcc Version: 3.3.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at embisi dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: arm-linux-gcc? GCC host triplet: i*86-*-linux GCC target triplet: arm-linux-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22528
[Bug bootstrap/22517] Bootstrap ICE on latest CVS: tree check: tree-ssa
-- What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22517
[Bug tree-optimization/22525] tree based value profiling (-fprofile-use) produces mismatch types in conditional
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 17:53 --- Created an attachment (id=9295) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9295&action=view) patch which I need to test (from Honza) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22525
[Bug middle-end/22524] fold (or the front-ends) produces UNARY (BIT_NOT_EXPR) tree with mismatch types
-- What|Removed |Added CC||phython at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22524
[Bug fortran/22527] New: fortran produces mismatch types in comparision with integer to logic assignment
The following code: c { dg-do compile } c { dg-options "-O2 -std=legacy" } LOGICAL*1 l1 INTEGER*1 i1 l1 = i1 END produces mismatch types in comparision. See PR 22368 for the patch which catches this. logint-1.f: In function 'MAIN__': logint-1.f:5: error: types mismatch in comparsion int1D.0 int4D.2 i1D.464 != 0; -- Summary: fortran produces mismatch types in comparision with integer to logic assignment Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org,sayle at gcc dot gnu dot org OtherBugsDependingO 22368 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22527
[Bug other/22368] [meta-bugs] mis-match types in GCC
-- What|Removed |Added BugsThisDependsOn||22527 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22368
[Bug other/22368] [meta-bugs] mis-match types in GCC
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 17:33 --- Note the comparisions patch because of the way gimple removes casts to void* gets: int f(int *a, char*b) { return ((void*)a) == ((void*)b); } wrong. The following is also effected: g++.dg/abi/vbase13.C: g++.dg/expr/cond1.C g++.old-deja/g++.abi/primary.C I have to figure out how to handle that. Maybe in tree_ssa_useless_type_conversion_1 remove the special case for void*. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22368
[Bug tree-optimization/22526] New: vectorizer produces mis-match types in conditionals
take following example (compile with -O1 -ftree-vectorize -maltivec): void a(unsigned long long __n, int *__new_start) { for (; __n > 0; --__n, ++__new_start) *__new_start = 0; } With the second patch in PR 22368, we get the following error: pr18425.c: In function 'a': pr18425.c:2: error: types mismatch in comparsion long long unsigned intD.6 intD.0 ratio_mult_vf.38D.1726_33 <= 0; pr18425.c:2: error: types mismatch in comparsion long long unsigned intD.6 intD.0 prolog_loop_niters.34D.1710_16 <= 0; pr18425.c:2: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. -- Summary: vectorizer produces mis-match types in conditionals Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org OtherBugsDependingO 22368 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22526
[Bug other/22368] [meta-bugs] mis-match types in GCC
-- What|Removed |Added BugsThisDependsOn||22526 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22368
[Bug tree-optimization/22525] New: tree based value profiling (-fprofile-use) produces mismatch types in conditional
The testcase is gcc.dg/tree-prof/val-prof-2.c. It only happens when profile use is used. Note this is worse if we use unsigned long long instead as we get a size mismatch. See PR 22368 for the patch to catch this (the second patch): /Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c: In function 'main':^M /Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c:25: error: types mismatch in comparsion^M unsigned intD.3^M intD.0^M PROF.4D.1300 != 0;^M ^M /Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c:25: internal compiler error: verify_stmts failed^M Please submit a full bug report,^M with preprocessed source if appropriate.^M See http://gcc.gnu.org/bugs.html> for instructions.^M -- Summary: tree based value profiling (-fprofile-use) produces mismatch types in conditional Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org OtherBugsDependingO 22368 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22525
[Bug other/22368] [meta-bugs] mis-match types in GCC
-- What|Removed |Added BugsThisDependsOn||22525 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22368
[Bug middle-end/22524] New: fold (or the front-ends) produces UNARY (BIT_NOT_EXPR) tree with mismatch types
Testcase (reduced from 20020107-1.c) char buf[10]; char * a(); int main (void) { int i = (a() - 1) - buf; } I will attach the patch to catch this to PR 22368. 20020107-1.c: In function 'main': 20020107-1.c:7: error: types mismatch in unary operand intD.0 charD.1 * ~&bufD.1263; 20020107-1.c:7: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. -- Summary: fold (or the front-ends) produces UNARY (BIT_NOT_EXPR) tree with mismatch types Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org OtherBugsDependingO 22368 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22524
[Bug other/22368] [meta-bugs] mis-match types in GCC
-- What|Removed |Added BugsThisDependsOn||22524 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22368
[Bug c/22278] gcc -O2 discards cast to volatile
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-07-17 16:36:37 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22278
[Bug c++/22464] [3.4/4.0/4.1 Regression] ICE on classes in template functions which attempt closure
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 16:31 --- *** Bug 22521 has been marked as a duplicate of this bug. *** -- What|Removed |Added CC||basile at starynkevitch dot ||net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22464
[Bug c++/22521] internal compiler error: in tsubst_copy
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-17 16:31 --- This code is invalid. You cannot access a local variable in a local class. *** This bug has been marked as a duplicate of 22464 *** -- What|Removed |Added Status|UNCONFIRMED |RESOLVED GCC build triplet| i686-pc-linux-gnu |i686-pc-linux-gnu GCC host triplet| i686-pc-linux-gnu |i686-pc-linux-gnu GCC target triplet| i686-pc-linux-gnu |i686-pc-linux-gnu Resolution||DUPLICATE Summary| internal compiler error: in|internal compiler error: in |tsubst_copy |tsubst_copy http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22521