[Bug fortran/54350] [4.8 Regression] FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal compiler error) at r190586
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54350 --- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 07:43:31 UTC --- Author: burnus Date: Fri Aug 24 07:43:23 2012 New Revision: 190641 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190641 Log: 2012-08-24 Tobias Burnus bur...@net-b.de PR fortran/54350 * trans-array.c (free_ss_info): Free data.array.subscript. (gfc_free_ss): No longer free data.array.subscript. (walk_coarray): New function, moved from trans-intrinsic.c (gfc_conv_expr_descriptor): Walk array descriptor instead of taking passed ss. (get_array_ctor_all_strlen, gfc_add_loop_ss_code, gfc_conv_array_parameter): Update call and cleanup ss handling. * trans-array.h (gfc_conv_expr_descriptor, gfc_conv_array_parameter): Update prototype. * trans-expr.c (gfc_conv_derived_to_class, conv_isocbinding_procedure, gfc_conv_procedure_call, gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign, gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and clean up. * trans-intrinsic.c (walk_coarray): Moved to trans-array.c (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_len, gfc_conv_intrinsic_size, gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size, gfc_conv_intrinsic_transfer, gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_loc, conv_intrinsic_move_alloc): Update calls. * trans-io.c (gfc_convert_array_to_string, set_internal_unit, gfc_trans_transfer): Ditto. * trans-stmt.c (gfc_conv_elemental_dependencies, gfc_trans_sync, trans_associate_var, gfc_trans_pointer_assign_need_temp): Ditto. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-array.h trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans-intrinsic.c trunk/gcc/fortran/trans-io.c trunk/gcc/fortran/trans-stmt.c
[Bug fortran/54350] [4.8 Regression] FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal compiler error) at r190586
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54350 Tobias Burnus burnus at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 07:44:55 UTC --- FIXED. Sorry for the breakage, which took a bit longer than expected to fix. At least, gfortran now leaks much less gfc_ss structs then it did before.
[Bug fortran/54350] [4.8 Regression] FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal compiler error) at r190586
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54350 Tobias Burnus burnus at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 07:43:31 UTC --- Author: burnus Date: Fri Aug 24 07:43:23 2012 New Revision: 190641 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190641 Log: 2012-08-24 Tobias Burnus bur...@net-b.de PR fortran/54350 * trans-array.c (free_ss_info): Free data.array.subscript. (gfc_free_ss): No longer free data.array.subscript. (walk_coarray): New function, moved from trans-intrinsic.c (gfc_conv_expr_descriptor): Walk array descriptor instead of taking passed ss. (get_array_ctor_all_strlen, gfc_add_loop_ss_code, gfc_conv_array_parameter): Update call and cleanup ss handling. * trans-array.h (gfc_conv_expr_descriptor, gfc_conv_array_parameter): Update prototype. * trans-expr.c (gfc_conv_derived_to_class, conv_isocbinding_procedure, gfc_conv_procedure_call, gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign, gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and clean up. * trans-intrinsic.c (walk_coarray): Moved to trans-array.c (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_len, gfc_conv_intrinsic_size, gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size, gfc_conv_intrinsic_transfer, gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_loc, conv_intrinsic_move_alloc): Update calls. * trans-io.c (gfc_convert_array_to_string, set_internal_unit, gfc_trans_transfer): Ditto. * trans-stmt.c (gfc_conv_elemental_dependencies, gfc_trans_sync, trans_associate_var, gfc_trans_pointer_assign_need_temp): Ditto. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-array.h trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans-intrinsic.c trunk/gcc/fortran/trans-io.c trunk/gcc/fortran/trans-stmt.c --- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 07:44:55 UTC --- FIXED. Sorry for the breakage, which took a bit longer than expected to fix. At least, gfortran now leaks much less gfc_ss structs then it did before.
[Bug c++/54361] Compiling for c++11 gives a warning on scanf() with %as format specifier
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54361 --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 08:02:39 UTC --- It has a lot with C++11, if you read that standard, you'll see that for C library stuff it refers to ISO C99 standard. Therefore, using %as is really invalid in C++11 programs.
[Bug c/54363] [4.6/4.7/4.8 Regression] ICE when compiling malformed struct initializers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-08-24 CC||bonzini at gnu dot org, ||jakub at gcc dot gnu.org, ||jsm28 at gcc dot gnu.org Target Milestone|--- |4.6.4 Summary|ICE when compiling |[4.6/4.7/4.8 Regression] |malformed struct|ICE when compiling |initializers|malformed struct ||initializers Ever Confirmed|0 |1 --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 08:35:15 UTC --- Caused by http://gcc.gnu.org/viewcvs?root=gccview=revrev=145256 The problem is that a COMPOUND_LITERAL_EXPR doesn't have CONSTRUCTOR as its DECL_INITIAL. Either this is a FE bug (tree.def says that it should be CONSTRUCTOR), or we should just tweak optimize_compound_literals_in_ctor not to recurse if TREE_CODE (init) is not CONSTRUCTOR. Correct source would be struct bla{char **a;};void test(void){struct bla b = {.a =(char*[]){a,b}};}
[Bug target/52990] bootstrap ia64 cross-compiler gcc (static C-only) includes a broken libgcc.a due to libunwind dependencies
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52990 Thierry Reding thierry.red...@avionic-design.de changed: What|Removed |Added CC||thierry.reding@avionic-desi ||gn.de --- Comment #1 from Thierry Reding thierry.red...@avionic-design.de 2012-08-24 08:43:16 UTC --- I've seen this problem when building glibc as well. It tries to build a number of utilities and link them against libgcc with the missing symbols that you mentioned. In the scripts that I use to build the toolchains, I was able to solve this by adding a configparms file to the build directory that sets build-programs = no. After the final gcc is built, libunwind is properly installed and can at least be used for dynamically linked executables. I've also tested that the resulting gcc can link static executables, though I'm not able to execute because I lack the hardware.
[Bug c/54363] [4.6/4.7/4.8 Regression] ICE when compiling malformed struct initializers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363 --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 09:08:09 UTC --- --- gimplify.c.jj2012-08-15 10:55:33.0 +0200 +++ gimplify.c2012-08-24 11:01:55.253815273 +0200 @@ -3857,7 +3857,8 @@ optimize_compound_literals_in_ctor (tree if (!TREE_ADDRESSABLE (value) !TREE_ADDRESSABLE (decl) - init) + init + TREE_CODE (init) == CONSTRUCTOR) newval = optimize_compound_literals_in_ctor (init); } if (newval == value) fixes the ICE, we end up with b.a = (char **) a.
[Bug c++/21603] C++ front-end accepts new with VLAs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21603 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED CC|gcc-bugs at gcc dot gnu.org | Resolution||FIXED Target Milestone|--- |4.8.0 --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 11:16:38 UTC --- Mainline is now fine.
[Bug middle-end/54364] New: Tail call jumps not threaded
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54364 Bug #: 54364 Summary: Tail call jumps not threaded Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: ste...@gcc.gnu.org Consider: #undef ONE #undef TEN #undef HUN #define ONE(X) \ void use##X (int); #define TEN(X) \ ONE(X##0) ONE(X##1) ONE(X##2) ONE(X##3) ONE(X##4) \ ONE(X##5) ONE(X##6) ONE(X##7) ONE(X##8) ONE(X##9) #define HUN \ TEN(0) TEN(1) TEN(2) TEN(3) TEN(4)\ TEN(5) TEN(6) TEN(7) TEN(8) TEN(9) TEN(1) #undef ONE #undef TEN #undef HUN #define ONE(X) \ case 1##X##1 ... 1##X##2: use##X (c); break; #define TEN(X) \ ONE(X##0) ONE(X##1) ONE(X##2) ONE(X##3) ONE(X##4) \ ONE(X##5) ONE(X##6) ONE(X##7) ONE(X##8) ONE(X##9) #define HUN \ TEN(0) TEN(1) TEN(2) TEN(3) TEN(4)\ TEN(5) TEN(6) TEN(7) TEN(8) TEN(9) void foo (int c) { switch (c) { TEN(1) default: break; } } With r190601, cc1 -Os -fno-jump-tables, this compiles to: .file t.c .text .globl foo .type foo, @function foo: .LFB0: cmpl$1142, %edi jg .L13 cmpl$1141, %edi jge .L8 cmpl$1112, %edi jg .L14 cmpl$, %edi jge .L11 leal-1101(%rdi), %eax cmpl$1, %eax ja .L1 jmp .L16 .L14: cmpl$1121, %edi jl .L1 cmpl$1122, %edi jle .L10 leal-1131(%rdi), %eax cmpl$1, %eax ja .L1 jmp .L17 .L13: cmpl$1172, %edi jg .L15 cmpl$1171, %edi jge .L5 cmpl$1151, %edi jl .L1 cmpl$1152, %edi jle .L7 leal-1161(%rdi), %eax cmpl$1, %eax ja .L1 jmp .L18 .L15: cmpl$1181, %edi jl .L1 cmpl$1182, %edi jle .L4 leal-1191(%rdi), %eax cmpl$1, %eax ja .L1 jmp .L19 .L16: jmp use10 .L11: jmp use11 .L10: jmp use12 .L17: jmp use13 .L8: jmp use14 .L7: jmp use15 .L18: jmp use16 .L5: jmp use17 .L4: jmp use18 .L19: jmp use19 .L1: ret .LFE0: .size foo, .-foo .section.eh_frame,a,@progbits .Lframe1: .long .LECIE1-.LSCIE1 .LSCIE1: .long 0 .byte 0x3 .string zR .uleb128 0x1 .sleb128 -8 .uleb128 0x10 .uleb128 0x1 .byte 0x3 .byte 0xc .uleb128 0x7 .uleb128 0x8 .byte 0x90 .uleb128 0x1 .align 8 .LECIE1: .LSFDE1: .long .LEFDE1-.LASFDE1 .LASFDE1: .long .LASFDE1-.Lframe1 .long .LFB0 .long .LFE0-.LFB0 .uleb128 0 .align 8 .LEFDE1: .ident GCC: (GNU) 4.8.0 20120822 (experimental) [trunk \ revision 190601] .section.note.GNU-stack,,@progbits Note the missed jump threading opportunities from the case decision tree to the tail calls. The RTL for one of the missed tail calls looks like this: ... # BLOCK 11 freq:157 seq:9 # PRED: 10 [50.0%] (FALLTHRU) # SUCC: 25 [100.0%] # 145 pc=L144 jmp .L17# 145 jump[length = 2] ... # BLOCK 25 freq:909 seq:23 # PRED: 11 [100.0%] .L17: # SUCC: EXIT [100.0%] (ABNORMAL,SIBCALL) # 79 call ... # REG_DEAD: di:SI jmp use13 # 79*sibcall[length = 5] I am guessing that jumps to calls are not handled as jump threading opportunities because the call_insn isn't recognized as just a jump.
[Bug middle-end/54364] Tail call jumps not threaded
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54364 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 11:44:53 UTC --- It often isn't just a jump, in many cases it is a lot of insns, to restore stack, etc. You don't know that until prologues/epilogues are expanded.
[Bug c++/6030] References to functions as non-type template args
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6030 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC|gcc-bugs at gcc dot gnu.org | Resolution||FIXED --- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 11:47:42 UTC --- Fixed long time ago: lately the error message explicitly says: error: ‘int()’ is not a valid type for a template non-type parameter
[Bug c++/52269] [C++11] Body of constexpr function templates instantiated too eagerly in unevaluated operands
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52269 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-08-24 Ever Confirmed|0 |1
[Bug c++/52597] [C++11] missing diagnostics for invalid use of non-static member function in decltype
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52597 --- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 11:53:19 UTC --- As the testcase is rejected by 4,7 and trunk, can we close this?
[Bug c++/52816] [C++11] Access to private members inside decltype in the signature of a member template causes access control error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52816 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Known to work||4.8.0 Known to fail||4.7.1 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 11:54:54 UTC --- This compiles OK with trunk
[Bug rtl-optimization/54365] New: ARM optimization bug when pointer arithmetic wraps
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365 Bug #: 54365 Summary: ARM optimization bug when pointer arithmetic wraps Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: major Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@undo-software.com Created attachment 28077 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28077 Simple program showing the bug. Apologies if I've got the wrong component - it was a bit of a guess! The attached program shows a fairly simple, but I think nasty, bug in GCC on ARM. It seems to be present on at least versions 4.4.5, 4.5.1 and 4.6.3. If compiled without optimisation, it behaves as I expect: adding 4 to a pointer such that it wraps gives a pointer that is less than the original. With -O2, that is not the case. I note that the problem does not occur if I use integer types. Transcript follows (.c file attached separately and in transcript below for convenience): $ cat compilerbug.c #include stdio.h int main( void) { unsigned char* addr = (unsigned char*)0xfffe; unsigned len = 4; if ( addr+len addr) { printf( it wraps\n); } else { printf( no wrap\n); } return 0; } $ gcc --version gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ gcc compilerbug.c $ ./a.out it wraps $ # As expected. Now let's try with optimisations. $ gcc -O2 compilerbug.c $ ./a.out no wrap $ # Oh dear!
[Bug c++/54366] New: [meta-bug] decltype issues
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54366 Bug #: 54366 Summary: [meta-bug] decltype issues Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: meta-bug Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org Depends on: 45282, 51157, 51786, 52748, 53311, 53721, 54359
[Bug middle-end/54364] Tail call jumps not threaded
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54364 --- Comment #2 from stevenb.gcc at gmail dot com stevenb.gcc at gmail dot com 2012-08-24 12:01:40 UTC --- With -O2 this is cleaned up by bb-reorder.
[Bug c++/51412] [c++0x] Broken diagnostic with invalid lambda expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51412 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-08-24 Ever Confirmed|0 |1 Known to fail||4.7.1, 4.8.0
[Bug c++/53551] -Wunused-local-typedefs misses uses
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53551 --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 12:07:57 UTC --- Dodji, can we do something about this?
[Bug c++/54367] New: [meta-bug] [C++11] lambda expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54367 Bug #: 54367 Summary: [meta-bug] [C++11] lambda expressions Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: meta-bug Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org Depends on: 41933, 50939, 51412, 51422, 51494, 51884, 52014, 52026, 52374, 52613, 52619, 53486, 54170, 54276
[Bug c++/54359] [C++0x] decltype in member function's trailing return type when defined outside of class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54359 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 12:10:26 UTC --- Done, see PR 54366 and PR 54367 (I probably missed some that could be added to the meta bugs)
[Bug c++/54359] [C++0x] decltype in member function's trailing return type when defined outside of class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54359 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||paolo.carlini at oracle dot ||com --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 12:21:21 UTC --- Great. I'm adding to the decltype one 16375 too to be safe, but it's worth another look.
[Bug c++/54198] [4.8 Regression] error: invalid use of incomplete type when building Chromium
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198 --- Comment #4 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-08-24 12:37:21 UTC --- Ping. Any update on this issue?
[Bug target/54222] [avr] Implement fixed-point support
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54222 --- Comment #4 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-08-24 12:42:53 UTC --- Author: gjl Date: Fri Aug 24 12:42:48 2012 New Revision: 190644 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190644 Log: libgcc/ PR target/54222 * config/avr/lib1funcs-fixed.S: New file. * config/avr/lib1funcs.S: Include it. Undefine some divmodsi after they are used. (neg2, neg4): New macros. (__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants. (__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants. (__umulhisi3): Speed up MUL variant if there is enough flash. * config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's avr-modes.def. * config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf, _fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf, _fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq, _fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3, _mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3, _udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3. (LIB2FUNCS_EXCLUDE): Add supported functions. gcc/ PR target/54222 * avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes. * avr/avr-fixed.md: New file. * avr/avr.md: Include it. (cc): Add: minus. (adjust_len): Add: minus, minus64, ufract, sfract. (ALL1, ALL2, ALL4, ORDERED234): New mode iterators. (MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA. (MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA. (pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3, subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi, cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1. (*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3, ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3, *lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all 16-bit modes in ALL2. (subhi3, casesi, strlenhi): Add clobber when expanding minus:HI. (*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const, ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const, *reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all 32-bit modes in ALL4. * avr-dimode.md (ALL8): New mode iterator. (adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn, subdi3_const_insn, cbranchdi4, compare_di2, compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn, ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle all 64-bit modes in ALL8. * config/avr/avr-protos.h (avr_to_int_mode): New prototype. (avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes. * config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to... (avr_fixed_point_supported_p): ...this new static function. (TARGET_BUILD_BUILTIN_VA_LIST): Define to... (avr_build_builtin_va_list): ...this new static function. (avr_adjust_type_node): New static function. (avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P. (avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new pseudo instead of gen_rtx_MINUS. (avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED. (notice_update_cc): Handle: CC_MINUS. (output_movqi): Generalize to handle respective fixed-point modes. (output_movhi, output_movsisf, avr_2word_insn_p): Ditto. (avr_out_compare, avr_out_plus_1): Also handle fixed-point modes. (avr_assemble_integer): Ditto. (output_reload_in_const, output_reload_insisf): Ditto. (avr_compare_pattern): Skip all modes 4 bytes. (avr_2word_insn_p): Skip movuqq_insn, movqq_insn. (avr_out_fract, avr_out_minus, avr_out_minus64): New functions. (avr_to_int_mode): New function. (adjust_insn_length): Handle: ADJUST_LEN_SFRACT, ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64. * config/avr/predicates.md (const0_operand): Allow const_fixed. (const_operand, const_or_immediate_operand): New. (nonmemory_or_const_operand): New. * config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ): New constraints. * config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define. Added: trunk/gcc/config/avr/avr-fixed.md trunk/libgcc/config/avr/lib1funcs-fixed.S Modified: trunk/gcc/ChangeLog trunk/gcc/config/avr/avr-dimode.md trunk/gcc/config/avr/avr-modes.def trunk/gcc/config/avr/avr-protos.h trunk/gcc/config/avr/avr.c trunk/gcc/config/avr/avr.h trunk/gcc/config/avr/avr.md trunk/gcc/config/avr/constraints.md trunk/gcc/config/avr/predicates.md trunk/libgcc/ChangeLog trunk/libgcc/config/avr/avr-lib.h trunk/libgcc/config/avr/lib1funcs.S trunk/libgcc/config/avr/t-avr
[Bug c++/52597] [C++11] missing diagnostics for invalid use of non-static member function in decltype
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52597 --- Comment #4 from Hubert Tong hstong at ca dot ibm.com 2012-08-24 12:42:58 UTC --- I find the message to be confusing.
[Bug target/54222] [avr] Implement fixed-point support
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54222 --- Comment #5 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-08-24 13:01:58 UTC --- Author: gjl Date: Fri Aug 24 13:01:54 2012 New Revision: 190646 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190646 Log: PR target/54222 * config/avr/t-avr (conv_X): Rename to func_X. Modified: trunk/libgcc/ChangeLog trunk/libgcc/config/avr/t-avr
[Bug debug/52857] DW_OP_GNU_regval_type is generated with INVALID_REGNUM
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52857 --- Comment #8 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-08-24 13:22:02 UTC --- Author: hjl Date: Fri Aug 24 13:21:55 2012 New Revision: 190647 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190647 Log: Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr gcc/ PR debug/52857 * dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and frame_pointer_rtx for based_loc_descr. gcc/testsuite/ PR debug/52857 * gcc.target/i386/pr52857-1.c: New. * gcc.target/i386/pr52857-2.c: Likewise. Added: trunk/gcc/testsuite/gcc.target/i386/pr52857-1.c trunk/gcc/testsuite/gcc.target/i386/pr52857-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c trunk/gcc/testsuite/ChangeLog
[Bug c++/54368] New: [c++0x] Internal error when passing an identifier in static_assert instead of string-literal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54368 Bug #: 54368 Summary: [c++0x] Internal error when passing an identifier in static_assert instead of string-literal Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: im.ra...@gmail.com Created attachment 28078 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28078 Automatic created attachment: /tmp/ccWAFQ2I.out This simple code causes an internal error: char *string = 1; int main() { static_assert(0, string); } This is the result of my compiling attempt: $ g++ --std=c++11 bug.cc bug.cc: In function 'int main()': bug.cc:4:22: error: expected string-literal before 'string' bug.cc:4:22: error: expected ')' before 'string' bug.cc:4:5: internal compiler error: tree check: expected string_cst, have error_mark in finish_static_assert, at cp/semantics.c:5135 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions. Preprocessed source stored into /tmp/cc3YRBkR.out file, please attach this to your bugreport. razinov@razinov-desktop ~/tmp $ As you can find, EVERY type of the variable string causes the same error. Environment: gcc version 4.8.0 20120314 (experimental) [trunk revision 185382] (Ubuntu/Linaro 20120314-0ubuntu2)
[Bug fortran/25708] Module loading is not good at all
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25708 Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch changed: What|Removed |Added Depends on||40958 --- Comment #21 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 2012-08-24 14:00:40 UTC --- I did another timing experiment on compiling CP2K. I found that on my server, compiling with -fsyntax-only is as fast as just compiling at -O0. I believe the reason for this is that module reading is dominating the compile time. In CP2K each module is included only once per file, so I think it is the efficiency of reading the module that matters most. My guess would be that the human readable format of the .mod file is the source of most inefficiency. Is it still important to the development of gfortran that the .mod file is in this form ? If I count the number of times a module is used, and multiply that with the size, I have about 1Gb of .mod files being parsed per CP2K compile (for about 35Mb of Fortran).
[Bug c++/54198] [4.8 Regression] error: invalid use of incomplete type when building Chromium
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Keywords||rejects-valid Status|UNCONFIRMED |NEW Last reconfirmed||2012-08-24 Ever Confirmed|0 |1
[Bug c++/52597] [C++11] confusing diagnostics for invalid use of non-static member function in decltype
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52597 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Keywords|accepts-invalid,|diagnostic |rejects-valid, wrong-code | Status|UNCONFIRMED |NEW Last reconfirmed||2012-08-24 Version|4.6.0 |4.7.1 Summary|[C++11] missing diagnostics |[C++11] confusing |for invalid use of |diagnostics for invalid use |non-static member function |of non-static member |in decltype |function in decltype Ever Confirmed|0 |1 Known to fail|4.3.2, 4.4.0, 4.5.0, 4.6.0 | --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 14:06:45 UTC --- OK, let's change it from an accepts-invalid with 4.6 to a diagnostic issue with 4.7
[Bug c++/54368] [c++0x] Internal error when passing an identifier in static_assert instead of string-literal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54368 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 14:08:16 UTC --- works fine with 4.7.1 or 4.8 20120819
[Bug c++/54368] [c++0x] Internal error when passing an identifier in static_assert instead of string-literal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54368 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 14:17:48 UTC --- Then closing.
[Bug target/52990] bootstrap ia64 cross-compiler gcc (static C-only) includes a broken libgcc.a due to libunwind dependencies
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52990 --- Comment #2 from Mike Frysinger vapier at gentoo dot org 2012-08-24 15:41:11 UTC --- (In reply to comment #1) yes, the build-programs = no hack is also what i do. from my tests in the past, the cross-compiler produced usable executables. note, there is an ia64 simulator that you can boot an ia64 kernel + userland in to do testing (if you really want). http://ski.sourceforge.net/ http://www.gelato.unsw.edu.au/IA64wiki/SkiSimulator
[Bug c++/51660] ICE on function missing argument list
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51660 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 16:22:49 UTC --- No ICE anymore in mainline and 4_7-branch.
[Bug c++/51661] ICE when template class list repeated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51661 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.8.0 Resolution||FIXED Target Milestone|--- |4.8.0 --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 16:24:51 UTC --- No ICE anymore in mainline.
[Bug rtl-optimization/54369] New: Delayed-branch pass in reorg.c removes too many instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 Bug #: 54369 Summary: Delayed-branch pass in reorg.c removes too many instructions Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: chaoyin...@gcc.gnu.org Created attachment 28079 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28079 A simple test for an issue in reorg.c Please check this example when using GCC 4.6 for mips-linux-gnu. (I think the issue is in GCC 4.7 and later as well. But due to the basic block ordering, I cannot reproduce this issue.) Ex: # /gcc46branch/build-mips/gcc/cc1plus -quiet Bug.i -o Bug.s -mips32r2 -O2 # cat Bug.s _Z3bugP9ValueRTRK: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x,0 .fmask 0x,0 .setnoreorder .setnomacro lw $2,0($4) - lw $2,0($2) - (NO RETURN IN THIS FUNCTION.) .setmacro .setreorder .end_Z3bugP9ValueRTRK .cfi_endproc $LFE13: .size _Z3bugP9ValueRTRK, .-_Z3bugP9ValueRTRK .ident GCC: (GNU) 4.6.4 20120823 (prerelease) [gcc-4_6-branch revision 190613] The delayed-branch pass in reorg.c is too aggressive, such that a return instruction and others are removed. From debugging code in reorg.c: delete_jump() - delete_computation() - delete_related_insn(), I think we should not use delete_related_insn() that removes branches and all the following instructions. A simple fix may be just using delete_insn() in delete_computation(). Ex: # svn diff reorg.c Index: reorg.c === --- reorg.c (revision 190636) +++ reorg.c (working copy) @@ -3298,7 +3298,7 @@ delete_prior_computation (note, insn); } - delete_related_insns (insn); + delete_insn (insn); } /* If all INSN does is set the pc, delete it, Ex: (Bug.s after this fix.) # cat Bug.s _Z3bugP9ValueRTRK: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x,0 .fmask 0x,0 .setnoreorder .setnomacro lw $2,0($4) lw $2,0($2) $L4: j $31 - OK srl $2,$2,8 - OK .setmacro .setreorder .end_Z3bugP9ValueRTRK .cfi_endproc $LFE13: .size _Z3bugP9ValueRTRK, .-_Z3bugP9ValueRTRK .ident GCC: (GNU) 4.6.4 20120823 (prerelease) [gcc-4_6-branch revision 190613] Thanks!
[Bug rtl-optimization/54365] ARM optimization bug when pointer arithmetic wraps
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365 --- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-24 18:23:50 UTC --- This code as far as I Know is undefined. Pointer arithmetic overflow is undefined and not wrapping. Mainly because there is no way to add a positive number to an object and get back a NULL pointer.
[Bug rtl-optimization/54365] ARM optimization bug when pointer arithmetic wraps
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365 --- Comment #2 from Greg Law g...@undo-software.com 2012-08-24 18:38:24 UTC --- Yes, I think you're right: I hadn't appreciated that. Still, even though it's undefined, it's slightly strange behaviour for the compiler to adopt. I guess it's reasonable to close this bug as invalid though if you consider that the most appropriate action.
[Bug rtl-optimization/54365] ARM optimization bug when pointer arithmetic wraps
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jakub at gcc dot gnu.org Resolution||INVALID --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 18:42:46 UTC --- Invalid.
[Bug c++/49931] bug when use named operators
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49931 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-08-24 Ever Confirmed|0 |1 --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 21:06:59 UTC --- Confirmed.
[Bug c++/50921] GCC cannot find dependent conversion-function-id even if there's a using declaration for it
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50921 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||fabien at gcc dot gnu.org --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 21:11:13 UTC --- Fabien, you may be interested in this one.
[Bug c++/51421] [c++0x] ICE with invalid use of auto
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51421 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |paolo.carlini at oracle dot |gnu.org |com Target Milestone|--- |4.8.0 --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 21:15:44 UTC --- In mainline we now produce useful diagnostics before ICEing, likely the ICE itself is much easier to fix.
[Bug c/54355] ICE on invalid code in switch statement
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54355 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 21:45:28 UTC --- Author: jakub Date: Fri Aug 24 21:45:22 2012 New Revision: 190656 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190656 Log: PR c/54355 * c-decl.c (c_parser_label): Pass true as nested and fix up comments for nested and empty_ok arguments in the call to c_parser_declaration_or_fndef. * gcc.dg/pr54355.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr54355.c Modified: trunk/gcc/c/ChangeLog trunk/gcc/c/c-parser.c trunk/gcc/testsuite/ChangeLog
[Bug c/54363] [4.6/4.7/4.8 Regression] ICE when compiling malformed struct initializers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 21:46:24 UTC --- Author: jakub Date: Fri Aug 24 21:46:17 2012 New Revision: 190657 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190657 Log: PR c/54363 * gimplify.c (optimize_compound_literals_in_ctor): Only recurse if init is a CONSTRUCTOR. * gcc.dg/pr54363.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr54363.c Modified: trunk/gcc/ChangeLog trunk/gcc/gimplify.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/54370] New: error: non-trivial conversion in unary operation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54370 Bug #: 54370 Summary: error: non-trivial conversion in unary operation Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: chiliki...@gmail.com The following: MODULE M CONTAINS LOGICAL(C_BOOL) FUNCTION L() BIND(C) USE, INTRINSIC :: ISO_C_BINDING L = .FALSE. END FUNCTION SUBROUTINE S() DO WHILE (L()) ENDDO END END (also in attached file) Results in: $ gfortran -c test.f08 test.f08: In function 's': test.f08:10:0: error: non-trivial conversion in unary operation logical(kind=4) logical(kind=1) D.1858 = ~D.1857; test.f08:10: confused by earlier errors, bailing out With compiler: $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/gcc-4.7.0/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/opt/gcc-4.7.0/ Thread model: posix gcc version 4.7.0 (GCC) The same error appears in version 4.7.1. Compilation works in version 4.6.3 without any errors.
[Bug fortran/54370] error: non-trivial conversion in unary operation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54370 --- Comment #1 from Kirill Chilikin chilikin.k at gmail dot com 2012-08-24 21:51:19 UTC --- Created attachment 28080 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28080 testcase
[Bug target/28896] -fstack-limit-symbol and m68k and non 68020
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896 --- Comment #19 from Larry Baker baker at usgs dot gov 2012-08-25 00:28:56 UTC --- I plan to start testing my patches on a ColdFire uClinux system on Monday. In the mean time, I am unsure whether my code is correct for the -fPIC -mno-sep-data case. I do not know if a5 is a volatile register, or if, instead, it must be saved/restored. It is possible (as shown by my example) that a5 might otherwise not be needed by the code in a procedure. In that case, my code is not enabling the save/restore of a5, which would be wrong if a5 is not volatile. This is not a problem for -msep-data (implies -fPIC), since a5 already has the correct value, and is not altered by my code. I will investigate whether a5 is volatile. If anyone knows the answer already, please add a comment. If anyone can recommend what has to be called or modified to force a5 to be saved/restored, I would appreciate hearing about that as well. Thank you, Larry Baker
[Bug target/28896] -fstack-limit-symbol and m68k and non 68020
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896 Larry Baker baker at usgs dot gov changed: What|Removed |Added Attachment #27998|0 |1 is obsolete|| --- Comment #20 from Larry Baker baker at usgs dot gov 2012-08-25 02:22:30 UTC --- Created attachment 28081 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28081 Patch for trunk version 2012-08-12 of gcc/config/m68k/m68k.c Correct call to plus_constant() (Pmode was missing). Change 4 to INCOMING_FRAME_SP_OFFSET in call to plus_constant(). (I am assuming the hard-coded 4 is the symbolic constant INCOMING_FRAME_SP_OFFSET. Please let me know if that is wrong.)
[Bug c++/51213] [C++11][DR 1170] Access control checking has to be done under SFINAE conditions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213 --- Comment #13 from Jason Merrill jason at gcc dot gnu.org 2012-08-25 03:30:16 UTC --- Author: jason Date: Sat Aug 25 03:30:11 2012 New Revision: 190664 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190664 Log: PR c++/51213 (again) * pt.c (deduction_tsubst_fntype): Remove. (fn_type_unification): Check deduction depth and call instantiate_template here. Handle default argument access checks. (determine_specialization): Suppress access control. (tsubst_decl): Check for excessive deduction depth. (recheck_decl_substitution): Make sure access control is on. (type_unification_real): Don't mess with access deferring here. (get_bindings): Adjust for fn_type_unification return type. * call.c (enum rejection_reason_code): Drop rr_template_instantiation. (template_instantiation_rejection): Remove. (struct rejection_reason): Change targs to num_targs. (template_unification_rejection, print_z_candidate): Adjust. (add_template_candidate_real): Adjust for fn_type_unification change. * class.c (resolve_address_of_overloaded_function): Likewise. * cp-tree.h: Adjust declaration. Added: trunk/gcc/testsuite/g++.dg/cpp0x/fntmpdefarg3.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/class.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/pt.c
[Bug middle-end/54371] New: [4.8 Regression] a lot of testcase failures on mips64-linux-gnu (soft-float)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371 Bug #: 54371 Summary: [4.8 Regression] a lot of testcase failures on mips64-linux-gnu (soft-float) Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: pins...@gcc.gnu.org In the last week something caused lots of failures on mips64-linux-gnu. FAIL: gcc.dg/cleanup-10.c execution test FAIL: gcc.dg/cleanup-11.c execution test FAIL: gcc.dg/cleanup-12.c execution test FAIL: gcc.dg/cleanup-13.c execution test FAIL: gcc.dg/cleanup-5.c execution test FAIL: gcc.dg/cleanup-8.c execution test FAIL: gcc.dg/cleanup-9.c execution test FAIL: gcc.dg/duff-3.c execution test FAIL: 23_containers/vector/bool/modifiers/insert/31370.cc execution test FAIL: 23_containers/vector/capacity/2.cc execution test FAIL: 23_containers/vector/capacity/29134-2.cc execution test FAIL: 23_containers/vector/capacity/8230.cc execution test FAIL: 23_containers/vector/capacity/resize/1.cc execution test FAIL: 23_containers/vector/cons/4.cc execution test FAIL: 23_containers/vector/element_access/1.cc execution test FAIL: 23_containers/forward_list/requirements/exception/basic.cc execution test FAIL: 23_containers/vector/ext_pointer/modifiers/element.cc execution test FAIL: 23_containers/forward_list/requirements/exception/propagation_consistent.cc execution test --- CUT --- The last known good compiler was from: LAST_UPDATED: Wed Aug 15 07:04:20 UTC 2012 (revision 190406)
[Bug middle-end/54371] [4.8 Regression] a lot of testcase failures on mips64-linux-gnu (soft-float)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Keywords||wrong-code Target||mips*64-linux-gnu Target Milestone|--- |4.8.0
[Bug middle-end/54371] [4.8 Regression] a lot of testcase failures on mips64-linux-gnu (soft-float) n64 only
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Summary|[4.8 Regression] a lot of |[4.8 Regression] a lot of |testcase failures on|testcase failures on |mips64-linux-gnu|mips64-linux-gnu |(soft-float)|(soft-float) n64 only --- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-25 04:54:40 UTC --- This is only for n64. n32 is fine.
[Bug middle-end/54371] [4.8 Regression] jump tables are broken on n64 mips64-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Summary|[4.8 Regression] a lot of |[4.8 Regression] jump |testcase failures on|tables are broken on n64 |mips64-linux-gnu|mips64-linux-gnu |(soft-float) n64 only | --- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-25 05:00:18 UTC --- It is obvious what is wrong from the assembly differences of testsuite/gcc.c-torture/execute/ashldi-1.c : --- old.s 2012-08-25 04:57:12.0 + +++ new.s 2012-08-25 04:57:24.0 + @@ -131,17 +131,17 @@ constant_shift: nop lwu $2,8($fp) - dsll$3,$2,3 + dsll$3,$2,2 ld $2,%got_page(.L69)($28) daddiu $2,$2,%got_ofst(.L69) daddu $2,$3,$2 - ld $2,0($2) + lw $2,0($2) daddu $2,$2,$28 j $2 nop .rdata - .align 3 + .align 2 .align 2 .L69: .gpdword.L72 CUT We went from loading a 64bit word (correct) to loading only a 32bit word incorrect. This is for a jump table.
[Bug target/54371] [4.8 Regression] jump tables are broken on n64 mips64-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Target|mips*64-linux-gnu |mips64-linux-gnu Component|middle-end |target --- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-25 05:10:31 UTC --- This is a target issue as mentioned on http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01722.html