[Bug c++/29974] Segmentation fault on simple input file. Omission of #include prevents error. WinXP x64, cygwin
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-11-25 08:45 --- This works for me with 4.0.4, 4.1.2, 4.2.0, and 4.3.0 even with GC settings so it always runs. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29974
[Bug other/29972] typos in the manual
--- Comment #3 from Ralf dot Wildenhues at gmx dot de 2006-11-25 09:09 --- Created an attachment (id=12685) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12685&action=view) updated patch > enclosed list if compound literal's and object's types match. How about this one instead, it seems much clearer to me: +enclosed list if the types of the compound literal and the object match. Updated patch. -- Ralf dot Wildenhues at gmx dot de changed: What|Removed |Added Attachment #12683|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29972
[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block
--- Comment #9 from pinskia at gcc dot gnu dot org 2006-11-25 09:13 --- (gdb) p debug_generic_expr (vh) VH.22 $4 = void (gdb) p debug_generic_expr (eprime) strlen (&lineD.1610) (gdb) p debug_generic_expr (vuse) lineD.1610_11 We have: # NONLOCAL.5_14 = PHI ; # line_11 = PHI ; :; # VUSE ; # VUSE ; D.1623_6 = strlen (&line); if (D.1623_6 == 100) goto ; else goto ; Though the good question is why we have those PHIs still there even though they don't do anything except produce a copy. All the copyprop passes as far as I can tell skip them because they are virtual. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922
[Bug tree-optimization/29585] [4.2/4.3 Regression] tree check: expected ssa_name, have var_decl in is_old_name, at tree-into-ssa.c:558
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-11-25 10:11 --- symbol_marked_for_renaming is returning false. Symbols to be put in SSA form _ZTI13basic_ostream _ZTIN12_GLOBAL__N_111NullostreamE _ZTSN12_GLOBAL__N_111NullostreamE _ZTVN10__cxxabiv120__si_class_type_infoE _ZTI8ios_base _ZTS13basic_ostream _ZTVN10__cxxabiv121__vmi_class_type_infoE _ZTS8ios_base _ZTVN10__cxxabiv117__class_type_infoE SFT.5 SFT.6 SFT.7 SFT.8 SFT.9 NONLOCAL.15 SMT.16 NMT.17 NMT.18 (gdb) p debug_generic_expr (name) _ZTCN12_GLOBAL__N_111NullostreamE0_13basic_ostreamD.2726 I think the loop in setup_pointers_and_addressables is where the problem is. Still looking into it some more. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29585
[Bug libstdc++/29385] stl_tree.h clean-ups and enhancements
--- Comment #1 from paolo at gcc dot gnu dot org 2006-11-25 10:36 --- Subject: Bug 29385 Author: paolo Date: Sat Nov 25 10:35:52 2006 New Revision: 119190 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119190 Log: 2006-11-25 Paolo Carlini <[EMAIL PROTECTED]> PR libstdc++/29385 (partial) * include/bits/stl_tree.h (_Rb_tree<>::destroy_node): Uglify. (_M_erase, erase(iterator), erase(const_iterator)): Adjust 2006-11-25 Paolo Carlini <[EMAIL PROTECTED]> PR libstdc++/29385 (partial) * include/bits/stl_tree.h (_Rb_tree<>::_M_lower_bound(_Const_Link_type, _Const_Link_type, const _Key&), _M_upper_bound(_Const_Link_type, _Const_Link_type, const _Key&)): Add. (lower_bound(const key_type&), upper_bound(const key_type&), find(const key_type&)): Call the latter. 2006-11-25 Gawain Bolton <[EMAIL PROTECTED]> PR libstdc++/29385 (partial) * include/bits/stl_tree.h (_Rb_tree_rotate_left, _Rb_tree_rotate_right): Do not declare. (_Rb_tree<>::_M_insert(_Base_ptr, _Base_ptr, const value_type&), _M_insert(_Const_Base_ptr, _Const_Base_ptr, const value_type&), _M_insert_unique(iterator, const value_type&), _M_insert_unique(const_iterator, const value_type&), _M_insert_equal(iterator, const value_type&), _M_insert_equal(const_iterator, const value_type&)): Remove. (_Rb_tree<>::_M_insert_(_Const_Base_ptr, _Const_Base_ptr, const value_type&), _M_insert_unique_(const_iterator, const value_type&), _M_insert_equal_(const_iterator, const value_type&)): Add, adjust all callers. * include/bits/stl_map.h (map<>::insert(iterator, const value_type&)): Adjust. * include/bits/stl_set.h (set<>::insert(iterator, const value_type&)): Likewise. * include/bits/stl_multimap.h (multimap<>::insert(iterator, const value_type&)): Likewise. * include/bits/stl_multiset.h (multiset<>::insert(iterator, const value_type&)): Likewise. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/stl_map.h trunk/libstdc++-v3/include/bits/stl_multimap.h trunk/libstdc++-v3/include/bits/stl_multiset.h trunk/libstdc++-v3/include/bits/stl_set.h trunk/libstdc++-v3/include/bits/stl_tree.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29385
[Bug fortran/29975] New: [metabug] ICEs with CP2K
I'm trying to compile CP2K with gfortran (yesterday's mainline), but I'm experiencing ICEs. Since it seems to be happening more often with CP2K I've added this metabug. the first one I see is: gfortran -c all_cp2k_gfortran.f90 all_cp2k_gfortran.f90: In function âpw_sumupâ: all_cp2k_gfortran.f90:128714: internal compiler error: in build_int_cst_wide, at tree.c:852 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. the file is to large to be attached in bugzilla, but I've made it available (temporarily) for download: http://www.pci.unizh.ch/vandevondele/tmp/all_cp2k_gfortran.f90.gz it might be a good idea to add it to some gfortran testsuite. People that prefer more managable sources can get it from http://cp2k.berlios.de/download.html plus instructions on how to run the CP2K testsuite (all tests should pass with gfortran, http://cp2k.berlios.de/regtest.html). -- Summary: [metabug] ICEs with CP2K Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29975
[Bug fortran/29975] [meta] ICEs with CP2K
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2006-11-25 13:22 --- Hi Joost, I'll look into it. I now regularly build cp2k with gfortran (usually 4.2 branch) on i686-linux for my work but I haven't see this ICE yet. Just in case, what's the platform you're building on? -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added CC||fxcoudert at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||meta-bug Last reconfirmed|-00-00 00:00:00 |2006-11-25 13:22:11 date|| Summary|[metabug] ICEs with CP2K|[meta] ICEs with CP2K http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29975
[Bug c++/20019] incorrect overflow warning
--- Comment #11 from manu at gcc dot gnu dot org 2006-11-25 13:51 --- I don't get the warning with current mainline (revision 119143). Still, I would like to keep this bug around since it may be interesting that Wconversion emits a warning for the int->char conversion. I would like to hear some opinions about this. My current patch does the following: [EMAIL PROTECTED]:~$ local/bin/g++ -fsigned-char pr20019.cpp [EMAIL PROTECTED]:~$ local/bin/g++ -fno-signed-char pr20019.cpp [EMAIL PROTECTED]:~$ local/bin/g++ -fno-signed-char -Wconversion pr20019.cpp pr20019.cpp:9: warning: negative integer implicitly converted to unsigned type pr20019.cpp:13: warning: negative integer implicitly converted to unsigned type [EMAIL PROTECTED]:~$ local/bin/g++ -fsigned-char -Wconversion pr20019.cpp pr20019.cpp:3: warning: conversion to char alters int constant value pr20019.cpp:7: warning: conversion to char alters int constant value pr20019.cpp:11: warning: conversion to char alters int constant value Does this seem correct to all of you? -- manu at gcc dot gnu dot org changed: What|Removed |Added CC||manu at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20019
[Bug c++/28986] Failure to diagnose overflow in constant expression
--- Comment #2 from manu at gcc dot gnu dot org 2006-11-25 14:06 --- As far as I can see, the C++ front-end fails to call overflow_warning (c-common.c) from build_binary_op (cp/typeck.c) in the same way as the C front-end does in parser_build_binary_op(c-typeck.c). -- manu at gcc dot gnu dot org changed: What|Removed |Added CC||manu at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28986
[Bug fortran/29976] New: [4.2/4.3 regression] ICE on optional arg
The following code: SUBROUTINE pw_sumup (alpha_im) REAL, INTENT(in), OPTIONAL :: alpha_im COMPLEX :: my_alpha_c IF (PRESENT(alpha_im)) THEN my_alpha_c = CMPLX(0.,alpha_im) END IF END SUBROUTINE pw_sumup ICEs on both 4.2 and 4.3, but compiles fine on 4.1.2. The ICE for 4.3 is: foo.f90: In function pw_sumup: foo.f90:1: internal compiler error: in build_int_cst_wide, at tree.c:852 The ICE for 4.2 is: foo.f90: In function pw_sumup: foo.f90:5: internal compiler error: in immed_double_const, at emit-rtl.c:464 CCing Paul and Erik, because he commited some "optional args" patch recently if I remember correctly. -- Summary: [4.2/4.3 regression] ICE on optional arg Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: fxcoudert at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29976
[Bug fortran/29975] [meta] ICEs with CP2K
--- Comment #2 from jv244 at cam dot ac dot uk 2006-11-25 14:15 --- (In reply to comment #1) > Hi Joost, > I'll look into it. I now regularly build cp2k with gfortran (usually 4.2 > branch) on i686-linux for my work but I haven't see this ICE yet. Just in > case, > what's the platform you're building on? x86_64-linux. However, I seem to see ICEs that look more like frontend problems as well, so I don't think it is all platform dependent. Some see to be in files that have been recently added, e.g.: gfortran -c -O3 -ftree-vectorize -ffast-math -march=nocona fparser.f90 fparser.f90:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. or a bogus error: f77_blas.f90:22.22: USE f77_blas_generic 1 Error: Name 'bl_copy' at (1) is an ambiguous reference to 'bl_copy' from current program unit (the last two I get compiling the 'normal' sources) -- jv244 at cam dot ac dot uk changed: What|Removed |Added BugsThisDependsOn|29976 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29975
[Bug fortran/29973] [4.2 only] CHAR not allowed as actual argument, even in F2003
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2006-11-25 14:29 --- Subject: Bug 29973 Author: fxcoudert Date: Sat Nov 25 14:28:56 2006 New Revision: 119197 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119197 Log: PR fortran/29973 * gfortran.fortran-torture/execute/specifics.f90: Remove test for CHAR. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29973
[Bug fortran/20880] USE association of procedure's own interface
--- Comment #3 from pault at gcc dot gnu dot org 2006-11-25 14:38 --- Subject: Bug 20880 Author: pault Date: Sat Nov 25 14:37:56 2006 New Revision: 119198 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119198 Log: 2006-11-25 Paul Thomas <[EMAIL PROTECTED]> PR fortran/20880 * parse.c (parse_interface): Error if procedure name is that of encompassing scope. * resolve.c (resolve_fl_procedure): Error if procedure is ambiguous. PR fortran/29837 * interface.c (compare_actual_formal): Add missing condition that 'where' be present for error that asserts that actual arguments be definable. 2006-11-25 Paul Thomas <[EMAIL PROTECTED]> PR fortran/20880 * gfortran.dg/interface_3.f90: New test. PR fortran/29837 * gfortran.dg/generic_8.f90: New test. Added: branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/generic_8.f90 branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/interface_3.f90 Modified: branches/gcc-4_2-branch/gcc/fortran/ChangeLog branches/gcc-4_2-branch/gcc/fortran/interface.c branches/gcc-4_2-branch/gcc/fortran/parse.c branches/gcc-4_2-branch/gcc/fortran/resolve.c branches/gcc-4_2-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20880
[Bug fortran/29837] INTERFACE overloading INTENT problem - valid code is rejected
--- Comment #6 from pault at gcc dot gnu dot org 2006-11-25 14:38 --- Subject: Bug 29837 Author: pault Date: Sat Nov 25 14:37:56 2006 New Revision: 119198 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119198 Log: 2006-11-25 Paul Thomas <[EMAIL PROTECTED]> PR fortran/20880 * parse.c (parse_interface): Error if procedure name is that of encompassing scope. * resolve.c (resolve_fl_procedure): Error if procedure is ambiguous. PR fortran/29837 * interface.c (compare_actual_formal): Add missing condition that 'where' be present for error that asserts that actual arguments be definable. 2006-11-25 Paul Thomas <[EMAIL PROTECTED]> PR fortran/20880 * gfortran.dg/interface_3.f90: New test. PR fortran/29837 * gfortran.dg/generic_8.f90: New test. Added: branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/generic_8.f90 branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/interface_3.f90 Modified: branches/gcc-4_2-branch/gcc/fortran/ChangeLog branches/gcc-4_2-branch/gcc/fortran/interface.c branches/gcc-4_2-branch/gcc/fortran/parse.c branches/gcc-4_2-branch/gcc/fortran/resolve.c branches/gcc-4_2-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29837
[Bug fortran/29837] INTERFACE overloading INTENT problem - valid code is rejected
--- Comment #7 from pault at gcc dot gnu dot org 2006-11-25 14:39 --- Fixed on trunk and 4.2. Will backport to 4.1 in coming week. Paul PS please not error in ChangeLog for trunk - will fix Monday. -- pault at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29837
[Bug fortran/20880] USE association of procedure's own interface
--- Comment #4 from pault at gcc dot gnu dot org 2006-11-25 14:39 --- Fixed on trunk and 4.2. Will backport to 4.1 in coming week. Paul -- pault at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20880
[Bug fortran/29387] ICE on character array function of variable length
--- Comment #10 from pault at gcc dot gnu dot org 2006-11-25 14:41 --- (In reply to comment #9) Sorry, this was a slip of the digits in the ChangeLog Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29387
[Bug fortran/29464] problem with duplicate USE, ONLY of procedure in INTERFACE
--- Comment #2 from patchapp at dberlin dot org 2006-11-25 15:05 --- Subject: Bug number PR29464 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01705.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29464
[Bug other/23572] No warning for assigning a value to a 'float' variable that overflows with option -Wextra
--- Comment #5 from manu at gcc dot gnu dot org 2006-11-25 15:24 --- Why this is marked as "other" ? This is either a problem on the C/C++ front-ends or it is a problem in the middle-end that doesn't handle the overflow/underflow correctly during conversion, isn't it? Also, this happens also for i686-pc-gnu-linux and I guess for almost any possible host/target, so perhaps Host and Target should say something different. -- manu at gcc dot gnu dot org changed: What|Removed |Added CC||manu at gcc dot gnu dot org Known to fail|2.95.3 3.2.3 3.4.0 4.0.0|2.95.3 3.2.3 3.4.0 4.0.0 |4.1.0 |4.1.0 4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23572
[Bug c/29977] New: gcc miscompiling gfortran
The failures in the testcases gfortran.dg/char_transpose_1.f90, gfortran.dg/matmul_2.f90, gfortran.dg/matmul_3.f90 are apparently due to a miscompilation of the gfortran FE. The error can be traced to the following code from trans-arrray.c:775 for (n = 0; n < 2; n++) { dest_info->delta[n] = gfc_index_zero_node; dest_info->start[n] = gfc_index_zero_node; dest_info->stride[n] = gfc_index_one_node; dest_info->dim[n] = n; dest_index = gfc_rank_cst[n]; src_index = gfc_rank_cst[1-n]; ... Replacing the last line by the equivalent if (n == 0) src_index = gfc_rank_cst[1]; else if (n == 1) src_index = gfc_rank_cst[0]; Fixes the testsuite failures. -- Summary: gcc miscompiling gfortran Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tobi at gcc dot gnu dot org GCC host triplet: i686-darwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29977
[Bug c/29977] gcc miscompiling gfortran
--- Comment #1 from tobi at gcc dot gnu dot org 2006-11-25 16:12 --- *** This bug has been marked as a duplicate of 29516 *** -- tobi at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29977
[Bug fortran/29516] Bug in character transpose
--- Comment #3 from tobi at gcc dot gnu dot org 2006-11-25 16:12 --- *** Bug 29977 has been marked as a duplicate of this bug. *** -- tobi at gcc dot gnu dot org changed: What|Removed |Added CC||tobi at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516
[Bug fortran/29516] Bug in character transpose
--- Comment #4 from tobi at gcc dot gnu dot org 2006-11-25 16:12 --- The duplicate contains some more analysis. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516
[Bug fortran/29516] Bug in character transpose
--- Comment #5 from tobi at gcc dot gnu dot org 2006-11-25 16:20 --- With the workaround in place, I get a clean -- aside from fallout from another patch in my tree -- testsuite run on i686-darwin -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516
[Bug tree-optimization/29964] [4.1/4.2 Regression] function with volatile operators still found to be pure
--- Comment #6 from pinskia at gcc dot gnu dot org 2006-11-25 16:45 --- Subject: Bug 29964 Author: pinskia Date: Sat Nov 25 16:45:09 2006 New Revision: 119202 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119202 Log: 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR tree-opt/29964 * ipa-pure-const.c (check_tree): If the original tree is volatile return early and say the function is not pure nor const. Remove the volatile check for writes. (analyze_function): Print out the result of the local analysis pass. 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR tree-opt/29964 * gcc.dg/pure-1.c: New test. Added: branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/pure-1.c - copied unchanged from r119162, trunk/gcc/testsuite/gcc.dg/pure-1.c Modified: branches/gcc-4_2-branch/gcc/ChangeLog branches/gcc-4_2-branch/gcc/ipa-pure-const.c branches/gcc-4_2-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29964
[Bug fortran/29516] Bug in character transpose
--- Comment #6 from tobi at gcc dot gnu dot org 2006-11-25 16:49 --- Created an attachment (id=12686) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12686&action=view) First part of the tree dumps At FX' request, I've produced a tarball containing the tree dumps from the compilation of trans-array.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516
[Bug fortran/29516] Bug in character transpose
--- Comment #7 from tobi at gcc dot gnu dot org 2006-11-25 16:57 --- Created an attachment (id=12687) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12687&action=view) First part of tree dumps redux -- tobi at gcc dot gnu dot org changed: What|Removed |Added Attachment #12686|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516
[Bug fortran/29711] error_print does not support %N$X
--- Comment #7 from fxcoudert at gcc dot gnu dot org 2006-11-25 16:57 --- Subject: Bug 29711 Author: fxcoudert Date: Sat Nov 25 16:57:25 2006 New Revision: 119203 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119203 Log: PR fortran/29711 * error.c (error_print): Handle printf-style position specifiers, of the form "%3$d". Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/error.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29711
[Bug fortran/29711] [4.2 only] error_print does not support %N$X
--- Comment #8 from fxcoudert at gcc dot gnu dot org 2006-11-25 17:00 --- Fixed on mainline. I will wait for some time before commiting on 4.2. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added URL|http://gcc.gnu.org/ml/gcc- | |patches/2006- | |11/msg01351.html| Severity|enhancement |normal Known to fail||4.2.0 Known to work||4.3.0 Summary|error_print does not support|[4.2 only] error_print does |%N$X|not support %N$X Target Milestone|4.3.0 |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29711
[Bug libfortran/29456] c99 functions provided by libgfortran
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2006-11-25 17:30 --- Fixed by revision 119204. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29456
[Bug fortran/29516] Bug in character transpose
--- Comment #8 from tobi at gcc dot gnu dot org 2006-11-25 17:46 --- I've given up attaching the tree dumps, they can be downloaded from http://www.cip.physik.uni-muenchen.de/~tobias.schlueter/dumps.tar.gz -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516
[Bug rtl-optimization/29978] New: suboptimal code generation
With following testcase gcc 4.1.1 with -Os produces two back-to-back jumps: "jump to L2 if less; jump to L2 if less-or-equal;" the first one is not needed. -O2 is worse, but I usually use -Os anyway. void g(); void f(long long v) { if (v > 0LL) g(); g(); } /* gcc -v: Target: i386-pc-linux-gnu [skip] Thread model: posix gcc version 4.1.1 gcc -Os -fomit-frame-pointer -S tar.c f: cmpl$15, 8(%esp) jl .L2 // not needed jle .L2 callg .L2: jmp g gcc -O2 -fomit-frame-pointer -S tar.c f: subl$12, %esp // not needed cmpl$15, 20(%esp) jl .L2 // not needed jle .L2 callg .p2align 2,,3 .L2: addl$12, %esp // not needed jmp g */ -- Summary: suboptimal code generation Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vda dot linux at googlemail dot com GCC build triplet: i386-pc-linux-gnu GCC host triplet: i386-pc-linux-gnu GCC target triplet: i386-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29978
[Bug fortran/29516] Bug in character transpose
--- Comment #9 from tobi at gcc dot gnu dot org 2006-11-25 18:50 --- The miscompilation appears first with -O -ftree-vrp, i.e. removing -ftree-vrp from the following command line gives a working executable, with it, we get a broken compiler. tobias-schluters-computer:~/src/trunk/build/gcc tobi$ /Users/tobi/src/trunk/build/./prev-gcc/xgcc -B/Users/tobi/src/trunk/build/./prev-gcc/ -B/Users/tobi/usr/i386-apple-darwin8.8.3/bin/ -c -O -g -ftree-vrp -fomit-frame-pointer -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -Werror -fno-common -DHAVE_CONFIG_H -I. -Ifortran -I../../gcc -I../../gcc/fortran -I../../gcc/../include -I./../intl -I../../gcc/../libcpp/include -I/sw/include -I../../gcc/../libdecnumber -I../libdecnumber../../gcc/fortran/trans-array.c -o fortran/trans-array.o -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29516
[Bug fortran/29459] Spurious warning about uninitialized optional arguments
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2006-11-25 19:41 --- Confirmed. You can get rid of a few of those with: Index: trans-decl.c === --- trans-decl.c(revision 119204) +++ trans-decl.c(working copy) @@ -627,20 +627,30 @@ for (dim = 0; dim < GFC_TYPE_ARRAY_RANK (type); dim++) { if (GFC_TYPE_ARRAY_LBOUND (type, dim) == NULL_TREE) -GFC_TYPE_ARRAY_LBOUND (type, dim) = create_index_var ("lbound", nest); + { + GFC_TYPE_ARRAY_LBOUND (type, dim) = create_index_var ("lbound", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_LBOUND (type, dim)) = 1; + } /* Don't try to use the unknown bound for assumed shape arrays. */ if (GFC_TYPE_ARRAY_UBOUND (type, dim) == NULL_TREE && (sym->as->type != AS_ASSUMED_SIZE || dim < GFC_TYPE_ARRAY_RANK (type) - 1)) -GFC_TYPE_ARRAY_UBOUND (type, dim) = create_index_var ("ubound", nest); + { + GFC_TYPE_ARRAY_UBOUND (type, dim) = create_index_var ("ubound", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_UBOUND (type, dim)) = 1; + } if (GFC_TYPE_ARRAY_STRIDE (type, dim) == NULL_TREE) -GFC_TYPE_ARRAY_STRIDE (type, dim) = create_index_var ("stride", nest); + { + GFC_TYPE_ARRAY_STRIDE (type, dim) = create_index_var ("stride", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_STRIDE (type, dim)) = 1; + } } if (GFC_TYPE_ARRAY_OFFSET (type) == NULL_TREE) { GFC_TYPE_ARRAY_OFFSET (type) = gfc_create_var_np (gfc_array_index_type, "offset"); + TREE_NO_WARNING (GFC_TYPE_ARRAY_OFFSET (type)) = 1; if (nest) gfc_add_decl_to_parent_function (GFC_TYPE_ARRAY_OFFSET (type)); else @@ -649,7 +659,10 @@ if (GFC_TYPE_ARRAY_SIZE (type) == NULL_TREE && sym->as->type != AS_ASSUMED_SIZE) -GFC_TYPE_ARRAY_SIZE (type) = create_index_var ("size", nest); +{ + GFC_TYPE_ARRAY_SIZE (type) = create_index_var ("size", nest); + TREE_NO_WARNING (GFC_TYPE_ARRAY_SIZE (type)) = 1; +} if (POINTER_TYPE_P (type)) { -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||diagnostic Last reconfirmed|-00-00 00:00:00 |2006-11-25 19:41:20 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29459
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #3 from danglin at gcc dot gnu dot org 2006-11-25 20:15 --- In print_c_condition, we have these two calls: print_rtx_ptr_loc (cond); printf ("(%s)", cond); The generated assembly code is: 0x4000d4d0 : ldd -40(ret1),r26 0x4000d4d4 : ldo -30(sp),ret1 0x4000d4d8 : b,l 0x4000d3b8 ,rp 0x4000d4dc : copy dp,r4 0x4000d4e0 : ldd -40(ret1),r25 0x4000d4e4 : copy r4,dp 0x4000d4e8 : addil L%0,dp,r1 0x4000d4ec : ldd 80(r1),r26 0x4000d4f0 : ldo -30(sp),ret1 0x4000d4f4 : b,l 0x4000d994 <.stub+60>,rp 0x4000d4f8 : nop The insn at 0x4000d4e0 is the problem. Register ret1 is the argument pointer. It's call clobbered, so it must be saved and restored if an argument (in this case cond) needs to be reloaded from the argument block on the stack. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug tree-optimization/29964] [4.1 Regression] function with volatile operators still found to be pure
--- Comment #7 from pinskia at gcc dot gnu dot org 2006-11-25 21:12 --- Subject: Bug 29964 Author: pinskia Date: Sat Nov 25 21:12:08 2006 New Revision: 119208 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119208 Log: 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR tree-opt/29964 * ipa-pure-const.c (check_tree): If the original tree is volatile return early and say the function is not pure nor const. Remove the volatile check for writes. (analyze_function): Print out the result of the local analysis pass. 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR tree-opt/29964 * gcc.dg/pure-1.c: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pure-1.c - copied unchanged from r119162, trunk/gcc/testsuite/gcc.dg/pure-1.c Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/ipa-pure-const.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29964
[Bug tree-optimization/29964] [4.1 Regression] function with volatile operators still found to be pure
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-11-25 21:12 --- Fixed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29964
[Bug fortran/29976] [4.2/4.3 regression] ICE on optional arg
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-25 21:19 --- The problem for the trunk is ovbious: #4 0x080c38c1 in gfc_conv_missing_dummy (se=0xbf926cf4, arg=0x9ea1228, ts= {type = BT_UNKNOWN, kind = 4, derived = 0x0, cl = 0x0}) at /src/gcc/fortran/gcc/gcc/fortran/trans-expr.c:155 155 tmp = build3 (COND_EXPR, TREE_TYPE (se->expr), present, se->expr, (gdb) l 150 { 151 tree present; 152 tree tmp; 153 154 present = gfc_conv_expr_present (arg->symtree->n.sym); 155 tmp = build3 (COND_EXPR, TREE_TYPE (se->expr), present, se->expr, 156 build_int_cst (TREE_TYPE (se->expr), 0)); (gdb) p debug_generic_expr (se->expr) *alpha_imD.988 $1 = void (gdb) p debug_tree (se->expr) unit size align 32 symtab 0 alias set -1 precision 32 pointer_to_this > arg 0 public unsigned SI size unit size align 32 symtab 0 alias set -1> readonly used unsigned SI file t.f90 line 1 size unit size align 32 context initial arg-type >> We are calling build_int_cst on a "real" type. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-25 21:19:38 date|| Target Milestone|--- |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29976
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #4 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-25 21:30 --- Subject: Re: [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump) Simplified test case attached. Dave --- Comment #5 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-25 21:30 --- Created an attachment (id=12688) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12688&action=view) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug fortran/29951] [4.3 Regression] incorrect conversion from string to integer by TRANSFER()
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-11-25 21:43 --- Subject: Bug 29951 Author: pinskia Date: Sat Nov 25 21:43:48 2006 New Revision: 119211 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119211 Log: 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR fortran/29951 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Change to call memcpy instead of creating a VIEW_CONVERT_EXRP. 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR fortran/29951 * gfortran.fortran-torture/execute/transfer2.f90: New test Added: trunk/gcc/testsuite/gfortran.fortran-torture/execute/transfer2.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-intrinsic.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29951
[Bug fortran/29951] [4.3 Regression] incorrect conversion from string to integer by TRANSFER()
--- Comment #9 from pinskia at gcc dot gnu dot org 2006-11-25 21:45 --- Fixed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29951
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #6 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-25 22:14 --- Subject: Re: [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump) > Simplified test case attached. This is a bug in fwprop. Attached rtl dumps fro cse1 and fwprop1. Dave --- Comment #7 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-25 22:14 --- Created an attachment (id=12689) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12689&action=view) --- Comment #8 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-25 22:14 --- Created an attachment (id=12690) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12690&action=view) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #9 from steven at gcc dot gnu dot org 2006-11-25 22:24 --- Why is this an fwprop bug? You haven't really shown that AFAICS. Could be a latent bug elsewhere that fwprop uncovered. Or can you pin-point the specific insns that fwpwop produces, and which you think is wrong? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug c++/29979] New: ICE with vector types in templates
The following code snippet triggers an ICE since GCC 3.3: === template struct A { static const T i = 1; int __attribute__((vector_size(8))) a[i]; }; === bug.cc:4: internal compiler error: in fold_convert, at fold-const.c:2066 Please submit a full bug report, [etc.] A similar code snippet triggers a segfault: === template struct A { int __attribute__((vector_size(8))) a[T::i]; }; === bug.cc:3: internal compiler error: Segmentation fault Please submit a full bug report, [etc.] -- Summary: ICE with vector types in templates Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29979
[Bug c++/29980] New: [4.2/4.3 regression] ICE using attribute in invalid declaration
The following invalid code snippet triggers an ICE on the 4.2 branch and mainline: === struct A { typedef int X; }; struct __attribute__((unused)) A::X; === bug.cc:3: error: using typedef-name 'A::X' after 'struct' bug.cc:1: error: 'A::X' has a previous declaration here bug.cc:3: internal compiler error: Segmentation fault Please submit a full bug report, [etc.] -- Summary: [4.2/4.3 regression] ICE using attribute in invalid declaration Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, error-recovery, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29980
[Bug c++/29980] [4.2/4.3 regression] ICE using attribute in invalid declaration
-- reichelt at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29980
[Bug libfortran/29568] implement unformatted files with subrecords (Intel style)
--- Comment #20 from tkoenig at gcc dot gnu dot org 2006-11-25 22:58 --- Created an attachment (id=12691) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12691&action=view) Latest update Here's the latest update. This is fairly complete, but still lacks testing on exceeding the write record length. Also not yet regression-tested. Thomas -- tkoenig at gcc dot gnu dot org changed: What|Removed |Added Attachment #12646|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29568
[Bug c++/29979] ICE with vector types arrays in templates
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-25 23:04 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-25 23:04:36 date|| Summary|ICE with vector types in|ICE with vector types arrays |templates |in templates http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29979
[Bug libstdc++/29981] New: libstdc++-v3 is configured on unsupported host h8300-hms
The root configure.in claims that libstdc++-v3 should be built on h8300-*-*-* but libstdc++-v3 seems to disagree. $ ./configure --enable-languages=c,c++ --target=h8300-hms && make [...] configure: error: No support for this host/target combination. make[1]: *** [configure-target-libstdc++-v3] Error 1 Locally I can easily fix this by adding target-libstdc++-v3 to noconfigdirs for h8300 in 'configure', but I don't know if all h8300-* targets really are unsupported by libstdc++-v3. -- Summary: libstdc++-v3 is configured on unsupported host h8300-hms Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: carl at thep dot lu dot se GCC build triplet: i686-pc-linux-gnu GCC host triplet: h8300-hitachi-hms GCC target triplet: h8300-hitachi-hms http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29981
[Bug c++/29980] [4.2/4.3 regression] ICE using attribute in invalid declaration
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-25 23:14 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |minor Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-25 23:14:56 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29980
[Bug libstdc++/29981] libstdc++-v3 is configured on unsupported host h8300-hms
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-25 23:16 --- You are going to use newlib with h8300-hms, right, if so you should configure with --with-newlib. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29981
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #10 from steven at gcc dot gnu dot org 2006-11-25 23:17 --- >From the cse1 dump: Register 72 used 1 times across 0 insns; set 1 time; dies in 0 places; pointer. So there is only a single DEF for reg 72. The set for this DEF is: (insn 112 2 7 2 foo.c:13 (set (reg/f:DI 72) (plus:DI (reg/f:DI 29 %r29) (const_int -64 [0xffc0]))) -1 (nil) (nil)) fwprop replaces occurences of (reg 72) with (plus (reg 29) (const_int -64)). This is the diff between the cse1 and fwprop dump: --- attachment.cse1 2006-11-26 00:13:55.0 +0100 +++ attachment.fwprop12006-11-26 00:14:06.0 +0100 () @@ -112,7 +172,8 @@ (const_int -64 [0xffc0]))) -1 (nil) (nil)) -(insn 7 112 8 2 foo.c:13 (set (mem/f/c/i:DI (reg/f:DI 72) [8 cond+0 S8 A64]) +(insn 7 112 8 2 foo.c:13 (set (mem/f/c/i:DI (plus:DI (reg/f:DI 29 %r29) +(const_int -64 [0xffc0])) [8 cond+0 S8 A64]) (reg:DI 26 %r26 [ cond ])) 124 {*pa.md:4480} (nil) (nil)) @@ -397,7 +458,8 @@ (insn 71 70 74 5 foo.c:25 (set (mem:QI (reg/f:DI 68 [ D.1944 ]) [0 S1 A8]) (reg:QI 88)) 104 {*pa.md:3322} (nil) -(nil)) +(expr_list:REG_EQUAL (const_int 10 [0xa]) +(nil))) (insn 74 71 75 5 foo.c:25 (set (reg/f:DI 91) (plus:DI (reg/f:DI 68 [ D.1944 ]) @@ -462,7 +524,8 @@ (note 89 88 91 7 [bb 7] NOTE_INSN_BASIC_BLOCK) (insn 91 89 92 7 foo.c:26 (set (reg/f:DI 26 %r26 [ cond ]) -(mem/f/c/i:DI (reg/f:DI 72) [8 cond+0 S8 A64])) 124 {*pa.md:4480} (nil) +(mem/f/c/i:DI (plus:DI (reg/f:DI 29 %r29) +(const_int -64 [0xffc0])) [8 cond+0 S8 A64])) 124 {*pa.md:4480} (nil) (nil)) (insn 92 91 93 7 foo.c:26 (set (reg/f:DI 29 %r29) @@ -503,7 +566,8 @@ (nil))) (insn 98 97 99 7 foo.c:27 (set (reg/f:DI 25 %r25 [ cond ]) -(mem/f/c/i:DI (reg/f:DI 72) [8 cond+0 S8 A64])) 124 {*pa.md:4480} (nil) +(mem/f/c/i:DI (plus:DI (reg/f:DI 29 %r29) +(const_int -64 [0xffc0])) [8 cond+0 S8 A64])) 124 {*pa.md:4480} (nil) (nil)) (insn 99 98 100 7 foo.c:27 (set (reg/f:DI 29 %r29) Someone care to explain why this is a wrong transformation by fwprop? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #11 from steven at gcc dot gnu dot org 2006-11-25 23:19 --- Note that (reg 29) is the ret1 reg. Looks more and more like a register allocation problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
-- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-25 23:21:16 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug target/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #12 from steven at gcc dot gnu dot org 2006-11-25 23:23 --- Re. comment #3, "It's call clobbered, so it must be saved and restored": Why is reg 29 not in the call clobbered reg list on the call_insns? I see a USE for reg 29 on every call: (use (reg/f:DI 29 %r29)). But not a CLOBBER. Shouldn't that be a clobber if reg 29 is call clobbered? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug rtl-optimization/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #13 from pinskia at gcc dot gnu dot org 2006-11-25 23:26 --- The only three instructions fwprop touches are done into: Before: (insn 112 2 7 2 foo.c:13 (set (reg/f:DI 72) (plus:DI (reg/f:DI 29 %r29) (const_int -64 [0xffc0]))) -1 (nil) (nil)) (insn 7 112 8 2 foo.c:13 (set (mem/f/c/i:DI (reg/f:DI 72) [8 cond+0 S8 A64]) (reg:DI 26 %r26 [ cond ])) 124 {*pa.md:4480} (nil) (nil)) After: ... (insn 91 89 92 7 foo.c:26 (set (reg/f:DI 26 %r26 [ cond ]) (mem/f/c/i:DI (plus:DI (reg/f:DI 29 %r29) (const_int -64 [0xffc0])) [8 cond+0 S8 A64])) 124 {*pa.md:4480} (nil) (nil)) wait. r29 is clobbered by: (insn 16 15 17 2 foo.c:14 (set (reg/f:DI 29 %r29) (plus:DI (reg/f:DI 30 %r30) (const_int -48 [0xffd0]))) 164 {*pa.md:5309} (nil) (nil)) -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Component|target |rtl-optimization http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug rtl-optimization/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #14 from pinskia at gcc dot gnu dot org 2006-11-25 23:32 --- fwprop says it is r29 invalided by a call: invalidated by call 0, 1, 2, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 I think it missed that pseduo register 72 uses r29. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug target/29969] should use floating point registers for block copies
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-25 23:36 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-25 23:36:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29969
[Bug middle-end/29301] [4.2/4.3 Regression] ICE in check_cfg, at haifa-sched .c:4657 while compiling openssl
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-11-25 23:52 --- *** This bug has been marked as a duplicate of 29841 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29301
[Bug rtl-optimization/29841] [4.2/4.3 regression] ICE with scheduling and __builtin_trap
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-11-25 23:52 --- *** Bug 29301 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||bero at arklinux dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29841
[Bug middle-end/29750] [4.2 regression] Segmentation fault while compiling OpenSSL 0.9.8d
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-11-25 23:52 --- *** This bug has been marked as a duplicate of 29841 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29750
[Bug rtl-optimization/29841] [4.2/4.3 regression] ICE with scheduling and __builtin_trap
--- Comment #6 from pinskia at gcc dot gnu dot org 2006-11-25 23:52 --- *** Bug 29750 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29841
[Bug rtl-optimization/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #15 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-26 00:04 --- Subject: Re: [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory faul > (insn 98 97 99 7 foo.c:27 (set (reg/f:DI 25 %r25 [ cond ]) > -(mem/f/c/i:DI (reg/f:DI 72) [8 cond+0 S8 A64])) 124 {*pa.md:4480} > (nil) > +(mem/f/c/i:DI (plus:DI (reg/f:DI 29 %r29) > +(const_int -64 [0xffc0])) [8 cond+0 S8 A64])) 124 > {*pa.md:4480} (nil) > (nil)) > Someone care to explain why this is a wrong transformation by fwprop? This is the transformation that's wrong and the one that causes garbage to get loaded in r25 for the call printf. r29 is called used/clobbered and not preserved across the previous call. It's defined so in the macro CALL_USED_REGISTERS in pa64-regs.h. It's the argument pointer and must set up prior to every call. On most targets, it's a fixed register but not on PA64. Even if it wasn't call clobbered, fwprop seems to have missed the fact that the value in r29 changes at insn 92 and every other call in the preceding insn flow: (insn 92 91 93 7 foo.c:26 (set (reg/f:DI 29 %r29) (plus:DI (reg/f:DI 30 %r30) (const_int -48 [0xffd0]))) 164 {*pa.md:5309} (nil) (nil)) At least in the past, it never was never necessary to have a complete list of call used registers appended to each each call. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug target/29747] [4.3 Regression] No debug symbols when compiling stage2 compiler with -O2 -g
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-11-26 00:04 --- Fixed by: 2006-11-16 Mike Stump <[EMAIL PROTECTED]> * config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on pre-darwin9 system, unless the user asks for it directl -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29747
[Bug c++/29757] Non-ISO template qualifiers
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-11-26 00:10 --- Since adding -pedantic rejects this and libstdc++ uses extern template and extern template might become part of the standard, I am going to close this as invalid. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29757
[Bug c++/29727] [4.0/4.1/4.2/4.3 regression] ICE on invalid initializer for template member
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 00:19 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |minor Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-26 00:19:12 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29727
[Bug c++/29728] [4.0/4.1/4.2/4.3 regression] ICE on invalid initializer in template function
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 00:19 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-26 00:19:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29728
[Bug c++/29730] [4.0/4.1/4.2/4.3 regression] ICE on invalid declaration of template member
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 00:20 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-26 00:20:39 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29730
[Bug c++/29731] [4.0/4.1/4.2/4.3 regression] ICE with statement expression as template parameter
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 00:21 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-26 00:21:23 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29731
[Bug c++/29732] [4.0/4.1/4.2/4.3 regression] ICE on invalid friend declaration
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 00:22 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-26 00:22:09 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29732
[Bug c++/29733] [4.1/4.2/4.3 regression] ICE on initialization of function type
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 00:22 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-26 00:22:54 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29733
[Bug fortran/29982] New: ICE in write() with gfortran 4.1.2 (and 4.2 and 4.3...)
The following program causes an ICE with gfortran 4.1.2 running with Ubuntu 6.10 on an i686 laptop (and works with non-gfortran compilers): program tst write (6,"(a,es15.8)") "2.0**(-0.0) = ",2.0**(-0.0) end program tst [EMAIL PROTECTED]:~/f$ cd ~/f;gfortran -o tst tst.F90 tst.F90: In function MAIN__: tst.F90:10: internal compiler error: in expand_expr_addr_expr_1, at expr.c:6363 ... [EMAIL PROTECTED]:~/f$ gfortran --version GNU Fortran 95 (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5) -- Summary: ICE in write() with gfortran 4.1.2 (and 4.2 and 4.3...) Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zender at uci dot edu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29982
[Bug fortran/29982] ICE in write() with gfortran 4.1.2 (and 4.2 and 4.3...)
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 00:28 --- Mine. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC|pinskia at gmail dot com| AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-11-26 00:28:20 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29982
[Bug rtl-optimization/29840] [4.3 Regression] build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump)
--- Comment #16 from steven at gcc dot gnu dot org 2006-11-26 01:04 --- Created an attachment (id=12692) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12692&action=view) Magic with hard regs Paolo Bonzini proably can think of a real fix, but it'll have to look something like this: Make hard register uses available in all_uses_available_at, and don't propagate call clobbered hard regs. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
[Bug c++/14329] [tree-ssa] badly formatted warnings for SRA replacements used uninitialized
--- Comment #13 from pinskia at gcc dot gnu dot org 2006-11-26 01:44 --- I am going to test RTH's patch and fix all the fall outs. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|gdr at gcc dot gnu dot org |pinskia at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14329
[Bug target/29983] New: [Regression 4.2] Out of range offset for ldrd/strd intruction.
GCC 4.2 is generating wrong offset while compiling the attached example. This only happens when using -mcpu=iwmmxt option. It works ok on 3.4.6 /tmp/cc4oD6OO.s: Assembler messages: /tmp/cc4oD6OO.s:15151: Error: bad immediate value for half-word offset (328) /tmp/cc4oD6OO.s:15151: Error: bad immediate value for half-word offset (512) /tmp/cc4oD6OO.s:15151: Error: bad immediate value for half-word offset (328) /tmp/cc4oD6OO.s:15151: Error: bad immediate value for half-word offset (328) To reproduce this compile the testcase with gcc -O2 -c -mcpu=iwmmxt -- Summary: [Regression 4.2] Out of range offset for ldrd/strd intruction. Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: raj dot khem at gmail dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: armv5tel-*-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29983
[Bug target/29983] [Regression 4.2] Out of range offset for ldrd/strd intruction.
--- Comment #1 from raj dot khem at gmail dot com 2006-11-26 03:27 --- Created an attachment (id=12693) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12693&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29983
[Bug target/29983] Out of range offset for ldrd/strd intruction.
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-11-26 03:50 --- eabi was not added until at least 4.0. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Known to work|3.4.6 | Summary|[Regression 4.2] Out of |Out of range offset for |range offset for ldrd/strd |ldrd/strd intruction. |intruction. | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29983
[Bug target/29983] Out of range offset for ldrd/strd intruction.
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-11-26 04:04 --- Hmm, with that target I get: checking target system type... Invalid configuration `armv5tel-linux-gnueabi': machine `armv5tel' not recognized -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29983
[Bug libfortran/29568] implement unformatted files with subrecords (Intel style)
--- Comment #21 from jvdelisle at gcc dot gnu dot org 2006-11-26 04:10 --- Patch 9 regression test are OK on x86-64. Just need the RECL= limit checks and error messages. I will start on some nore complex tests now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29568
[Bug target/29983] Out of range offset for ldrd/strd intruction.
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-11-26 04:36 --- I see: ldrdr2, [r1], #328 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29983
[Bug fortran/29982] ICE in write() with gfortran 4.1.2 (and 4.2 and 4.3...)
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-11-26 04:42 --- Subject: Bug 29982 Author: pinskia Date: Sun Nov 26 04:42:00 2006 New Revision: 119218 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119218 Log: 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR fortran/29982 * trans-expr.c (gfc_conv_expr_reference): Strip off NOP_EXPRs. 2006-11-25 Andrew Pinski <[EMAIL PROTECTED]> PR fortran/29982 * gfortran.fortran-torture/compile/parameter_3.f90: New testcase. Added: trunk/gcc/testsuite/gfortran.fortran-torture/compile/parameter_3.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-expr.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29982
[Bug target/12477] Request to add ability to disable inline/dllimport warnings
--- Comment #15 from pinskia at gcc dot gnu dot org 2006-11-26 05:58 --- No feedback in 3 months about the -Wno-attributes option and the current behavior of GCC so closing. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12477
[Bug target/29984] New: [Regression 4.2]: ppc 8540 g++ segfaults on valid C++ code.
The following example is a reduced testcase from icewm. GCC when configured for ppc-*-linux-gnuspe segfaults. To reproduce the ICE compile like below g++ -c -O2 testcase.C this works fine on gcc configured with powerpc-*-linux testcase.C class YRect { public: YRect(int x, int y, int w, int h) :xx(x), yy(y), ww(w), hh(h) { } int x() const { return xx; } int y() const { return yy; } int width() const { return ww; } int height() const { return hh; } private: int xx, yy, ww, hh; }; void setGeometry(const YRect &r); void resize(int xiscreen) { int dx, dy, dw, dh; int aWidth = (int) dw * 1/3; int tWidth=0; int w = aWidth; int h; if (h) { if (w >= 0) w = 0; int step; int maxHeight; if (h > maxHeight) h= maxHeight; } else{ int iWidth; if (iWidth > aWidth) aWidth = iWidth; if (iWidth) { if (aWidth > w) w = aWidth; } if (h/*quickSwitchAllIcons*/) h += 1; } setGeometry(YRect(dx + ((dw - w) >> 1), dy + ((dh - h) >> 1), w, h)); } -- Summary: [Regression 4.2]: ppc 8540 g++ segfaults on valid C++ code. Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: raj dot khem at gmail dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: powerpc-*-linux-gnuspe http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29984
[Bug target/29983] Out of range offset for ldrd/strd intruction.
--- Comment #5 from raj dot khem at gmail dot com 2006-11-26 07:05 --- It is also reproducible using trunk and arm-none-eabi -- raj dot khem at gmail dot com changed: What|Removed |Added GCC target triplet|armv5tel-*-linux-gnueabi|arm-none-eabi Known to fail|4.2.0 |4.2.0 4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29983
[Bug target/29984] SPE GCC segfaults with some C++ code
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-26 07:23 --- This works for me on the mainline. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Known to work|3.4.6 |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29984
[Bug target/29984] SPE GCC segfaults with some C++ code
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-11-26 07:43 --- I get the following ICE on the 4.2 branch: t.cc:15: internal compiler error: in rs6000_emit_minmax, at config/rs6000/rs6000.c:12088 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29984
[Bug tree-optimization/29985] New: sin (x) / cos (x) is not always folded to tan (x)
This testcase shows the problem when compiled with -ffast-math: double test1(double x) { double y1, y2; y1 = sin(x); y2 = cos(x); return y1 / y2; } double test2(double x) { return sin(x) / cos(x); } gcc -O2 -ffast-math: _.099t.optimized: ;; Function test2 (test2) Analyzing Edge Insertions. test2 (x) { : return __builtin_tan (x) [tail call]; } ;; Function test1 (test1) Analyzing Edge Insertions. test1 (x) { : return sin (x) / cos (x); } -- Summary: sin (x) / cos (x) is not always folded to tan (x) Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ubizjak at gmail dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29985
[Bug target/29984] SPE GCC segfaults with MAX_EXPR
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-11-26 07:58 --- MAX_EXPR :) Reassiocation produces: aWidth_29 = MAX_EXPR ; w_30 = MAX_EXPR ; From: aWidth_29 = MAX_EXPR ; w_30 = MAX_EXPR ; The testcase you provided is undefined which is why it no longer ICEs in 4.3.0. Here is a testcase that ICEs in 4.3.0: void setGeometry(int w, int h); void resize(int h, int dx, int dy, int dw, int dh, int maxHeight, int iWidth) { int aWidth = (int) dw * 1/3; int w = aWidth; if (h) { if (w >= 0) w = 0; if (h > maxHeight) h= maxHeight; } else { if (iWidth > aWidth) aWidth = iWidth; if (iWidth) { if (aWidth > w) w = aWidth; } if (h) h += 1; } setGeometry(w, h); } -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to work|4.3.0 | Last reconfirmed|-00-00 00:00:00 |2006-11-26 07:58:50 date|| Summary|SPE GCC segfaults with some |SPE GCC segfaults with |C++ code|MAX_EXPR http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29984