[Bug middle-end/31127] [4.3 regression] ICE in cse_find_path, at cse.c:5930

2007-03-11 Thread steven at gcc dot gnu dot org


--- Comment #2 from steven at gcc dot gnu dot org  2007-03-11 10:14 ---
*** Bug 31116 has been marked as a duplicate of this bug. ***


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hp at gcc dot gnu dot org
Bug 31127 depends on bug 31116, which changed state.

Bug 31116 Summary: [4.3 regression] libstdc++  
ext/pb_ds/regression/priority_queue_rand.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31116

   What|Old Value   |New Value

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31127



[Bug middle-end/31116] [4.3 regression] libstdc++ ext/pb_ds/regression/priority_queue_rand.cc

2007-03-11 Thread steven at gcc dot gnu dot org


--- Comment #4 from steven at gcc dot gnu dot org  2007-03-11 10:14 ---
Same problem as PR31127.

*** This bug has been marked as a duplicate of 31127 ***


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31116



[Bug middle-end/31127] [4.3 regression] ICE in cse_find_path, at cse.c:5930

2007-03-11 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn|31116   |
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-11 10:15:23
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31127



[Bug tree-optimization/25371] -ftree-vectorize results in internal compiler error on AMD64

2007-03-11 Thread irar at il dot ibm dot com


--- Comment #6 from irar at il dot ibm dot com  2007-03-11 10:33 ---
Harsha, could you please attach vectorizer's dump file (produced with
-fdump-tree-vect-details)?

Thanks,
Ira


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25371



[Bug middle-end/31127] [4.3 regression] ICE in cse_find_path, at cse.c:5930

2007-03-11 Thread steven at gcc dot gnu dot org


--- Comment #3 from steven at gcc dot gnu dot org  2007-03-11 11:01 ---
Created an attachment (id=13188)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13188action=view)
suggestion for what a fix may look like


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31127



[Bug middle-end/31115] [4.3 regression] libstdc++ 22_locale/num_get/get/char/2.cc 27_io/basic_ostream/inserters_arithmetic/char/6.cc

2007-03-11 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2007-03-11 11:27 
---
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=31115



[Bug tree-optimization/31130] New: [4.3 Regression] VRP no longer derives range for division after negation

2007-03-11 Thread rguenth at gcc dot gnu dot org
extern void link_error ();
void foo (int a)
{
  if (a  0)
{
  int y;
  a = -a;
  y  = a / 7;
  if (y  1  30)
link_error ();
}
}

int main()
{
  return 0;
}

Before the VRP overflow handling changes we have after the first VRP pass:

Value ranges after VRP:

a_1(D): VARYING
a_2: [1, +INF]  EQUIVALENCES: { } (0 elements)
y_3: [0, 306783378]  EQUIVALENCES: { } (0 elements)
a_4: [-INF, -1]  EQUIVALENCES: { a_1(D) } (1 elements)

Substituing values and folding statements

Folding predicate y_3  1073741824 to 0
Folded statement: if (y_3  1073741824) goto L1; else goto L2;
into: if (0) goto L1; else goto L2;

void foo(int) (a)
{
  int y;

bb 2:
  if (a_1(D)  0) goto L0; else goto L2;

L0:;
  a_2 = -a_1(D);
  y_3 = a_2 / 7;

L2:;
  return;

}


while now we get

Value ranges after VRP:

a_1(D): VARYING
a_2: [1, +INF(OVF)]  EQUIVALENCES: { } (0 elements)
y_3: [0, +INF(OVF)]  EQUIVALENCES: { } (0 elements)
a_4: [-INF, -1]  EQUIVALENCES: { a_1(D) } (1 elements)

Substituing values and folding statements

foo (a)
{
  int y;

bb 2:
  if (a_1(D)  0) goto L0; else goto L2;

L0:;
  a_2 = -a_1(D);
  y_3 = a_2 / 7;
  if (y_3  1073741824) goto L1; else goto L2;

L1:;
  link_error ();

L2:;
  return;

}


without -Wstrict-overflow=N warning about the issues with signed negation
and the [1, +INF(OVF)] derived range.  Note that the testcase is simple
enough that expansion optimizes the comparison, so it will not fail to link.


-- 
   Summary: [4.3 Regression] VRP no longer derives range for
division after negation
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31130



[Bug c++/31131] New: [4.2/4.3 regression] ICE on invalid constructor definition

2007-03-11 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline and 4.2 branch:

=
templateint struct A
{
  A(int);
};

templateint N AN::A() {}

struct B
{
  A0 a;
};

B b;
=

bug.cc:6: error: prototype for 'AN::A()' does not match any in class 'AN'
bug.cc:3: error: candidate is: AN::A(int)
bug.cc:6: error: template definition of non-template 'AN::A()'
bug.cc:13: internal compiler error: in locate_ctor, at cp/method.c:899
Please submit a full bug report, [etc.]

If I replace A(int); by A(0); I get a slightly different crash:

