[Bug c++/18016] Warn about member variables initialized with itself
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18016 --- Comment #10 from Manuel López-Ibáñez 2010-12-22 09:17:42 UTC --- Like others commenting here, I don't understand why a(a) should not warn only with -Winit-self. On the other hand, I always thought that Winit-self is a bad idea. Although the patch does not fixes many cases and thus, we shouldn't close this PR, it is better than nothing. About the location, don't we have a better location at that point? I am thinking that X() : j(j), #2 i(i) #3 {} should give warnings in #2 and #3. Please, resubmit and ping. I think this is small enough to go in GCC 4.6.
[Bug fortran/47039] New: Support warnings/errors for non-F features.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47039 Summary: Support warnings/errors for non-F features. Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: thenl...@users.sourceforge.net The Fortran compiler should have a feature like g95 -std=F which only accepts code conforming to the F programming language/Fortran subset.
[Bug fortran/47039] Support warnings/errors for non-F features.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47039 Tobias Burnus changed: What|Removed |Added CC||burnus at gcc dot gnu.org --- Comment #1 from Tobias Burnus 2010-12-22 09:55:28 UTC --- My impression is that none of the core developers would be interested in implementing him-/herself this feature. However, a patch implementing it would be surely accepted. (For me: I think F was a nice idea but it has been superseded by Fortran 2003/2008. At least I would miss the very widely supported TR 15581 [allocatable components/dummy arguments] and certain F2003 (and F2008) features when restricting myself to F, which is a not-widely adopted subset of Fortran 95. -- In terms of development, there are still enough other bugs and missing F2003/2008 which I think have a higher priority.)
[Bug fortran/47040] New: Make error message for empty array constructor more helpful/correct
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47040 Summary: Make error message for empty array constructor more helpful/correct Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: bur...@gcc.gnu.org Found at http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/3f6348b03eaed435 The error message: call print( [ ] ) 1 Error: Empty array constructor at (1) is not allowed is misleading at only empty array constructors without typespec are invalid. Thus, the following is valid: call print( [ real :: ] ) Expect: Error message: "Error: Empty array constructor at (1) is not allowed without type-spec" or "Error: Empty array constructor without type-spec at (1) is not allowed" F2008: R468 array-constructor is (/ ac-spec /) or lbracket ac-spec rbracket R469 ac-spec is type-spec :: or [type-spec ::] ac-value-list "An empty sequence forms a zero-sized array."
[Bug c++/46941] [trans-mem] new/delete operator are unsafe
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46941 --- Comment #1 from Patrick Marlier 2010-12-22 10:11:54 UTC --- Created attachment 22839 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22839 proposed patch to add safe attribute to new delete operators gcc/cp/decl.c: build_library_fn_1() add transaction_safe attribute to new/delete/new []/delete [] declarations if transaction mode is enabled. Patrick Marlier.
[Bug fortran/47040] Make error message for empty array constructor more helpful/correct
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47040 --- Comment #1 from Tobias Burnus 2010-12-22 10:16:56 UTC --- Draft patch - feel free to take it, I am not sure when I have the time to submit it. --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -1054,7 +1054,8 @@ gfc_match_array_constructor (gfc_expr **result) goto done; else { - gfc_error ("Empty array constructor at %C is not allowed"); + gfc_error ("Empty array constructor without type-spec at %C is not " +"allowed"); goto cleanup; } }
[Bug fortran/47023] C_Sizeof: Rejects valid code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47023 Tobias Burnus changed: What|Removed |Added CC||janus at gcc dot gnu.org --- Comment #1 from Tobias Burnus 2010-12-22 10:28:28 UTC --- The reason for rejecting it is: if (verify_c_interop (&arg->ts) != SUCCESS) { gfc_error ("'%s' argument of '%s' intrinsic at %L must be be an " "interoperable data entity", If one looks at decl.c, one see that the check makes only sense for BT_DERIVED - but not for intrinsic variables. In decl.c one afterwards prints only an error for BT_DERIVED - otherwise only a warning is printed (which does not make sense here). And there is additionally a check for string-length == 1. * * * In decl.c, I think one should additionally check for BT_CLASS and reject the following program (currently there is just a "may not be C interoperable" warning as it is not BT_DERIVED). module m use iso_c_binding type t integer(c_int) :: i end type t contains subroutine test(a) bind(c) class(t) :: a end subroutine end
[Bug tree-optimization/43247] [4.3/4.4 Regression] Incorrect optimization while declaring array[1]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43247 --- Comment #10 from Thiago Macieira 2010-12-22 10:35:23 UTC --- This is still not fixed. I can reproduce now with a different testcase, in 4.5.1. However, this time, the same code works fine in 4.4. The reason is again accessing an array out-of-bounds for elements that we know to be there. Pay attention to the way operator== is implemented in the following code. If I compile it with -O1, it prints "true" as it should. If I compile it with -O2, it prints "false". If I compile it with -O1 -finline-small-functions -finline -findirect-inlining -fstrict-overflow and compare the disassembly with -O2 and a suitable list of -fno-*, the code is exactly identical, except for some instructions that should perform the copy of half of m1's data into m3. So in the end the comparison fails due to comparing to garbage. === code === #include template class QGenericMatrix { public: QGenericMatrix(); QGenericMatrix(const QGenericMatrix& other); explicit QGenericMatrix(const T *values); bool operator==(const QGenericMatrix& other) const; private: T m[N][M];// Column-major order to match OpenGL. QGenericMatrix(int) {} // Construct without initializing identity matrix }; template QGenericMatrix::QGenericMatrix(const QGenericMatrix& other) { for (int col = 0; col < N; ++col) for (int row = 0; row < M; ++row) m[col][row] = other.m[col][row]; } template QGenericMatrix::QGenericMatrix(const T *values) { for (int col = 0; col < N; ++col) for (int row = 0; row < M; ++row) m[col][row] = values[row * N + col]; } template bool QGenericMatrix::operator==(const QGenericMatrix& other) const { for (int index = 0; index < N * M; ++index) { if (m[0][index] != other.m[0][index]) return false; } return true; } typedef double qreal; typedef QGenericMatrix<2, 2, qreal> QMatrix2x2; int main(int , char**) { qreal m1Data[] = {0.0, 0.0, 0.0, 0.0}; QMatrix2x2 m1(m1Data); QMatrix2x2 m3 = m1; puts((m1 == m3) ? "true" : "false"); } === code === common args: -fno-exceptions -fno-rtti -fverbose-asm -march=core2 -mfpmath=sse (though x87 math also shows the same problem) prints "true" with: -O1 -finline-small-functions -finline -findirect-inlining -fstrict-overflow prints "false" with: -O2 -fno-align-functions -fno-align-jumps -fno-align-labels -fno-caller-saves -fno-tree-switch-conversion -fno-tree-vrp -fno-crossjumping -fno-cse-follow-jumps -fno-expensive-optimizations -fno-gcse -fno-ipa-cp -fno-ipa-sra -fno-optimize-register-move -fno-optimize-sibling-calls -fno-peephole2 -fno-regmove -fno-reorder-blocks -fno-reorder-functions -fno-rerun-cse-after-loop -fno-schedule-insns2 -fno-strict-aliasing -fno-strict-aliasing -fno-thread-jumps -fno-tree-builtin-call-dce -fno-tree-pre
[Bug fortran/46978] [4.6 Regression] TRANSPOSE with RESHAPE and ALLOCATE: Segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46978 Mikael Morin changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.12.22 12:37:08 AssignedTo|unassigned at gcc dot |mikael at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1
[Bug tree-optimization/45934] [4.6 Regression] g++.old-deja/g++.other/dtor5.C FAILs with -finline-small-functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45934 --- Comment #8 from Martin Jambor 2010-12-22 12:57:00 UTC --- Author: jamborm Date: Wed Dec 22 12:56:54 2010 New Revision: 168168 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168168 Log: 2010-12-22 Martin Jambor PR tree-optimization/45934 PR tree-optimization/46302 PR tree-optimization/46987 * gimple-fold.c (get_base_binfo_for_type): Removed. (gimple_get_relevant_ref_binfo): Likewise. (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality, removed parameter inplace, updated the caller. * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration. * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants. (ipcp_discover_new_direct_edges): Do not do devirtualization based on constants. * ipa-prop.c (compute_known_type_jump_func): Use get_ref_base_and_extent and get_binfo_at_offset instead of gimple_get_relevant_ref_binfo. (compute_known_type_jump_func): Likewise. (update_jump_functions_after_inlining): Do not derive types from constants. (try_make_edge_direct_virtual_call): Likewise. * tree.c (get_binfo_at_offset): Get type from non-artificial fields. * testsuite/g++.dg/ipa/ipcp-ivi-1.C: Removed. * testsuite/g++.dg/ipa/ivinline-6.C: Likewise. * testsuite/g++.dg/otr-fold-1.C: Likewise. * testsuite/g++.dg/otr-fold-2.C: Likewise. * testsuite/g++.dg/tree-ssa/pr43411.C: Xfail dump scan. * testsuite/g++.dg/tree-ssa/pr45605.C: Likewise. * testsuite/g++.dg/tree-ssa/pr46987.C: New test. Added: trunk/gcc/testsuite/g++.dg/tree-ssa/pr46987.C Removed: trunk/gcc/testsuite/g++.dg/ipa/ipcp-ivi-1.C trunk/gcc/testsuite/g++.dg/ipa/ivinline-6.C trunk/gcc/testsuite/g++.dg/otr-fold-1.C trunk/gcc/testsuite/g++.dg/otr-fold-2.C Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-fold.c trunk/gcc/gimple.h trunk/gcc/ipa-cp.c trunk/gcc/ipa-prop.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/tree-ssa/pr43411.C trunk/gcc/testsuite/g++.dg/tree-ssa/pr45605.C trunk/gcc/tree.c
[Bug tree-optimization/46987] [4.6 Regression] g++.dg/torture/covariant-1.C ICE: double free or corruption with -fno-inline
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46987 --- Comment #5 from Martin Jambor 2010-12-22 12:57:00 UTC --- Author: jamborm Date: Wed Dec 22 12:56:54 2010 New Revision: 168168 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168168 Log: 2010-12-22 Martin Jambor PR tree-optimization/45934 PR tree-optimization/46302 PR tree-optimization/46987 * gimple-fold.c (get_base_binfo_for_type): Removed. (gimple_get_relevant_ref_binfo): Likewise. (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality, removed parameter inplace, updated the caller. * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration. * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants. (ipcp_discover_new_direct_edges): Do not do devirtualization based on constants. * ipa-prop.c (compute_known_type_jump_func): Use get_ref_base_and_extent and get_binfo_at_offset instead of gimple_get_relevant_ref_binfo. (compute_known_type_jump_func): Likewise. (update_jump_functions_after_inlining): Do not derive types from constants. (try_make_edge_direct_virtual_call): Likewise. * tree.c (get_binfo_at_offset): Get type from non-artificial fields. * testsuite/g++.dg/ipa/ipcp-ivi-1.C: Removed. * testsuite/g++.dg/ipa/ivinline-6.C: Likewise. * testsuite/g++.dg/otr-fold-1.C: Likewise. * testsuite/g++.dg/otr-fold-2.C: Likewise. * testsuite/g++.dg/tree-ssa/pr43411.C: Xfail dump scan. * testsuite/g++.dg/tree-ssa/pr45605.C: Likewise. * testsuite/g++.dg/tree-ssa/pr46987.C: New test. Added: trunk/gcc/testsuite/g++.dg/tree-ssa/pr46987.C Removed: trunk/gcc/testsuite/g++.dg/ipa/ipcp-ivi-1.C trunk/gcc/testsuite/g++.dg/ipa/ivinline-6.C trunk/gcc/testsuite/g++.dg/otr-fold-1.C trunk/gcc/testsuite/g++.dg/otr-fold-2.C Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-fold.c trunk/gcc/gimple.h trunk/gcc/ipa-cp.c trunk/gcc/ipa-prop.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/tree-ssa/pr43411.C trunk/gcc/testsuite/g++.dg/tree-ssa/pr45605.C trunk/gcc/tree.c
[Bug tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46302 --- Comment #7 from Martin Jambor 2010-12-22 12:57:00 UTC --- Author: jamborm Date: Wed Dec 22 12:56:54 2010 New Revision: 168168 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168168 Log: 2010-12-22 Martin Jambor PR tree-optimization/45934 PR tree-optimization/46302 PR tree-optimization/46987 * gimple-fold.c (get_base_binfo_for_type): Removed. (gimple_get_relevant_ref_binfo): Likewise. (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality, removed parameter inplace, updated the caller. * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration. * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants. (ipcp_discover_new_direct_edges): Do not do devirtualization based on constants. * ipa-prop.c (compute_known_type_jump_func): Use get_ref_base_and_extent and get_binfo_at_offset instead of gimple_get_relevant_ref_binfo. (compute_known_type_jump_func): Likewise. (update_jump_functions_after_inlining): Do not derive types from constants. (try_make_edge_direct_virtual_call): Likewise. * tree.c (get_binfo_at_offset): Get type from non-artificial fields. * testsuite/g++.dg/ipa/ipcp-ivi-1.C: Removed. * testsuite/g++.dg/ipa/ivinline-6.C: Likewise. * testsuite/g++.dg/otr-fold-1.C: Likewise. * testsuite/g++.dg/otr-fold-2.C: Likewise. * testsuite/g++.dg/tree-ssa/pr43411.C: Xfail dump scan. * testsuite/g++.dg/tree-ssa/pr45605.C: Likewise. * testsuite/g++.dg/tree-ssa/pr46987.C: New test. Added: trunk/gcc/testsuite/g++.dg/tree-ssa/pr46987.C Removed: trunk/gcc/testsuite/g++.dg/ipa/ipcp-ivi-1.C trunk/gcc/testsuite/g++.dg/ipa/ivinline-6.C trunk/gcc/testsuite/g++.dg/otr-fold-1.C trunk/gcc/testsuite/g++.dg/otr-fold-2.C Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-fold.c trunk/gcc/gimple.h trunk/gcc/ipa-cp.c trunk/gcc/ipa-prop.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/tree-ssa/pr43411.C trunk/gcc/testsuite/g++.dg/tree-ssa/pr45605.C trunk/gcc/tree.c
[Bug libgcj/44341] [4.6 Regression] libjava cross build fails when configured with --with-gmp=
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44341 --- Comment #6 from Kazumoto Kojima 2010-12-22 13:19:40 UTC --- I've tried the patch on x86 cross sh4-unknown-linux-gnu. It looks all possible combinations of --with-gmp and --with-target-gmp work as expected.
[Bug tree-optimization/46987] [4.6 Regression] g++.dg/torture/covariant-1.C ICE: double free or corruption with -fno-inline
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46987 Martin Jambor changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Martin Jambor 2010-12-22 13:23:39 UTC --- Fixed.
[Bug libgcj/44341] [4.6 Regression] libjava cross build fails when configured with --with-gmp=
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44341 --- Comment #7 from Jakub Jelinek 2010-12-22 13:23:22 UTC --- Another alternative would be to make the behavior different between cross and native builds. In native builds, --with-gmp{,-lib,-include} would be passed through to both gcc configury and libjava/classpath (of course, if present, --with-target-gmp* would override it for libjava/classpath), and for crosses it would do what the patch does right now (for the patch it means that for native it wouldn't add --with-gmp=$with_target_gmp to ac_configure_args if $with_target_gmp is empty (and similarly for -lib and -include).
[Bug c++/46941] [trans-mem] new/delete operator are unsafe
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46941 Aldy Hernandez changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.12.22 13:51:33 Ever Confirmed|0 |1 --- Comment #2 from Aldy Hernandez 2010-12-22 13:51:33 UTC --- Patrick. I haven't analyzed your patch yet, but it causes the following regressions: FAIL: g++.dg/tm/pr45940-3.C (test for excess errors) FAIL: g++.dg/tm/pr45940-4.C (test for excess errors) FAIL: g++.dg/tm/pr46269.C (internal compiler error) FAIL: g++.dg/tm/pr46269.C (test for excess errors) Try to run the regression suite to test your patch first. It's a good first round of testing. You can run it with "make check" from the toplevel build directory. You can compare results with and without your patch. To run just the TM compiler tests you can do: make check-gcc RUNTESTFLAGS=tm.exp I have a similar patch to yours that I'm playing with, that unfortunately also causes the pr46269.C regression, though not the pr45940-* failures. I am debugging and will report shortly. Thanks.
[Bug fortran/47042] New: ICE with character pointer in function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47042 Summary: ICE with character pointer in function Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: jvdeli...@gcc.gnu.org I am not sure this is valid code, but it gives and ICE. There is no ICE if the ptmp pointer is removed or the function is compiled outside the program block. program bug contains function get_cstring (c_str, maxlen, c_term_char) use iso_c_binding, only: c_ptr, c_char, c_null_char character(kind=c_char, len=maxlen) :: get_cstring character(kind=c_char,len=1), optional :: c_term_char character(kind=c_char), pointer:: ptmp type(c_ptr):: c_str integer:: i, maxlen call c_f_pointer (c_str, ptmp) do i=1,maxlen get_cstring(i:i) = ptmp(i) if (ptmp(i) == c_null_char) goto 10 if (present(c_term_char).and.ptmp(i) == c_term_char) goto 10 end do return 10 continue end function end program
[Bug rtl-optimization/47036] [4.6 Regression] ICE: in move_cond_jump, at sel-sched.c:4901 with -fschedule-insns -fselective-scheduling -fno-dce
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47036 Alexander Monakov changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.12.22 14:32:58 AssignedTo|unassigned at gcc dot |amonakov at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Alexander Monakov 2010-12-22 14:32:58 UTC --- Untested patch. I wonder if it has any effect on code generation (it shouldn't; I don't see how we handle moving of unconditional jumps). diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 468dfd7..de40ba0 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -4441,9 +4441,6 @@ fallthru_bb_of_jump (rtx jump) if (!JUMP_P (jump)) return NULL; - if (any_uncondjump_p (jump)) -return single_succ (BLOCK_FOR_INSN (jump)); - if (!any_condjump_p (jump)) return NULL;
[Bug c++/18016] Warn about member variables initialized with itself
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18016 --- Comment #11 from Jonathan Wakely 2010-12-22 14:40:07 UTC --- (In reply to comment #10) > Like others commenting here, I don't understand why a(a) should not warn only > with -Winit-self. I agree with Andrew, the a(a) mistake should always warn, it should be independent of -Winit-self, which exists so that -Wuninitialized doesn't warn about the common (but questionable) practice of self-initializing automatic variables to silence warnings. As I said in my mail to gcc-patches, if you want to leave a member variable uninitialized, just don't give it a mem-initializer in the constructor. Giving it a self-initializing one is just perverse. (The case of automatic variables is different, you can't just not declare it to leave it uninitialized.) Also, as -Winit-self is broken I didn't want to tie this bug to a broken feature that might be changed to not work for C++. > On the other hand, I always thought that Winit-self is a bad > idea. Although the patch does not fixes many cases and thus, we shouldn't > close > this PR, it is better than nothing. > > About the location, don't we have a better location at that point? > > I am thinking that > > X() : > j(j), #2 > i(i) #3 > {} > > should give warnings in #2 and #3. There are various open bugs about that, e.g. PR 43064, I don't think it's possible at the moment.
[Bug target/47035] inconsistent use of libgcc/config/t-softfp
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47035 --- Comment #2 from Jack Howarth 2010-12-22 15:24:27 UTC --- This issue actually exists on linux as well. The behavior is rather complex. For example, the first instance of a compilation of trunctfxf2.c shows the missing prototype warnings ... /home/howarth/work/./gcc/xgcc -B/home/howarth/work/./gcc/ -B/home/howarth/dist/x86_64-unknown-linux-gnu/bin/ -B/home/howarth/dist/x86_64-unknown-linux-gnu/lib/ -isystem /home/howarth/dist/x86_64-unknown-linux-gnu/include -isystem /home/howarth/dist/x86_64-unknown-linux-gnu/sys-include-g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector -I. -I. -I../.././gcc -I../../../gcc/libgcc -I../../../gcc/libgcc/. -I../../../gcc/libgcc/../gcc -I../../../gcc/libgcc/../include -I../../../gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o trunctfxf2.o -MT trunctfxf2.o -MD -MP -MF trunctfxf2.dep -fexceptions -c ../../../gcc/libgcc/../gcc/config/soft-fp/trunctfxf2.c -fvisibility=hidden -DHIDE_EXPORTS ../../../gcc/libgcc/../gcc/config/soft-fp/trunctfdf2.c:36:8: warning: no previous prototype for ‘__trunctfdf2’ [-Wmissing-prototypes] ../../../gcc/libgcc/../gcc/config/soft-fp/trunctfsf2.c:36:8: warning: no previous prototype for ‘__trunctfsf2’ [-Wmissing-prototypes] ../../../gcc/libgcc/../gcc/config/soft-fp/trunctfxf2.c:35:8: warning: no previous prototype for ‘__trunctfxf2’ [-Wmissing-prototypes] whereas the next instance properly uses '-Wno-missing-prototypes -Wno-type-limits' from libgcc/config/t-softfp... /home/howarth/work/./gcc/xgcc -B/home/howarth/work/./gcc/ -B/home/howarth/dist/x86_64-unknown-linux-gnu/bin/ -B/home/howarth/dist/x86_64-unknown-linux-gnu/lib/ -isystem /home/howarth/dist/x86_64-unknown-linux-gnu/include -isystem /home/howarth/dist/x86_64-unknown-linux-gnu/sys-include-g -O2 -m32 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector -I. -I. -I../../.././gcc -I../../../../gcc/libgcc -I../../../../gcc/libgcc/. -I../../../../gcc/libgcc/../gcc -I../../../../gcc/libgcc/../include -I../../../../gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -Wno-missing-prototypes -Wno-type-limits -o trunctfxf2.o -MT trunctfxf2.o -MD -MP -MF trunctfxf2.dep -fexceptions -c ../../../../gcc/libgcc/../gcc/config/soft-fp/trunctfxf2.c -fvisibility=hidden -DHIDE_EXPORTS and doesn't generate the 'missing prototype' warnings. I am having a difficult time seeing the logic of when '-Wno-missing-prototypes -Wno-type-limits' since immediately after the second compilation of trunctfxf2.c, which gets '-Wno-missing-prototypes -Wno-type-limits', occurs... /home/howarth/work/./gcc/xgcc -B/home/howarth/work/./gcc/ -B/home/howarth/dist/x86_64-unknown-linux-gnu/bin/ -B/home/howarth/dist/x86_64-unknown-linux-gnu/lib/ -isystem /home/howarth/dist/x86_64-unknown-linux-gnu/include -isystem /home/howarth/dist/x86_64-unknown-linux-gnu/sys-include-g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector -I. -I. -I../.././gcc -I../../../gcc/libgcc -I../../../gcc/libgcc/. -I../../../gcc/libgcc/../gcc -I../../../gcc/libgcc/../include -I../../../gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o unordtf2_s.o -MT unordtf2_s.o -MD -MP -MF unordtf2_s.dep -DSHARED -fexceptions -c ../../../gcc/libgcc/../gcc/config/soft-fp/unordtf2.c ../../../gcc/libgcc/../gcc/config/soft-fp/unordtf2.c:34:9: warning: no previous prototype for ‘__unordtf2’ [-Wmissing-prototypes] ../../../gcc/libgcc/../gcc/config/soft-fp/unordtf2.c: In function ‘__unordtf2’: ../../../gcc/libgcc/../gcc/config/soft-fp/unordtf2.c:37:1: warning: variable ‘B_s’ set but not used [-Wunused-but-set-variable] ../../../gcc/libgcc/../gcc/config/soft-fp/unordtf2.c:36:1: warning: variable ‘A_s’ set but not used [-Wunused-but-set-variable] where '-Wno-missing-prototypes -Wno-type-limits' is omitted. Odd.
[Bug objc/45989] Some objc.dg-struct-layout-encoding-1 tests XPASS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45989 Dominique d'Humieres changed: What|Removed |Added CC||kkojima at rr dot ||iij4u.or.jp, ||sch...@linux-m68k.org --- Comment #3 from Dominique d'Humieres 2010-12-22 15:47:33 UTC --- t025 to t031 XPASS also on sh4-unknown-linux-gnu (default) see http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01979.html ia64-suse-linux-gnu (default) see http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01903.html On powerpc-apple-darwin9 and -m32 only t026, t030, and t031 XPASS, see http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01959.html I have tested on powerpc-apple-darwin9 and x86_64-apple-darwin10 the following more general patch: --- /opt/gcc/_gcc_clean/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c 2010-12-13 10:50:10.0 +0100 +++ /opt/gcc/gcc-4.6-work/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c 2010-12-22 14:47:33.0 +0100 @@ -243,10 +243,16 @@ switchfiles (int fields) of bugs in libobjc and the objc front-end. 25 is because vectors are not encoded. The rest are because or zero sized arrays are encoded as pointers. */ - else if (filecnt >= 25) + else if (filecnt == 25 || (filecnt >= 27 && filecnt <= 29)) { fprintf (outfile, "\ -/* { dg-do run { xfail *-*-* } } */\n\ +/* { dg-do run { xfail { *86*-*-* || { powerpc*-apple-darwin* && ilp32 } } } } */\n\ +/* { dg-options \"-w -I%s -fgnu-runtime\" } */\n", srcdir); +} + else if (filecnt >= 30) +{ + fprintf (outfile, "\ +/* { dg-do run { xfail *86*-*-* } } */\n\ /* { dg-options \"-w -I%s -fgnu-runtime\" } */\n", srcdir); } else It should work on all the platforms listed above, could you test it?
[Bug bootstrap/45146] Bootstrap broken at -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45146 Sebastian Pop changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #1 from Sebastian Pop 2010-12-22 16:15:28 UTC --- Trunk at r168000 passes bootstrap at -O3.
[Bug rtl-optimization/45051] [4.6 Regression]: gcc.c-torture/execute/builtins/abs-2.c and abs-3.c due to "track subwords of DImode allocnos"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45051 Ian Bolton changed: What|Removed |Added Status|RESOLVED|REOPENED CC||ibolton at gcc dot gnu.org Resolution|FIXED | --- Comment #7 from Ian Bolton 2010-12-22 16:23:21 UTC --- (In reply to comment #5) > Assuming fixed and closing. Please reopen if you still have a problem. This patch has caused SpecCPU2000 Ammp to fail for ARM -O3 thumb. I assume the patch was meant to prevent deletions that shouldn't occur. This might be what happens for the original symptomatic test, but I am now seeing extra deletions that shouldn't happen for Ammp. For example, without this patch, you get these insns somewhere in the ira dump for mm_fv_update_nonbon() from rectmm.c: (insn 3163 3161 3164 107 rectmm.c:1041 (set (reg:SI 1 r1) (plus:SI (reg:SI 1 r1) (const_int 280 [0x118]))) 4 {*arm_addsi3} (nil)) (insn 3164 3163 1730 107 rectmm.c:1041 (set (reg:SI 3 r3) (reg:SI 1 r1)) 586 {*thumb2_movsi_vfp} (nil)) With the patch, you lose the add and just get this: (insn 3164 3161 1730 107 rectmm.c:1041 (set (reg:SI 3 r3) (reg:SI 1 r1)) 586 {*thumb2_movsi_vfp} (nil)) The incrementing of r1 is perfectly legitimate and useful and removing it is a bug. Other increments of r9, ip, r0 and r3 are also lost. I think the issue might be that reg_mentioned_p() considers output registers to have been "mentioned", whereas the refers_to_regno_p() does not consider an output register to have been "referred to". I can see the problem with only using reg_mentioned_p() because it doesn't handle subregs, but there is also a problem with only using refers_to_regno_p(), as we can see with this segfault in Ammp. I therefore wonder if the fix might be this: Index: gcc/reload1.c === --- gcc/reload1.c (revision 168082) +++ gcc/reload1.c (working copy) @@ -8395,7 +8395,8 @@ delete_output_reload (rtx insn, int j, i if (NOTE_INSN_BASIC_BLOCK_P (i1)) return; if ((NONJUMP_INSN_P (i1) || CALL_P (i1)) - && refers_to_regno_p (regno, regno + nregs, PATTERN (i1), NULL)) + && (refers_to_regno_p (regno, regno + nregs, PATTERN (i1), NULL) + || reg_mentioned_p (reg, PATTERN (i1 { /* If this is USE in front of INSN, we only have to check that there are no more references than accounted for by inheritance. */ I am heading off for Christmas vacation shortly, so cannot look into this any further, but I wanted to record my findings so far publicly. Apologies if there is missing information. I return to work Jan 4th.
[Bug target/47038] gcc.dg/pr46685.c FAILs on Solaris 10/SPARC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47038 --- Comment #1 from Sean McGovern 2010-12-22 16:27:40 UTC --- Hmmm... is this a dup of pr40483? Can someone confirm? If so, I guess I'm hooped on Solaris 10. Should XFAIL?
[Bug middle-end/47019] [4.6 Regression] ICE: in rename_uses, at sese.c:535 with -O -ftree-pre -fgraphite-identity -fno-tree-copy-prop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47019 Sebastian Pop changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.12.22 16:55:09 AssignedTo|unassigned at gcc dot |spop at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Sebastian Pop 2010-12-22 16:55:09 UTC --- This is due to the fact that the SSA representation is not in loop-closed form: we are defining and using an SSA_NAME in two different loops without a loop-close-phi node in between: loop_1 pretmp.15_60 = offset.3_18 + pretmp.15_59; end_1 loop_2 D.1564_26 = pretmp.15_60; end_2
[Bug middle-end/47019] [4.6 Regression] ICE: in rename_uses, at sese.c:535 with -O -ftree-pre -fgraphite-identity -fno-tree-copy-prop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47019 --- Comment #2 from Sebastian Pop 2010-12-22 17:07:27 UTC --- The SSA is in loop-closed form, the two loops are nested: loop_1 D_60 = ... loop_2 ... = D_60 end_2 end_1 The problem is elsewhere. I'm still investigating.
[Bug tree-optimization/43247] [4.3/4.4 Regression] Incorrect optimization while declaring array[1]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43247 Andrew Pinski changed: What|Removed |Added Known to work|| Known to fail|| --- Comment #11 from Andrew Pinski 2010-12-22 17:48:55 UTC --- >The reason is again accessing an array out-of-bounds for elements that we know >to be there. No that is undefined and different from the original testcase.
[Bug c++/47003] [4.6 Regression] ice in stabilize_expr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47003 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED CC||jason at gcc dot gnu.org --- Comment #3 from Jason Merrill 2010-12-22 18:05:48 UTC --- Mine.
[Bug bootstrap/45146] Bootstrap broken at -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45146 Jack Howarth changed: What|Removed |Added CC||howarth at nitro dot ||med.uc.edu --- Comment #2 from Jack Howarth 2010-12-22 18:18:16 UTC --- At r168176, while I don't see a bootstrap failure at the standard '-g -O2', when I add... Index: gcc/opts.c === --- gcc/opts.c(revision 168176) +++ gcc/opts.c(working copy) @@ -458,6 +458,9 @@ { OPT_LEVELS_1_PLUS, OPT_fcombine_stack_adjustments, NULL, 1 }, /* -O2 optimizations. */ +#ifdef HAVE_cloog +{ OPT_LEVELS_2_PLUS, OPT_fgraphite_identity, NULL, 1 }, +#endif { OPT_LEVELS_2_PLUS, OPT_finline_small_functions, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_findirect_inlining, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fpartial_inlining, NULL, 1 }, I do get... Comparing stages 2 and 3 warning: gcc/cc1-checksum.o differs warning: gcc/cc1obj-checksum.o differs warning: gcc/cc1objplus-checksum.o differs warning: gcc/cc1plus-checksum.o differs Bootstrap comparison failure! gcc/alias.o differs gcc/attribs.o differs gcc/bb-reorder.o differs gcc/bitmap.o differs gcc/bt-load.o differs ... for about every binary.
[Bug c/47043] New: allow deprecating enum values
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47043 Summary: allow deprecating enum values Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: drepper@gmail.com The deprecated is nice and it's use should be expanded. Sometimes enum values have to be deprecated and it would be useful if one could write this: enum { newval, oldval __attribute__ ((deprecated)) }; Any use of 'oldval' should provoke the usual warning.
[Bug c/47043] allow deprecating enum values
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47043 Steven Bosscher changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.12.22 18:34:01 CC||steven at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Steven Bosscher 2010-12-22 18:34:01 UTC --- Interesting idea.
Re: [Bug bootstrap/45146] Bootstrap broken at -O3
We do bootstrap on amd64-linux the graphite branch for every commit, and that would be the equivalent of your patch. Please open a new bug for tracking this issue. Thanks, Sebastian
[Bug bootstrap/45146] Bootstrap broken at -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45146 --- Comment #3 from sebpop at gmail dot com 2010-12-22 18:36:31 UTC --- We do bootstrap on amd64-linux the graphite branch for every commit, and that would be the equivalent of your patch. Please open a new bug for tracking this issue. Thanks, Sebastian
[Bug target/46915] Wrong code is generated for conditional branch followed by zero length asm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46915 --- Comment #15 from John David Anglin 2010-12-22 18:47:04 UTC --- Author: danglin Date: Wed Dec 22 18:46:57 2010 New Revision: 168177 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168177 Log: Backport from mainline: 2010-12-18 John David Anglin PR target/46915 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead of next_real_insn. Search forward checking for both ASM_INPUT and ASM_OPERANDS asms until exit condition is found. (branch_needs_nop_p): Likewise. (use_skip_p): New function. (output_cbranch): Use use_skip_p. (output_bb, output_bvb): Likewise. 2009-06-25 John David Anglin PR target/40468 * pa.c (branch_to_delay_slot_p, branch_needs_nop_p): New functions. (output_cbranch): Use new functions. (output_bb, output_bvb, output_dbra, output_movb): Likewise. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/pa/pa.c
[Bug target/40468] [4.5 Regression] FAIL: gcc.c-torture/execute/20061031-1.c execution, -Os
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40468 --- Comment #4 from John David Anglin 2010-12-22 18:47:05 UTC --- Author: danglin Date: Wed Dec 22 18:46:57 2010 New Revision: 168177 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168177 Log: Backport from mainline: 2010-12-18 John David Anglin PR target/46915 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead of next_real_insn. Search forward checking for both ASM_INPUT and ASM_OPERANDS asms until exit condition is found. (branch_needs_nop_p): Likewise. (use_skip_p): New function. (output_cbranch): Use use_skip_p. (output_bb, output_bvb): Likewise. 2009-06-25 John David Anglin PR target/40468 * pa.c (branch_to_delay_slot_p, branch_needs_nop_p): New functions. (output_cbranch): Use new functions. (output_bb, output_bvb, output_dbra, output_movb): Likewise. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/pa/pa.c
[Bug target/40468] [4.5 Regression] FAIL: gcc.c-torture/execute/20061031-1.c execution, -Os
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40468 --- Comment #5 from John David Anglin 2010-12-22 18:49:31 UTC --- Author: danglin Date: Wed Dec 22 18:49:24 2010 New Revision: 168178 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168178 Log: Backport from mainline: 2010-12-18 John David Anglin PR target/46915 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead of next_real_insn. Search forward checking for both ASM_INPUT and ASM_OPERANDS asms until exit condition is found. (branch_needs_nop_p): Likewise. (use_skip_p): New function. (output_cbranch): Use use_skip_p. (output_bb, output_bvb): Likewise. 2009-06-25 John David Anglin PR target/40468 * pa.c (branch_to_delay_slot_p, branch_needs_nop_p): New functions. (output_cbranch): Use new functions. (output_bb, output_bvb, output_dbra, output_movb): Likewise. Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/config/pa/pa.c
[Bug target/46915] Wrong code is generated for conditional branch followed by zero length asm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46915 --- Comment #16 from John David Anglin 2010-12-22 18:49:31 UTC --- Author: danglin Date: Wed Dec 22 18:49:24 2010 New Revision: 168178 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168178 Log: Backport from mainline: 2010-12-18 John David Anglin PR target/46915 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead of next_real_insn. Search forward checking for both ASM_INPUT and ASM_OPERANDS asms until exit condition is found. (branch_needs_nop_p): Likewise. (use_skip_p): New function. (output_cbranch): Use use_skip_p. (output_bb, output_bvb): Likewise. 2009-06-25 John David Anglin PR target/40468 * pa.c (branch_to_delay_slot_p, branch_needs_nop_p): New functions. (output_cbranch): Use new functions. (output_bb, output_bvb, output_dbra, output_movb): Likewise. Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/config/pa/pa.c
[Bug target/46915] Wrong code is generated for conditional branch followed by zero length asm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46915 John David Anglin changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #17 from John David Anglin 2010-12-22 18:58:20 UTC --- Fixed.
[Bug bootstrap/47044] New: bootstrap comparison failure when -O2 defaults on -fgraphite-identity
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47044 Summary: bootstrap comparison failure when -O2 defaults on -fgraphite-identity Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: howa...@nitro.med.uc.edu On x86_64-apple-darwin10 at r168176 with... Index: gcc/opts.c === --- gcc/opts.c(revision 168176) +++ gcc/opts.c(working copy) @@ -458,6 +458,9 @@ { OPT_LEVELS_1_PLUS, OPT_fcombine_stack_adjustments, NULL, 1 }, /* -O2 optimizations. */ +#ifdef HAVE_cloog +{ OPT_LEVELS_2_PLUS, OPT_fgraphite_identity, NULL, 1 }, +#endif { OPT_LEVELS_2_PLUS, OPT_finline_small_functions, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_findirect_inlining, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fpartial_inlining, NULL, 1 }, applied to default on -fgraphite-identity at -O2, a bootstrap comparison failure occurs... Comparing stages 2 and 3 warning: gcc/cc1-checksum.o differs warning: gcc/cc1obj-checksum.o differs warning: gcc/cc1objplus-checksum.o differs warning: gcc/cc1plus-checksum.o differs Bootstrap comparison failure! gcc/alias.o differs gcc/attribs.o differs gcc/bb-reorder.o differs gcc/bitmap.o differs gcc/bt-load.o differs gcc/build/genattrtab.o differs gcc/build/genautomata.o differs gcc/build/genflags.o differs gcc/build/gengenrtl.o differs gcc/build/gengtype-lex.o differs gcc/build/gengtype-state.o differs ... This problem did not occur at r167670. http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg00852.html ../gcc-4.6-20101222/configure --prefix=/sw --prefix=/sw/lib/gcc4.6 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.6/info --enable-languages=c,c++,fortran,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.6 --enable-checking=yes --enable-cloog-backend=isl --enable-build-with-cxx
[Bug c++/47003] [4.6 Regression] ice in stabilize_expr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47003 --- Comment #4 from Jason Merrill 2010-12-22 19:23:26 UTC --- Author: jason Date: Wed Dec 22 19:23:15 2010 New Revision: 168180 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168180 Log: PR c++/47003 * tree.c (stabilize_expr): Really stabilize scalar glvalues. Added: trunk/gcc/testsuite/g++.dg/init/volatile2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/tree.c trunk/gcc/testsuite/ChangeLog
[Bug bootstrap/47044] bootstrap comparison failure when -O2 defaults on -fgraphite-identity
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47044 --- Comment #1 from Jack Howarth 2010-12-22 19:53:23 UTC --- The trigger appears to be the use of --enable-build-with-cxx with -O2 defaulted to -fgraphite-identity. Removing that configure option eliminates the bootstrap comparison failures.
[Bug tree-optimization/43247] [4.3/4.4 Regression] Incorrect optimization while declaring array[1]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43247 --- Comment #12 from Thiago Macieira 2010-12-22 19:55:38 UTC --- (In reply to comment #11) > >The reason is again accessing an array out-of-bounds for elements that we > >know to be there. > > No that is undefined and different from the original testcase. Ok. Shall I open a new report with the new information?
[Bug middle-end/47019] [4.6 Regression] ICE: in rename_uses, at sese.c:535 with -O -ftree-pre -fgraphite-identity -fno-tree-copy-prop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47019 --- Comment #3 from Sebastian Pop 2010-12-22 20:00:00 UTC --- Patch: http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01725.html
[Bug middle-end/47019] [4.6 Regression] ICE: in rename_uses, at sese.c:535 with -O -ftree-pre -fgraphite-identity -fno-tree-copy-prop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47019 --- Comment #4 from Sebastian Pop 2010-12-22 21:19:38 UTC --- Author: spop Date: Wed Dec 22 21:19:34 2010 New Revision: 168182 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168182 Log: Fix PR47019: parameters of a SCoP are SCEV analyzable. 2010-12-22 Sebastian Pop PR tree-optimization/47019 * sese.h (scev_analyzable_p): Parameters of a SCoP are SCEV analyzable. * gfortran.dg/graphite/pr47019.f: New. Added: trunk/gcc/testsuite/gfortran.dg/graphite/pr47019.f Modified: trunk/gcc/ChangeLog trunk/gcc/sese.h trunk/gcc/testsuite/ChangeLog
[Bug middle-end/47019] [4.6 Regression] ICE: in rename_uses, at sese.c:535 with -O -ftree-pre -fgraphite-identity -fno-tree-copy-prop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47019 Sebastian Pop changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #5 from Sebastian Pop 2010-12-22 21:21:01 UTC --- Fixed.
[Bug c++/47003] [4.6 Regression] ice in stabilize_expr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47003 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC||jakub at gcc dot gnu.org Resolution||FIXED --- Comment #5 from Jakub Jelinek 2010-12-22 22:04:57 UTC --- Fixed.
[Bug libstdc++/47045] New: NetBSD: define changes in ctype.h
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47045 Summary: NetBSD: define changes in ctype.h Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: t...@giga.or.at A few days ago, Joerg Sonnenberger improved the name space of NetBSD's ctype.h. He added "_CTYPE" before "_U", "_N", etc. The commit message can be seen in http://mail-index.netbsd.org/source-changes/2010/12/14/msg015830.html the change to ctype_bits.h: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/ctype_bits.h.diff?r1=1.1&r2=1.2&only_with_tag=MAIN the change to gcc's ctype_base.h as distributed with NetBSD-current: http://cvsweb.netbsd.org/bsdweb.cgi/src/gnu/dist/gcc4/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.diff?r1=1.1&r2=1.2&only_with_tag=MAIN I'd like to see this integrated into one of the next gcc releases. Since all current releases and older development releases of NetBSD (earlier than 5.99.41) still have _U etc. it's probably a bit harder than just taking the change as above. I'm not sure how you want to do that exactly. You can test for the older NetBSD versions with _U etc. with: #include #if __NetBSD_Version__ < 599004100 ... #endif
[Bug middle-end/46758] [4.5/4.6 Regression] -fgraphite-identity produces wrong code when using 64bit constants
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46758 Sebastian Pop changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |spop at gcc dot gnu.org |gnu.org | --- Comment #6 from Sebastian Pop 2010-12-23 00:19:19 UTC --- Patch: http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01743.html
[Bug libstdc++/47045] NetBSD: define changes in ctype.h
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47045 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.12.23 01:41:53 Target Milestone|--- |4.6.0 Ever Confirmed|0 |1 --- Comment #1 from Jonathan Wakely 2010-12-23 01:41:53 UTC --- should be easy to do, can you test it if I prepare a patch?
[Bug middle-end/47046] New: gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47046 Summary: gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: howa...@nitro.med.uc.edu The gcc.target/i386/sse4_1-movntdqa.c test case ICEs the compiler when -fgraphite identity is used. Executing on host: /Users/howarth/darwin_objdir/gcc/xgcc -B/Users/howarth/darwin_objdir/gcc/ /Users/howarth/gcc/gcc/testsuite/gcc.target/i386/sse4_1-movntdqa.c -O2 -msse4.1 -lm -fgraphite-identity -o ./sse4_1-movntdqa.exe(timeout = 300) /Users/howarth/gcc/gcc/testsuite/gcc.target/i386/sse4_1-movntdqa.c: In function 'sse4_1_test': /Users/howarth/gcc/gcc/testsuite/gcc.target/i386/sse4_1-movntdqa.c:34:1: internal compiler error: in rename_uses, at sese.c:544 This backtraces as... Breakpoint 1, fancy_abort (file=0x1009aeb60 "../../gcc/gcc/sese.c", line=544, function=0x100a58414 "rename_uses") at ../../gcc/gcc/diagnostic.c:893 893 internal_error ("in %s, at %s:%d", function, trim_filename (file), line); (gdb) bt #0 fancy_abort (file=0x1009aeb60 "../../gcc/gcc/sese.c", line=544, function=0x100a58414 "rename_uses") at ../../gcc/gcc/diagnostic.c:893 #1 0x000100666c95 in copy_bb_and_scalar_dependences (bb=, region=0x143133ae0, next_e=, iv_map=0x14313f560) at ../../gcc/gcc/sese.c:543 (gdb) on x86_64-apple-darwin10 using r168197. Using built-in specs. COLLECT_GCC=dist/bin/gcc COLLECT_LTO_WRAPPER=/Users/howarth/dist/libexec/gcc/x86_64-apple-darwin10.5.0/4.6.0/lto-wrapper Target: x86_64-apple-darwin10.5.0 Configured with: ../gcc/configure --enable-checking=yes --prefix=/Users/howarth/dist --with-gmp=/sw --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw --with-libiconv-prefix=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --enable-languages=c --enable-checking=yes Thread model: posix gcc version 4.6.0 20101223 (experimental) (GCC)
[Bug rtl-optimization/45051] [4.6 Regression]: gcc.c-torture/execute/builtins/abs-2.c and abs-3.c due to "track subwords of DImode allocnos"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45051 --- Comment #8 from Hans-Peter Nilsson 2010-12-23 01:56:08 UTC --- (In reply to comment #7) > (insn 3163 3161 3164 107 rectmm.c:1041 (set (reg:SI 1 r1) > (plus:SI (reg:SI 1 r1) >(const_int 280 [0x118]))) 4 {*arm_addsi3} (nil)) > I think the issue might be that reg_mentioned_p() considers output registers > to > have been "mentioned", whereas the refers_to_regno_p() does not consider an > output register to have been "referred to". But r1 is an input as well as an output , i.e. "referred to", so insn 3163 should have matched without your patch. I'm missing analysis on why that didn't happen. Nevertheless, I'm testing r162418 with your patch. Also, you should open a separate PR for the regression you see, not just reuse this one. Use the depends-on features for the dependency.
[Bug preprocessor/47047] New: Support for path translation in __FILE__
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47047 Summary: Support for path translation in __FILE__ Product: gcc Version: 4.1.3 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: preprocessor AssignedTo: unassig...@gcc.gnu.org ReportedBy: jo...@netbsd.org Created attachment 22841 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22841 Implement cpp -iremap __FILE__ expands to full path names in some situation, e.g. if it is used in a header found via -I/some/where. The resulting leak of the header location into the file binary is undesirable in certain situations. For NetBSD, two relevant cases are the visiblity protection in pkgsrc, which effectively turns /usr/pkg/include/foo into /.../work/.buildlink/include/foo and cross-compiling the system, which would leak /.../usr/include/foo instead of /usr/include/foo or the location of the source tree. The attached patch implements a CPP option to match the file path against a list of prefixes and substitute the prefix on match. With this patch, most references to the src and obj locations in NetBSD can be translated into the canonical positions. The patch is the version included in NetBSD against the system gcc, it can be updated if necessary.
[Bug middle-end/46892] gcc.dg/vect/vect-25.c failures with -fgraphite-identity
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46892 --- Comment #7 from Jack Howarth 2010-12-23 03:43:04 UTC --- This failure is no longer present at r168197.
[Bug middle-end/47048] New: misc vect.exp failures with -fgraphite-identity enabled at -O2.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47048 Summary: misc vect.exp failures with -fgraphite-identity enabled at -O2. Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: howa...@nitro.med.uc.edu Currently from vect.exp we are failing... FAIL: gcc.dg/vect/pr32824.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/pr36493.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/pr36630.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/pr37027.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/pr37027.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/pr38529.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-1.c scan-tree-dump-times vect "vectorized 6 loops" 1 FAIL: gcc.dg/vect/vect-112.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-double-reduc-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-double-reduc-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-double-reduc-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-double-reduc-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-double-reduc-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-double-reduc-7.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 3 XPASS: gcc.dg/vect/vect-iv-7.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-iv-8.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vect "vectorized 1 loops" 2 FAIL: gcc.dg/vect/vect-multitypes-15.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-multitypes-7.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-nest-cycle-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-1.c scan-tree-dump-times vect "strided access in outer loop" 1 FAIL: gcc.dg/vect/vect-outer-1a.c scan-tree-dump-times vect "strided access in outer loop" 1 FAIL: gcc.dg/vect/vect-outer-1b.c scan-tree-dump-times vect "strided access in outer loop" 1 FAIL: gcc.dg/vect/vect-outer-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-2a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-2c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "step doesn't divide the vector-size" 2 FAIL: gcc.dg/vect/vect-outer-3b.c scan-tree-dump-times vect "strided access in outer loop" 2 FAIL: gcc.dg/vect/vect-outer-3c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-4.c scan-tree-dump-times vect "zero step in outer loop." 1 FAIL: gcc.dg/vect/vect-outer-4a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-4b.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "zero step in outer loop." 1 FAIL: gcc.dg/vect/vect-outer-4d.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-4i.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-4j.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-5.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-5.c scan-tree-dump-times vect "zero step in outer loop." 1 FAIL: gcc.dg/vect/vect-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-6.c scan-tree-dump-times vect "zero step in outer loop." 1 FAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-reduc-1.c scan-tree-dump-times vect "vectorized 3 loops" 1 FAIL: gcc.dg/vect/vect-reduc-1char.c sc
[Bug bootstrap/47044] bootstrap comparison failure when -O2 defaults on -fgraphite-identity and --enable-build-with-cxx
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47044 --- Comment #2 from Jack Howarth 2010-12-23 04:14:44 UTC --- Same bootstrap comparison failure obtained with unpatched r168197 using... make -j 8 BOOT_CFLAGS="-g -O2 -fgraphite-identity" with --enable-build-with-cxx on x86_64-apple-darwin10.
[Bug bootstrap/47044] bootstrap comparison failure when -O2 defaults on -fgraphite-identity and --enable-build-with-cxx
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47044 --- Comment #3 from Jack Howarth 2010-12-23 05:09:28 UTC --- Same bootstrap comparison failure can be reproduced on x86_64 Fedora10 with... ../gcc/configure --with-gmp=/usr --with-mpfr=/usr --with-mpc=/usr --prefix=/home/howarth/dist --enable-languages=c,c++ --enable-checking=yes --enable-build-with-cxx make -j 8 BOOT_CFLAGS="-g -O2 -fgraphite-identity"