[Bug fortran/32310] Intel-darwin specific ICE on CP2K code

2007-07-13 Thread jv244 at cam dot ac dot uk


--- 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'

2007-07-13 Thread jv244 at cam dot ac dot uk


--- 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

2007-07-13 Thread leo at marco dot de
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

2007-07-13 Thread leo at marco dot de


--- 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

2007-07-13 Thread rob1weld at aol dot com


--- 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

2007-07-13 Thread rob1weld at aol dot com
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

2007-07-13 Thread belyshev at depni dot sinp dot msu dot ru


--- 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'

2007-07-13 Thread paolo dot bonzini at lu dot unisi dot ch


--- 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[]

2007-07-13 Thread mueller at gcc dot gnu dot org


--- 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.

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread ubizjak at gmail dot com


--- 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

2007-07-13 Thread hjl at gcc dot gnu dot org


--- 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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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

2007-07-13 Thread pault at gcc dot gnu dot org


--- 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

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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.

2007-07-13 Thread rguenth at gcc dot gnu dot org


-- 

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.

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


-- 

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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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.

2007-07-13 Thread rguenth at gcc dot gnu dot org


-- 

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[]

2007-07-13 Thread mueller at gcc dot gnu dot org


--- 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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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?

2007-07-13 Thread mueller at gcc dot gnu dot org
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

2007-07-13 Thread dfranke at gcc dot gnu dot org


--- 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

2007-07-13 Thread pault at gcc dot gnu dot org


--- 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

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread Joey dot ye at intel dot com


--- 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

2007-07-13 Thread Joey dot ye at intel dot com
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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread Joey dot ye at intel dot com


--- 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'

2007-07-13 Thread bonzini at gcc dot gnu dot org


--- 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

2007-07-13 Thread pault at gcc dot gnu dot org


--- 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

2007-07-13 Thread alex_zuma1 at yahoo dot com


--- 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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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

2007-07-13 Thread James dot W dot Mckelvey at jpl dot nasa dot gov


--- 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

2007-07-13 Thread frederic dot merizen at gmail dot com
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

2007-07-13 Thread fxcoudert at gcc dot gnu dot org


--- 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

2007-07-13 Thread rask at sygehus dot dk


--- 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

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread pinskia at gcc dot gnu dot org


--- 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

2007-07-13 Thread pinskia at gcc dot gnu dot org


--- 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

2007-07-13 Thread fxcoudert at gcc dot gnu dot org


--- 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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread pinskia at gcc dot gnu dot org


--- 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

2007-07-13 Thread pinskia at gcc dot gnu dot org


--- 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

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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.

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread rask at sygehus dot dk


--- 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.

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread FOUNDATION OF HOPE

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

2007-07-13 Thread dberlin at dberlin dot org


--- 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

2007-07-13 Thread patchapp at dberlin dot org


--- 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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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

2007-07-13 Thread dberlin at dberlin dot org


--- 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

2007-07-13 Thread dir at lanl dot gov
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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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"

2007-07-13 Thread bernard at brenda-arkle dot demon dot co dot uk
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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread ebotcazou at gcc dot gnu dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread frederic dot merizen at gmail dot com


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread rguenth at gcc dot gnu dot org


--- 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

2007-07-13 Thread anlauf at gmx dot de
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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread dougkwan at google dot com


--- 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

2007-07-13 Thread geoffk at gcc dot gnu dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread pinskia at gcc dot gnu dot org


--- 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

2007-07-13 Thread pcarlini at suse dot de


--- 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

2007-07-13 Thread pcarlini at suse dot de


--- 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

2007-07-13 Thread hp at gcc dot gnu dot org


--- 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

2007-07-13 Thread dfranke at gcc dot gnu dot org


--- 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

2007-07-13 Thread hp at gcc dot gnu dot org
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

2007-07-13 Thread dberlin at dberlin dot org


--- 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

2007-07-13 Thread hp at gcc dot gnu dot org


--- 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

2007-07-13 Thread Daniel Berlin

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

2007-07-13 Thread dberlin at dberlin dot org


--- 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

2007-07-13 Thread hp at gcc dot gnu dot org


--- 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

2007-07-13 Thread javimena at gmail dot com
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)

2007-07-13 Thread mu8ja0i at earthlink dot net
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)

2007-07-13 Thread dj at redhat dot com


--- 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

2007-07-13 Thread hjl at lucon dot org
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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread hjl at lucon dot org


--- 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

2007-07-13 Thread pinskia at gcc dot gnu dot org


-- 

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

2007-07-13 Thread pinskia at gcc dot gnu dot org


-- 

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)

2007-07-13 Thread pinskia at gcc dot gnu dot org


--- 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

2007-07-13 Thread pinskia at gcc dot gnu dot org


--- 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



  1   2   >