[Bug c++/22138] Better error message for rejecting local template declaration.
--- Comment #3 from pzhao at gcc dot gnu dot org 2010-07-05 06:13 --- Fixed for trunk. -- pzhao at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22138
[Bug lto/44818] New: [WINE] registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303
Hi all, when I try to compile wine-1.2 on a RedHat Enterprise 5 server, i've got this message: registrar.c: In function âresource_registerâ: registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. make[1]: *** [registrar.o] Error 1 make[1]: Leaving directory `/tmp/wine-1.2-rc6/dlls/atl' make: *** [dlls/atl] Error 2 Information for GCC: Using built-in specs. COLLECT_GCC=/usr/local/gcc-4.5.0/bin/gcc COLLECT_LTO_WRAPPER=/usr/local/gcc-4.5.0/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/usr/local/gcc-4.5.0 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1 Thread model: posix gcc version 4.5.0 (GCC) -- Summary: [WINE] registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mathieu dot pogeant at rdf dot renesas dot com GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44818
[Bug bootstrap/44820] New: [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon
gcc-4.6-20100703 fails during stage 2 of bootstrap on ARM: /home/mikpe/gcc-4.6-20100703/gcc/config/arm/arm.c: In function 'arm_attr_length_move_neon': /home/mikpe/gcc-4.6-20100703/gcc/config/arm/arm.c:12868:7: error: variable 'regno' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors make[3]: *** [arm.o] Error 1 make[3]: Leaving directory `/home/mikpe/objdir46/gcc' make[2]: *** [all-stage2-gcc] Error 2 make[2]: Leaving directory `/home/mikpe/objdir46' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/home/mikpe/objdir46' make: *** [bootstrap] Error 2 Given the location of the error the cause is obviously Jie Zhang's recent patch which added arm_attr_length_move_neon, namely r161776. I'll attach a preliminary patch momentarily. -- Summary: [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mikpe at it dot uu dot se GCC build triplet: armv5tel-unknown-linux-gnueabi GCC host triplet: armv5tel-unknown-linux-gnueabi GCC target triplet: armv5tel-unknown-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44820
[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon
--- Comment #1 from mikpe at it dot uu dot se 2010-07-05 08:57 --- Created an attachment (id=21089) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21089action=view) delete unused ut set variable regno This obvious patch gets me past this point in the bootstrap. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44820
[Bug middle-end/44813] ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-07-05 09:09 --- Created an attachment (id=21090) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21090action=view) reduced testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44813
[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44820
[Bug lto/44818] [WINE] registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303
--- Comment #1 from rguenth at gcc dot gnu dot org 2010-07-05 09:11 --- Please provide preprocessed source for registrar.c and the output of invoking the compile when appending -v to the command-line. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44818
[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon
--- Comment #2 from jiez at gcc dot gnu dot org 2010-07-05 09:11 --- Subject: Bug 44820 Author: jiez Date: Mon Jul 5 09:11:39 2010 New Revision: 161822 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161822 Log: 2010-07-05 Mikael Pettersson mi...@it.uu.se PR bootstrap/44820 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno. Modified: trunk/gcc/ChangeLog trunk/gcc/config/arm/arm.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44820
[Bug target/44816] [4.5/4.6 Regression] ice in subst_reloads, at reload.c:6328
--- Comment #1 from rguenth at gcc dot gnu dot org 2010-07-05 09:13 --- Confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to fail||4.5.0 Known to work||4.4.3 Last reconfirmed|-00-00 00:00:00 |2010-07-05 09:13:20 date|| Summary|ice in subst_reloads, at|[4.5/4.6 Regression] ice in |reload.c:6328 |subst_reloads, at ||reload.c:6328 Target Milestone|--- |4.5.1 Version|unknown |4.5.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44816
[Bug middle-end/44813] [4.6 Regression] ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-07-05 09:14 --- Confirmed btw. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-05 09:14:56 date|| Summary|ipa-split causes ice in |[4.6 Regression] ipa-split |ptr_deref_may_alias_decl_p, |causes ice in |at tree-ssa-alias.c:173 |ptr_deref_may_alias_decl_p, ||at tree-ssa-alias.c:173 Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44813
[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon
--- Comment #3 from jiez at gcc dot gnu dot org 2010-07-05 09:15 --- Sorry for causing this. Thanks for your fix. I have committed it for you. -- jiez at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44820
[Bug c++/22138] Better error message for rejecting local template declaration.
-- paolo dot carlini at oracle dot com changed: What|Removed |Added Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22138
[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon
--- Comment #4 from mikpe at it dot uu dot se 2010-07-05 10:00 --- Thank you Jie for the swift action. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44820
[Bug c++/44808] [4.6 Regression] ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr
--- Comment #2 from jakub at gcc dot gnu dot org 2010-07-05 10:55 --- I don't see anything odd on the value-expr (the variable res has been NRVed in the FE to the RESULT_DECL) nor on the assignments from RESULT_DECL. So, I think either we should guard this hunk in gimplify.c with TREE_CODE (*from_p) == VAR_DECL instead of DECL_P (*from_p), or change the check in tree.h in {,SET_}DECL_DEBUG_EXPR from VAR_DECL_CHECK to DECL_COMMON_CHECK. There is nothing VAR_DECL specific on the lookups (all it needs is DECL_UID, which RESULT_DECL and PARM_DECLs etc. have too). var-tracking will unlikely use it though. -- jakub at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2010-07-04 14:38:16 |2010-07-05 10:55:02 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44808
[Bug c++/43120] Virtual inheritence with covariant return type confuses GCC
--- Comment #6 from nathan at codesourcery dot com 2010-07-05 10:56 --- Subject: Re: Virtual inheritence with covariant return type confuses GCC Jason, Reverting that patch fixes the problem and doesn't break any of the existing covariant tests. Nathan, I couldn't figure out what the comment you added was talking about; I don't suppose you have any idea after all these years? the patch email is at http://gcc.gnu.org/ml/gcc-patches/2003-01/msg02157.html and I see you and I discussed the patch then too, and it seems you took some convincing then too :) Does that email thread help, or would you like me to dig deeper? nathan -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43120
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails
--- Comment #13 from dennis dot wassel at googlemail dot com 2010-07-05 11:02 --- Works with 4.5.0 -- dennis dot wassel at googlemail dot com changed: What|Removed |Added Known to work||4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug c++/44625] [4.3/4.4/4.5/4.6 Regression] ICE after error: anonymous struct not inside named type
--- Comment #4 from paolo dot carlini at oracle dot com 2010-07-05 11:04 --- On it. -- paolo dot carlini at oracle dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |paolo dot carlini at oracle |dot org |dot com Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44625
[Bug c++/44808] [4.6 Regression] ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr
--- Comment #3 from jakub at gcc dot gnu dot org 2010-07-05 11:04 --- Created an attachment (id=21091) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21091action=view) gcc46-pr44808.patch Untested fix. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44808
[Bug target/44816] [4.5/4.6 Regression] ice in subst_reloads, at reload.c:6328
--- Comment #2 from ubizjak at gmail dot com 2010-07-05 11:43 --- The problem is with: Breakpoint 1, fancy_abort (file=0xcd1f88 ../../gcc-svn/trunk/gcc/reload.c, line=6327, function=0xcd2722 subst_reloads) at ../../gcc-svn/trunk/gcc/diagnostic.c:878 878 { (gdb) up #1 0x0075b3e2 in subst_reloads (insn=0x2b0b822718b8) at ../../gcc-svn/trunk/gcc/reload.c:6327 6327gcc_assert (rld[r-what].optional); (gdb) p debug_rtx (insn) (insn 14 13 15 2 pr44816.c:32 (parallel [ (set (reg:CCC 17 flags) (compare:CCC (plus:SI (subreg:SI (reg/v:DI 6 bp [orig:68 p_50 ] [68]) 0) (reg:SI 3 bx [orig:66 D.2792 ] [66])) (subreg:SI (reg/v:DI 6 bp [orig:68 p_50 ] [68]) 0))) (clobber (scratch:SI)) ]) 316 {*addsi3_cconly_overflow} (expr_list:REG_DEAD (reg/v:DI 6 bp [orig:68 p_50 ] [68]) (expr_list:REG_DEAD (reg:SI 3 bx [orig:66 D.2792 ] [66]) (nil I see nothing wrong with this RTX. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44816
[Bug c++/44780] [4.6 regression] Bogus set-but-not-used variable warning
--- Comment #4 from jakub at gcc dot gnu dot org 2010-07-05 12:18 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44780
[Bug middle-end/44784] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-07-05 12:20 --- Subject: Bug 44784 Author: rguenth Date: Mon Jul 5 12:20:00 2010 New Revision: 161829 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161829 Log: 2010-07-05 Richard Guenther rguent...@suse.de PR tree-optimization/44784 * tree-ssa-pre.c (bitmap_find_leader): Fix dominance check for inserted stmts. (find_or_generate_expression): Fix SCCVN insertion check. * gcc.c-torture/compile/pr44784.c: New testcase. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr44784.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-pre.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44784
[Bug middle-end/44784] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-07-05 12:21 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44784
[Bug rtl-optimization/44695] [4.6 Regression] ice in simplify_subreg, at simplify-rtx.c:5117
--- Comment #11 from jakub at gcc dot gnu dot org 2010-07-05 12:21 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44695
[Bug target/43703] Unexpected floating point precision loss due to ARM NEON autovectorization
--- Comment #8 from ramana at gcc dot gnu dot org 2010-07-05 12:22 --- Are you planning to backport this to all release branches since this affects all of them ? cheers Ramana -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43703
[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types
--- Comment #12 from rguenth at gcc dot gnu dot org 2010-07-05 12:32 --- field_type = build_pointer_type (field_type); + /* vtype fields can point to different types to the base type. */ + if (c-ts.type == BT_DERIVED c-ts.u.derived-attr.vtype) + TYPE_REF_CAN_ALIAS_ALL (field_type) = true; + this is wrong. You shouldn't change bits in (shared) types. Instead do field_type = build_pointer_type_for_mode (field_type, ptr_mode, c-ts.type == BT_DERIVED c-ts.u.derived-attr.vtype); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44596
[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon
--- Comment #5 from jiez at gcc dot gnu dot org 2010-07-05 12:45 --- Subject: Bug 44820 Author: jiez Date: Mon Jul 5 12:45:19 2010 New Revision: 161833 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161833 Log: 2010-07-05 Mikael Pettersson mi...@it.uu.se PR bootstrap/44820 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno. 2010-07-05 Jie Zhang j...@codesourcery.com * config/arm/arm.c (arm_attr_length_move_neon): New. * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare. * config/arm/neon.md (define_mode_attr V_slen): Remove. (neon_movmode for VSTRUCT): Use arm_attr_length_move_neon to compute length attribute. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config/arm/arm-protos.h branches/gcc-4_5-branch/gcc/config/arm/arm.c branches/gcc-4_5-branch/gcc/config/arm/neon.md -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44820
[Bug c++/44822] New: Recusive functions optimize in unpredictable ways
$ uname -a Linux oblomow 2.6.31.12-0.2-desktop #1 SMP PREEMPT 2010-03-16 21:25:39 +0100 x86_64 x86_64 x86_64 GNU/Linux $ g++-4.5 -v Using built-in specs. COLLECT_GCC=g++-4.5 COLLECT_LTO_WRAPPER=/opt/gcc-4.5.0/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.5.0/configure --with-mpc=/opt/gcc-4.5.0 --enable-languages=c,c++ --prefix=/opt/gcc-4.5.0 --program-suffix=-4.5 Thread model: posix gcc version 4.5.0 (GCC) The following program computes fib(n) with NN identical, mutually recursive functions. #include stdio.h templateint k,int N struct F { static int f(int n) { if (n2) return n; return F(k+1)%N,N::f(n-2)+F(k+1)%N,N::f(n-1); } }; int main() { printf(NN=%d, res=%d\n,NN,F0,NN::f(44)); } For NN=1 only one function is used, for NN=2 F0,2:f(int) calls F1,2:f(int) and vice versa, etc.pp. The running time variance under different values for NN is **suprising**: for x in {1..15} ; do g++-4.5 -O3 -DNN=$x f.cc -o f$x ; time ./f$x ; echo ---; done NN=1, res=701408733 real0m4.617s user0m4.606s sys 0m0.003s --- NN=2, res=701408733 real0m2.361s user0m2.358s sys 0m0.002s --- NN=3, res=701408733 real0m3.267s user0m3.264s sys 0m0.001s --- NN=4, res=701408733 real0m1.191s user0m1.183s sys 0m0.001s --- NN=5, res=701408733 real0m0.949s user0m0.946s sys 0m0.002s --- NN=6, res=701408733 real0m1.541s user0m1.540s sys 0m0.000s --- NN=7, res=701408733 real0m1.475s user0m1.459s sys 0m0.002s --- NN=8, res=701408733 real0m0.509s user0m0.499s sys 0m0.001s --- NN=9, res=701408733 real0m0.723s user0m0.720s sys 0m0.002s --- NN=10, res=701408733 real0m1.566s user0m1.558s sys 0m0.001s --- NN=11, res=701408733 real0m1.871s user0m1.868s sys 0m0.002s --- NN=12, res=701408733 real0m0.806s user0m0.803s sys 0m0.001s --- NN=13, res=701408733 real0m1.735s user0m1.735s sys 0m0.000s --- NN=14, res=701408733 real0m1.282s user0m1.281s sys 0m0.000s --- NN=15, res=701408733 real0m1.916s user0m1.906s sys 0m0.002s --- The NN=1 case is 9x slower than NN=8, which is again 3x faster than NN=7 and NN=10, even though it is the same computation in all cases. Great news is, that the figures themselves are much better than with gcc-4.4, but the variance bothers me a bit. -- Summary: Recusive functions optimize in unpredictable ways Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: marco at technoboredom dot net GCC host triplet: x86_64-suse-linux GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44822
[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types
--- Comment #13 from burnus at gcc dot gnu dot org 2010-07-05 13:14 --- (In reply to comment #12) You shouldn't change bits in (shared) types. Instead do field_type = build_pointer_type_for_mode (field_type, ptr_mode, c-ts.type == BT_DERIVED c-ts.u.derived-attr.vtype); Thanks for checking, Richard! For those wondering, like me, where ptr_mode is defined: gcc/machmode.h has: extern enum machine_mode ptr_mode; The the function itself is (tree.c): /* Construct, lay out and return the type of pointers to TO_TYPE with mode MODE. If CAN_ALIAS_ALL is TRUE, indicate this type can reference all of memory. If such a type has already been constructed, reuse it. */ tree build_pointer_type_for_mode (tree to_type, enum machine_mode mode, bool can_alias_all) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44596
[Bug tree-optimization/44328] switch/case optimization produces an invalid lookup table index
--- Comment #22 from ramana at gcc dot gnu dot org 2010-07-05 13:43 --- With trunk as of a couple of days back - the testcase when compiled with -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp for EABI generates the following code for C++ but not for C. Notice the removal of the check of the condition for being out of range Z9open_filePKc8OpenMode: @ Function supports interworking. @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} ldr r3, .L2 ldr r1, [r3, r1, asl #2] bl open ldmfd sp!, {r3, lr} bx lr .L3: .align 2 .L2: .word .LANCHOR0 .size _Z9open_filePKc8OpenMode, .-_Z9open_filePKc8OpenMode .section.rodata .align 2 .set.LANCHOR0,. + 0 .type CSWTCH.1, %object .size CSWTCH.1, 16 CSWTCH.1: .word 1 .word 74 .word 3 .word 75 .ident GCC: (GNU) 4.6.0 20100702 (experimental) Same file compiled in C. open_file: @ Function supports interworking. @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 cmp r1, #3 stmfd sp!, {r3, lr} ldrls r3, .L4 movhi r1, #0 ldrls r1, [r3, r1, asl #2] bl open ldmfd sp!, {r3, lr} bx lr .L5: .align 2 .L4: .word .LANCHOR0 .size open_file, .-open_file .section.rodata .align 2 .set.LANCHOR0,. + 0 .type CSWTCH.1, %object .size CSWTCH.1, 16 CSWTCH.1: .word 1 .word 74 .word 3 .word 75 .ident GCC: (GNU) 4.6.0 20100702 (experimental) -- ramana at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Component|c++ |tree-optimization Ever Confirmed|0 |1 Known to fail||4.6.0 Last reconfirmed|-00-00 00:00:00 |2010-07-05 13:43:01 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44328
[Bug tree-optimization/44822] Recusive functions optimize in unpredictable ways
--- Comment #1 from rguenth at gcc dot gnu dot org 2010-07-05 13:46 --- recursive inlining is limited to a depth of 8. While the testcase may be interesting, does it have any practical relevance? Certainly nobody looked to optimize for these funny callgraphs. But yes, confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||rguenth at gcc dot gnu dot ||org, hubicka at gcc dot gnu ||dot org Status|UNCONFIRMED |NEW Component|c++ |tree-optimization Ever Confirmed|0 |1 Keywords||missed-optimization Last reconfirmed|-00-00 00:00:00 |2010-07-05 13:46:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44822
[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types
--- Comment #14 from paul dot richard dot thomas at gmail dot com 2010-07-05 13:52 --- Subject: Re: [OOP] Dynamic dispatch uses broken types On Mon, Jul 5, 2010 at 3:14 PM, burnus at gcc dot gnu dot org gcc-bugzi...@gcc.gnu.org wrote: Thanks for checking, Richard! Indeed, seconded by me. Is there anywhere that these rather more subtle aspects of gcc are documented in a structured way? I am afraid that I just do not have the time to do the archeology that seems to be necessary. I'll do the necessary asap. Thanks Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44596
[Bug lto/44804] lto1 ICE in trunk
--- Comment #2 from moonshine at kapsi dot fi 2010-07-05 14:01 --- This issue seems to be fixed in latest trunk, although issue #44802 still prevents xz build with -flto -fuse-linker-plugin. Reduced testcase compiles fine however. -- moonshine at kapsi dot fi changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44804
[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types
--- Comment #15 from rguenther at suse dot de 2010-07-05 14:06 --- Subject: Re: [OOP] Dynamic dispatch uses broken types On Mon, 5 Jul 2010, paul dot richard dot thomas at gmail dot com wrote: --- Comment #14 from paul dot richard dot thomas at gmail dot com 2010-07-05 13:52 --- Subject: Re: [OOP] Dynamic dispatch uses broken types On Mon, Jul 5, 2010 at 3:14 PM, burnus at gcc dot gnu dot org gcc-bugzi...@gcc.gnu.org wrote: Thanks for checking, Richard! Indeed, seconded by me. Is there anywhere that these rather more subtle aspects of gcc are documented in a structured way? I am afraid that I just do not have the time to do the archeology that seems to be necessary. Well, it's the general invariant that all TYPEs and DECLs are shared, likewise some constants (notably INTEGER_CSTs). You should never modify them directly (unless you know exactly what you are doing), but use construction functions from tree.c I'll do the necessary asap. Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44596
[Bug middle-end/44817] Stage2/stage3 genautomata has invalid memory access
--- Comment #3 from ubizjak at gmail dot com 2010-07-05 14:09 --- So, what is the problem here? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44817
[Bug c/44823] New: internal compiler error: verify_ssa failed
Testcase is reduced from ssa-ccp.c from gcc from specCPU2006. reg...@john-home:~/volatile/bugs/tmp323$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/home/regehr/z/compiler-install/gcc-r161813-install/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper Target: i686-pc-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r161813-install --program-prefix=r161813- --enable-languages=c,c++ Thread model: posix gcc version 4.6.0 20100704 (experimental) (GCC) reg...@john-home:~/volatile/bugs/tmp323$ current-gcc -O3 small.c small.c: In function defs_to_undefined.isra.0: small.c:83:1: error: definition in block 7 follows the use for SSA_NAME: pretmp.26_24 in statement: pretmp.28_4 = (struct rtx_def *) pretmp.26_24; small.c:83:1: internal compiler error: verify_ssa failed Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. -- Summary: internal compiler error: verify_ssa failed Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: regehr at cs dot utah dot edu GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44823
[Bug c/44823] internal compiler error: verify_ssa failed
--- Comment #1 from regehr at cs dot utah dot edu 2010-07-05 14:40 --- Created an attachment (id=21092) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21092action=view) failure-inducing C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44823
[Bug c++/44808] [4.6 Regression] ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr
--- Comment #4 from jakub at gcc dot gnu dot org 2010-07-05 14:42 --- Subject: Bug 44808 Author: jakub Date: Mon Jul 5 14:42:20 2010 New Revision: 161838 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161838 Log: PR c++/44808 * gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if *from_p is VAR_DECL. * g++.dg/opt/nrv16.C: New test. Added: trunk/gcc/testsuite/g++.dg/opt/nrv16.C Modified: trunk/gcc/ChangeLog trunk/gcc/gimplify.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44808
[Bug c++/44822] Recusive functions optimize in unpredictable ways
--- Comment #2 from marco at technoboredom dot net 2010-07-05 14:46 --- (In reply to comment #1) recursive inlining is limited to a depth of 8. While the testcase may be interesting, does it have any practical relevance? Probably. The test case shows that the compiler fails to recognize that f() can be optimzed a *magnitude* better, unless we explicitly expand the call graph (NN1). The stock version (NN==1) of f() is the slowest. Certainly nobody looked to optimize for these funny callgraphs. It's still the call graph of f() only that f changes it's name in each call -- F0,3::f calls F1,3::f calls F2,3::f calls F0,3::f etc. -- marco at technoboredom dot net changed: What|Removed |Added Component|tree-optimization |c++ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44822
[Bug tree-optimization/44822] Recusive functions optimize in unpredictable ways
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-07-05 14:54 --- It's quite different as tail-recursion optimization doesn't apply if the functions are named differently. And the callgraph has an exponential number of edges which we usually do not flatten down to the point where tail-recursion will apply. What is indeed odd is that we optimize better with an expanded callgraph which we shouldn't. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44822
[Bug middle-end/44784] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-07-05 15:26 --- *** Bug 44823 has been marked as a duplicate of this bug. *** -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||regehr at cs dot utah dot ||edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44784
[Bug c/44823] internal compiler error: verify_ssa failed
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-07-05 15:26 --- Mine is smaller ;) *** This bug has been marked as a duplicate of 44784 *** -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44823
[Bug target/36861] [4.5/4.6 Regression] boost's compressed avl confuses GCC
--- Comment #32 from rguenth at gcc dot gnu dot org 2010-07-05 15:40 --- Re-confirmed for current 4.5 branch and trunk. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Last reconfirmed|2008-10-22 03:02:05 |2010-07-05 15:40:28 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36861
[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types
--- Comment #16 from paul dot richard dot thomas at gmail dot com 2010-07-05 15:47 --- Subject: Re: [OOP] Dynamic dispatch uses broken types --- Comment #15 from rguenther at suse dot de 2010-07-05 14:06 --- Now I take a look at build_pointer_type_for_mode and it's uses in gfortran, it seems rather obvious. Thanks for the helping hand. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44596
[Bug middle-end/44817] Stage2/stage3 genautomata has invalid memory access
--- Comment #4 from hjl dot tools at gmail dot com 2010-07-05 15:57 --- This may be a valgrind bug. I will investigate. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44817
[Bug target/36861] [4.5/4.6 Regression] boost's compressed avl confuses GCC
--- Comment #33 from rguenth at gcc dot gnu dot org 2010-07-05 16:03 --- Using valgrind there are randomly reported errors, so this is likely either an invalid testcase or a miscompile that manifests itself as runtime regression. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Keywords|missed-optimization |wrong-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36861
[Bug regression/44824] New: [4.6 regression] internal compiler error: verify_stmts failed
Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-cygwin/4.6.0/lto-wrapper.exe Target: i686-pc-cygwin Configured with: ./configure --prefix=/usr --disable-win32-registry --enable-threads=posix --enable-languages=c,c++ --with-win32-nlsapi=unicode --enable-tls --disable-bootstrap --enable-shared --disable-sjlj-exceptions Thread model: posix gcc version 4.6.0 20100705 (experimental) (GCC) COLLECT_GCC_OPTIONS='-O2' '-I.' '-I.' '-I./common' '-I./config' '-DLOCALEDIR=/usr/share/locale' '-DHAVE_CONFIG_H' '-I./../include/opcode' '-I./../opcodes/..' '-I./../readline/..' '-I../bfd-I./../bfd' '-I./../include' '-I../libdecnumber' '-I./../libdecnumber' '-I./gnulib' '-Ignulib' '-DMI_OUT=1' '-DTUI=1' '-I/usr/include' '-I/usr/include' '-Wall' '-Wdeclaration-after-statement' '-Wpointer-arith' '-Wformat-nonliteral' '-Wno-pointer-sign' '-Wno-unused' '-Wunused-value' '-Wunused-function' '-Wno-switch' '-Wno-char-subscripts' '-c' '-o' 'py-inferior.o' '-MT' 'py-inferior.o' '-MMD' '-MP' '-MF' '.deps/py-inferior.Tpo' '-fno-strict-aliasing' '-DNDEBUG' '-fwrapv' '-save-temps' '-v' '-mtune=generic' '-march=pentiumpro' /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -E -quiet -v -I. -I. -I./common -I./config -I./../include/opcode -I./../opcodes/.. -I./../readline/.. -I../bfd-I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber -I./gnulib -Ignulib -I/usr/include -I/usr/include -MMD py-inferior.d -MF .deps/py-inferior.Tpo -MP -MT py-inferior.o -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api -DLOCALEDIR=/usr/share/locale -DHAVE_CONFIG_H -DMI_OUT=1 -DTUI=1 -DNDEBUG ./python/py-inferior.c -mtune=generic -march=pentiumpro -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -fno-strict-aliasing -fwrapv -O2 -fpch-preprocess -o py-inferior.i ignoring duplicate directory /usr/include ignoring duplicate directory /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api ignoring duplicate directory . ignoring duplicate directory ./../readline/.. ignoring duplicate directory ./../libdecnumber ignoring duplicate directory gnulib ignoring duplicate directory /usr/include as it is a non-system directory that duplicates a system directory ignoring duplicate directory /usr/include as it is a non-system directory that duplicates a system directory #include ... search starts here: #include ... search starts here: . ./common ./config ./../include/opcode ./../opcodes/.. ../bfd-I./../bfd ./../include ../libdecnumber ./gnulib /usr/local/include /usr/lib/gcc/i686-pc-cygwin/4.6.0/include /usr/lib/gcc/i686-pc-cygwin/4.6.0/include-fixed /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/include /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api End of search list. COLLECT_GCC_OPTIONS='-O2' '-I.' '-I.' '-I./common' '-I./config' '-DLOCALEDIR=/usr/share/locale' '-DHAVE_CONFIG_H' '-I./../include/opcode' '-I./../opcodes/..' '-I./../readline/..' '-I../bfd-I./../bfd' '-I./../include' '-I../libdecnumber' '-I./../libdecnumber' '-I./gnulib' '-Ignulib' '-DMI_OUT=1' '-DTUI=1' '-I/usr/include' '-I/usr/include' '-Wall' '-Wdeclaration-after-statement' '-Wpointer-arith' '-Wformat-nonliteral' '-Wno-pointer-sign' '-Wno-unused' '-Wunused-value' '-Wunused-function' '-Wno-switch' '-Wno-char-subscripts' '-c' '-o' 'py-inferior.o' '-MT' 'py-inferior.o' '-MMD' '-MP' '-MF' '.deps/py-inferior.Tpo' '-fno-strict-aliasing' '-DNDEBUG' '-fwrapv' '-save-temps' '-v' '-mtune=generic' '-march=pentiumpro' /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -fpreprocessed py-inferior.i -quiet -dumpbase py-inferior.c -mtune=generic -march=pentiumpro -auxbase-strip py-inferior.o -O2 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -version -fno-strict-aliasing -fwrapv -o py-inferior.s GNU C (GCC) version 4.6.0 20100705 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.6.0 20100704 (experimental), GMP version 5.0.0, MPFR version 2.4.2, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C (GCC) version 4.6.0 20100705 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.6.0 20100704 (experimental), GMP version 5.0.0, MPFR version 2.4.2, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: eef17e2885340d50b76b2d9d39ad2cf9 ./python/py-inferior.c: In function infpy_get_was_attached: ./python/py-inferior.c:728:1: error: Invalid address operand in MEM_REF. MEM[(struct PyObject *)_Py_TrueStruct]; # VUSE .MEM_18(D) D
[Bug regression/44824] [4.6 regression] internal compiler error: verify_stmts failed
--- Comment #1 from jojelino at gmail dot com 2010-07-05 16:07 --- Created an attachment (id=21093) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21093action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44824
[Bug bootstrap/44825] New: [4.6 regression] Failed to bootstrap
On Linux/ia32, revision 161840 gave: ../../src-trunk/gcc/java/class.c: In function 'make_class_data': ../../src-trunk/gcc/java/class.c:1923:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] ../../src-trunk/gcc/java/class.c:1925:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] -- Summary: [4.6 regression] Failed to bootstrap Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44825
[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap
--- Comment #1 from hjl dot tools at gmail dot com 2010-07-05 16:13 --- It may be caused by revision 161839: http://gcc.gnu.org/ml/gcc-cvs/2010-07/msg00193.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||froydnj at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44825
[Bug middle-end/44826] New: Mozilla build ICE at Invalid first operand of MEM_REF.
j...@evans:/abuild/jh/mozilla-central/build2/storage/src /abuild/jh/trunk-install/bin/g++ mozStorageRow.ii -O2 ../../../storage/src/mozStorageRow.cpp: In constructor mozilla::storage::VariantDataType::Variant(typename mozilla::storage::variant_storage_traitsDataType::ConstructorType) [with DataType = nsString, typename mozilla::storage::variant_storage_traitsDataType::ConstructorType = const nsAString_internal]: ../../../storage/src/mozStorageRow.cpp:271:1: error: Invalid first operand of MEM_REF. this_1(D)-mData ../../../storage/src/Variant.h:210:29: note: in statement D.21496_9 = this_1(D)-mData; ../../../storage/src/mozStorageRow.cpp:271:1: error: Invalid address operand in MEM_REF. this_1(D)-mData; D.21496_9 = this_1(D)-mData; ../../../storage/src/mozStorageRow.cpp:271:1: 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: Mozilla build ICE at Invalid first operand of MEM_REF. Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hubicka at gcc dot gnu dot org GCC build triplet: x86_64-linux GCC host triplet: x86_64-linux GCC target triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44826
[Bug middle-end/44826] Mozilla build ICE at Invalid first operand of MEM_REF.
--- Comment #1 from hubicka at gcc dot gnu dot org 2010-07-05 16:31 --- Created an attachment (id=21094) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21094action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44826
[Bug middle-end/44826] Mozilla build ICE at Invalid first operand of MEM_REF.
--- Comment #2 from hubicka at gcc dot gnu dot org 2010-07-05 16:45 --- Actually it seems to be fallout of my local DECL_BY_REFERENCE change (so it does not reproduce on clean mainline). Apprently the result_slot_addr is something that is not allowed in mem_ref. It goes away with: @@ -902,6 +903,8 @@ remap_gimple_op_r (tree *tp, int *walk_s then regimplification is probably needed. */ if (invariant !is_gimple_min_invariant (*tp)) id-regimplify = true; + if (!is_gimple_mem_ref_addr (TREE_OPERAND (*tp, 0))) + id-regimplify = true; *walk_subtrees = 0; Does it seem to make sense? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44826
[Bug middle-end/42505] [4.4/4.5/4.6 Regression] loop canonicalization causes a lot of unnecessary temporary variables
--- Comment #11 from sandra at gcc dot gnu dot org 2010-07-05 17:41 --- Subject: Bug 42505 Author: sandra Date: Mon Jul 5 17:40:57 2010 New Revision: 161844 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161844 Log: 2010-07-05 Sandra Loosemore san...@codesourcery.com PR middle-end/42505 gcc/ * tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete comments about cost model. (try_add_cand_for): Add second strategy for choosing initial set based on original IVs, controlled by ORIGINALP argument. (get_initial_solution): Add ORIGINALP argument. (find_optimal_iv_set_1): New function, split from find_optimal_iv_set. (find_optimal_iv_set): Try two different strategies for choosing the IV set, and return the one with lower cost. gcc/testsuite/ * gcc.target/arm/pr42505.c: New test case. Added: trunk/gcc/testsuite/gcc.target/arm/pr42505.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-loop-ivopts.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42505
[Bug fortran/44742] ICE in gfc_conv_array_initializer
--- Comment #5 from reuter at physik dot uni-freiburg dot de 2010-07-05 17:41 --- Created an attachment (id=21095) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21095action=view) Code triggering the ICE. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44742
[Bug fortran/44742] ICE in gfc_conv_array_initializer
--- Comment #6 from reuter at physik dot uni-freiburg dot de 2010-07-05 17:44 --- I isolated the bug further and prepared a roughly 1 MB sniplet which triggers the ICE. It seems that the definition of the more than 500 logical array and packing them in one big array constructor is not well swallowed by gfortran. The bug appears in 4.5.0 (release) as well as 4.6.0 trunk revision 161046. 4.4.5 I didn't test but as you have the code now its trivial for you to verify. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44742
[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap
--- Comment #2 from froydnj at codesourcery dot com 2010-07-05 17:45 --- Subject: Re: [4.6 regression] Failed to bootstrap I do not see this compilation failure on my x86-64 linux machine. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44825
[Bug fortran/44742] ICE in gfc_conv_array_initializer
--- Comment #7 from janus at gcc dot gnu dot org 2010-07-05 17:49 --- (In reply to comment #6) The bug appears in 4.5.0 (release) as well as 4.6.0 trunk revision 161046. 4.4.5 I didn't test but as you have the code now its trivial for you to verify. I get the same ICE also with 4.3 and 4.4 (with slightly differing line numbers, of course). -- janus at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-05 17:49:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44742
[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap
--- Comment #3 from jakub at gcc dot gnu dot org 2010-07-05 18:00 --- You need 32-bit HWI host to reproduce. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44825
[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap
--- Comment #4 from hjl dot tools at gmail dot com 2010-07-05 18:01 --- (In reply to comment #2) Subject: Re: [4.6 regression] Failed to bootstrap I do not see this compilation failure on my x86-64 linux machine. It is Linux/ia32 only. You can use # CC=gcc -m32 CXX=g++ -m32 ../src-trunk/configure i686-linux to buid Linux/ia32 gcc on Linux/x86-64. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44825
[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned
--- Comment #1 from baldrick at gcc dot gnu dot org 2010-07-05 18:43 --- It turns out that the problem is that when build_function_type_skip_args creates the new type, TYPE_POINTER_TO for the new type is still pointing to the old type. When gimple_call_set_fndecl is used to change the fndecl to one with less arguments, an ADDR_EXPR is built. The type of the ADDR_EXPR is obtained from the TYPE_POINTER_TO field of the new type, and thus has type pointer-to-old-type rather than pointer-to-new-type. I'm testing the following patch. The idea here is that calling copy_node has no advantage. In spite of the comment, build_distinct_type_copy preserves attributes etc too, so it might as well be used always. [I think the comment refers to some earlier logic, since the change introducing build_distinct_type_copy post-dates it]. Index: gcc-4.5/gcc/tree.c === --- gcc-4.5.orig/gcc/tree.c 2010-07-05 20:26:21.349376337 +0200 +++ gcc-4.5/gcc/tree.c 2010-07-05 20:29:11.582730610 +0200 @@ -7208,24 +7208,10 @@ new_reversed = void_list_node; } - /* Use copy_node to preserve as much as possible from original type - (debug info, attribute lists etc.) - Exception is METHOD_TYPEs must have THIS argument. - When we are asked to remove it, we need to build new FUNCTION_TYPE - instead. */ - if (TREE_CODE (orig_type) != METHOD_TYPE - || !bitmap_bit_p (args_to_skip, 0)) -{ - new_type = copy_node (orig_type); - TYPE_ARG_TYPES (new_type) = new_reversed; -} - else -{ - new_type -= build_distinct_type_copy (build_function_type (TREE_TYPE (orig_type), -new_reversed)); - TYPE_CONTEXT (new_type) = TYPE_CONTEXT (orig_type); -} + new_type += build_distinct_type_copy (build_function_type (TREE_TYPE (orig_type), + new_reversed)); + TYPE_CONTEXT (new_type) = TYPE_CONTEXT (orig_type); /* This is a new type, not a copy of an old type. Need to reassociate variants. We can handle everything except the main variant lazily. */ -- baldrick at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-05 18:43:39 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41355
[Bug fortran/44742] ICE in gfc_conv_array_initializer
--- Comment #8 from janus at gcc dot gnu dot org 2010-07-05 18:49 --- (In reply to comment #6) I isolated the bug further and prepared a roughly 1 MB sniplet which triggers the ICE. Here is a reduced test case: module proc8 implicit none private integer, parameter :: n_cflow = 128 integer, parameter :: n_flv = 512 logical, dimension(n_flv), parameter, private :: a0001 = .false. logical, dimension(n_flv, n_cflow), parameter :: flv_col_is_allowed = reshape ( (/ a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001 /), (/ n_flv, n_cflow /) ) end module proc8 It works when using numbers smaller than 128*512=2^16. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44742
[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned
--- Comment #2 from hubicka at ucw dot cz 2010-07-05 19:02 --- Subject: Re: Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned It turns out that the problem is that when build_function_type_skip_args creates the new type, TYPE_POINTER_TO for the new type is still pointing to the old type. When gimple_call_set_fndecl is used to change the fndecl to one with less arguments, an ADDR_EXPR is built. The type of the ADDR_EXPR is obtained from the TYPE_POINTER_TO field of the new type, and thus has type pointer-to-old-type rather than pointer-to-new-type. I'm testing the following patch. The idea here is that calling copy_node has no advantage. In spite of the comment, The conditional you removed is about case where METHOD_TYPE is passed and this pointer is not removed. In this case we still want to produce METHOD_TYPE just with args adjusted. I think this functionality should be preserved. Are attributes attached to decl (not type) also copied? Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41355
[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned
--- Comment #3 from baldrick at gcc dot gnu dot org 2010-07-05 19:14 --- Hi Honza, my original patch was silly, I'm trying this instead: @@ -7216,7 +7216,7 @@ if (TREE_CODE (orig_type) != METHOD_TYPE || !bitmap_bit_p (args_to_skip, 0)) { - new_type = copy_node (orig_type); + new_type = build_distinct_type_copy (orig_type); TYPE_ARG_TYPES (new_type) = new_reversed; } else -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41355
[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned
--- Comment #4 from hubicka at ucw dot cz 2010-07-05 19:18 --- Subject: Re: Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned Hi Honza, my original patch was silly, I'm trying this instead: This seems fine, thanks! Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41355
[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types
--- Comment #17 from pault at gcc dot gnu dot org 2010-07-05 19:26 --- Subject: Bug 44596 Author: pault Date: Mon Jul 5 19:26:12 2010 New Revision: 161848 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161848 Log: 2010-07-05 Paul Thomas pa...@gcc.gnu.org PR fortran/44596 * trans-types.c (gfc_get_derived_type): Derived type fields with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set but build_pointer_type_for_mode must be used for this. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-types.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44596
[Bug target/44749] mep-elf fails to build
-- amylaar at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-05 19:54:13 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44749
[Bug target/44750] pdp-11 fails to build
-- amylaar at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-05 19:57:14 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44750
[Bug target/44759] mn10300.md signed/unsigned comparisons
-- amylaar at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-05 20:00:37 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44759
[Bug target/44757] lm32.md: In function �gen_ashlsi3�:unused variable �one�
-- amylaar at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-05 20:01:34 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44757
[Bug rtl-optimization/44752] insn-automata.c: empty translation unit
--- Comment #6 from amylaar at gcc dot gnu dot org 2010-07-05 20:14 --- (In reply to comment #5) Created an attachment (id=21088) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21088action=view) [edit] patch which needs testing I have not tested this fix but it should work and should remove the warning/error for these targets. No, the translation unit is still considered empty. You have to put something syntactic into it, although it could be an extern declaration, an static inline function, or a struct declaration, e.g.: struct rtx_def; -- amylaar at gcc dot gnu dot org changed: What|Removed |Added Last reconfirmed|2010-07-05 01:33:44 |2010-07-05 20:14:57 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44752
[Bug bootstrap/44512] --enable-build-with-cxx bootstrap fails in revision 160669
--- Comment #9 from amylaar at gcc dot gnu dot org 2010-07-05 20:18 --- Subject: Bug 44512 Author: amylaar Date: Mon Jul 5 20:18:07 2010 New Revision: 161853 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161853 Log: PR bootstrap/44512 * genenums.c (main): Output include of insn-constants.h * Makefile.in (insn-enums.o): Depend on insn-constants.h. Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/genenums.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44512
[Bug testsuite/44797] INQUIRE EXIST variable must be default LOGICAL
--- Comment #4 from kargl at gcc dot gnu dot org 2010-07-05 20:24 --- Closing as fix. The default behavior of gfortran is to accept any logical kind supported by gfortran. If either -std=f95 or -std=f2003 is given on the command line, gfortran will issue an error. Vittorio thanks for the bug report. -- kargl at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44797
[Bug fortran/44742] ICE in gfc_conv_array_initializer
--- Comment #9 from janus at gcc dot gnu dot org 2010-07-05 21:02 --- Even shorter: module proc8 implicit none integer, parameter :: N = 256 logical, dimension(N**2), parameter :: A = .false. logical, dimension(N,N), parameter :: B = reshape ( (/ A /), (/ N, N /) ) end module Note: N=256 is the smallest number for which it fails. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44742
[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap
--- Comment #5 from froydnj at gcc dot gnu dot org 2010-07-05 22:19 --- Subject: Bug 44825 Author: froydnj Date: Mon Jul 5 22:19:22 2010 New Revision: 161856 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161856 Log: PR bootstrap/44825 * class.c (make_class_data): Cast result of VEC_length calls to int. Modified: trunk/gcc/java/ChangeLog trunk/gcc/java/class.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44825
[Bug c++/44827] New: g++4.3.4 segfaults when using boost::intrusive::list
Hi, I get internal compiler error: Segmentation fault when compiling the attached program. It compiles fine with version 3.4.4 -- Summary: g++4.3.4 segfaults when using boost::intrusive::list Product: gcc Version: 4.3.4 Status: UNCONFIRMED Severity: critical Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: chtz at informatik dot uni-bremen dot de GCC target triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44827
[Bug c++/44827] g++4.3.4 segfaults when using boost::intrusive::list
--- Comment #1 from chtz at informatik dot uni-bremen dot de 2010-07-05 22:28 --- Created an attachment (id=21096) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21096action=view) generated by g++ -v -save-temps -c minimal.cc -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44827
[Bug target/44531] [4.5/4.6 Regression] [SH] Multilib configuration does not work as expected on darwin
--- Comment #7 from kkojima at gcc dot gnu dot org 2010-07-05 22:34 --- Subject: Bug 44531 Author: kkojima Date: Mon Jul 5 22:33:58 2010 New Revision: 161857 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161857 Log: Backport from mainline: PR target/44531 * config.gcc (sh*-*-*): Use regular expressions instead of the 'i' modifier for sed substitutions. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config.gcc -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44531
[Bug target/44531] [4.5/4.6 Regression] [SH] Multilib configuration does not work as expected on darwin
--- Comment #8 from kkojima at gcc dot gnu dot org 2010-07-05 22:39 --- Fixed. -- kkojima at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44531
[Bug c/44828] New: possible integer wrong code bug
reg...@john-home:~$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/home/regehr/z/compiler-install/gcc-r161813-install/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper Target: i686-pc-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r161813-install --program-prefix=r161813- --enable-languages=c,c++ Thread model: posix gcc version 4.6.0 20100704 (experimental) (GCC) reg...@john-home:~$ current-gcc -O1 small.c -o small reg...@john-home:~$ ./small checksum g_40 = 274686410 reg...@john-home:~$ current-gcc -O2 small.c -o small reg...@john-home:~$ ./small checksum g_40 = -1 reg...@john-home:~$ cat small.c extern int printf (__const char *__restrict __format, ...); static char foo (char si1, char si2) { return si1* si2; } const volatile unsigned int g_2[8][3] = {{0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}}; long long g_29 = 1; int g_40 = 0x105F61CAL; int *g_39 = g_40; volatile int * volatile g_88[1] = {0}; volatile int g_429[5] = {1L, 1L, 1L, 1L, 1L}; int main(void) { int * const l_353 = g_40; int l_414 = 0xF5B296C2L; if (!(g_2[5][2])) { int l_420 = 0x0332F5C8L; if (((foo (l_420, (*l_353))) (!-10L))) { for (l_414 = 0; l_414 1; l_414 += 1) { g_88[l_414] = g_429[2]; } (*g_39) = -1; } } printf(checksum g_40 = %d\n, g_40); return g_29; } -- Summary: possible integer wrong code bug Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: regehr at cs dot utah dot edu GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44828
[Bug bootstrap/25438] [4.3/4.4/4.5/4.6 Regression] make: *** No rule to make target `bubblestrap'. Stop.
--- Comment #14 from steven at gcc dot gnu dot org 2010-07-05 22:55 --- The word 'bubblestrap' doesn't appear anywhere anymore in wwwdocs, and only in ChangeLogs in trunk/*. And the GCC 4.2 branch is now closed. So this bug is no longer relevant = WONTFIX. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25438
[Bug bootstrap/44829] New: java bootstrap failure in revision 161839 on i686-pc-linux-gnu
/user/inria/fsf/bld-20100705/./prev-gcc/xgcc -B/user/inria/fsf/bld-20100705/./prev-gcc/ -B/user/inria/20100705/i686-pc-linux-gnu/bin/ -B/user/inria/20100705/i686-pc-linux-gnu/bin/ -B/user/inria/20100705/i686-pc-linux-gnu/lib/ -isystem /user/inria/20100705/i686-pc-linux-gnu/include -isystem /user/inria/20100705/i686-pc-linux-gnu/sys-include-c -DIN_GCC_FRONTEND -g -O2 -fomit-frame-pointer -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -I. -Ijava -I../../gcc-new/gcc -I../../gcc-new/gcc/java -I../../gcc-new/gcc/../include -I../../gcc-new/gcc/../libcpp/include -I../../gcc-new/gcc/../libdecnumber -I../../gcc-new/gcc/../libdecnumber/bid -I../libdecnumber -DCLOOG_PPL_BACKEND -I/usr/include/libelf ../../gcc-new/gcc/java/class.c -o java/class.o ../../gcc-new/gcc/java/class.c: In function make_class_data: ../../gcc-new/gcc/java/class.c:1923:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] ../../gcc-new/gcc/java/class.c:1925:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] cc1: all warnings being treated as errors -- Summary: java bootstrap failure in revision 161839 on i686-pc- linux-gnu Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44829
[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap
--- Comment #6 from amylaar at gcc dot gnu dot org 2010-07-05 23:15 --- *** Bug 44829 has been marked as a duplicate of this bug. *** -- amylaar at gcc dot gnu dot org changed: What|Removed |Added CC||amylaar at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44825
[Bug bootstrap/44829] java bootstrap failure in revision 161839 on i686-pc-linux-gnu
--- Comment #1 from amylaar at gcc dot gnu dot org 2010-07-05 23:15 --- *** This bug has been marked as a duplicate of 44825 *** -- amylaar at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44829
[Bug c++/44827] g++4.3.4 segfaults when using boost::intrusive::list
--- Comment #2 from redi at gcc dot gnu dot org 2010-07-05 23:26 --- unpreprocessed source (because preprocessed boost source is so dependent on compiler version it often won't compile with other versions) #include boost/intrusive/list.hpp struct A : public boost::intrusive::list_base_hook { virtual ~A() {} }; templateclass X struct D : A { X x; D(const X x) : x(x) {} }; typedef boost::intrusive::listA A_list; struct data_holder { A_list a; templateclass C static void delete_disposer(C* c){ delete c; } templateclass X DX* insert(const X x){ DX *t = new DX(x); a.push_back(*t); return t; } templateclass X void remove(DX* t){ A_list::iterator it = A_list::s_iterator_to(*t); a.erase_and_dispose(it, delete_disposerA); } }; int main() { data_holder data; Dint *i = data.insert(10); data.remove(i); return 0; } This ICEs with Boost 1.39 or current Boost trunk, using any of 4.5.1, 4.6.0 or Fedora 4.4.3 -- redi at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to fail||4.4.4 4.5.1 4.6.0 Last reconfirmed|-00-00 00:00:00 |2010-07-05 23:26:24 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44827
[Bug c++/44827] g++4.3.4 segfaults when using boost::intrusive::list
--- Comment #3 from redi at gcc dot gnu dot org 2010-07-05 23:28 --- ICE is always at the same place b.cc: In member function void data_holder::remove(DX*) [with X = int]: b.cc:45:15: instantiated from here b.cc:35:3: internal compiler error: Segmentation fault -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44827
[Bug fortran/44830] New: Function return-type declaration with specification expression rejected for renamed derived types
$ cat bug3.f90 module mod1 type my_type integer i end type my_type end module mod1 module mod2 use mod1, only: mod1_type = my_type interface function my_func1() import mod1_type type(mod1_type) :: my_func1 end function my_func1 type(mod1_type) function my_func2() import mod1_type end function my_func2 end interface end module mod2 $ /usr/local/gfortran/bin/gfortran -c bug3.f90 | more bug3.f90:13.4: type(mod1_type) function my_func2() 1 Error: The type for function 'my_func2' at (1) is not accessible This only happens for a USE-renamed derived-type, when the function return is a derived type declared in the specification expression, as in my_func2. If the mod1 type is used without renaming, both forms are accepted. This may be related to bug41370, which is about a similar issue for character length expressions in the return type. -- Summary: Function return-type declaration with specification expression rejected for renamed derived types Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jkrahn at nc dot rr dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44830
[Bug c/44831] New: internal compiler error: verify_stmts failed when compiling wine
Howdy, This is a regression in gcc, but I haven't yet bisected it. Hopefully there is enough information to fix it without bisecting. gcc version used: aus...@midna:~/wine-git/dlls/netapi32$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure : (reconfigured) ./configure : (reconfigured) ./configure Thread model: posix gcc version 4.6.0 20100705 (experimental) (GCC) when compiling wine, it fails with: aus...@midna:~/wine-git/dlls/netapi32$ make gcc -m32 -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_SVRAPI_ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -g -O2 -o nbcmdqueue.o nbcmdqueue.c nbcmdqueue.c: In function NBCmdQueueFindNBC: nbcmdqueue.c:92:14: error: Incompatible types in PHI argument 1 struct _NCB * UCHAR D.10020_19 = PHI D.10021_22(3), D.10022_23(4) nbcmdqueue.c:92:14: 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. make: *** [nbcmdqueue.o] Error 1 system is ubuntu lucid, uname -a: Linux midna 2.6.31-11-rt #154-Ubuntu SMP PREEMPT RT Wed Jun 9 13:40:34 UTC 2010 x86_64 GNU/Linux expected behavior: wine compiles actual behavior: internal compiler error I'll attach the output of gcc -v -save-temps as well as the preprocessed source. -- Summary: internal compiler error: verify_stmts failed when compiling wine Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: austinenglish at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44831
[Bug c/44831] internal compiler error: verify_stmts failed when compiling wine
--- Comment #1 from austinenglish at gmail dot com 2010-07-06 01:06 --- Created an attachment (id=21097) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21097action=view) output of gcc -v -save-temps -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44831
[Bug c/44831] internal compiler error: verify_stmts failed when compiling wine
--- Comment #2 from austinenglish at gmail dot com 2010-07-06 01:08 --- Created an attachment (id=21098) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21098action=view) preproccessed .i file -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44831
[Bug target/43662] [4.4/4.5/4.6 Regression] ICE in insert_save with ms_abi attribute
--- Comment #17 from pinskia at gcc dot gnu dot org 2010-07-06 01:49 --- *** Bug 44818 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||mathieu dot pogeant at rdf ||dot renesas dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43662
[Bug target/44818] [WINE] registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303
--- Comment #2 from pinskia at gcc dot gnu dot org 2010-07-06 01:49 --- *** This bug has been marked as a duplicate of 43662 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44818
[Bug bootstrap/44832] New: --enable-build-with-cxx Bootstrap comparison failure
r161856, bootstrapped with --enable-build-with-cxx, fails the bootstrap comparison on i386.o. By doing a binary search applying the first patch for PR44512 http://gcc.gnu.org/ml/gcc-patches/2010-06/msg01765.html to older revisions, I found that the onset of these comparison failures is between revision 161800 and 161802. As 161801 was a fortran-only patch, 161802 seems the likely culprit. -- Summary: --enable-build-with-cxx Bootstrap comparison failure Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu OtherBugsDependingO 44433 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44832
[Bug bootstrap/44832] --enable-build-with-cxx Bootstrap comparison failure
--- Comment #1 from amylaar at gcc dot gnu dot org 2010-07-06 05:25 --- Adding -gtoggle to the options to compile the stage3 i386.o gives the same assembly as stage2. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44832
[Bug c/44715] Break in increment expression of for statement inconsistent with g++
--- Comment #4 from ecyrbe at gmail dot com 2010-07-06 05:28 --- (In reply to comment #3) Subject: Re: Break in increment expression of for statement inconsistent with g++ On Tue, 29 Jun 2010, pinskia at gmail dot com wrote: What does a break with a statement expression do for each frontend? Is it even valid to have a break there(without a statement expression)? The relevant contexts have expressions, so without statement expressions it's not possible to have break there. The C standard (I haven't checked C++) requires break (and continue, which probably has much the same issue) to be in a loop or switch body - but being elsewhere in the loop than its body isn't possible in standard C anyway. When I was fixing statement expression issues with jumps, and defining exactly what was permitted (bug 772), I didn't think of this particular issue. As i said in the clang bug tracker who triggered this issue initially : Here is what the c++ standard says : The break statement shall occur only in an iteration-statement or a switch statement and causes termination of the smallest enclosing iteration-statement or switch statement; control passes to the statement following the terminated statement, if any. So the break (if the expression statement extension is activated) is considered in the inner loop with this extension. And now here is what the c99 standard says : A break statement shall appear only in or as a switch body or loop body But in C, the loop body does not contain the expression statement. So the break applie only to the outer loop in C. The result is that gcc is correct in this behavior. C++ and C should differ in this matter. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44715
[Bug fortran/44742] ICE in gfc_conv_array_initializer
--- Comment #10 from burnus at gcc dot gnu dot org 2010-07-06 05:33 --- (In reply to comment #9) Even shorter: integer, parameter :: N = 256 Note: N=256 is the smallest number for which it fails. Workaround: Use a sufficiently large -fmax-array-constructor=n, e.g. -fmax-array-constructor=65536 (65536 = 256**2; default is 65535) Side remark: It is not particularly efficient to use a huge static variable. If you use PARAMETER (as in your example), that leads to huge .mod files and on assignment to large code. If you use a normal variable (with [implied] SAVE), a non-zero initializer will be written as is into the assembler file, which makes the binary unnecessarily large. For variables, using initialization at run time is the better choice for large arrays. The best solution for PARAMETER depends on the purpose. -- burnus at gcc dot gnu dot org changed: What|Removed |Added Keywords||ice-on-valid-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44742