bug.cc:3: error: expected unqualified-id before numeric constant
bug.cc:3: error: expected `)' before numeric constant
bug.cc:6: error: no 'AN::A()' member function declared in class 'AN'
bug.cc:6: error: template definition of non-template 'AN::A()'
bug.cc:13: internal compiler error: vector VEC(tree,base) index domain error,
in locate_ctor at cp/method.c:889
Please submit a full bug report, [etc.]


-- 
   Summary: [4.2/4.3 regression] ICE on invalid constructor
definition
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31131



[Bug c++/31131] [4.2/4.3 regression] ICE on invalid constructor definition

2007-03-11 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31131



[Bug c++/31132] New: [4.1/4.2/4.3 regression] ICE on inconsistent friend declaration

2007-03-11 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE since GCC 3.4.0:

=
templatetypename T class A
{
  static int i;
  friend int T::foo();
};

struct B
{
  void foo() { AB::i; }
};
=

bug.cc: In instantiation of 'AB':
bug.cc:9:   instantiated from here
bug.cc:4: error: prototype for 'int B::foo()' does not match any in class 'B'
bug.cc:9: error: candidate is: void B::foo()
bug.cc:4: error: 'int B::foo()' cannot be overloaded
bug.cc:9: error: with 'void B::foo()'
bug.cc: In member function 'void B::foo()':
bug.cc:9: internal compiler error: tree check: expected record_type or
union_type or qual_union_type, have template_type_parm in template_class_depth,
at cp/pt.c:295
Please submit a full bug report, [etc.]


-- 
   Summary: [4.1/4.2/4.3 regression] ICE on inconsistent friend
declaration
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31132



[Bug c++/31132] [4.1/4.2/4.3 regression] ICE on inconsistent friend declaration

2007-03-11 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.1.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31132



[Bug fortran/30883] procedure with dummy procedure f1 rejected with implicit none

2007-03-11 Thread patchapp at dberlin dot org


--- Comment #5 from patchapp at dberlin dot org  2007-03-11 12:01 ---
Subject: Bug number PR30883

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-03/msg00651.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30883



[Bug libstdc++/28080] header dependencies

2007-03-11 Thread paolo at gcc dot gnu dot org


--- Comment #25 from paolo at gcc dot gnu dot org  2007-03-11 12:03 ---
Subject: Bug 28080

Author: paolo
Date: Sun Mar 11 12:03:34 2007
New Revision: 122818

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122818
Log:
2007-03-11  Paolo Carlini  [EMAIL PROTECTED]

PR libstdc++/28080 (final)
* include/std/iosfwd: Do not include bits/c++io.h.
* config/io/basic_file_stdio.h: Do it here.
* include/ext/stdio_sync_filebuf.h: Likewise.
* include/ext/rope: Include bits/gthr.h unconditionally.
* include/std/fstream: Do not include bits/gthr.h.

* include/std/ios: Do not include cstdio.
* include/bits/ios_base.h: Do it here.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/io/basic_file_stdio.h
trunk/libstdc++-v3/include/bits/ios_base.h
trunk/libstdc++-v3/include/ext/rope
trunk/libstdc++-v3/include/ext/stdio_sync_filebuf.h
trunk/libstdc++-v3/include/std/fstream
trunk/libstdc++-v3/include/std/ios
trunk/libstdc++-v3/include/std/iosfwd
trunk/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
trunk/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28080



[Bug libstdc++/28080] header dependencies

2007-03-11 Thread pcarlini at suse dot de


--- Comment #26 from pcarlini at suse dot de  2007-03-11 12:07 ---
Now, for example, the preprocessed memory is about 100 KB smaller and there
are noticeable improvements eveywhere (containers, streams, etc.). Also, thanks
to variadic templates the compile-time performance and preprocessed header size
for  tr1/tuple and tr1/functional are hugely better than in 4_2-branch. I
think we can consider this issue solved and further improvements considered
proper enhancements not bug fixes.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28080



[Bug target/30980] [4.3 Regression] Recent complex miscompilation

2007-03-11 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2007-03-11 12:19 ---
I confirm that the bug does not show with gcc. Is theis related to the
following failures in the regtest?

FAIL: gcc.dg/builtins-59.c scan-tree-dump __builtin_cexpi
FAIL: gcc.dg/builtins-59.c scan-tree-dump-not sincos
FAIL: gcc.dg/builtins-61.c scan-tree-dump cexpi
FAIL: gcc.dg/builtins-61.c scan-tree-dump sin
FAIL: gcc.dg/builtins-61.c scan-tree-dump cos
FAIL: gcc.dg/builtins-61.c scan-tree-dump return 0.0
FAIL: gcc.dg/builtins-62.c scan-tree-dump-times cexpi 3

Also the following fortran code

complex(8) :: cplx, t
real(8):: tmp
cplx = cmplx(-1.0,0.0,8)
t = log(cplx)
tmp = 0.5 * imag(t)
print *, cos(tmp), sin(tmp)
end

reproduces the bug.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30980



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread martin dot jansa at mk dot cvut dot cz


--- Comment #4 from martin dot jansa at mk dot cvut dot cz  2007-03-11 
12:20 ---
(In reply to comment #3)
 Well Ahmed, right now you can't possibly see the exact same error, because
 stl_algobase.h does *not* include iosfwd anymore... Please provide more 
 info.
 Thanks.

My error seems quite similar (with profiledbootstrap and bootstrap too). Older
snapshots have the same issue.

I'm using latest glibc-2.5.90.20070214.

/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/./gcc/xgcc
-shared-libgcc
-B/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/./gcc
-nostdinc++
-L/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src
-L/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem
/usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include
-I/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
-I/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include
-I/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/gcc-4.3-20070309/libstdc++-v3/libsupc++
-fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections -O2
-march=k8 -D_GNU_SOURCE -c
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/gcc-4.3-20070309/libstdc++-v3/src/compatibility.cc
 -fPIC -DPIC -o .libs/compatibility.o
In file included from
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/char_traits.h:49,
 from
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/string:47,
 from
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/gcc-4.3-20070309/libstdc++-v3/src/compatibility.cc:49:
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:100:
error: '::fpos_t' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:102:
error: '::clearerr' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:103:
error: '::fclose' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:104:
error: '::feof' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:105:
error: '::ferror' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:106:
error: '::fflush' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:107:
error: '::fgetc' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:108:
error: '::fgetpos' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:109:
error: '::fgets' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:110:
error: '::fopen' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:111:
error: '::fprintf' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:112:
error: '::fputc' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:113:
error: '::fputs' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:114:
error: '::fread' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:115:
error: '::freopen' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:116:
error: '::fscanf' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:117:
error: '::fseek' has not been declared
/tmp/tmpwork/portage/sys-devel/gcc-4.3.0_alpha20070309/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio:118:
error: '::fsetpos' has not been declared

[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread martin dot jansa at mk dot cvut dot cz


--- Comment #5 from martin dot jansa at mk dot cvut dot cz  2007-03-11 
12:29 ---
(In reply to comment #4)

And my toolchain:

jama gcc # /lib/libc.so.6
GNU C Library 20070214 release version 2.5.90, by Roland McGrath et al.
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.2.0-alpha20070228  (prerelease) (Gentoo
4.2.0_alpha20070228).
Compiled on a Linux 2.6.20-JaMa system on 2007-03-05.
Available extensions:
C stubs add-on version 2.1.2
crypt add-on version 2.1 by Michael Glad and others
Gentoo patchset 1.4.1
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
Support for some architectures added on, not maintained in glibc core.
BIND-8.2.3-T5B
For bug reporting instructions, please see:
http://www.gnu.org/software/libc/bugs.html.
jama gcc # gcc --version
x86_64-pc-linux-gnu-gcc (GCC) 4.2.0-alpha20070307  (prerelease) (Gentoo
4.2.0_alpha20070307)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

jama gcc # make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu
jama gcc # as --version
GNU assembler 2.17.50.0.12 20070128
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-pc-linux-gnu'.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #6 from pcarlini at suse dot de  2007-03-11 12:32 ---
 My error seems quite similar (with profiledbootstrap and bootstrap too). Older
 snapshots have the same issue.

Thanks, but *how much* older, exactly, we must pin-point the exact source of
this problem.

 I'm using latest glibc-2.5.90.20070214.

Can you try with an official release. Really we need to reduce the number of
independent variables, because, as far as I can see, at this point it can be
anything, maybe glibc too. In the reports, on the C++ library side things don't
make sense to me, frankly: cstdio just includes stdio.h and then there are
the using from the global namespace. And of course nobody among the develepors
is seeing the issue...

I'm trying to CC Jakub as a glibc man, just in case...


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #7 from pcarlini at suse dot de  2007-03-11 12:53 ---
People encountering this kind of problem should check whether this trivial C++
snippet compiles:

/

#include stdio.h

#undef clearerr

namespace my
{
  using ::clearerr;
}

/

because really, in that place the build isn't doing much else...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug middle-end/31030] [4.3 Regression] Segmentation fault with -O2

2007-03-11 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2007-03-11 12:58 ---
The following reduced test case

  PROGRAM LINPK
  PARAMETER (N=2500,LDA=N+1)
  DOUBLE PRECISION a(LDA,N) , b(N) , x(N)

  a = 1.0
  print *, 'before DSCAL'
  CALL DSCAL(N-1,1.0D0,A(2,1),1)
  print *, 'after DSCAL'

  END

  SUBROUTINE DSCAL(N,Da,Dx,Incx)
  DOUBLE PRECISION Da , Dx(*)
  INTEGER i , Incx , m , mp1 , N , nincx

!  print *, N, Da, Dx(MOD(N,5)+1), Incx
  IF ( N.GT.0 ) THEN
mp1 = MOD(N,5) + 1
DO i = mp1 , N , 5
   Dx(i) = Da*Dx(i)
ENDDO
  ENDIF
  END

shows the bug:

[karma] lin/source% gfc -O2 linpk_red.f90
[karma] lin/source% a.out 
 before DSCAL
Bus error

Looking at linpk_red.f90.116t.optimized, the loop in DSCAL reads

L2:;
  D.1053 = (unnamed type) ivtmp.54;
  MEM[index: D.1053] = pretmp.36 * MEM[index: D.1053];
  ivtmp.45 = ivtmp.45 + 1;
  ivtmp.54 = ivtmp.54 + 40;
  if (ivtmp.45 == 2147483647) goto L.4; else goto L2;

I don't know the origin of 2147483647, but it looks pretty bad!-(even for me)

Note that DSCAL appears in linpk.f90, rnflow.f90, and test_fpu.f90.

PS this is my second attempt to post this, I apologize if the first one shows
up later.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31030



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #8 from pcarlini at suse dot de  2007-03-11 13:03 ---
Then this snippet could be also useful, just in case we are doing something
wrong in the configury (I doubt it)

//

#include stdio.h
#include bits/c++config.h

#undef clearerr

_GLIBCXX_BEGIN_NAMESPACE(std)

  using ::clearerr;

_GLIBCXX_END_NAMESPACE

//


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #9 from pcarlini at suse dot de  2007-03-11 13:05 ---
Oh well, if the build really failed bits/c++config.h has not been installed,
then include it from the exact place where is available in the build dir.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #10 from pcarlini at suse dot de  2007-03-11 13:14 ---
In c++config we have the below lines, which I never noriced before, I wonder
whether can cause problems given the our current framework (in the future is
another matter...)

Note hovewer, that currently __cplusplus in the official GNU tree at least is
still *1*. Is it possible that only *Gentoo* GCC has an external patch defining
__cplusplus as 199711L???

Paolo.

// Macro used to indicate that the native C includes, when compiled
// as C++, have declarations in namespace std and not the global
// namespace. Note, this is unrelated to possible C compatibility
// includes that inject C90/C99 names into the global namespace.
// XXX May not be necessary
#if __cplusplus == 199711L
# define _GLIBCXX_NAMESPACE_C 1
#endif


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug middle-end/31030] [4.3 Regression] Segmentation fault with -O2

2007-03-11 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2007-03-11 13:16 ---
Note that the bug affect lapack/blas/{s,d}scal.f. Note also that in the
*optimized* dumps of
lapack/blas/{c,z}scal.f there are several:

Invalid sum of incoming frequencies , should be 

cscal.f:

...
Invalid sum of incoming frequencies 2224, should be 2116
L19:;
  D.1073 = (unnamed type) ivtmp.47;
  CR.63 = MEM[index: D.1073];
  CI.64 = MEM[index: D.1073, offset: 4];
  MEM[index: D.1073] = CR.61 * CR.63 - CI.62 * CI.64;
  MEM[index: D.1073, offset: 4] = CR.61 * CI.64 + CI.62 * CR.63;
  ivtmp.44 = ivtmp.44 + 1;
  ivtmp.47 = ivtmp.47 + 8;
  if ((int4) ivtmp.44 == D.968) goto L14; else goto L19;

Invalid sum of incoming frequencies 2322, should be 2430
L14:;
  return;

and zscal.f:

...
Invalid sum of incoming frequencies 10511, should be 1
L24:;
  D.1095 = (unnamed type) ivtmp.59;
  CR.21 = MEM[index: D.1095];
  CI.22 = MEM[index: D.1095, offset: 8];
  MEM[index: D.1095] = CR.64 * CR.21 - CI.65 * CI.22;
  MEM[index: D.1095, offset: 8] = CR.64 * CI.22 + CI.65 * CR.21;
  ivtmp.53 = ivtmp.53 + 1;
  ivtmp.59 = ivtmp.59 + ivtmp.62;
  if ((int4) ivtmp.53 == D.967) goto L16; else goto L24;

L29:;
  CR.19 = REALPART_EXPR *za;
  CI.20 = IMAGPART_EXPR *za;
  ivtmp.50 = (unnamed type) REALPART_EXPR (*zx)[0];
  ivtmp.47 = 0;

Invalid sum of incoming frequencies 4723, should be 4493
L23:;
  D.1079 = (unnamed type) ivtmp.50;
  CR.25 = MEM[index: D.1079];
  CI.26 = MEM[index: D.1079, offset: 8];
  MEM[index: D.1079] = CR.19 * CR.25 - CI.20 * CI.26;
  MEM[index: D.1079, offset: 8] = CR.19 * CI.26 + CI.20 * CR.25;
  ivtmp.47 = ivtmp.47 + 1;
  ivtmp.50 = ivtmp.50 + 16;
  if ((int4) ivtmp.47 == D.967) goto L16; else goto L23;

Invalid sum of incoming frequencies 4420, should be 5160
L16:;
  return;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31030



[Bug fortran/30883] procedure with dummy procedure f1 rejected with implicit none

2007-03-11 Thread pault at gcc dot gnu dot org


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-11 13:20:58
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30883



[Bug c/31133] New: allow to set sysroot via environment variable

2007-03-11 Thread pclouds at gmail dot com
I use gcc to cross compile a system with --sysroot option. However replace
every gcc command with 'gcc --sysroot=blah' is kind of redundant. It would be
great if I can set environment variable SYSROOT=blah (or GNUSYSROOT=blah) and
leave gcc commands intact, just like CFLAGS and friends.


-- 
   Summary: allow to set sysroot via environment variable
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pclouds at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31133



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #11 from pcarlini at suse dot de  2007-03-11 13:26 ---
(In reply to comment #10)
 Note hovewer, that currently __cplusplus in the official GNU tree at least is
 still *1*. Is it possible that only *Gentoo* GCC has an external patch 
 defining __cplusplus as 199711L???

But that doesn't matter, because the newly built FSF GCC still defines
__cplusplus as 1 (in licpp/init.c, by the way). I'm lost... We badly need
details about the behavior of the two snippets, a time-range for the appearance
of the problem, anything to restrict the number of possibilities...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread martin dot jansa at mk dot cvut dot cz


--- Comment #12 from martin dot jansa at mk dot cvut dot cz  2007-03-11 
13:36 ---
(In reply to comment #11)

Those 2 snippets working fine here and printf(%d,__cplusplus); says still
1.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #13 from pcarlini at suse dot de  2007-03-11 13:46 ---
Ok, can we know when exactly this bootstrap problem appeared? Nobody among the
developers is seeing it, I repeat, we can't reproduce it, and if the submitters
are not going to help more, much more, the problem cannot be fixed, this must
be clear.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug tree-optimization/29925] Wrong code with -ftree-vectorize

2007-03-11 Thread irar at gcc dot gnu dot org


--- Comment #10 from irar at gcc dot gnu dot org  2007-03-11 13:47 ---
Subject: Bug 29925

Author: irar
Date: Sun Mar 11 13:47:40 2007
New Revision: 122819

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122819
Log:
PR tree-optimization/29925
* tree-data-ref.c (analyze_offset): Add a return value (bool) to
indicate success/failure of the analysis. Add negation to subtrahend
in case of subtraction. Fail if both operands contain constants.
(create_data_ref): Fail if analyze_offset fails.


Added:
branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/vect/fast-math-vect-pr29925.c
Modified:
branches/gcc-4_2-branch/gcc/ChangeLog
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
branches/gcc-4_2-branch/gcc/tree-data-ref.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29925



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread martin dot jansa at mk dot cvut dot cz


--- Comment #14 from martin dot jansa at mk dot cvut dot cz  2007-03-11 
13:54 ---
(In reply to comment #13)
 Ok, can we know when exactly this bootstrap problem appeared? Nobody among the
 developers is seeing it, I repeat, we can't reproduce it, and if the 
 submitters
 are not going to help more, much more, the problem cannot be fixed, this must
 be clear.
 

I cannot say *how much* older, because snapshots older than about 3 weeks
failed with internal error (with profiledbootstrap) and with this error
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg00449.html (with bootstrap). Only
last 3 weekly snapshots didn't fail until libstdc++ building.

Maybe other submitters have better image when it firstly appeared, but as I
said only few last weekly snapshots was trying to build libstdc++.

  I'm using latest glibc-2.5.90.20070214.

I'm downgrading glibc to latest official release.

 I'm trying to CC Jakub as a glibc man, just in case...

Thanks anyway


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug target/29255] [4.2/4.3 regression] ICE on valid code on PPC SPE

2007-03-11 Thread jsm28 at gcc dot gnu dot org


--- Comment #5 from jsm28 at gcc dot gnu dot org  2007-03-11 13:59 ---
I can't reproduce this bug with current 4.2 branch or trunk.  My guess as to
the most likely patch to have fixed this is:

2006-11-16  Joseph Myers  [EMAIL PROTECTED]

* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
memory operand.


-- 

jsm28 at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29255



[Bug middle-end/31127] [4.3 regression] ICE in cse_find_path, at cse.c:5930

2007-03-11 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-03-11 14:06 ---
It also breaks FreeFEM.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31127



[Bug middle-end/31030] [4.3 Regression] Segmentation fault with -O2

2007-03-11 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2007-03-11 14:07 ---
Ian, looking at the changelog, it seems as if your commit
http://gcc.gnu.org/viewcvs?view=revrevision=122487
r122487 | ian | 2007-03-02 21:09:31 +0100 (Fri, 02 Mar 2007) | 35 lines
Used signed infinities in VRP.
could be the cause of this problem.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ian at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-11 14:07:33
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31030



[Bug target/29498] FTZ/DAZ for SSE should be ported to mingw32

2007-03-11 Thread zuxy dot meng at gmail dot com


--- Comment #3 from zuxy dot meng at gmail dot com  2007-03-11 14:27 ---
Created an attachment (id=13189)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13189action=view)
Updated patch


-- 

zuxy dot meng at gmail dot com changed:

   What|Removed |Added

  Attachment #13151|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29498



[Bug objc++/31134] New: objc-act.c:570: error: comparison is always false

2007-03-11 Thread danglin at gcc dot gnu dot org
/home/dave/gnu/gcc-4.3/objdir/./prev-gcc/xgcc
-B/home/dave/gnu/gcc-4.3/objdir/./
prev-gcc/ -B/home/dave/opt/gnu/gcc/gcc-4.3.0/hppa-linux/bin/ -c   -g -O2
-DIN_GC
C   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definiti
on -Wmissing-format-attribute -Werror -DOBJCPLUS -I../../gcc/gcc/objc
-I../../gc
c/gcc/cp -fno-common   -DHAVE_CONFIG_H -I. -Iobjcp -I../../gcc/gcc
-I../../gcc/g
cc/objcp -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include 
-I../../g
cc/gcc/../libdecnumber -I../libdecnumber-I. -Iobjcp -I../../gcc/gcc
-I../../
gcc/gcc/objcp -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include 
-I..
/../gcc/gcc/../libdecnumber -I../libdecnumber ../../gcc/gcc/objc/objc-act.c -o
o
bjcp/objcp-act.o
cc1: warnings being treated as errors
../../gcc/gcc/objc/objc-act.c: In function 'lookup_method_in_protocol_list':
../../gcc/gcc/objc/objc-act.c:570: error: comparison is always false due to
limi
ted range of data type
../../gcc/gcc/objc/objc-act.c: In function 'lookup_protocol_in_reflist':
../../gcc/gcc/objc/objc-act.c:598: error: comparison is always false due to
limi
ted range of data type
../../gcc/gcc/objc/objc-act.c:605: error: comparison is always false due to
limi
ted range of data type
../../gcc/gcc/objc/objc-act.c: In function 'generate_protocol_references':
../../gcc/gcc/objc/objc-act.c:4443: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'generate_protocol_list':
../../gcc/gcc/objc/objc-act.c:5457: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:5465: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:5478: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:5487: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'synth_id_with_class_suffix':
../../gcc/gcc/objc/objc-act.c:5834: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'build_keyword_selector':
../../gcc/gcc/objc/objc-act.c:5910: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:5930: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'build_method_decl':
../../gcc/gcc/objc/objc-act.c:5967: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'get_arg_type_list':
../../gcc/gcc/objc/objc-act.c:6003: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'check_duplicates':
../../gcc/gcc/objc/objc-act.c:6087: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:6093: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'receiver_is_class_object':
../../gcc/gcc/objc/objc-act.c:6115: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'build_ivar_reference':
../../gcc/gcc/objc/objc-act.c:6714: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'objc_add_method':
../../gcc/gcc/objc/objc-act.c:6979: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'conforms_to_protocol':
../../gcc/gcc/objc/objc-act.c:7294: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'check_protocol':
../../gcc/gcc/objc/objc-act.c:7384: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'synth_self_and_ucmd_args':
../../gcc/gcc/objc/objc-act.c:8319: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'really_start_method':
../../gcc/gcc/objc/objc-act.c:8602: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:8637: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:8644: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:8667: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In function 'get_super_receiver':
../../gcc/gcc/objc/objc-act.c:8714: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:8736: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c:8750: error: comparison is always false due to
lim
ited range of data type
../../gcc/gcc/objc/objc-act.c: In 

[Bug objc++/31134] objc-act.c:570: error: comparison is always false

2007-03-11 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2007-03-11 14:42 ---
Occurs in stage2.

[EMAIL PROTECTED]:~/gnu/gcc-4.3/objdir/prev-gcc$ ./xgcc -B./ -v
Reading specs from ./specs
Target: hppa-linux
Configured with: ../gcc/configure --with-gnu-as --with-gnu-ld --enable-shared
--prefix=/home/dave/opt/gnu/gcc/gcc-4.3.0
--with-local-prefix=/home/dave/opt/gnu --enable-threads=posix
--enable-__cxa_atexit --build=hppa-linux --enable-clocale=gnu
--enable-java-gc=boehm --enable-java-awt=xlib
--enable-languages=c,c++,objc,fortran,java,obj-c++,ada
Thread model: posix
gcc version 4.3.0 20070310 (experimental)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31134



[Bug objc++/31134] objc-act.c:570: error: comparison is always false

2007-03-11 Thread schwab at suse dot de


--- Comment #2 from schwab at suse dot de  2007-03-11 15:02 ---
The limit on the number of tree codes is reached (LAST_CPLUS_TREE_CODE = 251,
LAST_OBJC_TREE_CODE = 262).


-- 

schwab at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|hppa-unknown-linux-gnu  |
   GCC host triplet|hppa-unknown-linux-gnu  |
 GCC target triplet|hppa-unknown-linux-gnu  |
   Keywords||build
   Last reconfirmed|-00-00 00:00:00 |2007-03-11 15:02:59
   date||
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31134



[Bug bootstrap/31118] Bootstrap failure: darwin.c:1188: error: too many arguments to function 'categorize_decl_for_section

2007-03-11 Thread lucier at math dot purdue dot edu


--- Comment #2 from lucier at math dot purdue dot edu  2007-03-11 15:56 
---
Fixed 

[descartes:~/programs/gcc/objdir-mainline] gcc-test% cat
../mainline/LAST_UPDATED 
Sat Mar 10 22:35:54 EST 2007
Sun Mar 11 03:35:54 UTC 2007 (revision 122814M)


-- 

lucier at math dot purdue dot edu changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31118



[Bug middle-end/31115] [4.3 regression] libstdc++ 22_locale/num_get/get/char/2.cc 27_io/basic_ostream/inserters_arithmetic/char/6.cc

2007-03-11 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2007-03-11 16:08 
---
Subject: Bug 31115

Author: rguenth
Date: Sun Mar 11 16:08:35 2007
New Revision: 122821

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122821
Log:
2007-03-11  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/31115
* tree-vrp.c (extract_range_from_binary_expr): Make sure
the shift count is positive and non-anti-range for RSHIFT_EXPR.
A shift count of zero is not special as with *_DIV_EXPR.
(vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow
direction.

* gcc.dg/torture/pr31115.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr31115.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vrp.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31115



[Bug fortran/30883] procedure with dummy procedure f1 rejected with implicit none

2007-03-11 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2007-03-11 16:17 ---
Subject: Bug 30883

Author: pault
Date: Sun Mar 11 16:17:32 2007
New Revision: 122822

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122822
Log:
2007-03-11  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30883
* parse.c (parse_interface): Use the default types from the
formal namespace if a function or its result do not have a type
after parsing the specification statements.

2007-03-11  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30883
* gfortran.dg/interface_11.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/interface_11.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/parse.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30883



[Bug c/31135] New: ice for legal code with -O3

2007-03-11 Thread dcb314 at hotmail dot com
I just tried to compile Suse Linux package rasmol-2.7.3.1-44
with the GNU C++ compiler version 4.3 snapshot 20070309.

The compiler said

repres.c: In function 'InitialiseRepres':
repres.c:1638: internal compiler error: in cse_find_path, at cse.c:5930
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

Preprocessed source code attached. Flag -O3 required.


-- 
   Summary: ice for legal code with -O3
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dcb314 at hotmail dot com
  GCC host triplet: x86_64-suse-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31135



[Bug c/31135] ice for legal code with -O3

2007-03-11 Thread dcb314 at hotmail dot com


--- Comment #1 from dcb314 at hotmail dot com  2007-03-11 16:19 ---
Created an attachment (id=13190)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13190action=view)
C source code


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31135



[Bug target/26090] IA-64 creates DT_TEXTREL binaries

2007-03-11 Thread rth at gcc dot gnu dot org


--- Comment #5 from rth at gcc dot gnu dot org  2007-03-11 16:22 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26090



[Bug driver/31133] allow to set sysroot via environment variable

2007-03-11 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-03-11 17:09 ---
 just like CFLAGS and friends

Well CFLAGS is a make file and nothing to do with GCC really.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |driver


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31133



[Bug middle-end/31135] [4.3 Regression] ice for legal code with -O3

2007-03-11 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |middle-end
   GCC host triplet|x86_64-suse-linux   |
 GCC target triplet||x86_64-suse-linux-gnu
Summary|ice for legal code with -O3 |[4.3 Regression] ice for
   ||legal code with -O3
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31135



[Bug middle-end/31135] [4.3 Regression] ice for legal code with -O3

2007-03-11 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-03-11 17:15 ---


*** This bug has been marked as a duplicate of 31127 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31135



[Bug middle-end/31127] [4.3 regression] ICE in cse_find_path, at cse.c:5930

2007-03-11 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2007-03-11 17:15 ---
*** Bug 31135 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31127



[Bug driver/31133] allow to set sysroot via environment variable

2007-03-11 Thread pclouds at gmail dot com


--- Comment #2 from pclouds at gmail dot com  2007-03-11 17:26 ---
Ahh.. I made a mistake, sorry for the annoyance.


-- 

pclouds at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31133



[Bug middle-end/30798] mode_dependent_address_p not checked when simplifying subreg

2007-03-11 Thread TabonyEE at austin dot rr dot com


--- Comment #2 from TabonyEE at austin dot rr dot com  2007-03-11 18:28 
---
Hhmm.  I have made a few other changes and now when I don't define
WORD_REGISTER_OPERATIONS, I get correct code.  I get an HI load followed by a
QI - SI zero extend, not the preferred POST_MODIFY.  I looked at all the
changes I made since my last comment and I don't see how any could affect this.
 I think this is a latent bug waiting to be exposed that for some reason is
difficult to trigger.

Now combine creates the subreg, but the subreg is spilled during the greg pass.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30798



[Bug tree-optimization/31136] New: FRE ignores bit-field truncation

2007-03-11 Thread TabonyEE at austin dot rr dot com
With the tip of the 4.2 branch, the following program returns 1.  Mainline
returns 0.  Is this defined behavior?  I could not find anything on the
subject.

struct S {
  unsigned b4:4;
  unsigned b6:6;
} s;

int main(void){
  s.b6 = 31;
  s.b4 = s.b6;
  s.b6 = s.b4;
  return s.b6 == 15 ? 0 : 1;
}


before FRE (-fdump-tree-ccp):

;; Function main (main)

main ()
{
  short unsigned int D.1882;
  short unsigned int D.1881;
  int D.1880;
  unnamed type D.1879;
  unnamed type D.1878;
  unnamed type D.1877;
  unnamed type D.1876;

bb 2:
  s.b6 = 31;
  D.1876_3 = s.b6;
  D.1877_4 = (unnamed type) D.1876_3;
  s.b4 = D.1877_4;
  D.1878_7 = s.b4;
  D.1879_8 = (unnamed type) D.1878_7;
  s.b6 = D.1879_8;
  D.1881_10 = BIT_FIELD_REF s, 16, 0;
  D.1882_11 = D.1881_10  1008;
  D.1880_12 = D.1882_11 != 240;
  return D.1880_12;

}


after FRE (-fdump-tree-fre):

;; Function main (main)

main ()
{
  short unsigned int D.1882;
  short unsigned int D.1881;
  int D.1880;
  unnamed type D.1879;
  unnamed type D.1878;
  unnamed type D.1877;
  unnamed type D.1876;

bb 2:
  s.b6 = 31;
  D.1876_3 = 31;
  D.1877_4 = (unnamed type) D.1876_3;
  s.b4 = D.1877_4;
  D.1878_7 = D.1877_4;
  D.1879_8 = 31;
  s.b6 = D.1879_8;
  D.1881_10 = BIT_FIELD_REF s, 16, 0;
  D.1882_11 = D.1881_10  1008;
  D.1880_12 = D.1882_11 != 240;
  return D.1880_12;

}


D.1879_8 was replaced by 31, ignoring the fact that the value should have been
truncated to 15 when assigned to s.b4.


-- 
   Summary: FRE ignores bit-field truncation
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: TabonyEE at austin dot rr dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31136



[Bug middle-end/30816] gfortran.dg/g77/intrinsic-unix-erf.f tests fail with optimization

2007-03-11 Thread tobi at gcc dot gnu dot org


--- Comment #18 from tobi at gcc dot gnu dot org  2007-03-11 18:53 ---
The tests no longer fail, even with the system gmp/mpfr (which haven't been
updated), so I'm closing this as WORKSFORME.


-- 

tobi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30816



[Bug fortran/29651] Subroutine: Kind convertion of intent(out) value: signal

2007-03-11 Thread dfranke at gcc dot gnu dot org


--- Comment #3 from dfranke at gcc dot gnu dot org  2007-03-11 18:54 ---
Taking care of this one as the solution is probably the same as with ALARM
(PR30947).


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dfranke at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-10-31 05:36:37 |2007-03-11 18:54:23
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29651



[Bug middle-end/30798] mode_dependent_address_p not checked when simplifying subreg

2007-03-11 Thread TabonyEE at austin dot rr dot com


--- Comment #3 from TabonyEE at austin dot rr dot com  2007-03-11 18:57 
---
By the way, I think emit-rtl.c: change_address_1 could at least use an assert
that if the modes are different and the addresses are the same, then
mode_dependent_address_p is not true.  That is unless change_address_1 can be
used to change the semantics of a mem.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30798



[Bug fortran/31067] MINLOC should sometimes be inlined (gas_dyn is sooooo sloooow)

2007-03-11 Thread tkoenig at gcc dot gnu dot org


--- Comment #9 from tkoenig at gcc dot gnu dot org  2007-03-11 19:43 ---
I have looked at this some more.  Channging gfc_conv_intrinsic_function so that
we call gfc_conv_intrinsic_minmaxloc is easy enough:

@@ -3481,7 +3481,9 @@ gfc_conv_intrinsic_function (gfc_se * se

   name = expr-value.function.name[2];

-  if (expr-rank  0  !expr-inline_noncopying_intrinsic)
+  if (expr-rank  0  !expr-inline_noncopying_intrinsic
+   ! (expr-rank == 1  (isym-generic_id ==  GFC_ISYM_MINLOC
+   || isym-generic_id == GFC_ISYM_MAXLOC)))
 {
   lib = gfc_is_intrinsic_libcall (expr);
   if (lib != 0)

If we do that, we hit the  if (se-ss) contition on top of that function, and
we would have to handle scalarization of that one-trip loop.  I have currently
no idea how to go about that.  Simply removing the condition doesn't work :-)

As a workaround, one could always use minloc(...,dim=1), then
we get the inline version.

Unassigning myself.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|tkoenig at gcc dot gnu dot  |unassigned at gcc dot gnu
   |org |dot org
 Status|ASSIGNED|NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31067



[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion

2007-03-11 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038



[Bug c++/31131] [4.2/4.3 regression] ICE on invalid constructor definition

2007-03-11 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31131



[Bug c++/31132] [4.1/4.2/4.3 regression] ICE on inconsistent friend declaration

2007-03-11 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31132



[Bug c++/30857] [4.1/4.2/4.3 regression] accepts both explicit instantiation and explicit specialization, duplicate explicit instantiations, etc.

2007-03-11 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30857



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread martin dot jansa at mk dot cvut dot cz


--- Comment #15 from martin dot jansa at mk dot cvut dot cz  2007-03-11 
20:35 ---
(In reply to comment #14)
downgrading glibc didn't that trick but now() I have successfully builded
latest snapshot with this patch:

--- ./gcc-4.3-20070309/libstdc++-v3/include/c_global/cstdio.orig   
2007-03-11 20:12:59.0 +0100
+++ ./gcc-4.3-20070309/libstdc++-v3/include/c_global/cstdio 2007-03-11
20:14:00.0 +0100
@@ -46,7 +46,7 @@

 #include bits/c++config.h
 #include cstddef
-#include_next stdio.h
+#include /usr/include/gentoo-multilib/amd64/stdio.h

 #ifndef _GLIBCXX_CSTDIO
 #define _GLIBCXX_CSTDIO 1

There is list of \*stdio\* in build directory:
./build/gcc/include-fixed/stdio.h
./build/x86_64-pc-linux-gnu/libstdc++-v3/include/tr1/stdio.h
./build/x86_64-pc-linux-gnu/libstdc++-v3/include/tr1/cstdio
./build/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/stdio_sync_filebuf.h
./build/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/stdio_filebuf.h
./build/x86_64-pc-linux-gnu/libstdc++-v3/include/cstdio
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/man/man3/__gnu_cxx::stdio_sync_filebuf.3
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/man/man3/__gnu_cxx::stdio_filebuf.3
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/xml/cstdio.xml
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/xml/classgnu__cxx_1_1stdio__filebuf.xml
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/xml/stdio__filebuf_8h.xml
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/xml/stdio_8h.xml
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/xml/classgnu__cxx_1_1stdio__sync__filebuf.xml
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/xml/tr1_2cstdio.xml
./build/x86_64-pc-linux-gnu/libstdc++-v3/docs/doxygen/xml/stdio__sync__filebuf_8h.xml
./build/x86_64-pc-linux-gnu/32/libstdc++-v3/include/tr1/stdio.h
./build/x86_64-pc-linux-gnu/32/libstdc++-v3/include/tr1/cstdio
./build/x86_64-pc-linux-gnu/32/libstdc++-v3/include/ext/stdio_sync_filebuf.h
./build/x86_64-pc-linux-gnu/32/libstdc++-v3/include/ext/stdio_filebuf.h
./build/x86_64-pc-linux-gnu/32/libstdc++-v3/include/cstdio
./build/stage1-gcc/include-fixed/stdio.h
./build/prev-gcc/include-fixed/stdio.h
./gcc-4.3-20070309/gcc/testsuite/gcc.dg/cpp/usr/include/stdio.h
./gcc-4.3-20070309/libstdc++-v3/config/io/basic_file_stdio.cc
./gcc-4.3-20070309/libstdc++-v3/config/io/c_io_stdio.h
./gcc-4.3-20070309/libstdc++-v3/config/io/basic_file_stdio.h
./gcc-4.3-20070309/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio
./gcc-4.3-20070309/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio
./gcc-4.3-20070309/libstdc++-v3/testsuite/27_io/headers/cstdio
./gcc-4.3-20070309/libstdc++-v3/testsuite/ext/stdio_filebuf
./gcc-4.3-20070309/libstdc++-v3/testsuite/ext/stdio_sync_filebuf
./gcc-4.3-20070309/libstdc++-v3/include/c_std/cstdio
./gcc-4.3-20070309/libstdc++-v3/include/tr1/stdio.h
./gcc-4.3-20070309/libstdc++-v3/include/tr1/cstdio
./gcc-4.3-20070309/libstdc++-v3/include/c_global/cstdio
./gcc-4.3-20070309/libstdc++-v3/include/ext/stdio_sync_filebuf.h
./gcc-4.3-20070309/libstdc++-v3/include/ext/stdio_filebuf.h
./gcc-4.3-20070309/libstdc++-v3/include/c_compatibility/stdio.h
./gcc-4.3-20070309/libstdc++-v3/include/c/cstdio
./gcc-4.3-20070309/fixincludes/tests/base/stdio_tag.h
./gcc-4.3-20070309/fixincludes/tests/base/stdio.h
./gcc-4.3-20070309/libssp/ssp/stdio.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug middle-end/30433] [4.1/4.2 Regression] no longer folding __complex__(0.0, 1.0) == __complex__(1.0, 0.0)

2007-03-11 Thread sayle at gcc dot gnu dot org


--- Comment #5 from sayle at gcc dot gnu dot org  2007-03-11 20:37 ---
Subject: Bug 30433

Author: sayle
Date: Sun Mar 11 20:37:40 2007
New Revision: 122823

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122823
Log:
2007-03-11  Roger Sayle  [EMAIL PROTECTED]
Andrew Pinski  [EMAIL PROTECTED]

PR middle-end/30433
* fold-const.c (fold_relational_const): Add back compile-time
evaluation of complex constant equality/inequality comparisons.

* gcc.c-torture/compile/pr30433.c: New testcase to check
that complex constant comparisions are folded.


Added:
branches/gcc-4_2-branch/gcc/testsuite/gcc.c-torture/compile/pr30433.c
Modified:
branches/gcc-4_2-branch/gcc/ChangeLog
branches/gcc-4_2-branch/gcc/fold-const.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30433



[Bug tree-optimization/31130] [4.3 Regression] VRP no longer derives range for division after negation

2007-03-11 Thread ian at airs dot com


--- Comment #1 from ian at airs dot com  2007-03-11 20:39 ---
I am testing this patch.

Index: gcc/tree-vrp.c
===
--- gcc/tree-vrp.c  (revision 122820)
+++ gcc/tree-vrp.c  (working copy)
@@ -2142,13 +2142,11 @@ extract_range_from_unary_expr (value_ran
min = fold_unary_to_constant (code, TREE_TYPE (expr), vr0.max);
   else if (needs_overflow_infinity (TREE_TYPE (expr)))
{
- if (supports_overflow_infinity (TREE_TYPE (expr)))
-   min = positive_overflow_infinity (TREE_TYPE (expr));
- else
-   {
- set_value_range_to_varying (vr);
- return;
-   }
+ /* Negating TYPE_MIN_VALUE gives us a minimum value of
+positive overflow infinity, and there is nothing useful
+we can do with such a range.  */
+ set_value_range_to_varying (vr);
+ return;
}
   else
min = TYPE_MIN_VALUE (TREE_TYPE (expr));
@@ -2161,8 +2159,16 @@ extract_range_from_unary_expr (value_ran
max = fold_unary_to_constant (code, TREE_TYPE (expr), vr0.min);
   else if (needs_overflow_infinity (TREE_TYPE (expr)))
{
- if (supports_overflow_infinity (TREE_TYPE (expr)))
-   max = positive_overflow_infinity (TREE_TYPE (expr));
+ /* We have a non-overflowed TYPE_MIN as the minimum value.
+If TYPE_MIN is also the maximum value, then negating this
+gives us a positive overflow, and we just go straight to
+varying since we will get there anyhow at the bottom of
+this function.  Otherwise TYPE_MIN is a half-range
+[TYPE_MIN, X] without overflow, so we flip it to a
+half-range [-X, TYPE_MAX] without overflow.  */
+ if (vr0.max != TYPE_MIN_VALUE (TREE_TYPE (expr))
+  !is_negative_overflow_infinity (vr0.max))
+   max = TYPE_MAX_VALUE (TREE_TYPE (expr));
  else
{
  set_value_range_to_varying (vr);


-- 

ian at airs dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ian at airs dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-11 20:39:57
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31130



[Bug middle-end/31030] [4.3 Regression] Segmentation fault with -O2

2007-03-11 Thread ian at airs dot com


--- Comment #6 from ian at airs dot com  2007-03-11 20:46 ---
Can you see if the patch I committed this morning fixes this problem?

2007-03-11  Ian Lance Taylor  [EMAIL PROTECTED]

* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
the *_DIV_EXPR codes correctly with overflow infinities.

Thanks.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31030



[Bug target/31137] New: missing break in switch for MULT in avr_rtx_costs

2007-03-11 Thread christer at weinigel dot se
I have just started reading the gcc code a bit, and while looking at the avr
port I noticed that in the function avr_rtx_costs in avr.c there is some code
to calculate the cost of a multiplication:

case MULT:
  switch (mode)
{
case QImode:
  if (AVR_HAVE_MUL)
*total = COSTS_N_INSNS (optimize_size ? 3 : 4);
  else if (optimize_size)
*total = COSTS_N_INSNS (AVR_MEGA ? 2 : 1);
  else
return false;

case HImode:
  if (AVR_HAVE_MUL)
*total = COSTS_N_INSNS (optimize_size ? 7 : 10);
  else if (optimize_size)
*total = COSTS_N_INSNS (AVR_MEGA ? 2 : 1);
  else
return false;

default:
  return false;
}
  *total += avr_operand_rtx_cost (XEXP (x, 0), mode, code);
  *total += avr_operand_rtx_cost (XEXP (x, 1), mode, code);
  return true;

if AVR_HAVE_MUL is true, the above code will be equal to the following:

case MULT:
  switch (mode)
{
case QImode:
  *total = COSTS_N_INSNS (optimize_size ? 3 : 4);

case HImode:
  *total = COSTS_N_INSNS (optimize_size ? 7 : 10);

default:
  return false;
}
  *total += avr_operand_rtx_cost (XEXP (x, 0), mode, code);
  *total += avr_operand_rtx_cost (XEXP (x, 1), mode, code);
  return true;

which I belive is incorrect since it means that the assignments to *total in
the switch statement are useless.  It probably doesn't break anything serious
but might give slightly worse optimizations.


-- 
   Summary: missing break in switch for MULT in avr_rtx_costs
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: christer at weinigel dot se
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: avr-unknown-none


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31137



[Bug libstdc++/30915] [4.3 regression] bootstrap fails while building libstdc++-v3 on x86_64-pc-linux-gnu

2007-03-11 Thread pcarlini at suse dot de


--- Comment #16 from pcarlini at suse dot de  2007-03-11 21:20 ---
I see, weird, I'm going to add Benjamin in CC, he added very recently the
c_global files and I'm not familiar with #include_next...


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 CC||bkoz at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30915



[Bug fortran/31051] gfortran bug with x and t format descriptors.

2007-03-11 Thread jvdelisle at gcc dot gnu dot org


--- Comment #2 from jvdelisle at gcc dot gnu dot org  2007-03-11 21:28 
---
A patch has been submiited for approval for this one.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

   GCC host triplet|wtf does 'host triplet' |i686-pc-linux-gnu
   |mean?   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31051



[Bug middle-end/31030] [4.3 Regression] Segmentation fault with -O2

2007-03-11 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2007-03-11 21:42 ---
 Can you see if the patch I committed this morning fixes this problem?
http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00664.html

Yes, the patch fixes this problem. Thanks!


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31030



[Bug c++/31138] New: [4.3 regression] ICE with ellipsis

2007-03-11 Thread reichelt at gcc dot gnu dot org
The following valid code snippet triggers an ICE on mainline:

=
void foo(long ...);
=

bug.cc:1: internal compiler error: Segmentation fault
Please submit a full bug report, [etc.]

The same thing happens for the following invalid variation:

=
void foo(const ...);
=


-- 
   Summary: [4.3 regression] ICE with ellipsis
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, ice-on-invalid-code, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug c++/31138] [4.3 regression] ICE with ellipsis

2007-03-11 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug ada/31108] [4.2 regression] ACATS C35507M fails

2007-03-11 Thread rolf dot ebert dot gcc at gmx dot de


--- Comment #2 from rolf dot ebert dot gcc at gmx dot de  2007-03-11 22:17 
---
I have to rerun the ACATS tests with more disk space available.  After the C3
tests all other failures were due to disk full.

Currently c35507m is the only failure in 4.2 on MinGW that I know of.  But as I
said, I did not yet run the complete test suite.

Had the fix for PR 26797 been back-ported to the 4.2 branch?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31108



[Bug middle-end/30835] ICE with -O2 -ftree-loop-linear

2007-03-11 Thread rakdver at gcc dot gnu dot org


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rakdver at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-02-17 20:24:42 |2007-03-11 22:31:17
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30835



[Bug fortran/31139] New: sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-11 Thread burnus at gcc dot gnu dot org
The problem came up with octopus, http://www.tddft.org/programs/octopus/
http://www.tddft.org/pipermail/octopus-devel/2007-March/003398.html
(Somehow, all my messages are not archived?)

The problem is that sum(w_re(1:nn,1)*fi(i(1:nn, ii))) can be much slower. For
the original program, one finds the following timings:

Core 2 Duo + gfortan + gcc (v. 4.1.x), total cpu time:
SSE2 120 s
PLAIN C  160 s
FORTRAN  331 s
(Fortran = assumed shape arrays)

 * * *

I tried to reproduce this with a smaller test case (see attachment) - and with
explicit shape arrays. Here, SSE and non-SSE version made little difference.
Result for gcc/gfortran 4.3.0 20070311 on an Athlon 64 X2 4800+.

-O3 -march=opteron -funroll-loops -msse3 -ftree-vectorize -m64:
Fortran:   0.8240519, real0m7.661s, user0m7.232s
Fortran:   0.8240528, real0m7.654s, user0m7.232s
c_nosse:   0.2320137, real0m7.071s, user0m6.652s
c_nosse:   0.2320151, real0m7.062s, user0m6.672s

-O3 -march=opteron -msse3 -ftree-vectorize -m32:
Fortran:   0.3840241, real0m7.714s, user0m7.280s
Fortran:   0.3840246, real0m7.701s, user0m7.328s
c_nosse:   0.3480220, real0m7.687s, user0m7.256s
c_nosse:   0.3400207, real0m7.670s, user0m7.236s

And with ifort/x86-64:
gcc -std=c99 -O3 -funroll-loops -ftree-vectorize -march=opteron -msse3 -m64
ifort -xW -O3

Fortran:   0.3280210, real0m0.855s, user0m0.624s
Fortran:   0.3280210, real0m0.856s, user0m0.624s
c_nosse:   0.2320140, real0m0.753s, user0m0.492s
c_nosse:   0.2280150, real0m0.756s, user0m0.464s

and with ifort/ia32:

Fortran:   0.3000200, real0m0.818s, user0m0.516s
Fortran:   0.2960190, real0m0.826s, user0m0.528s
c_nosse:   0.3760230, real0m0.904s, user0m0.652s
c_nosse:   0.3800240, real0m0.902s, user0m0.624s

I did no yet check which of the problems are Fortran, Backend and Target
problems.

Summary:
- GCC -m32 is much slower than -m64
- gfortran is slower (-m32) / much slower (-m64) than the C version
- ifort is faster than gfortran and similarly fast on both -m32 and -m64.


-- 
   Summary: sum(w_re(1:nn,1)*fi(i(1:nn, ii)))  up to 3.5x slower
than C version
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139



[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-11 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-03-11 22:45 ---
Contains the test case. The hand-made SSE version (USE_VECTORS) crashes here
for -m32, but as it is C vs. Fortran, one can completely ignore that test case
(for -m64 USE_VECTORS is about as fast as the other C versions anyhow).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139



[Bug fortran/31139] sum(w_re(1:nn,1)*fi(i(1:nn, ii))) up to 3.5x slower than C version

2007-03-11 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2007-03-11 22:50 ---
Created an attachment (id=13191)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13191action=view)
test.tar.gz


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31139



[Bug objc++/31134] [4.3 Regression] Objective-C++ has ran into the tree number limit

2007-03-11 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #3 from dave at hiauly1 dot hia dot nrc dot ca  2007-03-11 
22:53 ---
Subject: Re:  [4.3 Regression] Objective-C++ has ran into the tree number limit

 
 Summary|objc-act.c:570: error:  |[4.3 Regression] Objective-
|comparison is always false  |C++ has ran into the tree
||number limit

Don't like to name people, but I suppose this patch should be reverted:

2007-03-09  Douglas Gregor  [EMAIL PROTECTED]

PR c++/20599
* typeck.c (check_return_expr): Check for bare parameter packs.
(comptypes): Compare template parameter packs and
type pack expansions.
...

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31134



[Bug c++/31140] New: [4.3 regression] ICE with ellipsis in template parameter list

2007-03-11 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:


templatetypename T... void foo()
{
  T t;
}


bug.cc:1: error: expected nested-name-specifier before 'T'
bug.cc:1: error: ISO C++ does not include variadic templates
bug.cc: In function 'void foo()':
bug.cc:3: error: expected `;' before 't'
bug.cc:3: error: parameter packs not expanded with `...':
bug.cc:3: internal compiler error: tree check: expected tree that contains
'decl minimal' structure, have 'template_parm_index' in
check_for_bare_parameter_packs, at cp/pt.c:2620
Please submit a full bug report, [etc.]

Looks like this was caused by your patch for variadic templates, Douglas:

2007-03-09  Douglas Gregor  [EMAIL PROTECTED]

PR c++/20599
* typeck.c (check_return_expr): Check for bare parameter packs.
(comptypes): Compare template parameter packs and
type pack expansions.
...


-- 
   Summary: [4.3 regression] ICE with ellipsis in template parameter
list
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31140



[Bug c++/31140] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-11 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31140



[Bug c++/31141] New: [4.3 regression] ICE with ellipsis in template parameter list

2007-03-11 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:


templateint N... void foo(int x[1][N]);

void bar()
{
  int x[1][1];
  foo(x);
}


bug.cc:1: error: ISO C++ does not include variadic templates
bug.cc: In function 'void bar()':
bug.cc:1: internal compiler error: tree check: expected class 'expression',
have 'constant' (integer_cst) in tsubst_pack_expansion, at cp/pt.c:6829
Please submit a full bug report, [etc.]

Looks like this was caused by your patch for variadic templates, Douglas:

2007-03-09  Douglas Gregor  [EMAIL PROTECTED]

PR c++/20599
* typeck.c (check_return_expr): Check for bare parameter packs.
(comptypes): Compare template parameter packs and
type pack expansions.
...


-- 
   Summary: [4.3 regression] ICE with ellipsis in template parameter
list
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31141



[Bug c++/31141] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-11 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31141



[Bug c++/31138] [4.3 regression] ICE with ellipsis

2007-03-11 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2007-03-11 23:01 
---
I guess this is also related to your patch for variadic templates, Douglas,
but I might be wrong:

2007-03-09  Douglas Gregor  [EMAIL PROTECTED]

PR c++/20599
* typeck.c (check_return_expr): Check for bare parameter packs.
(comptypes): Compare template parameter packs and
type pack expansions.
...


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||doug dot gregor at gmail dot
   ||com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug c++/31138] [4.3 regression] ICE with ellipsis

2007-03-11 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-03-11 23:19 ---
How is the first one valid?  I thought you always needed a comma before the
ellipsis for variable argument functions (I know in C you need it for sure).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug bootstrap/31142] New: Build with CC='gcc -pg' fails

2007-03-11 Thread tobi at gcc dot gnu dot org
Configuring with
 ../configure --enable-languages=c,fortran --with-gmp=/sw CC='gcc -pg'
and optionally --disable-botstrap fails with
# @multilib_dir@ is not really necessary, but sometimes it has
# more uses than just a directory name.
/bin/sh ../../../../libgcc/../mkinstalldirs x86_64
/Users/tobi/src/pristine/profile/./gcc/xgcc -B/Users/tobi/src/pristine/profile
/gcc/ -B/usr/local/i386-apple-darwin8.8.3/bin/ -B/usr/local/i386-apple-darwin8
.3/lib/ -isystem /usr/local/i386-apple-darwin8.8.3/include -isystem /usr/local
386-apple-darwin8.8.3/sys-include -O2  -O2 -g -O2  -DIN_GCC-W -Wall -Wwrit
strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isys
m ./include  -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT
EEDED  -dynamiclib -nodefaultlibs -install_name /usr/local/lib/libgcc_s`if tes
x86_64 = ppc64 ; then echo _x86_64 ; fi`.1.dylib -single_module -o x86_64/libg
_s.1.dylib.tmp -Wl,-exported_symbols_list,libgcc.map -compatibility_version 1 
urrent_version 1.0 -g -fkeep-inline-functions -m64 -B./ _muldi3_s.o _negdi2_s.
_lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s
 _enable_execute_stack_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.
_addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o 
egvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.
_clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcou
di2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _
witf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_
o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsd
i_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixtfdi_s.o _fix
ssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _fixunstfdi_s.o _floatdisf_s.o _floa
idf_s.o _floatdixf_s.o _floatditf_s.o _floatundisf_s.o _floatundidf_s.o _float
dixf_s.o _floatunditf_s.o _fixsfti_s.o _fixdfti_s.o _fixxfti_s.o _fixtfti_s.o 
ixunssfti_s.o _fixunsdfti_s.o _fixunsxfti_s.o _fixunstfti_s.o _floattisf_s.o _
oattidf_s.o _floattixf_s.o _floattitf_s.o _floatuntisf_s.o _floatuntidf_s.o _f
atuntixf_s.o _floatuntitf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.
_udiv_w_sdiv_s.o _udivmoddi4_s.o darwin-64_s.o unwind-dw2_s.o unwind-dw2-fde-d
win_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o -lc
i686-apple-darwin8-gcc-4.0.1: 1: No such file or directory
i686-apple-darwin8-gcc-4.0.1: 1.0: No such file or directory
i686-apple-darwin8-gcc-4.0.1: /usr/local/lib/libgcc_s.1.dylib: No such file or
irectory
i686-apple-darwin8-gcc-4.0.1: 10.4: No such file or directory
collect2: ld returned 1 exit status
make[5]: *** [libgcc_s.dylib] Error 1
make[4]: *** [multi-do] Error 1
make[3]: *** [all-multi] Error 2
make[2]: *** [all-stage1-target-libgcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [all] Error 2
[1]-  Donexchat  (wd: ~)
(wd now: ~/src/pristine/profile)
tobias-schluters-computer:~/src/pristine/profile tobi$


-- 
   Summary: Build with CC='gcc -pg' fails
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tobi at gcc dot gnu dot org
  GCC host triplet: i386-darwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31142



[Bug bootstrap/31142] Build with CC='gcc -pg' fails

2007-03-11 Thread tobi at gcc dot gnu dot org


--- Comment #1 from tobi at gcc dot gnu dot org  2007-03-11 23:23 ---
A few version numbers:
tobias-schluters-computer:~/src/pristine/profile tobi$ make --version
GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
tobias-schluters-computer:~/src/pristine/profile tobi$ ld -v
Apple Computer, Inc. version cctools-622.3.obj~2
tobias-schluters-computer:~/src/pristine/profile tobi$ gcc -v
Using built-in specs.
Target: i686-apple-darwin8
Configured with: /private/var/tmp/gcc/gcc-5363.obj~28/src/configure
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=powerpc-apple-darwin8 --with-arch=nocona --with-tune=generic
--program-prefix= --host=i686-apple-darwin8 --target=i686-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5363)
tobias-schluters-computer:~/src/pristine/profile tobi$


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31142



[Bug target/31142] Build with CC='gcc -pg' fails

2007-03-11 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-03-11 23:24 ---
--disable-botstrap does not work on the mainline after toplevel libgcc.

Also if you are doing profiling on Darwin, can I suggest you use Shark which is
part of the CHUD tools from Apple.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|bootstrap   |target
   GCC host triplet|i386-darwin |
 GCC target triplet||i386-darwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31142



[Bug objc++/31134] [4.3 Regression] Objective-C++ has ran into the tree number limit

2007-03-11 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2007-03-11 23:48 ---
(In reply to comment #3)
 Don't like to name people, but I suppose this patch should be reverted:

Please, please, don't do that! Instead, let's solve the real issue with the
tree-codes limit once and for all, because sooner or later we have to do that
anyway (as Rth, among others, also maintained time ago, in the occasion of the
GOMP additions)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31134



[Bug c++/31138] [4.3 regression] ICE with ellipsis

2007-03-11 Thread schwab at suse dot de


--- Comment #3 from schwab at suse dot de  2007-03-11 23:51 ---
In C++ the comma before ... is optional.

   Where syntactically correct, #8220;, ...#8221; is synonymous with
#8220;...#8221;.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug c++/30328] [4.2/4.3 Regression] bit-field: unassemblable assembly code

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #2 from mmitchel at gcc dot gnu dot org  2007-03-12 00:26 
---
Subject: Bug 30328

Author: mmitchel
Date: Mon Mar 12 00:26:39 2007
New Revision: 122829

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122829
Log:
PR c++/30328
* semantics.c (finish_typeof): Use unlowered_expr_type.

PR c++/30328
* g++.dg/ext/bitfield1.C: New test.

PR c++/31038
* parser.c (cp_parser_postfix_expression): Disallow compound
literals in constant expressions.

PR c++/31038
* g++.dg/template/complit2.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ext/bitfield1.C
trunk/gcc/testsuite/g++.dg/template/complit2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30328



[Bug c++/31038] [4.1/4.2/4.3 regression] ICE with C99 style compound literal vs templates vs instiaiontion

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #3 from mmitchel at gcc dot gnu dot org  2007-03-12 00:26 
---
Subject: Bug 31038

Author: mmitchel
Date: Mon Mar 12 00:26:39 2007
New Revision: 122829

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122829
Log:
PR c++/30328
* semantics.c (finish_typeof): Use unlowered_expr_type.

PR c++/30328
* g++.dg/ext/bitfield1.C: New test.

PR c++/31038
* parser.c (cp_parser_postfix_expression): Disallow compound
literals in constant expressions.

PR c++/31038
* g++.dg/template/complit2.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ext/bitfield1.C
trunk/gcc/testsuite/g++.dg/template/complit2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038



[Bug objc++/31134] [4.3 Regression] Objective-C++ has ran into the tree number limit

2007-03-11 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #5 from dave at hiauly1 dot hia dot nrc dot ca  2007-03-12 
00:55 ---
Subject: Re:  [4.3 Regression] Objective-C++ has ran into the tree number limit

  Don't like to name people, but I suppose this patch should be reverted:
 
 Please, please, don't do that! Instead, let's solve the real issue with the
 tree-codes limit once and for all, because sooner or later we have to do that
 anyway (as Rth, among others, also maintained time ago, in the occasion of the
 GOMP additions)

I recognize that the patch contains a very significant body of work.
I also realize that the tree code limit needs fixing.  However,
that may require a significant increase in memory for trees.  That's
why I added the comment.

It's not fair to trade one feature for another (variadic templates
for obj-c++).

There's been no discussion on the impact of fixing the tree code limit.
I note that a 15% compile time memory usage regression,
http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00652.html,
would be considered a release blocker.

The patch was obviously not fully tested, or the problem was overlooked.
As a backend maintainer, I've seen build and check times grow substantially
with every new release.  So, I'm highly suspicious of the process used
to introduce major new features.  The tree code limit should have been
fixed first.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31134



[Bug objc++/31134] [4.3 Regression] Objective-C++ has ran into the tree number limit

2007-03-11 Thread pcarlini at suse dot de


--- Comment #6 from pcarlini at suse dot de  2007-03-12 01:04 ---
 It's not fair to trade one feature for another (variadic templates
 for obj-c++).

I agree.

 There's been no discussion on the impact of fixing the tree code limit.
 I note that a 15% compile time memory usage regression,
 http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00652.html,
 would be considered a release blocker.

By the way, that issue has been already analyzed and seems solvable rather
easily, Doug is working on it with Richard' help.

 The patch was obviously not fully tested, or the problem was overlooked.
 As a backend maintainer, I've seen build and check times grow substantially
 with every new release.  So, I'm highly suspicious of the process used
 to introduce major new features.  The tree code limit should have been
 fixed first.

Yes, you have a point. But now, since because of our lazyness we never
managed to attack the tree code limit, let's take this crisis as an occasion
to do that, or at least let's try to our best, instead of reverting completely
Doug' work, which is incredibly important for our implementation of C++0x
features and, I would say, gives GCC a great competitive advantage.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31134



[Bug c/21438] Warning about division by zero depends on lexical form

2007-03-11 Thread patchapp at dberlin dot org


--- Comment #4 from patchapp at dberlin dot org  2007-03-12 01:32 ---
Subject: Bug number PR 21438

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-03/msg00700.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21438



[Bug c++/30328] [4.2 Regression] bit-field: unassemblable assembly code

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #3 from mmitchel at gcc dot gnu dot org  2007-03-12 01:32 
---
Fixed in 4.3.0.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.2/4.3 Regression] bit-   |[4.2 Regression] bit-field:
   |field: unassemblable|unassemblable assembly code
   |assembly code   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30328



[Bug c++/31038] [4.1/4.2 regression] ICE with C99 style compound literal vs templates vs instiaiontion

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #4 from mmitchel at gcc dot gnu dot org  2007-03-12 01:34 
---
Fixed in 4.3.0.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.1/4.2/4.3 regression] ICE|[4.1/4.2 regression] ICE
   |with C99 style compound |with C99 style compound
   |literal vs templates vs |literal vs templates vs
   |instiaiontion   |instiaiontion


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038



[Bug c++/31038] [4.1/4.2 regression] ICE with C99 style compound literal vs templates vs instiaiontion

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #5 from mmitchel at gcc dot gnu dot org  2007-03-12 01:52 
---
Subject: Bug 31038

Author: mmitchel
Date: Mon Mar 12 01:52:45 2007
New Revision: 122830

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122830
Log:
PR c++/31038
* parser.c (cp_parser_postfix_expression): Disallow compound
literals in constant expressions.

PR c++/30328
* semantics.c (finish_typeof): Use unlowered_expr_type.

PR c++/31038
* g++.dg/template/complit2.C: New test.

PR c++/30328
* g++.dg/ext/bitfield1.C: New test.

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/ext/bitfield1.C
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/template/complit2.C
Modified:
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/parser.c
branches/gcc-4_2-branch/gcc/cp/semantics.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31038



[Bug c++/30328] [4.2 Regression] bit-field: unassemblable assembly code

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #4 from mmitchel at gcc dot gnu dot org  2007-03-12 01:52 
---
Subject: Bug 30328

Author: mmitchel
Date: Mon Mar 12 01:52:45 2007
New Revision: 122830

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=122830
Log:
PR c++/31038
* parser.c (cp_parser_postfix_expression): Disallow compound
literals in constant expressions.

PR c++/30328
* semantics.c (finish_typeof): Use unlowered_expr_type.

PR c++/31038
* g++.dg/template/complit2.C: New test.

PR c++/30328
* g++.dg/ext/bitfield1.C: New test.

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/ext/bitfield1.C
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/template/complit2.C
Modified:
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/parser.c
branches/gcc-4_2-branch/gcc/cp/semantics.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30328



[Bug c++/30328] [4.2 Regression] bit-field: unassemblable assembly code

2007-03-11 Thread mmitchel at gcc dot gnu dot org


--- Comment #5 from mmitchel at gcc dot gnu dot org  2007-03-12 01:53 
---
Fixed in 4.2.0.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30328



[Bug rtl-optimization/31143] New: bad argument passing on ARM

2007-03-11 Thread kaminaga at sm dot sony dot co dot jp
The attached code produces wrong-code on gcc-4.1.1 and gcc-4.1.2 on ARM. These
codes are snippet from linux kernel, and this was found when linux v2.6.19 was
built with gcc-4.1.1 with CONFIG_PRINK_TIME=y is set for ARM.

$ arm-linux-gcc -O2 -c div64.S
$ arm-linux-gcc -O2 -save-temps dodiv.c div64.o -o dodiv

actual result:
 $ ./dodiv
tbuf: 4[   52.305419] 

expected result:
tbuf: 4[0.305419]

when compiled with -fno-tree-ter, the result was OK.

The problem comes from bad argument passing to sprintf(), looking from
dodiv.s:
...
mov r2, r5  (1)
mov ip, ip, lsr #6
mov r3, r5  (2)
ldr r1, .L10+8
mov r0, r4
str ip, [sp, #0]
bl  sprintf

Where (1) is loglev_char argument and (2) is (unsigned long)t argument in
sprintf() in dodiv.c. Apparently, the loglev_char is also assigned to the first
%5lu part of sprintf, which is the cause.


-- 
   Summary: bad argument passing on ARM
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kaminaga at sm dot sony dot co dot jp
GCC target triplet: arm-*-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31143



[Bug rtl-optimization/31143] bad argument passing on ARM

2007-03-11 Thread kaminaga at sm dot sony dot co dot jp


--- Comment #1 from kaminaga at sm dot sony dot co dot jp  2007-03-12 04:16 
---
Created an attachment (id=13192)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13192action=view)
code snippet to reproduce wrong code


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31143



[Bug rtl-optimization/31143] bad argument passing on ARM

2007-03-11 Thread kaminaga at sm dot sony dot co dot jp


--- Comment #2 from kaminaga at sm dot sony dot co dot jp  2007-03-12 04:27 
---
Currently having bugzilla's Internal Error in attaching div64.S...


-- 

kaminaga at sm dot sony dot co dot jp changed:

   What|Removed |Added

   Keywords||wrong-code


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31143



[Bug fortran/31144] New: Gfortran module names are not Standards compliant

2007-03-11 Thread jkrahn at nc dot rr dot com
Fortran Standards require that module symbol names are unique for a given
module and procedure name pair. Gfortran uses an underscore prefix to prevent
collisions with non-module procedures, but the double-underscore used to join
the module and procedure name in not sufficient to ensure a unique symbol name.
The following code snippet illustrates the problem:


module m1
contains
subroutine m2__m3()
end subroutine m2__m3
end module m1

module m1__m2
contains
subroutine m3()
end subroutine m3
end module m1__m2



Compiling this code under gfortran produces a duplicate symbol error in the
assembly code. The name pair should be joined with character(s) that cannot
occur as part of a normal fortran name, either by using upper case (i.e. G95's
_MP_) or some other character (I think one compiler uses a period).

To be fair, a conflict is unlikely, and Intel Fortran has an equally broken
system of module symbol names. But, the current Gfortran mechanism is clearly
wrong, and should be changed the next time a binary incompatibility occurs that
requires code to be recompiled anyhow.


-- 
   Summary: Gfortran module names are not Standards compliant
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jkrahn at nc dot rr dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31144



  1   2   >