[Bug fortran/32310] Intel-darwin specific ICE on CP2K code
--- Comment #7 from jv244 at cam dot ac dot uk 2007-07-13 07:17 --- is this still failing ? Yesterday, I ran a valgrinded compilation of CP2K, and it showed no errors (didn't check memory leaks). This has been on x86_64 though. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32310
[Bug fortran/32727] [4.3 regression] bogus error: Error: Symbol 'sort' referenced at (1) not found in module 'util'
--- Comment #14 from jv244 at cam dot ac dot uk 2007-07-13 07:14 --- (In reply to comment #13) > I would use your cp2k testcase but it does not compile on Cygwin - it runs out > of memory during compilation. When I have a moment, I'll break itup. yes, it can be trivially split after every module, and compiled in that order. The other option is to check (a fixed version) out from cvs. See http://cp2k.berlios.de/download.html. That might initially be a few minutes more work to setup, but has the advantage that make -j X speeds up testing and that miscompilations can be more easily found. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32727
[Bug bootstrap/32753] New: building a crosscompiler for arm-elf fails because of an error in cirrus.md
When trying to build a crosscompiler for arm-elf with cd i386-linux8; CC="gcc" CFLAGS="-O" LDFLAGS="-s" CLIB="" LANGUAGES=c ../gcc-4.2.1-RC-20070703/configure --srcdir=../gcc-4.2.1-RC-20070703 --prefix=/usr/arch --with-local-prefix=/usr/arch --target=arm-elf --with-newlib --disable-libssp it will fail with: build/genoutput.o build/rtl.o build/read-rtl.o build/ggc-none.o build/vec.o build/min-insn-modes.o build/gensupport.o build/print-rtl.o build/errors.o ../build-i686-pc-linux-gnu/libiberty/libiberty.a build/genoutput ../../gcc-4.2.1-RC-20070703/gcc/config/arm/arm.md \ insn-conditions.md > tmp-output.c ../../gcc-4.2.1-RC-20070703/gcc/config/arm/cirrus.md:407: error: undefined machine-specific constraint at this point: "T,*v" ../../gcc-4.2.1-RC-20070703/gcc/config/arm/cirrus.md:407: note: in operand 0 ../../gcc-4.2.1-RC-20070703/gcc/config/arm/cirrus.md:407: error: undefined machine-specific constraint at this point: "T,*v,*v" ../../gcc-4.2.1-RC-20070703/gcc/config/arm/cirrus.md:407: note: in operand 1 gmake[2]: *** [s-output] Error 1 gmake[2]: Leaving directory `/mnt/projekt/soft/uti/cmd/gcc/thumb/i386-linux8/gcc' gmake[1]: *** [all-gcc] Error 2 gmake[1]: Leaving directory `/mnt/projekt/soft/uti/cmd/gcc/thumb/i386-linux8' gmake: *** [all] Error 2 *** Error code 2 Stop. -- Summary: building a crosscompiler for arm-elf fails because of an error in cirrus.md Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: leo at marco dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32753
[Bug bootstrap/32753] building a crosscompiler for arm-elf fails because of an error in cirrus.md
--- Comment #1 from leo at marco dot de 2007-07-13 07:12 --- Created an attachment (id=13908) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13908&action=view) Stupid patch to fix the problem -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32753
[Bug tree-optimization/32589] [4.3 regression] exp_dbug.adb:981: error: invalid array index
--- Comment #14 from rob1weld at aol dot com 2007-07-13 07:27 --- >Comment #13 From Eric Botcazou 2007-07-12 06:00 [reply] --- >Please do not pollute this ticket with unrelated stuff. I posted here after previously searching many messages, and again re-searching more messages to see if you had made a new ticket in regards to: > ... but the library still doesn't build. I only posted in relation to "the build being broken at this point". I thought the info was related and would assist you in your repairs to have the build work _completely_ at this point in time. Thank you for fixing the portion that was fixed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32589
[Bug other/32754] New: The opt?-gen.awk file generators produce incorrect credits
Files: gcc-4_2-branch/gcc/optc-gen.awk , gcc-4_2-branch/gcc/opth-gen.awk , gcc-4_3-trunk/gcc/optc-gen.awk and gcc-4_3-trunk/gcc/opth-gen.awk All contain this credit line: print "/* This file is auto-generated by opts.sh. */" Numerous documents and other files all mention opts.sh but I can find no such file: gcc-4_2-branch/gcc/ChangeLog-2004: * opts.sh: Generate variable declarations, handle CL_REPORT. gcc-4_2-branch/gcc/doc/.svn/text-base/options.texi.svn-base:@cindex @samp{opts.sh} gcc-4_2-branch/gcc/doc/options.texi:@cindex @samp{opts.sh} gcc-4_2-branch/gcc/optc-gen.awk:print "/* This file is auto-generated by opts.sh. */" gcc-4_2-branch/gcc/opth-gen.awk:print "/* This file is auto-generated by opts.sh. */" gcc-4_2-branch/gcc/opts-common.c: issue, opts.sh makes "-gen-decls" point, via the back_chain member, ... It would be better if each of the "opt?-gen.awk" files credited themselves instead of a non-existant file. It makes it more difficult to find out how the files they create were created when you read those files with this erroneous information. -- Summary: The opt?-gen.awk file generators produce incorrect credits Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rob1weld at aol dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32754
[Bug rtl-optimization/32747] [4.3 Regression] ICE segmentation fault or abort in combine on alpha
--- Comment #1 from belyshev at depni dot sinp dot msu dot ru 2007-07-13 08:26 --- Broken by r126517: 2007-07-10 Ian Lance Taylor <[EMAIL PROTECTED]> Replace no_new_pseudos in backends. ... -- belyshev at depni dot sinp dot msu dot ru changed: What|Removed |Added CC||iant at google dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32747
[Bug middle-end/32004] [4.1/4.2/4.3 regression] : can't find a register in class 'GENERAL_REGS' while reloading 'asm'
--- Comment #36 from paolo dot bonzini at lu dot unisi dot ch 2007-07-13 09:57 --- Subject: Re: [4.1/4.2/4.3 regression] : can't find a register in class 'GENERAL_REGS' while reloading 'asm' kkojima at gcc dot gnu dot org wrote: > --- Comment #33 from kkojima at gcc dot gnu dot org 2007-07-12 01:11 > --- > It seems that the patch 126418 causes an ICE for gcc.dg/asm-4.c > and the patch 126487 breaks gcc.c-torture/compile/2804-1.c > on 4.2 for SH. Both failures happen only with -O0. It looks > ia64 testresults show similar errors: > > http://gcc.gnu.org/ml/gcc-testresults/2007-07/msg00309.html > http://gcc.gnu.org/ml/gcc-testresults/2007-07/msg00446.html The former is easy and I have a patch. I don't understand the latter instead, it looks like (on sh at least) reload is not able to make a valid address and it might be a latent bug. Could anybody look at it? Paolo -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32004
[Bug middle-end/32546] 'warning: array subscript is above/below array bounds' on delete[]
--- Comment #2 from mueller at gcc dot gnu dot org 2007-07-13 11:10 --- unfortunately setting TREE_NO_WARNING on the synthesized delete[] parameters does not help because it is lost during middle end folding -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32546
[Bug tree-optimization/32721] CCP removes volatile qualifiers.
--- Comment #5 from rguenth at gcc dot gnu dot org 2007-07-13 12:19 --- Actually, the optimized dump ist still correct: main () { int D.2011; : spinlock[0] = 0; spinlock[1] = 0; : D.2011 = spinlock[0]; if (D.2011 != 0) goto ; else goto ; : return; } spinlock[0] is re-loaded in every loop iteration. Likewise the assembly is correct. Only if I remove the volatile qualifier from the declaration of spinlock then FRE removes the redundancy. And this is because while we keep the has_volatile_ops on the stmt after the propagation of the pointer, the first alias pass clears it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32721
[Bug other/32188] DFP instrinic document is out of date
--- Comment #4 from hjl at lucon dot org 2007-07-13 13:22 --- Fixed. -- hjl at lucon dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32188
[Bug libgcj/30632] libgcj failed to build for Linux/ia64
--- Comment #5 from hjl at lucon dot org 2007-07-13 13:26 --- Seems to work now. -- hjl at lucon dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30632
[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args
--- Comment #8 from ubizjak at gmail dot com 2007-07-13 13:25 --- Patch for SImode and SFmode vec_select at http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01263.html -- ubizjak at gmail dot com changed: What|Removed |Added URL|http://gcc.gnu.org/ml/gcc- |http://gcc.gnu.org/ml/gcc- |patches/2007- |patches/2007- |07/msg01077.html|07/msg01263.html Keywords||patch http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32661
[Bug other/32188] DFP instrinic document is out of date
--- Comment #3 from hjl at gcc dot gnu dot org 2007-07-13 13:22 --- Subject: Bug 32188 Author: hjl Date: Fri Jul 13 13:22:10 2007 New Revision: 126619 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126619 Log: 2007-07-13 H.J. Lu <[EMAIL PROTECTED]> PR other/32188 * doc/libgcc.texi: Update DFP intrinsics for DPD and BID. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/libgcc.texi -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32188
[Bug ada/32733] g-spipat.adb:1597: error: definition in block 11 does not dominate use in block 12
--- Comment #3 from ebotcazou at gcc dot gnu dot org 2007-07-13 13:15 --- Confirmed on platforms using SJLJ exceptions for Ada. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC build triplet|i386-unknown-netbsdelf3.1 | GCC host triplet|i386-unknown-netbsdelf3.1 | GCC target triplet|i386-unknown-netbsdelf3.1 | Last reconfirmed|-00-00 00:00:00 |2007-07-13 13:15:22 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32733
[Bug fortran/31320] Illegal read with gfortran.dg/alloc_comp_assign_2.f90 and *_3.f90
--- Comment #6 from pault at gcc dot gnu dot org 2007-07-13 13:47 --- (In reply to comment #5) > struct a a.0; > struct array1_int4 parm.2; > parm.2.dim[0].ubound = 3; > a.0.i = (struct array1_int4) parm.2; /* ubound == 3 */ > a.0.i.dim[0].ubound = a.0.i.dim[0].ubound + 1; /* ubound == 4 (!) */ > x = a.0; > Adding > print *, ubound(x%i, 1), ubound(y%i, 1) > to the source gives 4/4 instead of 3/3 as one would expect from the > initalizer. This all happens in trans-expr.c(gfc_trans_subcomponent_assign):3007 The change for 0 to unity based indexing is done incorrectly - apparently, what is assumed to be zero based comes through as something else... sometimes! I think that the right thing to do here is to use the array_spec lower bound as the base and to use the expression upper-lower as the range. I'll see if I cannot post a fix in the next couple of days. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31320
[Bug rtl-optimization/32755] Seg fault when compile CPU2000 with -fsee
--- Comment #3 from rguenth at gcc dot gnu dot org 2007-07-13 13:07 --- -fsee is broken. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32755
[Bug tree-optimization/32721] [4.3 Regression] CCP removes volatile qualifiers.
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Known to work||4.1.2 4.2.0 Summary|CCP removes volatile|[4.3 Regression] CCP removes |qualifiers. |volatile qualifiers. Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32721
[Bug tree-optimization/32721] CCP removes volatile qualifiers.
--- Comment #6 from rguenth at gcc dot gnu dot org 2007-07-13 12:36 --- Basically we could just make sure to preserve TREE_THIS_VOLATILE on folded memory references *&spinlock[0] (where the indirect reference has this flag set, but the result from maybe_fold_offset_to_reference, spinlock[0], has not), and properly set has_volatile_ops on array references with TREE_THIS_VOLATILE set. Like Index: tree-ssa-ccp.c === *** tree-ssa-ccp.c (revision 126617) --- tree-ssa-ccp.c (working copy) *** static tree *** 1839,1844 --- 1839,1845 maybe_fold_stmt_indirect (tree expr, tree base, tree offset) { tree t; + bool volatile_p = TREE_THIS_VOLATILE (expr); /* We may well have constructed a double-nested PLUS_EXPR via multiple substitutions. Fold that down to one. Remove NON_LVALUE_EXPRs that *** maybe_fold_stmt_indirect (tree expr, tre *** 1882,1888 t = maybe_fold_offset_to_reference (base_addr, offset, TREE_TYPE (expr)); if (t) ! return t; } else { --- 1883,1892 t = maybe_fold_offset_to_reference (base_addr, offset, TREE_TYPE (expr)); if (t) ! { ! TREE_THIS_VOLATILE (t) = volatile_p; ! return t; ! } } else { Index: tree-ssa-operands.c === --- tree-ssa-operands.c (revision 126617) +++ tree-ssa-operands.c (working copy) @@ -2078,6 +2078,9 @@ get_expr_operands (tree stmt, tree *expr if (!none) flags |= opf_no_vops; + + if (TREE_THIS_VOLATILE (expr)) + get_stmt_ann (stmt)->has_volatile_ops = true; } else if (TREE_CODE (ref) == INDIRECT_REF) { -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32721
[Bug rtl-optimization/32755] Seg fault when compile CPU2000 with -fsee
-- hjl at lucon dot org changed: What|Removed |Added CC||hjl at lucon dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-07-13 13:48:04 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32755
[Bug ada/32733] g-spipat.adb:1597: error: definition in block 11 does not dominate use in block 12
--- Comment #4 from ebotcazou at gcc dot gnu dot org 2007-07-13 13:15 --- Investigating. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added CC|ebotcazou at gcc dot gnu dot| |org | AssignedTo|unassigned at gcc dot gnu |ebotcazou at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2007-07-13 13:15:22 |2007-07-13 13:15:40 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32733
[Bug tree-optimization/32721] [4.3 Regression] CCP removes volatile qualifiers.
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2007-07-10 16:15:57 |2007-07-13 12:45:28 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32721
[Bug middle-end/32546] 'warning: array subscript is above/below array bounds' on delete[]
--- Comment #1 from mueller at gcc dot gnu dot org 2007-07-13 11:05 --- this is yet another case of the middle end folding memory arithmetics back into an array ref that is out of bounds: operator delete [] ((void *) A + 0xfffc); (from orig dump) later it is: D.2607_30 = &(*D.2517_7)[-4]; operator delete [] (D.2607_30); which will then trigger this warning (because -4 is clearly out of bounds). -- mueller at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-07-13 11:05:25 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32546
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #7 from ebotcazou at gcc dot gnu dot org 2007-07-13 14:37 --- > Does this function have cfun->static_chain_decl being used, and we > have a copy of that here? No, it's a toplevel function. > It is theoretically safe to call set_ssa_to_val with to == vn_top, but > it's probably a bug somewhere, and i'd rather eliminate the bug cases > before turning it off. visit_phi is called on a PHI node with 1 argument (shrinked by DOM): # NMT.152_89(ab) = PHI and the SSA_VAL of NMT.152_264 is VN_TOP. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug c++/32756] New: wrong ambiguous overload error?
Hi, this might be invalid, needs verification. starting with gcc 4.3, the following testcase is rejected: === Cut === class QString; struct QByteArray { QByteArray (); bool operator!= (const QString & s2) const; }; bool operator!= (const QByteArray & a1, const QByteArray & a2); struct QString { QString (); QString (const QByteArray & a); }; QByteArray abbreviation (); void fromString () { QByteArray zoneAbbrev; if (abbreviation () != zoneAbbrev) { } } === Cut === ambiguity.cc:23: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: ambiguity.cc:9: note: candidate 1: bool operator!=(const QByteArray&, const QByteArray&) ambiguity.cc:6: note: candidate 2: bool QByteArray::operator!=(const QString&) const -- Summary: wrong ambiguous overload error? Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mueller at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32756
[Bug fortran/32665] allocatable array on lhs deleted while still in use on rhs
--- Comment #3 from dfranke at gcc dot gnu dot org 2007-07-13 09:58 --- Paul, please have a look at PR31320 as well. The issue described there is at least very close to your observation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32665
[Bug fortran/32665] allocatable array on lhs deleted while still in use on rhs
--- Comment #2 from pault at gcc dot gnu dot org 2007-07-13 09:50 --- This is a two-in-oner; as well as the deallocation, this is broken: $ cat pr32665.f90 TYPE :: x INTEGER, ALLOCATABLE :: a(:) END TYPE TYPE(x) :: a, b call foo b = x((/ (a%a), 4 /)) print *, "foo gives ", b%a call bar b = x((/ (a%a), 4 /)) print *, "bar gives ", b%a contains subroutine foo allocate (a%a(2)) a%a(1) = 1 a%a(2) = 2 end subroutine subroutine bar a = x ((/1, 2/)) end subroutine end $ ./a foo gives1 2 4 bar gives1 2 0 4 This comes about because the structure constructor suddenly runs amok, with: parm.2.data = 0B; x.0.a.offset = 0; x.0.a.dim[0].ubound = x.0.a.dim[0].ubound + 1; x.0.a.dim[0].lbound = 1; D.1014 = x.0.a.dim[0].lbound * x.0.a.dim[0].stride; x.0.a.offset = x.0.a.offset - D.1014; } a = x.0; *sigh* Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32665
[Bug c/32751] Missed optimization with function ptrs even when inline
--- Comment #1 from rguenth at gcc dot gnu dot org 2007-07-13 09:41 --- We would have to re-build cgraph edges incrementally during inlining. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||rguenth at gcc dot gnu dot ||org, hubicka at gcc dot gnu ||dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||missed-optimization Last reconfirmed|-00-00 00:00:00 |2007-07-13 09:41:52 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32751
[Bug rtl-optimization/32755] Seg fault when compile CPU2000 with -fsee
--- Comment #1 from Joey dot ye at intel dot com 2007-07-13 09:21 --- Created an attachment (id=13909) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13909&action=view) Reduced testcase GCC crashes with gcc -O2 -fsee case-see.c -c Fails at all recent 4.3 trunk. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32755
[Bug rtl-optimization/32755] New: Seg fault when compile CPU2000 with -fsee
4.3 trunk fails to build any 2006 with -fsee on x86_64: gcc -c -o av.o -DSPEC_CPU -DNDEBUG -DPERL_CORE -O2 -fsee -DSPEC_CPU_LP64 -DSPEC_CPU_LINUX_X64 av.c av.c: In function 'Perl_av_reify': av.c:50: internal compiler error: Segmentation fault -- Summary: Seg fault when compile CPU2000 with -fsee Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: Joey dot ye at intel dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32755
[Bug target/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
--- Comment #2 from hjl at lucon dot org 2007-07-13 14:50 --- revision 126030 works. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32749
[Bug target/32748] [4.3 regression]: gfortran.dg/array_constructor_6.f90
--- Comment #1 from hjl at lucon dot org 2007-07-13 14:50 --- revision 126200 works. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32748
[Bug rtl-optimization/32755] Seg fault when compile CPU2000 with -fsee
--- Comment #2 from Joey dot ye at intel dot com 2007-07-13 09:27 --- Root cause looks like at see.c line 1643: emit_insn_after (merged_ref, ref); delete_insn (ref); where merged_ref and ref have the same INSN_UID. delete_insn will clear the df information of that UID, resulted as no df information for merged_ref. I tried inserting following line and it works: + INSN_UID(merged_ref)=cfun->emit->x_cur_insn_uid++; But it is apparantly ugly. Anyone can share the right approach to replace a insn with another one who has the same UID? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32755
[Bug middle-end/32004] [4.1/4.2/4.3 regression] : can't find a register in class 'GENERAL_REGS' while reloading 'asm'
--- Comment #35 from bonzini at gnu dot org 2007-07-13 09:28 --- Subject: Bug 32004 Author: bonzini Date: Fri Jul 13 09:28:16 2007 New Revision: 126616 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126616 Log: 2007-07-13 Paolo Bonzini <[EMAIL PROTECTED]> Revert these patches: 2007-07-09 Paolo Bonzini <[EMAIL PROTECTED]> PR middle-end/32004 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. 2007-07-06 Paolo Bonzini <[EMAIL PROTECTED]> PR middle-end/32004 * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, pass_match_asm_constraints): New. * passes.c (init_optimization_passes): Add new pass. * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. * function.h (struct function): Add has_asm_statement bit. (current_function_has_asm_statement): New. * tree-pass.h (pass_match_asm_constraints): New. Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/function.c branches/gcc-4_1-branch/gcc/function.h branches/gcc-4_1-branch/gcc/passes.c branches/gcc-4_1-branch/gcc/stmt.c branches/gcc-4_1-branch/gcc/testsuite/gcc.target/i386/pr21291.c branches/gcc-4_1-branch/gcc/tree-pass.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32004
[Bug fortran/32665] allocatable array on lhs deleted while still in use on rhs
--- Comment #4 from pault at gcc dot gnu dot org 2007-07-13 13:48 --- (In reply to comment #3) > Paul, please have a look at PR31320 as well. > The issue described there is at least very close to your observation. (In reply to comment #3) > Paul, please have a look at PR31320 as well. > The issue described there is at least very close to your observation. Daniel, So close, in fact, as to be identical! Thanks Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32665
[Bug fortran/32737] internal compiler error: Segmentation fault
--- Comment #9 from alex_zuma1 at yahoo dot com 2007-07-13 12:35 --- (In reply to comment #8) I downloaded the latest binaries and I had no problems compiling the code. The bug must have been fixed recently (I downloaded gfortran at the beginning of July 07). What should I do with the bug on Bugzilla? Alessandro -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32737
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #8 from ebotcazou at gcc dot gnu dot org 2007-07-13 15:12 --- > visit_phi is called on a PHI node with 1 argument (shrinked by DOM): I presume this degenerated PHI is not eliminated because it is abnormal: (gdb) p debug_tree(phi) (gdb) p debug_tree(def) unit size align 32 symtab 0 alias set 45 canonical type 0x5577672c fields nonaddressable SI file gcc/ada/rts/a-except.ads line 306 size unit size align 32 offset_align 128 offset bit offset context chain > Ada size pointer_to_this chain > asm_written visited var def_stmt version 264 in-abnormal-phi> /* Propagate RHS into all uses of LHS (when possible). RHS and LHS are derived from STMT, which is passed in solely so that we can remove it if propagation is successful. When propagating into a PHI node or into a statement which turns into a trivial copy or constant initialization, set the appropriate bit in INTERESTING_NAMEs so that we will visit those nodes as well in an effort to pick up secondary optimization opportunities. */ static void propagate_rhs_into_lhs (tree stmt, tree lhs, tree rhs, bitmap interesting_names) { /* First verify that propagation is valid and isn't going to move a loop variant variable outside its loop. */ if (! SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs) && (TREE_CODE (rhs) != SSA_NAME || ! SSA_NAME_OCCURS_IN_ABNORMAL_PHI (rhs)) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug c++/32089] Winline reports bogus warning
--- Comment #5 from James dot W dot Mckelvey at jpl dot nasa dot gov 2007-07-13 15:28 --- (In reply to comment #3) > Can you attach the preprocessed source? > I did on June 10, I see the status is still Waiting. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32089
[Bug c/32757] New: Optimizer too aggressive
When compiling the following code with -O2 or -Os, the if clause at the end of STRING_hash_code is optimized away, yielding in a negative result if(R<0){ R=~R; } With -O1 everything works as expected (positive result) #include #include #include typedef struct {unsigned char* storage;int32_t count;int32_t capacity;} STRING; int main(int argc, char *argv[]) { STRING x; x.storage="HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]"; x.count=strlen(x.storage); x.capacity=x.count+1; printf("%d\n",STRING_hash_code(&x)); } int32_t STRING_hash_code(STRING* C){ int32_t R=0; int32_t i=0; int32_t j=0; j=C->count; i=1; while (j>0) { R=5*R+C->storage[i-1]; i++; j--; } if(R<0){ R=~R; } return R; } -- Summary: Optimizer too aggressive Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: frederic dot merizen 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=32757
[Bug fortran/32737] internal compiler error: Segmentation fault
--- Comment #10 from fxcoudert at gcc dot gnu dot org 2007-07-13 15:28 --- (In reply to comment #9) > What should I do with the bug on Bugzilla? I'll close it for you. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32737
[Bug c/32757] Optimizer too aggressive
--- Comment #1 from rask at sygehus dot dk 2007-07-13 15:34 --- I don't see how R can become negative: R=0; while (...) { ... R=R*5+[unsigned value here]; ... } What am I missing? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32757
[Bug c/32757] Optimizer too aggressive
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-07-13 15:35 --- Overflow of signed integers is undefined. Use an unsigned quantity for R. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32757
[Bug tree-optimization/32751] Missed optimization with function ptrs even when inline
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-07-13 15:46 --- *** This bug has been marked as a duplicate of 9079 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32751
[Bug tree-optimization/9079] [tree-ssa] Inline constant function pointers
--- Comment #15 from pinskia at gcc dot gnu dot org 2007-07-13 15:46 --- *** Bug 32751 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||rusty at rustcorp dot com ||dot au http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9079
[Bug fortran/31519] spurious ICE messages when module does not compile
--- Comment #7 from fxcoudert at gcc dot gnu dot org 2007-07-13 15:47 --- (In reply to comment #6) > Bugs where the compiler proper crashes when run under the driver, but not when > run directly, can often be reproduced by varying the amount of space taken up > by environment variables, e.g. Excellent advice, thanks very much! By making a variable x that contains 1064449 successive "1" characters, I get the following: $ X=$x c:/msys/1.0.10/home/fx/irun/mingw/libexec/gcc/i386-pc-mingw32/4.3.0/f951 .exe a.f90 -quiet Segmentation fault Unfortunately, I can't really debug it, because gdb itself segfaults when used with such a large environment variable. In fact, most programs I tried do segfault when used with this large environment variable (including as, ld, flex). So... now the question is more about how the driver ends up creating so large environment variables. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Last reconfirmed|2007-04-13 15:20:21 |2007-07-13 15:47:18 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31519
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #9 from ebotcazou at gcc dot gnu dot org 2007-07-13 15:48 --- And of course the naive patch: [EMAIL PROTECTED]:~/svn/gcc/gcc> Index: tree-ssa-sccvn.c === --- tree-ssa-sccvn.c(revision 126547) +++ tree-ssa-sccvn.c(working copy) @@ -1279,7 +1279,7 @@ visit_phi (tree phi) /* If all value numbered to the same value, the phi node has that value. */ - if (allsame) + if (allsame && sameval != VN_TOP) { if (is_gimple_min_invariant (sameval)) { -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug c/32757] Optimizer too aggressive
--- Comment #4 from rguenth at gcc dot gnu dot org 2007-07-13 15:50 --- Not if you test against (signed)R ;). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32757
[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee
--- Comment #8 from pinskia at gcc dot gnu dot org 2007-07-13 15:53 --- *** Bug 32755 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||Joey dot ye at intel dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32300
[Bug rtl-optimization/32755] Seg fault when compile CPU2000 with -fsee
--- Comment #4 from pinskia at gcc dot gnu dot org 2007-07-13 15:53 --- *** This bug has been marked as a duplicate of 32300 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32755
[Bug c/22371] C front-end produces mis-match types in MODIFY_EXPR
--- Comment #3 from rguenth at gcc dot gnu dot org 2007-07-13 15:55 --- Joseph - does your candidate patch still exist? We run into exactly the same problem with the proposed gimple type verifier posted at http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01265.html Thanks. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||jsm28 at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22371
[Bug other/22368] [meta-bug] mis-match types in GCC
--- Comment #15 from rguenth at gcc dot gnu dot org 2007-07-13 15:56 --- http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01265.html has some fixes for some of this PRs and a verifier. So while we're working on this, this is my bug. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2006-03-01 02:27:34 |2007-07-13 15:56:51 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22368
[Bug tree-optimization/32721] [4.3 Regression] CCP removes volatile qualifiers.
--- Comment #8 from rguenth at gcc dot gnu dot org 2007-07-13 15:41 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32721
[Bug c/32757] Optimizer too aggressive
--- Comment #3 from rask at sygehus dot dk 2007-07-13 15:40 --- Well, if you declare R as unsigned, GCC will still optimize away "if (R<0)". ;-) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32757
[Bug tree-optimization/32721] [4.3 Regression] CCP removes volatile qualifiers.
--- Comment #7 from rguenth at gcc dot gnu dot org 2007-07-13 15:41 --- Subject: Bug 32721 Author: rguenth Date: Fri Jul 13 15:41:02 2007 New Revision: 126624 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126624 Log: 2007-07-13 Richard Guenther <[EMAIL PROTECTED]> PR tree-optimization/32721 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Preserve TREE_THIS_VOLATILE on the folded reference. * tree-ssa-operands.c (get_expr_operands): Set has_volatile_ops if the array reference has TREE_THIS_VOLATILE set. * gcc.dg/pr32721.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/pr32721.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-ccp.c trunk/gcc/tree-ssa-operands.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32721
We need a Representative in the United States/Canada
I am Sarah Alcott,the Initiator of FOUNDATION OF HOPE UK. The Foundation for Hope is non-profit and Our Mission is to facilitate inspiring, meaningful outdoor experiences for youth who suffer life-challenging medical conditions. We value,promote and continue to preserve the heritage of the "Outdoor Sportsman." We have sent letters to well meaning and high net worth individual and Companies in CANADA seeking donations and funding but we usually have donors refusing to send money overseas . Presently our Website is still under construction so We need a Representative in the United States/Canada who can help accept Drafts/Check/Money order on our behalf or be our Payment Agent . We will offer you 10% of any of my payment that passed through you ,if Neccesary. Would you consider joining us to help make a youth's outdoor dream come true? Whether you give time or financial resources, your involvement will make a significant difference in the life of an individual. All Donations made to the foundation are tax deductible. I will give details you as soon as I hear from you Miss Sarah Alcott FOUNDATION OF HOPE DEVLIN HOUSE 2D FLOOR, 36 ST GEORGE ST, MAYFAIR,LONDON W1S 2FW9FA Registered No. 04292324 (http://www.ukdata.com/)
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #10 from dberlin at gcc dot gnu dot org 2007-07-13 16:47 --- Subject: Re: [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022 On 13 Jul 2007 15:49:03 -, ebotcazou at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > --- Comment #9 from ebotcazou at gcc dot gnu dot org 2007-07-13 15:48 > --- > And of course the naive patch: > > [EMAIL PROTECTED]:~/svn/gcc/gcc> Index: tree-ssa-sccvn.c > === > --- tree-ssa-sccvn.c(revision 126547) > +++ tree-ssa-sccvn.c(working copy) > @@ -1279,7 +1279,7 @@ visit_phi (tree phi) > >/* If all value numbered to the same value, the phi node has that > value. */ > - if (allsame) > + if (allsame && sameval != VN_TOP) > { >if (is_gimple_min_invariant (sameval)) > { > Nah, that's not quite right, since this is a legal value. Instead, where we init everything to VN_TOP, init everything with SSA_NAME_OCCURS_IN_ABNORMAL_PHI to itself instead of VN_TOP. IE VN_INFO (a)->valnum = a iff SSA_NAME_OCCURS_IN_ABNORMAL_PHI (a) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug target/32340] libjava build failure due to missing thread synchronization primitives
--- Comment #2 from patchapp at dberlin dot org 2007-07-13 17:15 --- Subject: Bug number PR 32340 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/2007-07/msg01273.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32340
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #11 from ebotcazou at gcc dot gnu dot org 2007-07-13 17:16 --- > Nah, that's not quite right, since this is a legal value. > Instead, where we init everything to VN_TOP, init everything with > SSA_NAME_OCCURS_IN_ABNORMAL_PHI to itself instead of VN_TOP. Note that we already deal with SSA_NAME_OCCURS_IN_ABNORMAL_PHI in visit_use, but not for PHI nodes: if (TREE_CODE (stmt) == PHI_NODE) { changed = visit_phi (stmt); } else if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT || (ann && ann->has_volatile_ops)) { changed = defs_to_varying (stmt); } [...] if (TREE_CODE (lhs) == SSA_NAME && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs)) changed = defs_to_varying (stmt); What about doing the same for them? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #12 from dberlin at gcc dot gnu dot org 2007-07-13 17:18 --- Subject: Re: [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022 On 13 Jul 2007 17:16:27 -, ebotcazou at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > --- Comment #11 from ebotcazou at gcc dot gnu dot org 2007-07-13 17:16 > --- > > Nah, that's not quite right, since this is a legal value. > > Instead, where we init everything to VN_TOP, init everything with > > SSA_NAME_OCCURS_IN_ABNORMAL_PHI to itself instead of VN_TOP. > > Note that we already deal with SSA_NAME_OCCURS_IN_ABNORMAL_PHI in visit_use, > but not for PHI nodes: > > if (TREE_CODE (stmt) == PHI_NODE) > { > changed = visit_phi (stmt); > } > else if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT >|| (ann && ann->has_volatile_ops)) > { > changed = defs_to_varying (stmt); > } > > [...] > > if (TREE_CODE (lhs) == SSA_NAME > && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs)) > changed = defs_to_varying (stmt); > > What about doing the same for them? Sure, that would work too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug java/32758] New: ecj1 hangs
I built gcj and when I try to compile anything ecj1 uses about 5:33 minutes of CPU time, then ecj1 and gcj just sit doing nothing. PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE 9951 ecj1 0.0% 5:33.55 23270 41.5M 94.1M 60.9M 350M 9950 gcj 0.0% 0:00.01 11926 260K 1.43M 1.05M 87.8M [dranta:~/tests] dir% gcj -bind_at_load --main=picture -o picture picture.java ^C [dranta:~/tests] dir% gcj --v Using built-in specs. Reading specs from /usr/local/java/lib/gcc/powerpc-apple-darwin8.10.0/4.3.0/../../../libgcj.spec rename spec startfile to startfileorig rename spec lib to liborig Target: powerpc-apple-darwin8.10.0 Configured with: ../gcc/configure --prefix=/usr/local/java --enable-languages=c,c++,java --enable-java-awt=gtk --enable-gtk-cairo --disable-multilib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --with-ecj-jar=/Users/dir/gfortran/gcc/ecj.jar Thread model: posix gcc version 4.3.0 20070705 (experimental) -- Summary: ecj1 hangs Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dir at lanl dot gov GCC host triplet: Darwin 8.9.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
[Bug target/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
--- Comment #3 from hjl at lucon dot org 2007-07-13 18:52 --- revision 126045 works. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32749
[Bug target/32748] [4.3 regression]: gfortran.dg/array_constructor_6.f90
--- Comment #2 from hjl at lucon dot org 2007-07-13 18:53 --- revision 126240 works. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32748
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #13 from ebotcazou at gcc dot gnu dot org 2007-07-13 19:09 --- > What about doing the same for them? That doesn't work as easily as I expected. :-) Now I get the same assertion failure for non-degenerate PHI nodes whose result is not SSA_NAME_OCCURS_IN_ABNORMAL_PHI but whose operands are, so something like --- tree-ssa-sccvn.c(revision 126547) +++ tree-ssa-sccvn.c(working copy) @@ -1502,7 +1502,11 @@ visit_use (tree use) { if (TREE_CODE (stmt) == PHI_NODE) { - changed = visit_phi (stmt); + tree result = PHI_RESULT (stmt); + if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (result)) + changed = set_ssa_val_to (result, result); + else + changed = visit_phi (stmt); } else if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT || (ann && ann->has_volatile_ops)) is not sufficient. So I'm going to test your solution. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug c/32759] New: False claim of that "xyz is used uninitialized"
I'd accept "may be used uninitialized", but I'm positively told "is used uninitialized", which ain't true. This is similar to bugs 32395 and 22197: apologies if it turns out to be a mere duplicate. My code example is much simpler than the examples given for those bugs: there are no aggregate types, the parameter passing isn't interesting, and initialisation obviously DOES happen. Also seen in 4.1.2 (I got around to building 4.2.0 so I could verify the problem...) The warning is attached to the line where 'diff' is assigned a value. Note that this value is not then used again. Required flags: -c -Wuninitialized -O1 (n.b.: -Wuninitialized is incompatible with -O0, but any other -O will do) No headers required. double Find_Limit(double xcentre, unsigned ang) { double diff; long xlimit; ang &= 1U; switch (ang) { case 0U: xlimit = xcentre; break; case 1U: xlimit = xcentre; break; } diff = xlimit; return ang ? xlimit : 0.0; } /* End of function Find_Limit() */ Removing the assignment to diff (which isn't used) demotes "is uninitialized" to "may be uninitialized". Combining the two case-clauses of the switch statement under the same header (case 0U: case 1U: ) likewise demotes. Removing the use of xlimit in the final (returned-value) expression removes the warning entirely (so it DOES notice that diff isn't used - or is it more confused than I think?) If, in the assignments to xlimit, the right-hand expressions are replaced with literal constants, the warning disappears entirely - even if the two literal constants are unequal. So does the compiler recognise that the two handled cases in the switch are exhaustive or doesn't it? This looks deeply strange to me. -- Summary: False claim of that "xyz is used uninitialized" Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bernard at brenda-arkle dot demon dot co dot uk 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=32759
[Bug target/32748] [4.3 regression]: gfortran.dg/array_constructor_6.f90
--- Comment #3 from hjl at lucon dot org 2007-07-13 20:03 --- revision 126260 works. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32748
[Bug target/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
--- Comment #4 from hjl at lucon dot org 2007-07-13 20:02 --- revision 126056 is bad. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32749
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #14 from ebotcazou at gcc dot gnu dot org 2007-07-13 20:43 --- > Instead, where we init everything to VN_TOP, init everything with > SSA_NAME_OCCURS_IN_ABNORMAL_PHI to itself instead of VN_TOP. @@ -1912,13 +1912,16 @@ init_scc_vn (void) VN_TOP = create_tmp_var_raw (void_type_node, "vn_top"); /* Create the VN_INFO structures, and initialize value numbers to - TOP. */ + TOP, except for SSA names appearing in abnormal PHI nodes. */ for (i = 0; i < num_ssa_names; i++) { tree name = ssa_name (i); if (name) { - VN_INFO_GET (name)->valnum = VN_TOP; + if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name)) + VN_INFO_GET (name)->valnum = name; + else + VN_INFO_GET (name)->valnum = VN_TOP; VN_INFO (name)->expr = name; } } is not sufficient to eliminate all the failures. I get the same assertion failure for non-degenerate PHI nodes without SSA_NAME_OCCURS_IN_ABNORMAL_PHI anywhere, all operands having SSA_VAL set to VN_TOP. Top-level function too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug target/32748] [4.3 regression]: gfortran.dg/array_constructor_6.f90
--- Comment #4 from hjl at lucon dot org 2007-07-13 20:50 --- revision 126271 is bad. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32748
[Bug target/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
--- Comment #5 from hjl at lucon dot org 2007-07-13 20:56 --- revision 126050 works. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32749
[Bug c/32757] Optimizer too aggressive
--- Comment #5 from frederic dot merizen at gmail dot com 2007-07-13 21:44 --- OK. I assumed signed overflow was at least defined to yield an integer (i.e. a quantity that is consistently negative or non-negative) but that is actually not specified. I don't quite know what I'll do with our library yet. Adding lots of unsigned/signed casts is an option, but it's likely to break a lot of valid optimizations so I'll try to avoid that. Would the -fno-strict-overflow option be a valid workaround in the meantime? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32757
[Bug target/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
--- Comment #6 from hjl at lucon dot org 2007-07-13 21:53 --- revision 126054 is bad. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32749
[Bug target/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
--- Comment #7 from hjl at lucon dot org 2007-07-13 21:57 --- This patch http://gcc.gnu.org/ml/gcc-patches/2007-06/msg01977.html is the cause. Richard, can you look into it? Thanks. -- hjl at lucon dot org changed: What|Removed |Added CC||rguenther at suse dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32749
[Bug target/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
--- Comment #8 from rguenth at gcc dot gnu dot org 2007-07-13 22:07 --- Sure, though I doubt this patch changed anything. I won't get to it until after the summit though. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC|rguenther at suse dot de|rguenth at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32749
[Bug fortran/32760] New: [4.3 regression] Error defining subroutine named PRINT
Hi, the following legal code fails to compile with gfortran build 20070713: module gfcbug68 implicit none public :: print contains subroutine foo (i) integer, intent(in) :: i print *, i end subroutine foo subroutine print (m) integer, intent(in) :: m end subroutine print end module gfcbug68 I get: gfcbug68.f90:13.18: subroutine print (m) 1 Error: VARIABLE attribute of 'print' conflicts with PROCEDURE attribute at (1) gfcbug68.f90:14.28: integer, intent(in) :: m 1 Error: Unexpected data declaration statement in CONTAINS section at (1) gfcbug68.f90:15.5: end subroutine print 1 Error: Expecting END MODULE statement at (1) gfcbug68.f90:3.17: public :: print 1 Error: Symbol 'print' at (1) has no IMPLICIT type Reversing the subroutines removes (or hides) the problem. Cheers, -ha -- Summary: [4.3 regression] Error defining subroutine named PRINT Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: anlauf at gmx dot de GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32760
[Bug target/32748] [4.3 regression]: gfortran.dg/array_constructor_6.f90
--- Comment #5 from hjl at lucon dot org 2007-07-13 22:39 --- revision 126264 is bad. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32748
[Bug middle-end/29749] [4.0/4.1/4.2/4.3 regression] Missing byte swap optimizations
--- Comment #7 from dougkwan at google dot com 2007-07-13 22:46 --- Created an attachment (id=13911) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13911&action=view) Updated patch with test case a bug fix. I've added a test case of the changes. It did find a bug in the patch and I've fixed that. I did a full bootstap and C/C++/ObjC dejagnu with top of 4.2-branch as of 20070713 and had no problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29749
[Bug c++/21755] Warning from function template in system header
--- Comment #2 from geoffk at gcc dot gnu dot org 2007-07-13 22:56 --- I'm not even sure this is a bug; maybe it's a clue that you should have instantiated baz() with an unsigned type. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21755
[Bug target/32748] [4.3 regression]: gfortran.dg/array_constructor_6.f90
--- Comment #6 from hjl at lucon dot org 2007-07-13 22:59 --- revision 126263 is bad. This patch http://gcc.gnu.org/ml/gcc-patches/2007-07/msg00165.html is the cause. -- hjl at lucon dot org changed: What|Removed |Added CC||jb at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32748
[Bug tree-optimization/32746] [4.3 Regression] tree-ssa-operands int.comp error
--- Comment #3 from pinskia at gcc dot gnu dot org 2007-07-13 23:08 --- Note the testsuite already have a testcase for this issue as g++.dg/opt/pr24665.C :). Actually look at that, this bug is about that testcase :). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32746
[Bug c++/21755] Warning from function template in system header
--- Comment #3 from pcarlini at suse dot de 2007-07-13 23:13 --- I think this is really a duplicate of c++/30500. *** This bug has been marked as a duplicate of 30500 *** -- pcarlini at suse dot de changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21755
[Bug c++/30500] pragma GCC system_header vs templates
--- Comment #7 from pcarlini at suse dot de 2007-07-13 23:13 --- *** Bug 21755 has been marked as a duplicate of this bug. *** -- pcarlini at suse dot de changed: What|Removed |Added CC||timb at bluearc dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30500
[Bug tree-optimization/32746] [4.3 Regression] tree-ssa-operands int.comp error
--- Comment #4 from hp at gcc dot gnu dot org 2007-07-13 23:36 --- Also happens for cris-axis-elf and likely other 32-bit platforms. -- hp at gcc dot gnu dot org changed: What|Removed |Added CC||hp at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32746
[Bug fortran/32760] [4.3 regression] Error defining subroutine named PRINT
--- Comment #1 from dfranke at gcc dot gnu dot org 2007-07-13 23:45 --- Harald, thanks for your report. > Reversing the subroutines removes (or hides) the problem. So does the removal of either the "public :: print" or the PRINT statement in function FOO. Are you sure this is a regression? I see the same errors with v4.1.2 and v4.2.1 (20070620). -- dfranke at gcc dot gnu dot org changed: What|Removed |Added CC||dfranke at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC host triplet|i686-pc-linux-gnu | Keywords||diagnostic Last reconfirmed|-00-00 00:00:00 |2007-07-13 23:45:42 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32760
[Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set
Build for cris-axis-elf broke with a change in the range 126627:126630, of which the var_tracking patch is the only suspect, broke build for cris-axis-elf: /tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/xgcc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/ -nostdinc -B/tmp/hpautotest-gcc1/cr\ is-elf/gccobj/cris-elf/v10/newlib/ -isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v10/newlib/targ-include -isystem /tmp/h\ pautotest-gcc1/gcc/newlib/libc/include -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/bin/ -B/tmp/hpautotest-gcc1/cris-elf/pre/cris\ -elf/lib/ -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/include -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/sys-inc\ lude -march=v10 -mbest-lib-options -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.15.0\" -DPACKAGE\ _STRING=\"newlib\ 1.15.0\" -DPACKAGE_BUGREPORT=\"\" -I. -I/tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib -O2 -DHAVE_RENAME -D_USE_W\ RITE -DCOMPACT_CTYPE -fno-builtin -O2 -g -O2 -march=v10 -mbest-lib-options -c -o lib_a-mprec.o `test -f 'mprec.c' || echo \ '/tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/'`mprec.c /tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/mprec.c: In function '__d2b': /tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/mprec.c:905: internal compiler error: Segmentation fault I had a look with gdb to see if I could spot anything trivial (needed to recompile var-tracking with CFLAGS=-g to get a debuggable cc1): Program received signal SIGSEGV, Segmentation fault. 0x007fd943 in find_src_set_src (set=0xbecaf8, loc=0x2ab48c49cca0, insn=0x2ab48c493d20) at /tmp/hpautotest-gcc1/gcc/gcc/var-tracking.c:1865 1865 if (REG_P (src)) (gdb) p insn $1 = (rtx) 0x2ab48c493d20 (gdb) pr (insn 200 22 25 2 /tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/mprec.c:787 (parallel [ (set (mem/c/i:SI (plus:SI (reg/f:SI 14 sp) (const_int 28 [0x1c])) [7 z+0 S4 A16]) (reg:SI 13 r13 [orig:34 z.37 ] [34])) (set (reg/f:SI 3 r3 [93]) (plus:SI (reg/f:SI 14 sp) (const_int 28 [0x1c]))) ]) 25 {*mov_sidesisf_mem} (nil)) (gdb) p loc $2 = (rtx) 0x2ab48c49cca0 (gdb) pr (mem/c/i:SI (plus:SI (reg/f:SI 18 faked_ap) (const_int -12 [0xfff4])) [7 z+0 S4 A16]) It looks as if find_src_set_src encounters a sp-relative set but expects the original non-eliminated fp-relative set. For plain single_set sets it uses that, and apparently copes with a sp-relative setting, but for a parallel set, it looks it can't match the set and so src remains NULL, hence the REG_P causes a SEGV. I'm not sure if the method of finding the loc in the set is at fault, or if the bug is earlier and both the loc and the SET_DEST should be equally eliminated at the time of the call. I'm attaching the preprocessed mprec.i, repeat with "cc1 -O2 -g < mprec.i" for a --target=cris-axis-elf. -- Summary: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: build Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: cris-axis-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761
[Bug tree-optimization/32705] [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022
--- Comment #15 from dberlin at gcc dot gnu dot org 2007-07-14 02:04 --- Subject: Re: [4.3 regression] ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022 On 13 Jul 2007 20:43:37 -, ebotcazou at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > --- Comment #14 from ebotcazou at gcc dot gnu dot org 2007-07-13 20:43 > --- > > Instead, where we init everything to VN_TOP, init everything with > > SSA_NAME_OCCURS_IN_ABNORMAL_PHI to itself instead of VN_TOP. > > @@ -1912,13 +1912,16 @@ init_scc_vn (void) >VN_TOP = create_tmp_var_raw (void_type_node, "vn_top"); > >/* Create the VN_INFO structures, and initialize value numbers to > - TOP. */ > + TOP, except for SSA names appearing in abnormal PHI nodes. */ >for (i = 0; i < num_ssa_names; i++) > { >tree name = ssa_name (i); >if (name) > { > - VN_INFO_GET (name)->valnum = VN_TOP; > + if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name)) > + VN_INFO_GET (name)->valnum = name; > + else > + VN_INFO_GET (name)->valnum = VN_TOP; > VN_INFO (name)->expr = name; > } > } > > is not sufficient to eliminate all the failures. I get the same assertion > failure for non-degenerate PHI nodes without SSA_NAME_OCCURS_IN_ABNORMAL_PHI > anywhere, all operands having SSA_VAL set to VN_TOP. Top-level function too. Change the assert to allow to == VN_TOP. It can happen when we have aliasing issues, and we believe some piece of memory/a value to be truly undefined. This is what is happening in your case, and since your case is legal, we must allow it. It's likely a bug in the rest of the compiler, however, since we should almost *never* end up with bare NMT's like that. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705
[Bug middle-end/32761] build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set
--- Comment #1 from hp at gcc dot gnu dot org 2007-07-14 02:07 --- Created an attachment (id=13912) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13912&action=view) Preprocessed code cc1 -O2 -g mprec.i -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761
Re: [Bug tree-optimization/32746] [4.3 Regression] tree-ssa-operands int.comp error
valid_gimple_expression_p claims &((struct RegisterLayout *) (char *) &SimulatedRegisters)->intmask; is valid GIMPLE, when it is not. On 13 Jul 2007 23:37:00 -, hp at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: --- Comment #4 from hp at gcc dot gnu dot org 2007-07-13 23:36 --- Also happens for cris-axis-elf and likely other 32-bit platforms. -- hp at gcc dot gnu dot org changed: What|Removed |Added CC||hp at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32746
[Bug tree-optimization/32746] [4.3 Regression] tree-ssa-operands int.comp error
--- Comment #5 from dberlin at gcc dot gnu dot org 2007-07-14 02:12 --- Subject: Re: [4.3 Regression] tree-ssa-operands int.comp error valid_gimple_expression_p claims &((struct RegisterLayout *) (char *) &SimulatedRegisters)->intmask; is valid GIMPLE, when it is not. On 13 Jul 2007 23:37:00 -, hp at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > --- Comment #4 from hp at gcc dot gnu dot org 2007-07-13 23:36 --- > Also happens for cris-axis-elf and likely other 32-bit platforms. > > > -- > > hp at gcc dot gnu dot org changed: > >What|Removed |Added > > CC||hp at gcc dot gnu dot org > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32746 > > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32746
[Bug middle-end/32761] build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set
--- Comment #2 from hp at gcc dot gnu dot org 2007-07-14 02:15 --- Sorry, s/fp-relative/ap-relative/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761
[Bug c++/32762] New: Lost variable scope with template class that inherits from templated class using args of the first class
I'm using gcc versión 4.1.2 (Ubuntu 4.1.2-0ubuntu4). I'm trying to compile this relatively simple code, but it doesn't compiles. The compiler says (i translated some phrases from spanish to english): [EMAIL PROTECTED]:~/cppexamples$ g++ Example1.cc Example1.cc: In constructor XRIVarArray::XRIVarArray(int): Example1.cc:37: error: x was not declared in this scope The only file is Example1.cc: // line: 1 #include template class XRIVar { public: Float min; Float max; }; template class VarArray { protected: Var* x; public: VarArray() { x = 0L; } VarArray(int n) { x = new Var[n]; } Var& operator [](int n) { return x[n]; } }; template class XRIVarArray : public VarArray< XRIVar > { public: XRIVarArray(int n) : VarArray< XRIVar >(n){ for (int i=0; i < n; i++) { x[i].min = 2; // line: 37 x[i].max = 10; } } }; int main() { using namespace std; XRIVarArray xva(5); printf( "%g\n", xva[1].max); return 0; } If I inherit from a class without template arguments, the there is no problem. The workaround for now is to replace x[i] with this->x[i]. But I think this is still a bug. -- Summary: Lost variable scope with template class that inherits from templated class using args of the first class Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: javimena at gmail dot com GCC build triplet: i486-linux-gnu GCC host triplet: i486-linux-gnu GCC target triplet: i486-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32762
[Bug c/32763] New: internal error - compiling DiskEditor (hed.c)
After installing djgpp I tried to compile the source file "hed.c" . My system type is Windows XP sp2, gcc version is 4.1.2, (target djgpp); configuration build is as follows: /gnu/gcc-4.12/configure djgpp --prefix=/dev/env/DJDIR --disable-nls --disable-werror --enable-languages=c,c++,fortran,objc,obj-c++,ada . The command line was "gcc hed.c -o hed.exe"; the intermediate output was : # 1 "hed.c" # 1 "" # 1 "" # 1 "d:/djgpp/bin/../lib/gcc/djgpp/4.12/djgpp.ver" 1 # 1 "d:/djgpp/include/sys/version.h" 1 3 4 # 2 "d:/djgpp/bin/../lib/gcc/djgpp/4.12/djgpp.ver" 2 # 1 "" 2 # 1 "hed.c" # 12 "hed.c" # 1 "d:/djgpp/include/stdio.h" 1 3 4 # 13 "d:/djgpp/include/stdio.h" 3 4 # 1 "d:/djgpp/include/sys/version.h" 1 3 4 # 14 "d:/djgpp/include/stdio.h" 2 3 4 # 1 "d:/djgpp/include/sys/djtypes.h" 1 3 4 # 15 "d:/djgpp/include/stdio.h" 2 3 4 # 35 "d:/djgpp/include/stdio.h" 3 4 typedef __builtin_va_list va_list; typedef long unsigned int size_t; typedef struct { int _cnt; char *_ptr; char *_base; int _bufsiz; int _flag; int _file; char *_name_to_remove; int _fillsize; } FILE; typedef unsigned long fpos_t; extern FILE __dj_stdin, __dj_stdout, __dj_stderr; void clearerr(FILE *_stream); int fclose(FILE *_stream); int feof(FILE *_stream); int ferror(FILE *_stream); int fflush(FILE *_stream); int fgetc(FILE *_stream); int fgetpos(FILE *_stream, fpos_t *_pos); char * fgets(char *_s, int _n, FILE *_stream); FILE * fopen(const char *_filename, const char *_mode); int fprintf(FILE *_stream, const char *_format, ...); int fputc(int _c, FILE *_stream); int fputs(const char *_s, FILE *_stream); size_t fread(void *_ptr, size_t _size, size_t _nelem, FILE *_stream); FILE * freopen(const char *_filename, const char *_mode, FILE *_stream); int fscanf(FILE *_stream, const char *_format, ...); int fseek(FILE *_stream, long _offset, int _mode); int fsetpos(FILE *_stream, const fpos_t *_pos); long ftell(FILE *_stream); size_t fwrite(const void *_ptr, size_t _size, size_t _nelem, FILE *_stream); int getc(FILE *_stream); int getchar(void); char * gets(char *_s); void perror(const char *_s); int printf(const char *_format, ...); int putc(int _c, FILE *_stream); int putchar(int _c); int puts(const char *_s); int remove(const char *_filename); int rename(const char *_old, const char *_new); void rewind(FILE *_stream); int scanf(const char *_format, ...); void setbuf(FILE *_stream, char *_buf); int setvbuf(FILE *_stream, char *_buf, int _mode, size_t _size); int sprintf(char *_s, const char *_format, ...); int sscanf(const char *_s, const char *_format, ...); FILE * tmpfile(void); char * tmpnam(char *_s); int ungetc(int _c, FILE *_stream); int vfprintf(FILE *_stream, const char *_format, va_list _ap); int vprintf(const char *_format, va_list _ap); int vsprintf(char *_s, const char *_format, va_list _ap); int fileno(FILE *_stream); FILE * fdopen(int _fildes, const char *_type); int pclose(FILE *_pf); FILE * popen(const char *_command, const char *_mode); extern FILE __dj_stdprn, __dj_stdaux; void _djstat_describe_lossage(FILE *_to_where); int _doprnt(const char *_fmt, va_list _args, FILE *_f); int _doscan(FILE *_f, const char *_fmt, void **_argp); int _doscan_low(FILE *, int (*)(FILE *_get), int (*_unget)(int, FILE *), const char *_fmt, void **_argp); int fpurge(FILE *_f); int getw(FILE *_f); int mkstemp(char *_template); char * mktemp(char *_template); int putw(int _v, FILE *_f); void setbuffer(FILE *_f, void *_buf, int _size); void setlinebuf(FILE *_f); char * tempnam(const char *_dir, const char *_prefix); int _rename(const char *_old, const char *_new); int vfscanf(FILE *_stream, const char *_format, va_list _ap); int vscanf(const char *_format, va_list _ap); int vsscanf(const char *_s, const char *_format, va_list _ap); # 13 "hed.c" 2 # 1 "d:/djgpp/include/conio.h" 1 3 4 # 17 "d:/djgpp/include/conio.h" 3 4 extern int directvideo; extern int _wscroll; struct text_info { unsigned char winleft; unsigned char wintop; unsigned char winright; unsigned char winbottom; unsigned char attribute; unsigned char normattr; unsigned char currmode; unsigned char screenheight; unsigned char screenwidth; unsigned char curx; unsigned char cury; }; enum text_modes { LASTMODE=-1, BW40=0, C40, BW80, C80, MONO=7, C4350=64 }; enum COLORS { BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE }; void blinkvideo(void); char * cgets(char *_str); void clreol(void); void clrscr(void); int _conio_kbhit(void); int cprintf(const char *_format, ...) __attribute__((format(printf,1,2))); int cputs(const char *_str); int cscanf(const char *_format, ...) __attribute__((format(scanf,1,2))); void delline(void); int getch(void); int getche(void); int gettext(int _left, int _top, int _right, int _bottom, void *_destin); void gettextinfo(struct
[Bug c/32763] internal error - compiling DiskEditor (hed.c)
--- Comment #1 from dj at redhat dot com 2007-07-14 02:58 --- Subject: Re: New: internal error - compiling DiskEditor (hed.c) > gcc.exe: Internal error: (null) (program as) djgpp 2.03 (current) or 2.04 (beta) ? You might need the XP bugfixes in 2.04. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32763
[Bug bootstrap/32764] New: [4.3 regression] : Failed to bootstrap on Linux/ia64
This checkin: http://gcc.gnu.org/ml/gcc-cvs/2007-07/msg00486.html causes /net/gnu-13/export/gnu/src/gcc/gcc/libgcc/../gcc/libgcc2.c: In function â__umodti3â: /net/gnu-13/export/gnu/src/gcc/gcc/libgcc/../gcc/libgcc2.c:1137: 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. make[5]: *** [_umoddi3.o] Error 1 var-tracking.c has static rtx find_src_set_src (dataflow_set *set, rtx loc, rtx insn) { tree decl = NULL_TREE; /* The variable being copied around. */ rtx src = NULL_RTX; /* The location "decl" is being copied from. */ rtx set_src = NULL_RTX; /* The value for "decl" stored in "src". */ void **slot; variable var; location_chain nextp; int i; bool found; if (GET_CODE (PATTERN (insn)) == SET) src = SET_SRC (PATTERN (insn)); else if (GET_CODE (PATTERN (insn)) == PARALLEL || GET_CODE (PATTERN (insn)) == SEQUENCE) { for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--) if (GET_CODE (XVECEXP (PATTERN (insn), 0, i)) == SET && SET_DEST (XVECEXP (PATTERN (insn), 0, i)) == loc) src = SET_SRC (XVECEXP (PATTERN (insn), 0, i)); } if (REG_P (src)) decl = var_debug_decl (REG_EXPR (src)); else if (MEM_P (src)) decl = var_debug_decl (MEM_EXPR (src)); That can't be right since src can be NULL and "if (REG_P (src))" will segfault. insn is (gdb) call debug_rtx (insn) (insn 535 895 533 50 /net/gnu-13/export/gnu/src/gcc/gcc/libgcc/../gcc/libgcc2.c:1056 (cond_exec (eq (reg:BI 262 p6 [704]) (const_int 0 [0x0])) (set (reg/v:DI 8 r8 [orig:386 m0.152 ] [386]) (reg/v:DI 15 r15 [orig:455 m0 ] [455]))) 783 {sync_lock_releasedi+5} (nil)) -- Summary: [4.3 regression] : Failed to bootstrap on Linux/ia64 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org GCC target triplet: ia64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32764
[Bug bootstrap/32764] [4.3 regression] : Failed to bootstrap on Linux/ia64
--- Comment #1 from hjl at lucon dot org 2007-07-14 03:19 --- I am testing --- gcc/var-tracking.c.bad 2007-07-13 19:38:08.0 -0700 +++ gcc/var-tracking.c 2007-07-13 20:18:19.0 -0700 @@ -1862,6 +1862,9 @@ find_src_set_src (dataflow_set *set, rtx src = SET_SRC (XVECEXP (PATTERN (insn), 0, i)); } + if (!src) +return set_src; + if (REG_P (src)) decl = var_debug_decl (REG_EXPR (src)); else if (MEM_P (src)) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32764
[Bug bootstrap/32764] [4.3 regression] : Failed to bootstrap on Linux/ia64
--- Comment #2 from hjl at lucon dot org 2007-07-14 03:25 --- This one --- gcc/var-tracking.c.bad 2007-07-13 19:38:08.0 -0700 +++ gcc/var-tracking.c 2007-07-13 20:24:27.0 -0700 @@ -1824,6 +1824,9 @@ find_src_status (dataflow_set *in, rtx l src = SET_SRC (XVECEXP (PATTERN (insn), 0, i)); } + if (!src) +return status; + if (REG_P (src)) decl = var_debug_decl (REG_EXPR (src)); else if (MEM_P (src)) @@ -1862,6 +1865,9 @@ find_src_set_src (dataflow_set *set, rtx src = SET_SRC (XVECEXP (PATTERN (insn), 0, i)); } + if (!src) +return set_src; + if (REG_P (src)) decl = var_debug_decl (REG_EXPR (src)); else if (MEM_P (src)) passes the stage 1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32764
[Bug bootstrap/32764] [4.3 regression] : Failed to bootstrap on Linux/ia64
--- Comment #3 from hjl at lucon dot org 2007-07-14 04:57 --- (In reply to comment #2) > This one > > --- gcc/var-tracking.c.bad 2007-07-13 19:38:08.0 -0700 > +++ gcc/var-tracking.c 2007-07-13 20:24:27.0 -0700 > @@ -1824,6 +1824,9 @@ find_src_status (dataflow_set *in, rtx l > src = SET_SRC (XVECEXP (PATTERN (insn), 0, i)); > } > > + if (!src) > +return status; > + >if (REG_P (src)) > decl = var_debug_decl (REG_EXPR (src)); >else if (MEM_P (src)) > @@ -1862,6 +1865,9 @@ find_src_set_src (dataflow_set *set, rtx > src = SET_SRC (XVECEXP (PATTERN (insn), 0, i)); > } > > + if (!src) > +return set_src; > + >if (REG_P (src)) > decl = var_debug_decl (REG_EXPR (src)); >else if (MEM_P (src)) > > passes the stage 1. > It works for me on Linux/ia32, Linux/Intel64 and Linux/ia64. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32764
[Bug bootstrap/32764] [4.3 regression] : Failed to bootstrap on Linux/ia64
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32764
[Bug middle-end/32761] [4,3 Regression] build broke: var_tracking loses track of register elimination, crashes in find_src_set_src on parallel set
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Keywords||ice-on-valid-code Summary|build broke: var_tracking |[4,3 Regression] build |loses track of register |broke: var_tracking loses |elimination, crashes in |track of register |find_src_set_src on parallel|elimination, crashes in |set |find_src_set_src on parallel ||set Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761
[Bug c/32763] internal error - compiling DiskEditor (hed.c)
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-07-14 05:16 --- Not a GCC bug as as is crashing. -- 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=32763
[Bug c++/32762] Lost variable scope with template class that inherits from templated class using args of the first class
--- Comment #1 from pinskia at gcc dot gnu dot org 2007-07-14 05:19 --- > The workaround for now is to replace x[i] with this->x[i]. This is not just a workaround but the correct fix. the reason is because x is not dependent so it has to be looked up at definition time and not instantation time (and definition time does not take into account depdent inherited classes). See http://gcc.gnu.org/gcc-3.4/changes.html for more info. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED GCC build triplet| i486-linux-gnu |i486-linux-gnu GCC host triplet| i486-linux-gnu |i486-linux-gnu GCC target triplet| i486-linux-gnu |i486-linux-gnu Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32762